标签: umask

PHP mkdir()和fopen()不起作用 - 权限问题?umask问题?

以下PHP脚本无法创建目录.它也将无法创建文件(当目录已存在时).

ini_set('error_reporting', E_ALL);

define('ABSPATH', $_SERVER['DOCUMENT_ROOT']);
echo ABSPATH . '<br /><br />';

$dir_to_make = ABSPATH . '/aaatest';
$file_to_make = ABSPATH . '/aaatest/aaatest.txt';

echo umask() . '<br />';

mkdir($dir_to_make) or die('could not create directory');
fopen($file_to_make) or die('could not open/create file');
Run Code Online (Sandbox Code Playgroud)

umask()返回值18.文档根目录中有一个句点(/var/www/blah/websitename.com/httpdocs).

我不完全理解umask(),也不确定如何正确使用它.我不知道这是不是问题,但似乎确实存在问题.我应该更改umask,创建文件/目录,然后将其更改回来吗?umask应该改变/制作/编辑文件/目录是什么?服务器应该配置不同吗?

php fopen umask mkdir

5
推荐指数
1
解决办法
1万
查看次数

cd 后 umask 设置更改

我有一些奇怪的事情要报告。在我新配置的 RHEL5 服务器上,我的 shell 设置为 /bin/bash 我在 .bashrc 中将 umask 设置为 002。

当我第一次登录时,umask 似乎工作正常:

$ touch a
$ ls -l a
-rw-rw-r-- etc.....
Run Code Online (Sandbox Code Playgroud)

如果我创建另一个文件,它可以工作:

$ touch b
$ ls -l b
-rw-rw-r-- etc.....
Run Code Online (Sandbox Code Playgroud)

但是...如果我更改目录(到任何目录),则 umask 将设置回 022:

$ cd /var/www/whatever
$ touch c
$ ls -l c
-rw-r--r-- etc.....
Run Code Online (Sandbox Code Playgroud)

完全奇怪。

有人见过这样的吗?他们能想出什么要检查的吗?

为什么 umask 设置会在 cd'ing 后改变?

谢谢,

-查理

linux redhat umask

5
推荐指数
2
解决办法
1167
查看次数

为文件和文件夹设置不同的Umask

我正在编写一个bash脚本来更新一些文件/目录,我想在脚本中运行umask来设置脚本创建的文件/目录的默认权限.我知道我可以使用umask来设置文件和目录的权限,但我需要对文件和文件夹的权限不同.

I want files to be:   -rw----r-- (0604)
I want folders to be: drwx-----x (0701)
Run Code Online (Sandbox Code Playgroud)

我可以使用umask吗?如果是这样我该如何去做呢?如果没有,最好的方法是什么?先感谢您.

permissions bash umask

5
推荐指数
2
解决办法
2万
查看次数

用于sudo和apache的linux umask

我想为所有用户(在Ubuntu中)制作002系统范围的umask.我设法使用@ephemient提供的说明为所有普通用户这样做(来自这篇文章,谢谢!).但是我还有两个问题.

首先,当sudoing时,root用户似乎遵循它自己的设置,制作具有644(而不是664)权限的文件.

其次,apache用户(www-data)似乎也遵循它自己的设置(root使用的相同?),制作权限为644(而不是664)的文件.我不喜欢把umask 002/etc/apache2/envvars,我宁愿改变设定分配002的umask首先到Apache.

我怎样才能解决最后两个问题?

linux ubuntu umask

5
推荐指数
1
解决办法
6273
查看次数

设置 sshfs 挂载的 umask

如果我在没有 umask 的情况下安装 sshfs 服务器,我会得到-rw-rw-r--新创建的文件。如果我尝试在浏览器上打开服务器上的 php 文件,则会收到以下错误:

Incorrect file/directory permissions: Above 755.
In order files to be processed by the webserver, their permissions have to be equal or below 755. 
Run Code Online (Sandbox Code Playgroud)

所以我尝试了umask=0022:新创建的文件有-rwxr-xr-x. 这些权限很好,因为上面的错误不再出现。但是,我不明白为什么新文件被设置为可执行文件......

您能解释一下吗?非常感谢...

file-permissions umask sshfs

5
推荐指数
1
解决办法
2万
查看次数

午夜指挥官不尊重umask

当我在午夜指挥官中创建新文件并保存它(Shift + F4,写点东西,F2,命名文件)时,即使我的umask设置为0007,它也会创建640个,因此应该使用权限660创建它.有没有秘密的地方设置mc umask?我没找到一个.

configuration umask mc

5
推荐指数
1
解决办法
227
查看次数

错误找不到模块“umask”

我刚刚在我的 Windows 10 计算机上安装了nodejs x64。我保留所有默认配置,我打开 cmd 并键入: npm -v

然后我得到以下错误:

module.js:457
    throw err;
    ^

Error: Cannot find module 'umask'
    at Function.Module._resolveFilename (module.js:455:15)
    at Function.Module._load (module.js:403:25)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\W10-PRO\AppData\Roaming\npm\node_module\npm\lib\utils\umask.js:1:75)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
Run Code Online (Sandbox Code Playgroud)

每个以“npm”开头的命令都会创建此错误,并且 npm 无法卸载、自行更新)请帮我修复此错误?

umask node.js npm npm-install

5
推荐指数
1
解决办法
1561
查看次数

文件创建模式掩码

我很难理解为什么Unix守护进程将文件创建模式掩码设置为0.如果有人可以揭开umask功能的神秘感,我将感激不尽.

unix umask

4
推荐指数
1
解决办法
3243
查看次数

如何为使用php创建的新文件设置默认权限

嗨我正在运行一个centos服务器,我想知道如何设置由fopen创建的新创建文件的默认chmod.目前它正在做644但我想要666所以我在哪里可以指定这个设置?

php umask

4
推荐指数
2
解决办法
2万
查看次数

如何通过umask赋予执行权限

是否可以借助 umask 为文件分配执行权限。当我谷歌然后发现 umask 不仅仅是 666 和分配的权限之间的区别,而且它将数字转换为 rwx,然后通过将 umask 转换为 rwx 与 umask 进行比较,并将差异作为分配的权限给出。

例如:

文件默认为 666 ( rw-rw-rw-),如果 umask 为 002 ( -------w-),则其他人的写权限将被删除。而umask 001( --------x),所以对权限没有影响。

那么如何使用umask分配执行权限呢?

linux umask

4
推荐指数
1
解决办法
3715
查看次数