Articles of umask

使用ACL设置每个目录的umask

我们想要模仿某个目录foo上系统范围的002 umask的行为,以确保以下结果: 在foo下创build的所有子目录将拥有775个权限 在foo和子目录下创build的所有文件将具有664个权限 1和2会发生在由所有用户创build的文件/目录中,包括root和所有的守护进程。 假设在我们的分区上启用了ACL ,这是我们提出的命令: setfacl -R -d -m mask:002 foo …但这不起作用。 在目录中创build的新文件最终看起来像这样: -RW – WR – + 当我在新文件上运行getfacl时,我得到: #file:newfile.py #所有者:根 #group:agroup 用户:: RW- group :: rwx #effective:-w- 面具:: – W- 其他:: R– 换句话说,在ACL中应用mask:200与应用umask 200 不一样。 那么是否有一种方法来应用每个目录的umask与ACL?

任何方式让openssl从一开始就用400(-r ——–)权限生成私钥?

我使用openssl在脚本中生成私钥和CSR。 脚本需要先生成密钥,然后调用chmod 400 whatever.key来将私钥的权限更改为更安全的密钥。 有没有什么办法消除第二步,并从一开始就用适当的权限openssl创build文件? 没有私钥可以被其他进程读取,即使是一毫秒,似乎也更清洁。 你可以在脚本中使用umask来做这样的事情吗?还是有另一种方式?

我如何给由www-data创build的文件提供默认的组写入权限?

我们的Apache运行www-data:psacln 如果这条线路运行; <?php file_put_contents("./file.txt",""); 那么Apache创build这个文件没有写入权限的组, -rw-r–r– 1 www-data psacln 9 2010-02-25 16:17 file.txt 我怎样才能设置我们的ubuntu / apache,以便在网站中创build文件/文件夹时,默认情况下可以提供组写入权限?

为所有用户设置umask

我试图把默认的umask设置为002,包括我的CentOS盒子上的所有用户。 根据这个和其他的答案,这可以通过编辑/etc/profile来实现。 然而,该文件顶部的评论说: 除非你知道你在做什么,否则改变这个文件并不是一个好主意。 最好在/etc/profile.d/中创build一个custom.shshell脚本,以便对环境进行自定义更改,因为这样可以防止在将来的更新中进行合并。 所以我继续创build以下文件: /etc/profile.d/myapp.sh 用单行: umask 002 现在,当我创build一个以root身份login的文件时,这个文件诞生了664个权限,这是我所希望的。 但是由我的Apache mod_wsgi应用程序创build的文件,或使用sudo创build的文件仍然默认为644权限… $ touch newfile (作为root): 结果= 664 (作品) $ sudo touch newfile : 结果= 644 (不起作用) 由Apache mod_wsgi应用程序创build的文件: 结果= 644 (不起作用) 由Python的RotatingFileHandler创build的文件: 结果= 644 (不起作用) 为什么会发生这种情况,以及如何确保664文件系统的权限,无论创build文件是什么?

SFTP服务器上传的文件具有错误的权限

我一直在想弄清楚文件权限有什么问题。 当我使用FileZilla上传文件时,所有文件的权限都是-rw-r -r–。 我希望他们有-rwxr-xr-x。 我已经尝试使用umask来修复权限,但有些事情是错的。 我已经读过,你可以像这样改变umask的权限,例如: 在/ etc / ssh / sshd_config中,更改以下内容: Subsystem sftp /usr/lib/openssh/sftp-server -u 002 有了这个更改,我正在使用-rw-rw-r–来获取文件。 据我所知0应该给所有的权利? 但是我只有rw。 怎么了? 我正在使用Debian。

rsync拉忽视我的umask,为什么?

我的umask是0002 。 所以当我rsync -r me@remote:new . ,为什么结果小组可写? drwxrwsr-x 10 root developers 4096 Aug 22 12:55 . drwxrwsr-x 12 root developers 4096 Jul 14 19:05 .. drwxrwsr-x 3 root developers 4096 May 16 15:04 old drwxr-sr-x 4 aaronadams developers 4096 Jun 26 15:17 new

如何在用户login到备用组时更改umask?

我希望umask在用户切换到非默认组时更加宽容。 只是为了certificate我的意思: $ id uid=500(beamin) gid=500(beamin) groups=10(wheel) $ umask 0022 $ sg wheel $ umask # I want this to now be 0002 instead 0022 我正在考虑添加一个脚本到/etc/profile.d/看起来像这样: if [ "`id -u`" -ge 500 ] && [ "`id -g`" -ne "`id -u`" ]; then umask 0002 fi 我得到了500因为我们所有的用户uid都大于或等uid 。 这是做这件事的最好方法吗? 还是有人有更有意义的东西?

设置Umask的正确方法在Debian / Ubuntu上使用php-fpm

我想将umask设置为002来执行php-fpm过程。 我正在读这里 , 在这里 ,在Ubuntu / Debian上它应该通过修改init脚本来完成。 然而,我怀疑这是正确的方法。 只是考虑大小写php5-fpm得到更新,更新修改了init脚本。 我也在这里读到,对于CentOS / Redhat,你可以通过/etc/sysconfig/来设置它。 所以我的问题是Debian / Ubuntu上是否有正确的方法来设置umask而不修改init脚本? 如果没有,可以直接修改init脚本吗?

如何强制所有软件的umask 002?

我已经将umask 002添加到/ etc / profile,但是像git和apache这样的软件仍然将文件设置为755而不是775.有没有办法强制umask 002在机器上的所有程序?

如何在Fedora中为php-fpm设置umask

在Fedora 19中,我找不到在哪里设置umask(为php脚本创build的文件设置适当的权限)(具体来说,我希望新文件具有权限664)