OS: Ubuntu 16.04.6
我已经使用 创建了一个 FTP 服务器vsftpd
。我最初按照以下链接中的说明进行操作。
如何在 Ubuntu 16.04 上为用户目录设置 vsftpd
但上述教程以及大多数其他资源都教你如何为 home 下的目录创建服务器。但我想为我的两个外部驱动器创建它;/media/Drive-1
&/media/Drive-2
我这样做是通过使用
sudo mount --bind /media/Drive-1/ /home/home_user/ftp_user
现在的问题是,
每当我使用(比如说)创建目录、复制文件等时
gftp
,我home_user
都无法更改/删除它。同样,如果我使用创建目录或文件
home_user
,则ftp_user
无法更改/删除它。
现在有些目录归“home_user”所有,有些归“ftp_user”所有。有没有办法授予所有目录相同的访问权限,这样我通过gftp
或ssh
或 手动作为家庭用户创建/发送的任何内容都可以被 和home_user
访问ftp_user
?
PS:驱动器是 EXT4 文件系统。
答案1
现在有些目录归“home_user”所有,有些归“ftp_user”所有。有没有办法授予所有目录相同的访问权限,这样我通过 gftp 或 ssh 或手动作为家庭用户创建/发送的任何内容都可以由 home_user 和 ftp_user 访问?
是的。共有 3 组权限:
- 用户
- 团体
- 其他的
每个都有 3 个选项:读取和/或写入和/或执行。当用户“home_user”和“ftp_user”属于同一组时,他们可以对文件执行相同的操作,就像他们拥有这些文件一样。
最简单(也比反过来更安全)的方法是将您的“home_user”添加到设置的“ftp_user”组中。方法如下(将 {} 之间的 2 更改为适合您的数值):
usermod -a -G {group_ftp_user} {home_user}
如果 ssh 和 ftp 使用不同的用户和组,您也可以先创建一个新组
sudo groupadd {new_group}
然后使用第一个命令将全部 3 个添加到该新组。
另请参阅
local_umask=
在
/etc/vsftpd.conf
您需要将其设置为 007(现在将设置为 700)。