首页 > 编程知识 正文

linux常用命令chmod,linux命令

时间:2023-05-06 08:50:42 阅读:205129 作者:4942

Linux命令 - chmod命令

  Linux中 chmod 命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法,另一种是包含数字的数字设定法。
  Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
  文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
  有三种不同类型的用户可对文件或目录进行访问:文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
  每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。

1.文件属性:


  只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。如果没有权限,就会出现减号[ - ]。

所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如rwx ,也就是4+2+1 ,应该是7。
用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如r-x ,也就是4+0+1 ,应该是5。
其它用户的权限数字表达:其它用户权限位的数字相加的总和。如r-- ,也就是4+0+0 ,应该是4。

1)首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件。
-代表文件
d代表目录
l代表链接文档(link file)

2)第2-4位确定属主
该文件的所有者拥有该文件的权限。—User

3)第5-7位确定属组
所有者的同组用户拥有该文件的权限,—Group

4)第8-10位确定其他用户
其他用户拥有该文件的权限 —Other

rxw作用文件和目录的不同解释:

1)作用到文件:
[ r ]代表可读(read): 可以读取,查看。
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
[ x ]代表可执行(execute):可以被系统执行。

2)作用到目录:
[ r ]代表可读(read): 可以读取,ls查看目录内容。
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录。
[ x ]代表可执行(execute):可以进入该目录。

- rw- r-- r–解释:
表示是一个普通文件,属主有读写权限,与属主同组的用户只有读权限,其他用户也只有读权限。

2.语法:

chmod [参数] [文件或目录]

3.功能:

  用于改变文件或目录的访问权限,用它控制文件或目录的访问权限。

4.参数: -c或--changes  效果类似"-v"参数,但仅回报更改的部分。 -f或--quiet或--silent  不显示错误信息。 -R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。 -v或--verbose  运行时显示详细处理信息。 --reference=<参考文件或目录>  把指定文件或目录的权限全部设成和参考文件或目录的权限相同 <权限范围>+<权限设置>  开启权限范围的文件或目录的该项权限设置。 <权限范围>-<权限设置>  关闭权限范围的文件或目录的该项权限设置。 <权限范围>=<权限设置>  指定权限范围的文件或目录的该项权限设置。

权限范围:
u :目录或者文件的当前的用户。
g :目录或者文件的当前的群组。
o :除了目录或者文件的当前用户或群组之外的用户或者群组。
a :所有的用户及群组。

权限代号:
r:读权限,用数字4表示。
w:写权限,用数字2表示。
x:执行权限,用数字1表示。
-:删除权限,用数字0表示。
s:特殊权限,变更文件或目录的权限。

5.常用范例:

例一:增加文件所有用户组可执行权限

命令:chmod a+x log1.txt

  设定文件log1.txt的属性为:文件属主(u) 增加执行权限;与文件属主同组用户(g) 增加执行权限;其他用户(o) 增加执行权限。

[root@localhost test]# ll log1.txt -rw-r--r--. 1 root root 156 5月 19 11:17 log1.txt[root@localhost test]# chmod a+x log1.txt [root@localhost test]# ll log1.txt -rwxr-xr-x. 1 root root 156 5月 19 11:17 log1.txt

例二:同时修改不同用户权限

命令: chmod ug+w,o+x log2.txt

  设定文件log2.txt的属性为:文件属主(u) 增加写权限;与文件属主同组用户(g) 增加写权限;其他用户(o) 删除执行权限。

[root@localhost test]# ll log2.txt -rw-r--r--. 1 root root 592 5月 14 17:00 log2.txt[root@localhost test]# chmod ug+w,o+x log2.txt [root@localhost test]# ll log2.txt -rw-rw-r-x. 1 root root 592 5月 14 17:00 log2.txt

例三:删除文件权限

命令: chmod a-x log1.txt

   删除所有用户的可执行权限。

[root@localhost test]# ll log1.txt -rwxr-xr-x. 1 root root 156 5月 19 11:17 log1.txt[root@localhost test]# chmod a-x log1.txt [root@localhost test]# ll log1.txt -rw-r--r--. 1 root root 156 5月 19 11:17 log1.txt

例四:指定用户权限

命令: chmod u=x log1.txt

   撤销原来文件属主(u) 的所有权限,然后使文件属主(u) 具有可执行权限。

[root@localhost test]# ll log1.txt -rw-r--r--. 1 root root 156 5月 19 11:17 log1.txt[root@localhost test]# chmod u=x log1.txt [root@localhost test]# ll log1.txt ---xr--r--. 1 root root 156 5月 19 11:17 log1.txt

**例五:对一个目录及ddst目录所有文件添加权限 **

命令: chmod -R u+x test

   递归地给test目录下所有文件和子目录的属主分配执行权限。

[root@localhost test]# ll总用量 24-rw-r--r--. 1 root root 96 5月 18 15:27 color.sh-rw-r--r--. 1 root root 96 5月 18 10:15 lncolor---xr--r--. 1 root root 156 5月 19 11:17 log1.txt-rw-rw-r-x. 1 root root 592 5月 14 17:00 log2.txt-rw-r--r--. 1 root root 655 5月 14 17:06 log3.txt-rw-r--r--. 1 root root 272 5月 19 10:51 log.txt[root@localhost test]# cd ../[root@localhost games]# ll总用量 0drwxr-xr-x. 2 root root 100 5月 19 11:17 test[root@localhost games]# chmod -R u+x test[root@localhost games]# cd test/[root@localhost test]# ll总用量 24-rwxr--r--. 1 root root 96 5月 18 15:27 color.sh-rwxr--r--. 1 root root 96 5月 18 10:15 lncolor---xr--r--. 1 root root 156 5月 19 11:17 log1.txt-rwxrw-r-x. 1 root root 592 5月 14 17:00 log2.txt-rwxr--r--. 1 root root 655 5月 14 17:06 log3.txt-rwxr--r--. 1 root root 272 5月 19 10:51 log.txt

**例六:数字设定权限 **

命令: chmod 751 log3.txt

   给log3.txt的属主分配读、写、执行(7)的权限,给log3.txt的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限。

[root@localhost test]# ll log3.txt -rwxr--r--. 1 root root 655 5月 14 17:06 log3.txt[root@localhost test]# chmod 751 log3.txt [root@localhost test]# ll log3.txt -rwxr-x--x. 1 root root 655 5月 14 17:06 log3.txt

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。