debain sftp 配置
1.创建新用户
#useradd -m ems
2.设置用户密码
# passwd ems
回车后再次输入密码即可
3设置sshd_config
#cd /etc/ssh
#cp sshd_config sshd_config.back <备份>
# vi sshd_config
找到
Subsystemsftp
这一行,修改成:
Subsystem sftp internal-sftp
UsePAM yes
Match user
ems
ForceCommand internal-sftp
ChrootDirectory /data/pred/
将上面的 test
和 /data/pred/
替换成你需要的。
多个用户请重复配置这三行:
Match user
ems
2
ForceCommand internal-sftp
ChrootDirectory /data/pred
2
/
这样可以为不同的用户设置不同的限制目录
4重新启动ssh服务
#/etc/init.d/ssh
restart
显示/etc/ssh/sshd_configline
95: Directive 'DenyUsers' is not allowed within a Match block
打开shd_config
文件注释
:
DenyUserssysadmin
secadmin audadmin
netadmin
(
同样情况:注释:UsePAMyes
注释:UseDNSno
注释:MaxStartups60
注释:IgnoreUserKnownHostsyes
)
#/etc/init.d/ssh
restart
RestartingOpenBSD Secure Shell server: sshd.服务启动成功
5.验证
#sftp [email protected]92.16.0.108
输入test用户密码
(
1
、由ChrootDirectory
指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root
2
、由ChrootDirectory
指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限(最大权限755
)
)
如果违反上面两条要求,那么就会出现新用户访问不了sftp的情况
解决办法:在/data/pred/目录下建立777权限的文件夹.
#
mkdir/data/
pred
/user/
# chown -R
ems
:root
/data/
pred
/user/
这样ems
用户就可以在/data/pred/user
里随意读写文件了。
(注:ems用户ssh登录192.16.0.108会登不上只允许sftp访问)
下一篇: Permission denied