标签: file-permissions

php脚本无法访问/tmp文件夹

我没有 open_basedir,php 可以访问 /etc /usr /proc /home 等......但不能访问 /tmp。

tmpfs 安装在 /tmp (/tmp type tmpfs (rw)) 这也是我想使用 /tmp 文件夹的原因。

我的文件归 http(nginx 和 php 的用户)所有,每个人都可以阅读。

sudo -u http cat /tmp/file 正在运行,但 php 脚本中的任何内容都不起作用(如 file_exist() 或 file())。

编辑:日志中显示的错误:

PHP Warning:  file(/tmp/ydlw/pid): failed to open stream: No such file or directory in /srv/http/ydlw/status.php on line 267
Run Code Online (Sandbox Code Playgroud)

编辑2:我以另一种方式测试了这个问题。我做了

touch("/tmp/boo");
file_exist("/tmp/boo");
Run Code Online (Sandbox Code Playgroud)

和 file_exist 返回 true 以便创建文件。然后我在 /tmp 里面看了看,在那里找不到“boo”文件。这就是我所害怕的,php 看不到挂载点。为什么会这样,我该如何解决?

php tmp tmpfs file-permissions centos7

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

将文件权限从一个目录复制到另一个目录

上周末,我将公司数据从一个硬盘复制到另一个更大的硬盘。我以为许可会复制过来,但他们没有。

将最初设置的权限复制到我的新数据上的最佳(也是最快)方法是什么,而不必再次复制所有数据?我的用户现在正在访问数据,因此不想重新复制数据,因为更改可能会丢失。

数据托管在 windows server 2008 R2 上

windows-server-2008 file-permissions

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

如何将文件添加到没有root权限的docker容器?

我正在尝试将文件添加到从官方tomcat镜像构建的 Docker镜像中。该图像似乎没有 root 权限,因为tomcat如果我运行 bash ,我以用户身份登录:

docker run -it tomcat /bin/bash
tomcat@06359f7cc4db:/usr/local/tomcat$ 
Run Code Online (Sandbox Code Playgroud)

如果我指示 aDockerfile将文件复制到该容器,则该文件具有权限644并且所有者为root. 据我了解,这似乎是合理的,因为 Dockerfile 中的所有命令都以 root 身份运行。但是,如果我尝试将该文件的所有权更改为 ,则会tomcat:tomcat出现Operation not permitted错误。

为什么我不能更改复制到该图像的文件的权限?

如何复制:

mkdir docker-addfilepermission
cd docker-addfilepermission
touch test.txt
echo 'FROM tomcat
COPY test.txt /usr/local/tomcat/webapps/
RUN chown tomcat:tomcat /usr/local/tomcat/webapps/test.txt' > Dockerfile

docker build .
Run Code Online (Sandbox Code Playgroud)

的输出docker build .

Sending build context to Docker daemon 3.072 kB
Sending build context to Docker daemon 
Step 0 …
Run Code Online (Sandbox Code Playgroud)

containers file-permissions docker

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

setfacl 将文件重置为默认权限?

我有一个包含以下默认 ACL 的目录:

default:user:phptutor:rwx
Run Code Online (Sandbox Code Playgroud)

但是,该目录中的所有文件/目录都没有该默认权限(因为它是在创建后添加的)。

如何将父目录的默认 ACL 复制到其中的每个文件夹和文件?

linux permissions access-control-list file-permissions

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

程序文件存在于/usr/bin中,但无法使用

显然我的文件存在于 /usr/bin

$ ls /usr/bin/ngrok
/usr/bin/ngrok
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试chown它时,我收到一个错误

$ sudo chown my_user:users /usr/bin/ngrok
chown: cannot dereference '/usr/bin/ngrok': No such file or directory
Run Code Online (Sandbox Code Playgroud)

进一步尝试运行它也失败了!

$ ngrok
bash: ngrok: command not found
$ sudo /usr/bin/ngrok
sudo: /usr/bin/ngrok: command not found
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

linux unix filesystems file-permissions

15
推荐指数
2
解决办法
4101
查看次数

wget 开始下载然后停止“无法写入”

我正在使用 wget 将一些文件从一台服务器镜像到另一台服务器。我正在使用以下命令:

wget -x -N -i http://domain.com/filelist.txt
Run Code Online (Sandbox Code Playgroud)

-x = 因为我想保留目录结构

-N = 仅获取新文件的时间戳

