![如何使共享目录可通过 SFTP 访问?](https://linux22.com/image/28067/%E5%A6%82%E4%BD%95%E4%BD%BF%E5%85%B1%E4%BA%AB%E7%9B%AE%E5%BD%95%E5%8F%AF%E9%80%9A%E8%BF%87%20SFTP%20%E8%AE%BF%E9%97%AE%EF%BC%9F.png)
我已经在 中设置了一个 sftp 帐户/home/sam
,创建了一个组,并在其中sftp
添加了用户。sam
我让chown sam:sftp /home/sam
用户在该目录中执行操作。
现在我已经创建了另一个 sftp 帐户tom
,我必须让他共享该目录/home/sam
。即,两者sam
都tom
必须共享相同的目录来存放公共文件。现在我无法给予chown tom:sftp on /home/sam
。如何使目录sam
可共享给两个用户?
答案1
假设一个常用的linux发行版和sshd服务正在运行。
1) 如果您希望两个用户能够在同一目录下创建、删除和修改文件,那么只需创建一个帐户并向两个人提供凭据即可。这是最简单的方法,但是...
...如果您想单独记录他们的活动,例如谁何时登录,则创建具有相同组的两个用户,并为他们两个分配相同的主目录。例如
groupadd sftp
mkdir /home/sftp
chown nobody:sftp /home/sftp
chmod 770 /home/sftp
useradd -d /home/sftp -g sftp sam
useradd -d /home/sftp -g sftp tom
如果用户 sam 和 tom 已经存在并且有自己的主组,则将chmod g+s /home/sftp
强制在此目录下创建的文件继承其组 ID。
查看这另一篇文章了解如何umask
在 sftp 下强制使用默认值,以便上传的文件是组可读/可写的。
2) 如果您希望只有一个用户创建、删除和修改目录内容,而第二个用户具有只读访问权限。这实际上不需要任何特殊处理,普通用户可以从其他用户的目录中读取内容。第二个用户只需指定或 cd 到目标目录(但是,您可以将相同的主目录分配给第二个用户)。