(vsftpd)上传的文件组

(vsftpd)上传的文件组

我正在使用 vsftpd 创建一个 ftp 服务器,我几乎完成了,唯一剩下的就是当我上传文件(以用户 U 身份登录)时,该文件属于具有相同名称的组(因此组名= U),但用户位于不同的组中。

我们举个例子:


用户=publichttp

usergroup=ftpusers (并且只有 1 个组)

当我上传文件时,文件按照我想要的那样以 775 权限上传,但是 ls -l 显示文件所有者是 publichttp:publichttp 而不是 publichttp:ftpusers,因为它应该是和我想要的。

/home/ 中的文件夹权限:

drwxrwxr-x 3 publichttp ftpusers 4096 nov. 8 17:20 publichttp

在 /home/publichttp/ 中:

-rwxrwxr-x 1 publichttp publichttp 98789 nov. 8 17:20 Extras.Txt

(我想)

-rwxrwxr-x 1 publichttp ftpusers 98789 nov. 8 17:20 Extras.Txt

不知道怎么办,查了一整天

vsftpd.conf:

listen=YES
connect_from_port_20=YES
use_localtime=YES
xferlog_enable=YES
dirmessage_enable=YES
ftpd_banner=myftp.

anonymous_enable=NO
local_enable=YES
write_enable=YES
nopriv_user=publichttp
secure_chroot_dir=/var/run/vsftpd/empty

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list #empty file
allow_writeable_chroot=YES

userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list #just contains publichttp

anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_umask=002
file_open_mode=0777

是否可以 ? (最简单的解决方案是最好的)

谢谢 !

答案1

vsftpd 从 /etc/passwd 和 /etc/groups 获取本地用户的所有信息。为了让你的publichttp用户上传的文件属于ftpusers组,你需要在/etc/passwd中将publichttp用户的主gid设置为ftpusers组。

相关内容