【Linux】权限修改解析

x33g5p2x  于2022-03-15 转载在 Linux  
字(4.2k)|赞(0)|评价(0)|浏览(209)

权限的基本介绍

0-9位字符代表权限说明

rwx权限详解

文件即目录权限示例解析

chmod修改文件或目录权限

chmod通过数字修改权限

chown修改文件所有者

chgrp修改文件/目录所在组

权限的基本介绍

ls -l中显示了如下一条:
**-rwxrw-r--**1 root   root   1213 ...

0-9位字符代表权限说明

1、第0位确定文件类型(d,-,l,c,b)

  • -是普通文件
  • l是链接,相当于windows的快捷方式
  • d是目录,相当于windows的文件夹
  • c是字符设备文件,鼠标、硬盘
  • b是块设备,比如硬盘

2、第1-3位确定所有者(该文件的所有者)拥有该文件的权限(以上标红部分)---User

3、第4-6位确定所属组(同用户组的)拥有该文件的权限(以上标蓝部分)---Group

4、确定其他用户拥有该文件的权限(以上标橙色部分)---Other

rwx权限详解

rwx作用到文件
1.[r]代表可读(read):可以读取、查看

2.[w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。

3.[x]代表可执行(execute):可以被执行,前提可执行文件

rwx作用到目录

1.[r]代表可读(read):可以读取,ls查看目录内容

2.[w]代表可写(write):可以修改,对目录内创建+删除+重命名目录

3.[x]代表可执行(execute):可以进入该目录

文件即目录权限示例解析

ls -l 中显示的内容如下

-rwxrw-r-- 1 root  rootZu  1213 Dec 12 04:03  apple

10个字符确定不同用户能对文件干什么:

第一个字符代表文件类型:-l d c b

其余字符每3个一组(rwx) 读(r) 写(w) 执行(x)

第一组rwx:文件拥有者的权限是读、写和执行

第二组rw-:与文件拥有者同一组的用户的权限是读、写但不能执行

第三组r--不与文件拥有者同组的其他用户的权限是读不能写和执行

可用数字表示为:r=4,w=2,x=1因此rwx=4+2+1=7

其他说明
1                   文件:硬连接数或 目录:子目录数 
root               用户
rootZu            组
1213               文件大小(字节),如果是文件夹,显示4096字节 
Dec 12 04:03  最后修改日期 
apple              文件名

示例:

[root@kongchao02 ~]# ll /home
总用量 2104
-rw-r--r--.  1 root      root           52 3月   5 15:05 hello.txt
drwxr-xr-x.  2 root      root         4096 3月   5 16:25 home
drwx------.  3 kc        kc           4096 3月   5 09:35 kc
-rw-r--r--.  1 root      root          136 3月   5 16:16 kc.tar.gz
drwx------. 15 kongchao  kongchao     4096 3月   1 20:37 kongchao
drwx------.  5 kongchao1 kongchao1    4096 2月  28 22:08 kongchao1
drwx------.  3 kongchao2 kongchao2    4096 2月  28 22:11 kongchao2
-rw-r--r--.  1 root      root      1388761 3月   5 16:21 myhome.tar.gz
-rw-r--r--.  1 root      root       730627 3月   5 15:43 myhome.zip
[root@kongchao02 ~]# ls /home/home
chao.txt  kong.txt
[root@kongchao02 ~]#

 chmod修改文件或目录权限

基本说明:通过chmod指令,可以修改文件或目录的权限。

第一种方式:+、-、=变更权限

u:所有者   g:所有组    o:其他人  a:所有人(即u、g、o的总和)
1)chmod  u=rwx,g=rx,o=x     文件/目录名 (解读:给所有者赋这个文件或目录读写执行权限,给所在组赋读写权限,给其他人赋只读权限)

