SFTP Server Port: 30022
按照项目进行分类,来创建sftp账号
命名规范:
用户名 | 权限 | sftp目录 | Chroot目录 | Group |
---|---|---|---|---|
地区+项目+用户(组或个人) | rw/r | /data/项目/项目 | /项目 | 项目+RW |
例:CHN-projeC++tname-a | rw | /data/projectname/projectname | /projectname | projectnameRW |
CHN-projectname-b | r | /data/projectname/projectname | /projectname | 只有写权限才需要加入对应的组 |
只用第一次修改ssh配置文件
~]# vi /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match Group sftp
Match LocalPort 20912
ChrootDirectory %h #chroot到所创建用户时的家目录
ForceCommand internal-sftp
~]# systemctl restart sshd
下面是每次创建账号需要的操作
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
~]# useradd -s /bin/false -d /data/projectname CHN-projectname-b
~]# useradd -s /bin/false -d /data/projectname CHN-projectname-a
~]# echo ‘CHN-projectname-b:password1’|chpasswd
~]# echo ‘CHN-projectname-a:password2’|chpasswd
#可以使用其他方式配置密码
~]# groupadd projectnameRW
~]# usermod -aG projectnameRW CHN-projectname-b
如果CHN-projectname-a也需要写权限,加入到权限组(projectnameRW)即可
~]# chown root:projectnameRW /data/projectname/projectname
#针对需要多个用户对同一个目录进行读写,需要使用到ACL权限
如果是第一次新建,比较简单,2条命令即可
~]# chmod –R g+s /data/CN-project/CN-project
~]# setfacl -Rm d:g:groupname:rwx /data/CN-project/CN-project
如果是已经在使用的sftp,并且sftp的家目录有数据,手动执行以下命令
~]# chmod -R g+s /data/CN-project/CN-project
~]# setfacl -Rm d:g:groupname:rwx /data/CN-project/CN-project
~]# chown -R :groupname /data/CN-project/CN-project
~]# chmod -R 775 /data/CN-project/CN-project
~]# systemctl restart sshd
~]# sftp -oPort=30022 CHN-project-user@10.0.0.1
-oPort=30022:SFTP server Port
CHN-project-user:SFTP Username
10.0.0.1:SFTP Server address
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
0
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
1
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
2
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
3
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
4
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
5
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
6
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
7
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
8
监控sftp日志,指定sftp用户触发连接数限制,告警通知
~]# mkdir –p /data/projectname/projectname
~]# chmod 775 /data/projectname/projectname
9
使用nas作为/data盘. acl授权命令改为nfs4_setfacl.
多台sftp server创建用户用此脚本创建.
~]# useradd -s /bin/false -d /data/projectname CHN-projectname-b
~]# useradd -s /bin/false -d /data/projectname CHN-projectname-a
0
创建sftp用户脚本:
~]# useradd -s /bin/false -d /data/projectname CHN-projectname-b
~]# useradd -s /bin/false -d /data/projectname CHN-projectname-a
1
~]# useradd -s /bin/false -d /data/projectname CHN-projectname-b
~]# useradd -s /bin/false -d /data/projectname CHN-projectname-a
2
参考:https://www.landui.com/help/show-3462