标签: chmod

授予 PHP 写入文件和文件夹的权限

更新更清晰:

根据http://expressionengine.com/user_guide/installation/installation.html,它说:

对于大多数 Unix 主机,以下是典型的,但您可以检查您的主机,看看是否可以使用更严格的权限来允许 PHP 写入文件 (666) 和文件夹 (777)。在 Windows 服务器上,以下内容不适用,但您需要确保 ExpressionEngine 可写入文件和文件夹。为此,您可能需要联系您的房东。

不确定这是什么意思。我可以将特定文件和文件夹分别更改为 666 和 777,在我是 chown'er 的地方,但上面的内容听起来好像我也需要允许 PHP 执行此操作?

原问题:

我需要确保 PHP 可以写入特定文件 (666) 和文件夹 (777)。

我该怎么做呢?

permissions chmod php files

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

递归更改文件权限而不是目录?

我正在对迁移到 unix 系统的某些文件的权限进行大规模递归更改。我把它们改成了ug+rw,但是后来发现不能遍历子目录。我查看了手册页chmod并没有看到任何排除目录的解释,所以我搜索了一下,发现人们过去常常find递归地将目录的权限更改为用户和组的“执行”。我这样做了,然后我可以调查他们。

但在我看来,我应该能够执行此查找chmod- 以递归方式将文件更改为读/写,但不会使目录无法遍历。我是否以“正确”的方式完成了此操作,还是有更简单的方法来做到这一点?

filesystems permissions find chmod

13
推荐指数
1
解决办法
8748
查看次数

文件夹上的“执行”权限是什么意思?

我已经阅读了这个主题,它给了我一些信息,但我觉得我没有完全理解它。文件夹上的执行权限实际上意味着什么?我完全理解它在文件上的含义,但在文件夹上。

permissions directory chmod

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

当进程作为特定组运行时,Linux 权限如何工作?

这是我无法找到太多信息的事情,因此将不胜感激。

我的理解是这样的。获取以下文件:

-rw-r-----  1 root        adm   69524 May 21 17:31 debug.1
Run Code Online (Sandbox Code Playgroud)

用户phil无法访问此文件:

phil@server:/var/log$ head -n 1 debug.1
cat: debug.1: Permission denied
Run Code Online (Sandbox Code Playgroud)

如果phil被添加到adm组中,它可以:

root@server:~# adduser phil adm
Adding user `phil' to group `adm' ...
Adding user phil to group adm
Done.
phil@server:/var/log$ head -n 1 debug.1
May 21 11:23:15 server kernel: [    0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014
Run Code Online (Sandbox Code Playgroud)

然而,如果一个进程开始,同时明确地设置user:groupphil:phil它无法读取该文件。过程是这样开始的:

nice -n 19 chroot --userspec phil:phil …
Run Code Online (Sandbox Code Playgroud)

linux process chroot permissions chmod

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

符号链接权限不会随 chmod 改变

我可以访问远程 Linux 机器,每次我创建符号链接时,默认情况下都会使用以下权限创建它: lrwxrwxrwx

如果我尝试更改符号链接的权限(即不是它指向的路径),例如:

chmod g-w my_symbolic_link
Run Code Online (Sandbox Code Playgroud)

chmod运行正确(没有打印错误消息)但是当我再次检查权限时,它们仍然相同(lrwxrwxrwx)。

我正在等待机器管理员的消息,但我想知道这是否是正常行为,或者它是否是特定于盒子的东西。

permissions chmod symlink

12
推荐指数
1
解决办法
7276
查看次数

root 不能 chmod?

在我的部门,我们有一个带有 CentOS 和 samba 的小型文件服务器。我有 root 访问权限,可以执行一些基本的维护。

今天我将一些文件夹设为只读,所以我继续做了一个chmod -R -w some-folder/,但是对于一些文件我得到了响应:

chmod: ./somefile.pdf: 新权限是 r-xrwxr-x,而不是 r-xr-xr-x

添加后-v我没有得到很多信息:

`./somefile.pdf' 的模式保留为 0575 (r-xrwxr-x)

我尝试了以下只是为了确保:

# touch test-file
# chmod -v -R -w .
mode of `./somefile.pdf' retained as 0575 (r-xrwxr-x)
chmod: ./somefile.pdf: new permissions are r-xrwxr-x, not r-xr-xr-x
mode of `./test-file' changed to 0444 (r--r--r--)
Run Code Online (Sandbox Code Playgroud)

我想不出为什么 root 不能执行 chmod的任何充分理由

一些花絮:

  • 文件系统不是 只读的(只有一些文件拒绝被修改)。
  • 以 root 身份运行了 chmod 命令但没有任何效果。 …

chmod

12
推荐指数
1
解决办法
4986
查看次数

chmod 000 /dev/stdin 会永远禁用终端吗?

我正在解决来自Unix The Textbook (第 8 章,#16,第 207 页)的问题

给出chmodmesg nmesg y命令执行相同任务的命令行。(提示:每个硬件设备,包括您的终端,在/dev目录中都有一个关联的文件。)

我相信答案是:

mesg n = chmod 770 /dev/stdout

mesg y = chmod 777 /dev/stdout

但我想知道如果你使用会发生什么chmod 000 /dev/stdin

您是否无法在终端中输入命令?

terminal chmod devices

12
推荐指数
1
解决办法
1224
查看次数

如何同时更改文件的权限和组所有者

对于更改文件权限,我知道我可以使用 chmod。对于更改组所有者,我可以使用 chgrp。但是,如果我想同时更改权限和所有者,我可以在 Linux 上使用任何命令吗?

例如,有一个具有此权限和所有者的文件:

-rw-r--r--+  1 raymondtau  staff    0 May  8 16:38 WantToChangeThisFile
Run Code Online (Sandbox Code Playgroud)

现在我想把它改成:

---x-w--wx+  1 raymondtau  admin    0 May  8 16:38 WantToChangeThisFile
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用这个命令:chmod 123 WantToChangeThisFile && chgrp admin WantToChangeThisFile,但想知道是否有任何巧妙的方法来做到这一点。

chmod files chown

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

有选择地使用 chmod 命令

我想对特定目录下的所有文件和子目录设置 755 权限,但我只想对那些没有 755 权限的组件执行 chmod 755。

find /main_directory/ -exec chmod 755 {} \;
Run Code Online (Sandbox Code Playgroud)

如果该find命令返回一长串列表,这将花费大量时间。我知道我可以使用 stat 命令来检查每个组件的八进制文件级别权限,然后使用 if-else 来切换文件权限,但是是否有任何单行方法使用findxargs首先检查文件/目录具有什么权限,然后使用chmod将其更改为 755(如果设置为其他内容)。

command-line find chmod

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

如何恢复 etc 目录上的 chmod?

我不小心在etc目录下执行了以下命令:

sudo chmod -R 700 /etc
Run Code Online (Sandbox Code Playgroud)

我知道我做错了什么。我的终端现在打印:

I have no name!@ubuntu: /$
Run Code Online (Sandbox Code Playgroud)

如何将我的 etc 目录恢复到早期状态?

我尝试更改权限,但现在失败了。此外,如果有人可以解释当我在等上执行该命令时实际出了什么问题,那将非常有帮助。这只是文件权限。那为什么整个系统似乎完全炸了?为什么现在没有登录密码有效?我知道 etc 目录中有一个文件与用户有关。但是更改权限如何危及一切?一些关于此的技术细节将非常有帮助。

linux chmod files

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