ftp server
构建 ftp server
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下.
ftpusers
该文件用来指定那些用户不能访问ftp服务器user_list
该文件用来指示的默认账户在默认情况下也不能访问ftpvsftpd.conf
vsftpd的主配置文件
1 2 3 4 5 6 7 8
| vim /etc/vsftpd/vsftpd.conf anon_upload_enable=NO anon_mkdir_write_enable=NO userlist_enable=YES userlist_file=/etc/vsftpd/vsftpd.user_list userlist_deny=NO pasv_min_port=50000 pasv_max_port=60000
|
sftp server
构建sftp的目标
- 安全隔离
- 访问控制
- 用户控制
- 登陆控制
- 日志审计
- 操作审计
- 命令审计
构建 sftp server
透过ssh的sftp
sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| mkdir /data/sftp/mysftp groupadd sftp useradd -g sftp -d /data/sftp/mysftp -s /bin/false -M mysftp vim /etc/sshd/sshd_config # Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO -f AUTH Subsystem sftp internal-sftp -l INFO -f AUTH # 指定使用sftp服务使用系统自带的internal-sftp LogLevel INFO Match Group sftp # 匹配sftp组的用户,若要匹配多个组,可用逗号分开,也可用“Match User USERNAME”来匹配用户 ChrootDirectory /data/sftp/%u # 限制用户的根目录,将用户锁定在自己的home目录中,使其不可浏览上级目录。并且该行一定要在“Match”语句下方. %u 或者 %h ForceCommand internal-sftp # 只能用于sftp登录 AllowTcpForwarding no # 禁止用户使用端口转发 X11Forwarding no # 禁止用户使用端口转发 chown root:sftp /data/sftp/mysftp //据说属主必须为root,可以不是root chmod 755 /data/sftp/mysftp //据说权限应低于等于755,否则登陆报错 mkdir /data/sftp/mysftp/upload chown mysftp:sftp /data/sftp/mysftp/upload chmod 755 /data/sftp/mysftp/upload setenforce 0 systemctl stop firewalld
sftp mysftp@ip-addr
|
注意事项
- ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
- ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755
常见报错
- /data/sftp目录权限分配不当,属主必须为root,属组可以为sftp组
1 2 3 4
| $ sftp -P 12012 userrenwolecom@10.28.204.62 userrenwolecom@10.28.204.62's password: packet_write_wait: Connection to 10.28.204.62 port 12012: Broken pipe Couldn't read packet: Connection reset by peer
|
- 重启sshd后,当前终端不会断开,新建终端输入正确密码后会出现SSH登录闪退(自动关闭终端)问题
1 2
| vim /etc/sshd/sshd_config Match Group username # 此处不应该使用sftp组内的具体某个sftp服务的用户,用该写 sftp组(但是和另一博客的内容有冲突)
|
- sshd 启动报错:
/var/empty must be owned by root and not group or world-writable.
1 2
| chmod 744 /var/empty chown -R root. /var/empty
|
sublime sftp 插件
1 2 3 4 5 6 7 8 9
| "upload_on_save": true, # 保存的时候自动上传到服务器 "sync_down_on_open": true, # 开本地文件编辑的时候,自动下载远程文件来更新本地 "host": "xxx.com", "user": "xxx", "password": "xxx", "port": "22",
"remote_path": "/xxx/xxx",
|