云网牛站
所在位置:首页 > Linux教程 > chmod 777是什么意思?为您解释chmod 777及切勿使用chmod 777的原因

chmod 777是什么意思?为您解释chmod 777及切勿使用chmod 777的原因

2020-03-09 10:00:51作者:申仲稿源:云网牛站

如果您不清楚chmod 777是什么意思?那本文将为您解释chmod 777及切勿使用chmod 777的原因,包括应对之策。如果您正在尝试修复Web服务器的权限问题,并在Internet上找到了信息,说您需要递归对Web目录进行chmod 777,在执行此操作之前,请确保您了解chmod -R 777的功能以及为什么永远不要将权限设置为777,因为关系到安全,请知晓这个要害。本文介绍了基本的Linux权限模型以及与权限相对应的数字的含义,内容有了解Linux文件权限、权限号、切勿使用chmod 777。

chmod 777是什么意思?为您解释chmod 777及切勿使用chmod 777的原因

 

了解Linux文件权限

在Linux操作系统中,对文件的访问由操作系统使用文件许可权、属性和所有权控制。了解Linux文件系统权限模型后,您可以将文件和目录的访问权限限制为仅授权用户和进程访问,从而使系统更安全。

每个文件均由一个特定用户和一个组拥有,并为三种不同类别的用户分配了权限访问权限:

1]、文件所有者。

2]、小组成员。

3]、其他人(其他所有人)。

有三种文件许可权类型适用于每个用户类别,并允许您指定允许哪些用户读取文件、写入文件或执行文件。相同的权限属性适用于具有不同含义的文件和目录:

1]、读取权限:

该文件是可读的。例如,设置读取权限后,用户可以在文本编辑器中打开文件。可以查看目录的内容,用户可以使用ls命令列出目录内的文件。

2]、写入权限:

可以更改或修改文件,目录的内容可以更改。用户可以创建新文件,删除现有文件,移动文件,重命名文件。

3]、执行权限:

可以执行该文件,可以使用cd命令输入目录。

可以使用ls命令查看文件权限,这是一个例子:

ls -l filename.txt

chmod 777是什么意思?为您解释chmod 777及切勿使用chmod 777的原因

第一个字符显示文件类型,它可以是常规文件(-),目录(d),符号链接(l)或任何其他特殊类型的文件。

接下来的9个字符代表文件许可权,三个三元组,每个三个字符。第一个三元组显示所有者权限,第二个三元组显示所有者权限,最后一个三元组显示其他所有人权限。

 

权限号

文件许可权可以数字或符号格式表示,在本文中,我们将重点介绍数字格式。

许可号码可以包含三到四个数字,范围从0到7。

如果使用3位数字,则第一位代表文件所有者的权限,第二位代表文件组的权限,最后一位代表所有其他用户的权限。

写入,读取和执行权限具有以下数字值:

r(读取)= 4

w(写入)= 2

x(执行)= 1

没有权限= 0

特定用户类别的许可权数字是该类别的许可权值的总和。

权限编号的每一位可以是4、2、1和0的总和:

0 (0+0+0)–无权限

1 (0+0+1)–仅执行许可

2 (0+2+0)–仅写许可

3 (0+2+1)–写入和执行权限

4 (4+0+0)–仅读取权限

5 (4+0+1)–读取并执行权限

6 (4+2+0)–读写权限

7 (4+2+1)–读取、写入和执行权限

例如,如果许可号设置为750,则表示文件的所有者具有读取、写入和执行许可,文件的组具有读取和执行许可,而其他用户则没有许可:

所有者:rwx=4+2+1=7

组:r-x=4+0+1=5

其他:r-x=0+0+0=0

使用4位数字时,第一位数字含义如下:

setuid=4

setgid=2

sticky=1

no changes = 0

接下来的三位数字与使用三位数字的含义相同,如果第一个数字为0,则可以省略,并且该模式可以用3个数字表示,数字模式0755与755相同。

要以数字(八进制)符号查看文件的权限,请使用stat命令:

stat -c "%a" filename

返回:

644

 

切勿使用chmod 777

原因:

为文件或目录设置777权限意味着所有用户都可以读取、写入和执行该文件或目录,并且可能会带来巨大的安全风险。例如,如果将/var/www目录下的所有文件和子目录的权限递归更改为777,则系统上的任何用户都可以在该目录中创建、删除或修改文件。

应对:

如果您在网络服务器上遇到权限问题,则无需将权限递归设置为777,而是将文件的所有权更改为运行该应用程序的用户,然后将文件的权限设置为644,将目录的权限设置为755。

可以使用chown命令更改文件所有权,并使用chmod命令更改权限。参考Linux中的文件权限Chmod命令:教你使用chmod更改文件和目录的访问权限

假设您的服务器上有一个以“ywnz”用户身份运行的PHP应用程序,要设置正确的权限,请运行:

chown -R ywnz: /var/www

find /var/www -type d -exec chmod 755 {} \;

find /var/www -type f -exec chmod 644 {} \;

只有root用户,文件所有者或具有sudo特权的用户才能更改文件的权限,使用chmod时要格外小心,尤其是在递归更改权限时。

 

结论

如果要管理Linux系统,那么了解Linux权限的工作方式至关重要。

永远不要设置777(rwxrwxrwx)权限文件和目录权限,777意味着任何人都可以使用这些文件做任何事情,这是很危险的。

 

相关主题

第5章 用户身份与文件权限

精选文章
热门文章