由于文件权限
,我似乎无法写入此文件访问:(0644 / -rw-r - r--)Uid:(0 / root)Gid:(0 /
根)
如何更改文件权限以便我可以写信给它?
答案 0 :(得分:4)
<强> CHMOD 强>
chmod命令用于更改文件或目录的权限。要使用它,请指定所需的权限设置以及要修改的文件。有两种方法可以指定权限,但我只会教一种方式。
很容易将权限设置视为一系列位(这是计算机对它们的看法)。以下是它的工作原理:
rwx rwx rwx = 111 111 111
rw- rw- rw- = 110 110 110
rwx --- --- = 111 000 000
依旧......
rwx = 111 in binary = 7
rw- = 110 in binary = 6
r-x = 101 in binary = 5
r-- = 100 in binary = 4
777
(rwxrwxrwx)对权限没有限制。任何人都可以做任何事情。通常不是理想的设置。
755
(rwxr-xr-x)文件的所有者可以读取,写入和执行该文件。所有其他人都可以阅读并执行该文件。此设置适用于所有用户使用的程序。
700
(rwx ------)文件的所有者可以读取,写入和执行该文件。没有人拥有任何权利。此设置对于只有所有者可以使用的程序非常有用,并且必须与其他人保持私密。
666
(rw-rw-rw-)所有用户都可以读写该文件。
644
(rw-r - r--)所有者可以读写文件,而其他所有人只能读取文件。每个人都可以阅读的数据文件的常用设置,但只有所有者可能会更改。
600
(rw -------)所有者可以读写文件。所有其他人都没有权利。所有者希望保密的数据文件的常用设置。
目录权限
chmod命令也可用于控制目录的访问权限。在大多数情况下,目录的权限方案的工作方式与文件的方式相同。但是,执行权限以不同的方式使用。它提供对文件列表和其他内容的访问控制。以下是目录的一些有用设置:
777
(rwxrwxrwx)对权限没有限制。任何人都可以列出文件,在目录中创建新文件并删除目录中的文件。通常不是一个好的设置。
755
(rwxr-xr-x)目录所有者具有完全访问权限。所有其他人可能会列出目录,但无法创建文件或删除它们。此设置对于您希望与其他用户共享的目录很常见。
700
(rwx ------)目录所有者具有完全访问权限。没有人拥有任何权利。此设置对于只有所有者可以使用的目录非常有用,并且必须与其他目录保持私密。
答案 1 :(得分:1)
在终端上使用此命令
sudo chmod 777 fileName
授予所有访问权限(读,写,执行)。
如果您不需要执行权限,只需要正确访问
sudo chmod 666 fileName
通常,chmod命令采用以下形式:
chmod options permissions filename
如果未指定任何选项,则chmod会将filename指定的文件的权限修改为权限指定的权限。
权限定义文件所有者(user
),拥有该文件的组成员(group
)以及其他任何人(others
)的权限。有两种表示这些权限的方法:使用符号(字母数字字符)或八进制数字(数字0到7)。
示例
chmod 754 myfile
此处,数字7,5和4分别表示用户,组和其他人按此顺序的权限。每个数字是数字4,2,1和0的组合:
所以7是权限4 + 2 + 1(读,写和执行)的组合,5是4 + 0 + 1(读,不写和执行),4是4 + 0 + 0(读,不写,没有执行。)
我想,你明白了。有关详细信息,请阅读man
(this page)的chmod
条目。
答案 2 :(得分:0)
使用chmod
命令作为示例;
chmod 755 filename
答案 3 :(得分:0)
要更改文件的所有者,请使用{/ 1}},如
chown
答案 4 :(得分:0)
旧帖子,但也许有人会对我的回答有用。
如果要授予所有用户访问权限(或“所有者以外的其他用户”,即最后一位),则可以运行下一个命令:
cd <path where you want to apply your changes>
sudo find . -perm 750 -exec chmod 757 {} +;
它将查找所有具有权限750 (read + write + execute for owner user / read + execute for group owner / nothing for other users)
的文件,只需更改最后一位数字,便向所有其他用户授予与所有者相同的权限。 (last 7 meaning read + write + execute for other users)
当然,您可以使用不同的数字运行命令,但是只需将first数字替换为first on的值即可。例如,运行next命令以确保所有read + write + executable for owner
文件都对'other'具有相同的权限:
sudo find . -perm 700 -exec chmod 707 {} +;
sudo find . -perm 701 -exec chmod 707 {} +;
sudo find . -perm 702 -exec chmod 707 {} +;
sudo find . -perm 703 -exec chmod 707 {} +;
sudo find . -perm 704 -exec chmod 707 {} +;
sudo find . -perm 705 -exec chmod 707 {} +;
sudo find . -perm 706 -exec chmod 707 {} +;
如果继续这种方式(每个组合7xx有一行),最终将运行77个命令。哪个有点太多...对吧?
幸运的是,有一个窍门。您可以在数字前面使用“-”,表示文件至少具有该数字。例如,运行:
sudo find . -perm -775
将返回所有具有775、776和777权限的文件。 另一个示例正在运行:
sudo find . -perm -770
将返回具有770、771 ... 777权限的文件。
在我们的例子中,我们只关心第一个数字,并且我们想用其值更改最后一个数字,因此可以使用:
sudo find . -perm 700 -exec chmod 777 {} +;
**>这仅适用于所有者拥有读+写+
的文件执行。如果您尝试使用600而不是700来执行上述命令,请保留 请注意,它还将返回具有6xx权限的文件和文件 经许可7xx。**