目录
权限的基本介绍
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
|