您的位置:首页 > 运维架构 > Linux

CentOS7 下使用sftp客户端上传文件到特定文件夹,外层其他文件夹不可访问,不可远程ssh登录

2015-06-04 15:44 1101 查看
使用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.客户端链接,测试成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: