Linux chmod改属性
在Linux系统中,文件和目录都有文件权限属性,通过chmod命令可以改变这些属性。文件权限属性可以分成三类:读取权限、写入权限和执行权限。其中,读取权限表示用户可以查看文件内容,写入权限表示用户可以修改文件内容,执行权限表示用户可以用该文件的路径名称作为命令,并在Shell中执行该文件。
chmod命令的用法
chmod命令用于改变文件的读取、写入和执行权限。它可以通过两种方式进行操作:符号模式和数字模式。
符号模式
符号模式使用字母和符号来表示文件权限。常用的符号有:
- u:表示文件所有者(User),即文件的创建者。
- g:表示文件所属组(Group)。
- o:表示其他用户(Others),即不是文件所有者和所属组的其他用户。
- a:表示所有用户(All),即包括文件的所有者、所属组和其他用户。
常用的字母有:
- r:表示读取权限(Read)。
- w:表示写入权限(Write)。
- x:表示执行权限(eXecute)。
- +:表示增加权限。
- -:表示减少权限。
- =:表示设置权限。
例如,要将文件“example.txt”所有者的读取权限设置为关闭,所属组和其他用户的读取和写入权限设置为打开,可以使用以下命令:
chmod u-r,go+rw example.txt
数字模式
数字模式是使用数字来表示文件权限。每种权限用一个三位数来表示,其中:
- 第一位表示所有者的权限。
- 第二位表示所属组的权限。
- 第三位表示其他用户的权限。
每个权限用一个数字表示,其中:
- 4表示读取权限。
- 2表示写入权限。
- 1表示执行权限。
例如,要将文件“example.txt”所有者的读取权限设置为关闭,所属组和其他用户的读取和写入权限设置为打开,可以使用以下命令:
chmod 664 example.txt
实例演示
下面我们来演示如何使用chmod命令来改变文件权限。
符号模式
首先,创建一个名为example.txt的文件,并在其中写入一些内容:
echo "This is an example file." > example.txt
使用“ls -l”命令查看文件属性:
ls -l example.txt
输出结果如下:
-rw-r--r-- 1 username groupname 25 May 1 13:56 example.txt
其中,第一列表示文件的权限。第一个字符的意义如下:
- -:表示文件。
- d:表示目录。
- l:表示符号链接。
- c:表示字符设备。
- b:表示块设备。
接下来的九个字符表示文件的权限。每三个字符对应一个用户组(所有者、所属组、其他用户)的权限。
首先,我们可以使用以下命令将文件的所有者的写入权限关闭:
chmod u-w example.txt
然后使用“ls -l”命令查看文件属性,输出结果如下:
-r--r--r-- 1 username groupname 25 May 1 13:56 example.txt
其中,数字“4”表示读取权限,“2”表示写入权限,“1”表示执行权限。因此,“-r–r–r–”表示所有者、所属组和其他用户均没有写入权限。
接着,我们可以使用以下命令将文件的所属组的读取和写入权限打开,并将其他用户的读取、写入和执行权限打开:
chmod g+rw,o+rwx example.txt
使用“ls -l”命令查看文件属性,输出结果如下:
-rw-rw-rwx 1 username groupname 25 May 1 13:56 example.txt
其中,数字“4”表示读取权限,“2”表示写入权限,“1”表示执行权限。因此,“-rw-rw-rwx”表示所有者和所属组有读取和写入权限,其他用户有读取、写入和执行权限。
数字模式
首先,将文件的所有者的写入权限关闭:
chmod 444 example.txt
使用“ls -l”命令查看文件属性,输出结果如下:
-r--r--r-- 1 username groupname 25 May 1 13:56 example.txt
其中,“4”表示读取权限,“2”表示写入权限,“1”表示执行权限。因此,“444”表示所有者、所属组和其他用户均只有读取权限。
接着,我们可以使用以下命令将文件的所属组的读取和写入权限打开,并将其他用户的读取、写入和执行权限打开:
chmod 664 example.txt
使用“ls -l”命令查看文件属性,输出结果如下:
-rw-rw-r-- 1 username groupname 25 May 1 13:56 example.txt
其中,“6”表示所有者有读取、写入权限,“4”表示所属组有读取权限,“4”表示其他用户有读取权限,“rw-”表示读写权限开启,“r–”表示只有读取权限。
结论
在Linux系统中,文件和目录的权限是非常重要的,可以通过chmod命令来改变其读写执行属性。chmod命令有两种操作方式:符号模式和数字模式。符号模式使用字母和符号来表示文件的权限,数字模式则使用数字来表示。我们可以根据需要来选择不同的操作方式,以达到想要的目的。