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.客户端链接,测试成功。
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.客户端链接,测试成功。
相关文章推荐
- linux下安装cmake和mysql遇到的问题总结
- 通过yum方式升级CentOS kernel
- linux 建立域环境nis
- linux程序包管理
- linux 下重启mysql数据库的方法
- Centos 安装Ftp客户端和开启vsftp服务
- Linux 强制位、冒险位
- Linux服务器上设置SSH登录后发送email提醒的方法
- linux下查看cpu物理个数和逻辑个数 - chw1989的专栏 - 博客频道 - CSDN.NET
- 【linux】打印字符串中指定行
- Install Cacti (Network Monitoring) on RHEL/CentOS 7.x/6.x/5.x and Fedora 21-12
- linux select函数 shutdown函数
- mysql Linux 安装 (CentOS)
- Linux管道的实现机制
- syslog与syslog服务器的配置
- 在linux中使用内存映射(mmap)操作文件的方法
- linux 内核版本的升级(linux-3.2.0升级到linux-3.2.1)
- 每天一个linux命令(23):Linux 目录结构(转)
- Linux中查看是否是固态硬盘(ssd)及SSD硬盘安装CentOS记
- Linux的原子操作与同步机制