2)chmod   o+w   文件/目录名   (解读:给其他人赋这个文件或目录写的权限

3)chmod   a+x     文件/目录名     (解读:给所有人赋这个文件或目录执行权限

示例1:给kong的所有者加rwx,给所在组加rw,给其他人家r

chmod u=rwx,g=rw,o=r  kong

**示例2:**给kong的所有者去掉执行权

chmod u-x  kong

示例3:给kong所有人加上写的权限

chmod  a+w   kong
[root@kongchao02 ~]# touch kong
[root@kongchao02 ~]# ll kong
-rw-r--r--. 1 root root 0 3月   7 09:05 kong
[root@kongchao02 ~]# chmod u=rwx,g=rx,o=r  kong
[root@kongchao02 ~]# ll kong
-rwxr-xr--. 1 root root 0 3月   7 09:05 kong
[root@kongchao02 ~]# chmod u-x  kong
[root@kongchao02 ~]# ll kong
-rw-r-xr--. 1 root root 0 3月   7 09:05 kong
[root@kongchao02 ~]# chmod a+w kong
[root@kongchao02 ~]# ll kong
-rw-rwxrw-. 1 root root 0 3月   7 09:05 kong
[root@kongchao02 ~]#

chmod通过数字修改权限

第二种方式:通过数字变更权限

**(读)r=4    (写)w=2      (执行)x=1 **  

rwx=4+2+1=7     3=w+x      5=r+x

chmod   u=rwx,g=rw,o=x    文件目录名

以上等价于chmod  751  文件目录名
示例:将kong文件修改权限全部只读,和全部所有权限

[root@kongchao02 ~]# ll kong
-rwxr-x--x. 1 root root 0 3月   7 09:05 kong
[root@kongchao02 ~]# chmod 777 kong
[root@kongchao02 ~]# ll kong
-rwxrwxrwx. 1 root root 0 3月   7 09:05 kong
[root@kongchao02 ~]# chmod 111 kong
[root@kongchao02 ~]# ll kong 
---x--x--x. 1 root root 0 3月   7 09:05 kong
[root@kongchao02 ~]#

 chown修改文件所有者

基本语法:
chown  newowner   文件/目录    改变所有者

chown   newowner   文件/目录    改变所有者和所在组

-R  如果是目录,则使其下所有子文件或目录递归生效

示例1:将/home/下的banana所有者改为kongchao

[root@kongchao02 home]# cd /home
[root@kongchao02 home]# touch banana
[root@kongchao02 home]# ll banana 
-rw-r--r--. 1 root root 0 3月   7 09:53 banana
[root@kongchao02 home]# chown kongchao  /home/banana
[root@kongchao02 home]# ll banana 
-rw-r--r--. 1 kongchao root 0 3月   7 09:53 banana
[root@kongchao02 home]#

示例2:将/home/apple下的文件所有者改为kongchao

chown -R  kongchao  /home/apple
[root@kongchao02 ~]# cd /home
[root@kongchao02 home]# mkdir -p apple/a1
[root@kongchao02 home]# mkdir -p apple/a2
[root@kongchao02 home]# mkdir -p apple/a3
[root@kongchao02 home]# ll apple
总用量 12
drwxr-xr-x. 2 root root 4096 3月   7 09:47 a1
drwxr-xr-x. 2 root root 4096 3月   7 09:47 a2
drwxr-xr-x. 2 root root 4096 3月   7 09:47 a3
[root@kongchao02 home]# chown -R  kongchao /home/apple
[root@kongchao02 home]# ll apple
总用量 12
drwxr-xr-x. 2 kongchao root 4096 3月   7 09:47 a1
drwxr-xr-x. 2 kongchao root 4096 3月   7 09:47 a2
drwxr-xr-x. 2 kongchao root 4096 3月   7 09:47 a3

 chgrp修改文件/目录所在组

基本语法:chgrp   newgroup  文件/目录   改变所有组

示例1:修改banana的组改为fruit

groupadd fruit
chgrp fruit /home/banana
[root@kongchao02 home]# ll banana
-rw-r--r--. 1 kongchao root 0 3月   7 09:53 banana
[root@kongchao02 home]# groupadd fruit
[root@kongchao02 home]# chgrp fruit /home/banana 
[root@kongchao02 home]# ll banana 
-rw-r--r--. 1 kongchao fruit 0 3月   7 09:53 banana

示例2:修改apple下的所有文件所在组为fruit

chgrp -R fruit  /home/apple
[root@kongchao02 home]# ll apple
总用量 12
drwxr-xr-x. 2 kongchao root 4096 3月   7 09:47 a1
drwxr-xr-x. 2 kongchao root 4096 3月   7 09:47 a2
drwxr-xr-x. 2 kongchao root 4096 3月   7 09:47 a3
[root@kongchao02 home]# chgrp -R fruit /home/apple/
[root@kongchao02 home]# ll apple/
总用量 12
drwxr-xr-x. 2 kongchao fruit 4096 3月   7 09:47 a1
drwxr-xr-x. 2 kongchao fruit 4096 3月   7 09:47 a2
drwxr-xr-x. 2 kongchao fruit 4096 3月   7 09:47 a3

相关文章