ssh user@host "umask"
给 0174
ssh user@host
服务器外壳的 umask 给出 0002
你能解释一下它是怎么发生的吗?
UPD:实际上,是 /etc/passwd 覆盖了 umask。
ssh user@host "umask"
给 0174
ssh user@host
服务器外壳的 umask 给出 0002
你能解释一下它是怎么发生的吗?
UPD:实际上,是 /etc/passwd 覆盖了 umask。
我正在运行 ubuntu 14.04,并希望让 apaches www-data 用户创建可由同一组 www-data 中的所有用户写入的文件。
到目前为止,我已经尝试添加
umask 0002
或者umask 002
到/etc/apache2/envvar
但即使在停止和启动apache服务之后也没有任何成功。
我还能尝试什么?
我在其他帖子中遵循了其他一些很棒的提示,但未能成功使用 www-data 创建可写文件。
非常感谢您的帮助 :-)
我正在构建一小组实用程序bash
函数和别名,它们将存在于一个特殊的/root
分区上。我注意到,无论何时我touch aFile
或vim aFile
,结果都是aFile
权限-rw-r--r--
。
如果您的目标是运行一些 shell 脚本,这是非常不可取的,这就是我认为的重点/root
。
我的/root
目录权限是dr-xr-x---
,我umask
的是0022
。据我了解,我应该期望新文件是0755
......但它们不是。
我是第一次设置 linux box 的默认 umask。我在 Centos 6 服务器上以 root 用户身份登录。我想要这些默认值:
owner: read/execute/write (7)
group: read/execute (5)
other: read (4)
为了获得 umask 值,我从 777 中扣除了目标:777-754 = 023
# umask 023
然后做一个仔细检查
# umask -S
u=rwx,g=rx,o=r
然后创建并显示文件权限
# echo x > testfile.txt
# ll | grep testfile.txt
-rw-r--r--. 1 root root 4 Jun 26 01:15 testfile.txt
这不是我所期待的。
我有一台运行 Gentoo 并托管 drupal 安装的服务器。每当执行 Drupal 更新时,更新模块的目录权限都会从755变为744,从而阻止应用程序访问文件。umask 在 /etc/profile 下定义为 022,Apache 服务器在用户和组nobody下运行。
我相信这与 drupal 安装无关,因为如果我以root身份创建目录,也会发生同样的情况,它是使用 744 权限创建的,因为umask是 022 不应该将它创建为 755 吗?
为什么umask 被忽略,我如何告诉服务器创建权限为 755 的目录?
我希望组 www-data 中的任何人都具有对/var/www
. 例如,如果 'a' 和 'b' 在组 www-data 中并且 'a' 在其中创建一个文件/var/www
- 那么 'b' 将能够编辑它。
问题是我创建了 PHP 和 Apache 无法编辑的文件 - 他们创建了我无法在没有 sudo 的情况下编辑的文件。PHP 和我自己都在 www-data 组中。
我将 umask 设置/etc/profile
从更改umask 022
为umask 002
。这是处理此问题的安全且适当的方法吗?
更新:即使更改 /etc/profile 并重新启动计算机 PHP 仍然创建具有权限的文件-rw-r--r--
。
我们的 apache 作为 www-data:psacln 运行
如果这条线运行;
<?php file_put_contents("./file.txt","");
然后 apache 在没有对该组的写权限的情况下创建此文件,
-rw-r--r-- 1 www-data psacln 9 2010-02-25 16:17 file.txt
如何设置我们的 ubuntu/apache,以便在网站内创建文件/文件夹时默认授予组写入权限?