在CentOS系统中,使用SFTP(SSH File Transfer Protocol)进行文件传输时,可以通过以下步骤设置文件传输权限:
-
登录到CentOS服务器。
-
使用文本编辑器(如vi、nano等)打开sshd_config文件。这个文件通常位于/etc/ssh/目录下。例如,使用vi编辑器,输入以下命令:
sudo vi /etc/ssh/sshd_config
- 在sshd_config文件中,找到以下行:
#Subsystem sftp /usr/libexec/openssh/sftp-server
取消注释(删除行首的#号),以启用SFTP子系统:
Subsystem sftp /usr/libexec/openssh/sftp-server
-
保存并关闭sshd_config文件。
-
重启SSH服务以应用更改:
sudo systemctl restart sshd
-
现在,您可以使用SFTP客户端连接到服务器。在连接时,请确保使用SFTP协议,而不是普通的FTP协议。
-
在服务器上创建一个新用户或选择一个现有用户,用于SFTP文件传输。例如,创建一个名为sftpuser的新用户:
sudo adduser sftpuser
- 为新用户设置密码:
sudo passwd sftpuser
- 更改新用户的默认shell为sftp:
sudo usermod -s /sbin/nologin sftpuser
- 创建一个用于存储SFTP用户文件的目录,并设置适当的权限:
sudo mkdir /home/sftpuser/uploads sudo chown sftpuser:sftpuser /home/sftpuser/uploads
这将创建一个名为uploads的目录,并将其所有权设置为sftpuser用户。
- 现在,当sftpuser用户通过SFTP连接到服务器时,他们将只能访问/uploads目录,并根据其权限进行文件传输。
请注意,这些步骤仅适用于CentOS 7及更高版本。对于CentOS 6,某些命令可能略有不同。