标签: chmod

复制文件权限的标准方法

我试图找到一种标准的 POSIX 方式来将一个文件的权限复制到另一个文件。在 GNU 系统上,这很容易:

[alexmchale@bullfrog ~]$ ls -l hardcopy.*
-rw-r--r-- 1 alexmchale users 2972 Jul  8 20:40 hardcopy.1
---------- 1 alexmchale users 2824 May 14 13:45 hardcopy.4
[alexmchale@bullfrog ~]$ chmod --reference=hardcopy.1 hardcopy.4
[alexmchale@bullfrog ~]$ ls -l hardcopy.*
-rw-r--r-- 1 alexmchale users 2972 Jul  8 20:40 hardcopy.1
-rw-r--r-- 1 alexmchale users 2824 May 14 13:45 hardcopy.4
Run Code Online (Sandbox Code Playgroud)

不幸的是,chmod 的 --reference 标志是一个非标准选项。所以这是出于我的目的。我更喜欢它是单线的,但这不是必需的。最终,它确实需要采用 POSIX sh 语法。

unix command-line chmod posix

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

Git chmod 问题:结帐螺丝 exec 位

在 Ubuntu 和 Debian 下,当我之后尝试结帐时,最后提交的文件正在设置执行位。这很奇怪,让我发疯:

$ ls -l file
-rw-r--r-- ... file

# on branch master:
$ git commit -m 'mode is 644' file
[master 0123456] mode is 644
 1 files changed, 1 insertions(+), 1 deletions(-)
# All ok

$ git checkout dev-branch
Switched to branch 'dev-branch'
# Seemingly all ok, but file now has the exec bit set

$ git merge master
Updating 6543210..0123456
error: Your local changes to 'file' would be overwritten by merge.  Aborting.
Please, commit your …
Run Code Online (Sandbox Code Playgroud)

git chmod

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

须藤 chmod -R 777 /

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

我这样做了。那是一个错误。有什么办法可以撤销吗?

基本上它搞砸的事情比我能列出的要多。我的 Mac 上没有启用时间机器。

unix sudo permissions chmod macos

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

chmod 777 和 chmod 007 之间的区别

chmod 777 和 chmod 007 有什么区别?如果“其他人”是指所有人,那么这不是强烈暗示chmod 777 = chmod 007 的事实吗?

linux security permissions chmod

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

授予目录执行权限但不授予文件执行权限

我有一个包含文件和目录的目录结构,我喜欢分配权限,因此所有文件和目录都具有用户的读写权限和组的读取权限,此外还有目录的执行权限。

我想实现这样的目标:

$ ls -l
total 16
-rw-r----- 1 daniel daniel    0  5? 23 16:20 1
-rw-r----- 1 daniel daniel    0  5? 23 16:20 2
-rw-r----- 1 daniel daniel    0  5? 23 16:20 3
-rw-r----- 1 daniel daniel    0  5? 23 16:20 4
-rw-r----- 1 daniel daniel    0  5? 23 16:20 5
drwxr-x--- 2 daniel daniel 4096  5? 23 16:00 a
drwxr-x--- 2 daniel daniel 4096  5? 23 16:00 b
drwxr-x--- 2 daniel daniel 4096  5? 23 15:59 c
drwxr-x--- …
Run Code Online (Sandbox Code Playgroud)

linux bash chmod file-permissions

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

在 Mac 上的 in ls -l 权限后的@ 是什么?

可能重复:
ls -la 符号……最后一个符号是什么意思?

考虑 OS X 10.5.8 上 ls -l 的以下输出

drwxr-xr-x   3 user  staff    102 Aug 26 20:21 downloads
drwxrwxrwx@ 10 user  staff    340 Aug 26 20:12 images
Run Code Online (Sandbox Code Playgroud)

谁能告诉我权限部分末尾的@ 代表什么,以及如何禁用/启用它。我想这与目录列表权限有关,因为当我在 Apache 中运行 PHP 脚本需要访问没有设置 @ 位的文件夹时,它不会列出目录内容。

谢谢!

mac ls chmod macos

9
推荐指数
0
解决办法
8866
查看次数

如何为移动或复制到目录的文件设置默认权限?

我的问题类似于如何在 linux 中为所有新创建的文件设置默认文件权限- 但在重要方面有所不同:

我希望在(或复制到或移动到)某个目录中创建的所有文件继承一组不同于系统默认值的默认权限。

基本原理:有问题的目录是应用程序的“进料斗”。组中的用户将文件放在目录中,应用程序(在同一组中的另一个用户 ID 下运行)获取并处理它们。问题是放置在目录中的每个文件的所有者都是放置它的用户,权限默认为“rw-r--r--”;我想把它改成“rw-rw----”。执行摄入的应用程序无法明确执行此操作,因为运行该应用程序的用户 ID 不拥有相关文件,并且默认权限不允许应用程序对文件进行 chmod!显然,用户可以在将文件放在那里后执行 chmod - 但我希望用户的“放置”尽可能简单。(这些人不了解 linux,

umask 似乎太强大了:我不想为这些用户在任何地方创建的每个文件设置默认权限 - 只是那些在(或放置在)这个目录中的文件。

请指教……谢谢!

linux chmod umask

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

“chown -R root /”我有多烂?

我在尝试更改 Rails 应用程序公共文件夹的权限时不小心执行了命令 chown -R root /。我相信这改变了我在 / 目录上的所有文件夹的权限。所以我的问题是,这有多危险,事实上更好的问题是,有没有办法撤销这个?

linux unix filesystems permissions chmod

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

chmod 777 和 chmod 7777 有什么区别

我有一位教授坚持总是打字chmod 7777,但我被告知这chmod 777是正确的约定。

我在命令行和chmod 777 something.txtyeilds上尝试了它们

-rwxrwxrwx   1 home  staff    0 May  6 16:47 something.txt
Run Code Online (Sandbox Code Playgroud)

chmod 7777 something.txt产量

-rwsrwsrwt   1 home  staff    0 May  6 16:47 something.txt
Run Code Online (Sandbox Code Playgroud)

这将可执行字段更改为 s、s 和 t。我理解 777 是因为它是二进制的 111 111 111,所以它只是打开所有字段,但为什么我要使用 7777,它有什么不同?

unix chmod

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

为什么 chmod 0000 directory-name 不会清除目录上的特殊位?

$ mkdir test 
$ chmod 0000 test 
$ ls -la | grep test | awk '{print $1}'
d---------.
$ chmod 6000 test
$ ls -la | grep test | awk '{print $1}'
d--S--S---.
$ chmod 0000 test
$ ls -la | grep test | awk '{print $1}'
d--S--S---.
Run Code Online (Sandbox Code Playgroud)

我不确定为什么chmod 0000 test不清除所有权限位。我没有得到什么?我试过与计算器进行比较,但它们不匹配。在我通过 ssh 连接到的服务器 RHEL 和我自己的机器 Ubuntu 上可以看到相同的行为。我已经阅读了一段时间并花了太多时间试图理解。

我在尝试第一个八进制的所有符号时遇到了这个问题,之前从未使用过 chmod 和 4 个八进制。然而,它似乎确实清除了粘性位。

linux chmod

8
推荐指数
1
解决办法
1000
查看次数

标签 统计

chmod ×10

linux ×5

unix ×4

permissions ×3

macos ×2

bash ×1

command-line ×1

file-permissions ×1

filesystems ×1

git ×1

ls ×1

mac ×1

posix ×1

security ×1

sudo ×1

umask ×1