默认文件权限(Debian/Ubuntu)

默认文件权限(Debian/Ubuntu)

我在 /var/www 中有一些文件,我已设置其权限如下:

user:www-data
chmod 755

我该如何设置它,以便所有后续上传的文件(通过 SFTP)都具有相同的权限,而我不必继续重新运行chown/chgrp/chmod -R

答案1

  • 用户/所有者:如果您希望以“用户”身份创建文件,则必须以“用户”身份登录。

  • 组:确保用户的默认组是“www-data”,或者确保所有目录都设置了“setgid”(chmod g+s)标志和“www-data”组。

  • 权限:登录时应执行“umask 022”命令(表示目录的默认权限为 0755,文件的默认权限为 0644)。例如,您可以将其放在 ~/.bashrc 中。

答案2

Mar_Garina 有正确答案。创建文件时,umask 的值用于确定创建文件的默认权限。我只想补充一点,有几个地方可以设置它。如果您希望默认设置是系统范围内的所有用户,则将命令放入而umask 0222不是/etc/profile仅放入用户个人设置中可能更有意义。此外,大多数 ssh、sftp 和 ftp 守护程序都会在其服务器配置文件中有一个选项,用于为通过这些系统登录的用户指定默认 umask。

答案3

A很多对于 2011 年来说,更好的答案是通过 setfacl 使用 ACL:

$ setfacl -m d:user:rwx directory

现在,在该目录中创建的任何文件都将使用您拥有的所有默认权限。您可以使用以下命令查询任何给定文件/目录的 ACL

$ getfacl file

相关内容