我有一个vsftp服务器运行。 这是我想要做的:
2个开发者通过一个ftp客户端访问一个web目录。 他们写他们想要的文件。 然后他们刷新页面(F5),Web服务器给他们新的页面。
以下是我所做的:
allaccessgroup
)。
USER1
属于这个组和
用户2
这也属于这个组
在/ var / WWW / newsite
chgrp allaccessgroup / var / www / newsite
chown apache / var / www / newsite
chmod 570 / var / www / newsite
这样:apache可以读取, 只读取php文件,所有的user1和user2被赋予权限去做他们想要的。
问题是我想让user1和user2上传他们的文件。 上传时,文件权限是allaccessgroup / user1或allaccessgroup / user2,我想要权限allaccessgroup / apache。
一旦file upload,我正在寻找一种方法来自动更改所有权。 我读过一些这样的东西:创build一个PHP文件,然后调用上传完成后:
$ complete = $ complete.exec(“ssh root @ host -i / path / to / pulic / key chmod 0700 /Users/".$shortname."/Private/\n”);
我不喜欢打电话给“执行”这将意味着授予“执行”访问PHP …任何其他的想法欢迎!
顺便一提 :
我一直在寻找vsftpconfiguration文件:
chown_uploads = YES chown_username = apache
但这是为了上传的匿名文件归属于不同的用户,而不是为特定的用户
任何其他的想法欢迎!
谢谢 !
看看vsftpd.conf中的local_umask指令
另一种select是查看粘性位,如果两个属于同一个组,但不是它们的主要组。 chmod g + s / var / www / newsite这样,目录中创build的所有新文件都将拥有父组的所有权。 虽然没有检查子目录,但你可以testing。
file_open_mode =创build上传文件的权限。 Umasks应用于此值之上。 如果您希望上传的文件可执行,您可能希望更改为0777。
Default: 0666
这有些偏离主题,但VSFTP随匿名用户一起提供,只是你知道的。
http://www.standalone-sysadmin.com/blog/2008/11/default-vsftpd-on-centos-is-dumb/
只是让你知道,如果你没有testing。