文件权限
文件权限
了解文件权限前需要先知道用户和用户组的概念
用户:
用户组:
1.使用 ll -a 命令可以查看到该目录下所有文件的属性,显示的内容分别为 [权限] [连接数] [所有者] [用户组] [文件容量] [修改日期] [文件名]
[tom@localhost ~]$ ll -a
总用量 64
drwx------ 5 tom home 4096 2月 11 10:50 .
drwxr-xr-x. 8 root root 4096 2月 1 19:42 ..
-rw------- 1 tom home 235 2月 1 20:24 .bash_history
-rw-r--r-- 1 tom home 18 3月 23 2017 .bash_logout
-rw-r--r-- 1 tom home 176 3月 23 2017 .bash_profile
-rw-r--r-- 1 tom home 124 3月 23 2017 .bashrc
-rw-r--r-- 1 tom home 4164 2月 11 10:50 beauty
drwxr-xr-x 2 tom home 4096 2月 11 10:32 demo
drwxr-xr-x 2 tom home 4096 11月 12 2010 .gnome2
-rw-r--r-- 1 tom home 632 2月 11 10:47 hare
-rw-r--r-- 1 tom home 118 2月 11 10:37 html
-rw-r--r-- 1 tom home 136 2月 11 10:39 lesson
drwxr-xr-x 4 tom home 4096 3月 20 2018 .mozilla
-rw-r--r-- 1 tom home 27 2月 1 19:55 .plan
-rw------- 1 tom home 1405 2月 11 10:50 .viminfo
- 权限中,第一个字符代表文件是目录,文件还是链接文件:
[d]:目录,如 demo 前面显示的drwxr-xr-x,d表示 demo 是一个文件夹
[-]:文件
[l]:链接文件
[b]:设备文件里可供存储的接口设备
[c]:设备文件里的串行端口设备,如鼠标,键盘
- 第一个字符后面以三个字符为一组,代表权限,如rwxr-xr-x,第一组rwx为所有者的权限,第二组r-x为同用户组的权限,第三组r-x为其他人的权限
[r]可读权限(4),[w]可写权限(2),[x]可执行权限(1),[-]无权限
r:读取权限,可读取此文件的实际内容,可读取目录结构列表
w:可写权限,可以编辑,新增或者是修改该文件的内容,可以更改目录结构列表,包括新增文件与目录,删除,重命名或者转移等
x:文件是否可执行,用户是否可以进入该目录
- 第五列为文件的大小,默认单位为b
- 第七列为文件名,如果文件名前有 . 则为隐藏文件,使用ls -al 可以看到隐藏文件
改变文件属性和权限
1.chgrp 改变文件所属用户组
chgrp [-r] 用户组名 文件或目录,当要修改一个目录下的所有文件的用户组时,可以加 -r 进行递归处理
[root@localhost tom]# chgrp root beauty
[root@localhost tom]# ll
总用量 24
-rw-r--r-- 1 tom root 4164 2月 11 10:50 beauty
drwxr-xr-x 2 tom home 4096 2月 11 10:32 demo
-rw-r--r-- 1 tom home 632 2月 11 10:47 hare
-rw-r--r-- 1 tom home 118 2月 11 10:37 html
-rw-r--r-- 1 tom home 136 2月 11 10:39 lesson
2.chown 改变文件所有者
chown [-r] 用户名 文件或目录,当要修改一个目录下的所有文件的所有者时,可以加 -r 进行递归处理, 也可以使用chown 所有者.用户组(或者所有者:用户组)文件或者目录进行修改
[root@localhost tom]# chown root.root demo/
[root@localhost tom]# ll
总用量 24
-rw-r--r-- 1 tom root 4164 2月 11 10:50 beauty
drwxr-xr-x 2 root root 4096 2月 11 10:32 demo
-rw-r--r-- 1 tom home 632 2月 11 10:47 hare
-rw-r--r-- 1 tom home 118 2月 11 10:37 html
-rw-r--r-- 1 tom home 136 2月 11 10:39 lesson
3.chmod 改变权限
- 按照权限数字赋权,权限对应的数字为:r - 4,w - 2,x - 1
如,将文件设置为所有者拥有读写和执行权限,r+w+x=4+2+1=7,同用户组下拥有读写权限,r+w=4+2=6,其他人拥有执行和读权限,r+x=4+1=5,那么命令写为:chmod 765 文件名
[root@localhost tom]# ll
总用量 24
-rw-r--r-- 1 tom root 4164 2月 11 10:50 beauty
[root@localhost tom]# chmod 765 beauty
[root@localhost tom]# ll
总用量 24
-rwxrw-r-x 1 tom root 4164 2月 11 10:50 beauty
- 按照具体某一权限赋权u代表用户,g代表用户组,o代表其他人,a代表所有身份,+代表加入某个权限,-代表除去某个权限,=代表设置权限
如,将文件设置为所有者拥有读写和执行权限,同用户组下拥有读写权限,其他人拥有执行和读权限,那么命令写为:chmod u=rwx,g=rw,o=rx 文件名
[root@localhost tom]# ll
总用量 24
-rw-r--r-- 1 tom home 632 2月 11 10:47 hare
[root@localhost tom]# chmod u=rwx,g=rw,o=rx hare
[root@localhost tom]# ll
总用量 24
-rwxrw-r-x 1 tom home 632 2月 11 10:47 hare
- 去除或者加上某个权限
如去除所有角色的读权限:chmod a-r 文件名
[root@localhost tom]# ll
总用量 24
-rwxrw-r-x 1 tom root 4164 2月 11 10:50 beauty
[root@localhost tom]# chmod a-r beauty
[root@localhost tom]# ll
总用量 24
--wx-w---x 1 tom root 4164 2月 11 10:50 beauty
文件默认权限 umask
新建一个文件时默认的权限,显示的为应该除去的权限,如umask为0022,后面三个数字022代表一般权限,对于所有者不去除任何权限,对于同用户组去除2(可写权限),对于其他人去除2(可写权限)。
新建文件 原:-rw-rw-rw- 按照022去除后为:-rw-r--r--
新建文件夹 原:drwxrwxrwx 按照022去除后为:drwxr-xr-x
[root@localhost tom]# umask
0022
设置文件默认权限
[root@localhost tom]# umask 002
[root@localhost tom]# umask
0002
[root@localhost tom]# mkdir a1
[root@localhost tom]# touch atext01
[root@localhost tom]# ll
总用量 28
drwxrwxr-x 2 root root 4096 2月 11 16:45 a1
-rw-rw-r-- 1 root root 0 2月 11 16:45 atext01