建立SFTP共享账户
Create SFTP share account
做学术的时候往往需要交流数据。目前最安全简便的解决方案是用SFTP传输文件协议。
为此,需要配置Linux服务器,并为学术伙伴建立一个不能登录、只能用SFTP的账号。
下面是步骤:
1. 建立用户组
addgroup --system filetransfer
2. 设定用户目录和相应权限
以用户名username为例:
mkdir /home/username
mkdir /home/username/data
chown root:root /home/username
chown username:filetransfer /home/username/data
chmod 755 /home/username
chmod 700 /home/username/data
权限755可以允许sftp用户登录到其HOME目录/home/username
权限700可以防止上传的数据被其他用户访问
3. 建立用户
useradd -d /home/username -s /usr/lib/sftp-server -M -N -g filetransfer username
-d 指定HOME目录
-s 指定登录shell
-M 不创建HOME目录
-N 不创建以username为名的 用户组
-g 指定user group
4. 配置ssh
打开 /etc/ssh/sshd_config
见到这行之后:Subsystem sftp /usr/lib/openssh/sftp-server
改称:Subsystem sftp internal-sftp
然后在末尾加上:
Match group filetransfer
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
5. 配置登录shell
在/etc/shells末尾加上一行:
/usr/lib/sftp-server
6. 最后重启ssh 服务器就好了
service ssh restart