-i = 从外部文件下载文件列表,每行一个。

小文件,例如我正在测试的 326kb 大下载就好了。

但是另一个 5gb 只下载 203mb 然后停止(它总是 203mb 给或取几千字节)

显示的错误消息是:

无法写入“path/to/file.zip”

(我不确定为什么前后会有奇怪的字符。我在 Windows 中使用 Putty,这可能与也可能没有关系,所以我把它们留在了。我想不是。)。

完整回复如下:(我已经替换了路径、ip和域名)

--2012-08-31 12:41:19-- http://domain.com/filelist.txt 正在解析 domain.com... MY_IP 正在连接到 domain.com|MY_IP|:80... 已连接。HTTP 请求已发送,正在等待响应... 200 OK Length: 161 [text/plain] 服务器文件不比本地文件“domain.com/filelist.txt”更新

--2012-08-31 12:41:19-- http://domain.com/path/to/file.zip连接到 domain.com|MY_IP|:80... 已连接。HTTP 请求已发送,正在等待响应... 200 OK Length: 5502192869 (5.1G) [application/zip] 大小不匹配(本地 213004288)——正在检索。

--2012-08-31 12:41:19-- http://domain.com/path/to/file.zip连接到 domain.com|MY_IP|:80... 已连接。HTTP 请求已发送,正在等待响应... 200 OK 长度:5502192869 (5.1G) [application/zip] 保存到:“domain.com/path/to/file.zip”

3% …

linux wget file-permissions

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

如何在 linux ubuntu 上配置 PHP CLI 以作为 www-data 运行?

我的 ubuntu 上有一个 symfony2 应用程序。Symfony 有很多有用的控制台命令(如php app/console cache:clearphp app/console assets:install web)。

问题是如果我以root用户身份运行它们,新生成的文件将包含root:root用户/组,如果我访问我的网站,我会收到错误(因为 apache 无法读取/修改这些文件 -> 他们应该有www-data:www-data)。

运行chown www-data:www-data可以解决问题,但是每次清除缓存时都运行它不是解决方案。

如何将 PHP CLI 配置为始终以 www-data 用户/组身份运行?

或者

如何以不同的用户身份运行命令(作为 root,以 www-data 身份运行)?

linux php permissions command-line-interface file-permissions

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

drwxrwxrwt 中的 t 或 t 的值是多少?

ls -al / 显示一个文件夹:

drwxrwxrwt 2 root root 4096 Feb 26 09:00 tmp

中的最后一个字符t是什么意思drwxrwxrwt

linux file-permissions

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

复制文件权限,但不复制 Unix 中的文件

(来自:https : //stackoverflow.com/questions/15245144/copy-file-permissions-but-not-files,因为离题而关闭)

我有两个相同目录树的副本。它们几乎具有相同的文件(一个版本可能有几个额外的或丢失的文件)。但是,大多数文件对于这两个目录都是通用的(具有相同的相对路径和所有内容)。

假设这些在目录中:

version1/
version2/
Run Code Online (Sandbox Code Playgroud)

问题是 version1/ 中的权限搞砸了,我想从 version2/ 复制权限,但不要替换 version1/ 中较新的文件。

是否有通过 shell 命令或脚本自动执行此操作的方法?

unix copying unix-shell file-permissions

14
推荐指数
4
解决办法
1773
查看次数

Windows 安全中的 SXX-XX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXX-XXXX 是什么?

我复制了两棵树,一个源和一个目标,我用 robocopy 像这样复制了它们:

robocopy /MIR C:\Windows\System32\tasks\ C:\temp\robocopyTasks\out\

robocopy /E /Copy:S /IS /IT C:\Windows\System32\tasks\ C:\temp\robocopyTasks\out\
Run Code Online (Sandbox Code Playgroud)

然后我使用 icacls 比较了权限,输出了两者的权限,唯一的区别似乎是原始文件包含我以前见过的一长串字符;我知道它代表系统中的一个用户或一个组,但我不记得它叫什么。字符串如下所示:

S-X-X-XX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXX-XXXX
Run Code Online (Sandbox Code Playgroud)

它们可以与 VIM 中的这个正则表达式匹配:

/S-\d-\d-\d\{2\}-\d\{10\}-\d\{10\}\-\d\{9\}\-\d\{4\}/
Run Code Online (Sandbox Code Playgroud)

windows-7 robocopy file-permissions

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