在SFTP(SSH File Transfer Protocol)配置中设置权限,通常涉及到两个方面:服务器端的用户权限和文件系统权限。以下是一些基本的步骤和注意事项:
创建用户账户:
useradd命令创建新用户。sudo useradd username设置密码:
passwd命令为新用户设置密码。sudo passwd username限制用户的shell访问:
/etc/passwd文件,将用户的默认shell更改为/sbin/nologin或/bin/false,以防止用户通过SSH登录。username:x:1001:1001::/home/username:/sbin/nologin配置SSHD配置文件:
/etc/ssh/sshd_config文件,确保以下配置项正确设置:Subsystem sftp /usr/lib/openssh/sftp-server
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sftpusers,并将需要SFTP访问的用户添加到该组。sudo groupadd sftpusers
sudo usermod -aG sftpusers username
重启SSH服务:
sudo systemctl restart sshd
设置用户主目录权限:
755。sudo chmod 755 /home/username
设置文件和目录权限:
sudo chown username:username /home/username
sudo chmod 700 /home/username
设置SELinux上下文(如果使用SELinux):
sudo chcon -R system_u:object_r:user_home_t:s0 /home/username
通过以上步骤,你可以有效地配置SFTP服务器的权限,确保用户只能访问他们被授权的文件和目录。