CentOS7 下使用sftp客户端上传文件到特定文件夹,外层其他文件夹不可访问,不可远程ssh登录
摘要: 用户锁定到特定目录下,并且上传文件的默认权限是都可以访问
使用sftp客户端上传文件到特定文件夹,外层其他文件夹不可访问,不可远程ssh登录。 1.创建用来登录sftp的用户和用户组 # groupadd sftp # useradd -d /sftp/usftp -G sftp usftp # passwd usftp 2.新建一个ftp上传文件保存的根目录 # mkdir /sftp 3.确保 /sftp 文件夹的属主和属组都是root,并且权限都是755 修改属主和属组 # chown root:root /sftp 修改权限 # chmod 755 /sftp 目录权限设置上要遵循2点: ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root; ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。 4.限制用户通过sftp登录进来时只能进入主目录,修改/etc/ssh/sshd_config文件 # vim /etc/ssh/sshd_config 然后修改其下边的相关代码,修改好的代码如下: # override default of no subsystems #Subsystem sftp /usr/libexec/openssh/sftp-serve Subsystem sftp internal-sftp Match Group sftp ChrootDirectory /sftp/ X11Forwarding no AllowTcpForwarding no PermitTTY no ForceCommand internal-sftp 保存退出 :wq 5.修改客户端上传文件时,创建文件夹及文件的默认权限 修改 /etc/pam.d/sshd 文件,在最下边,添加如下代码: # Default umask mask for SSH/SFTP sessions session optional pam_umask.so umask=0000 6.重启sshd # systemctl restart sshd.service 7.客户端链接,测试成功。 (责任编辑:IT) |