我尝试设置我的第一个 SFTP 服务器,禁止保留时间戳(WINscp
例如默认选项)。我总是想从服务器而不是从文件中获取时间。
首先,我创建组(
ftpaccess
)和用户(具有限制的用户 1 和用户 2)。a.
sudo adduser user1
b.sudo adduser user2 --ingroup ftpaccess --shell /usr/sbin/nologin sudo chown root:root /home/user2 sudo mkdir /home/user2/ftp sudo chown user2:ftpaccess /home/user2/ftp
按预期工作。User2 只能访问ftp
文件夹。
- 然后我强制并确保用户在上传期间无法保留文件时间戳。我通过在 sshd_config 文件中添加以下内容来实现这一点:
Subsystem sftp internal-sftp -P setstat,fsetstat
这也有效,但仅适用于没有ftpaccess
群组的用户 1。用户 2 可以保留时间戳。
/etc/ssh/sshd_config:
Subsystem sftp internal-sftp -P setstat,fsetstat
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
我需要您的帮助和解释,没有任何组的用户和具有受限访问权限的用户之间有什么区别。为什么sshd_config
只对其中一个有效。