Linux基础知识之文件权限(一)
Linux优点之一就是它拥有多用户多任务的环境,在提供文件共享的同时也能保证用户文件的安全性。所以,设置文件的权限管理变得尤为重要。
权限讲解
[der@Der ~]$ ls -al # 列出当前目录下所有文件的详细信息
以上图的最后一个文件.bash_logout为例,‘.’表示隐藏文件;
- | rw- | r– | r– | 1 | der | der | 18 | Aug | 8 | 20:06 | .bash_logout |
文件类型 | 属主权限 | 属组权限 | 其他人 权限 |
连接数 | 文件属主 | 文件属组 | 文件大小 | 文件最后修改时间 | 文件名 |
权限的表示方法
字母法 r:read–>读权限;w:write–>写权限;x:excute–>执行权;
数字法 4–>读权限;2–>写权限;1–>执行权限;
文件.bash_logout的属主为root,有rw权限;属组为root(组内可能有其他用户),有读权限;其他人有r权限;创建新用户时,该用户的属组默认为用户名。
例题:请问testgroup这个群组的成员与其他人(others)是否可以进入本目录?
drwxr-xr– 1 test1 testgroup 5238 Jun 19 10:25 groups/ |
答:testgroup群组拥有目录的执行权,可进入该目录,没有写的权限;而othes用户没有执行权,不能进入该目录,即使有读的权限。
权限更改
命令:chgrp,chown,chmod
chgrp:改变文件的所属群组
chgrp [OPTION]… GROUP FILE…
[root@Der_Tencent ~]# su - #切换之root用户,root才有更改文件的属性;
[root@Der_Tencent ~]# touch test.txt #用touch创建测试文件
[root@Der_Tencent ~]# ls -al test.txt #列出该文件的详细属性
-rw-r--r-- root root Sep : test.txt #文件的属组为root
[root@Der_Tencent ~]# useradd alice #添加alice用户,默认属组问alice
[root@Der_Tencent ~]# chgrp alice test.txt #更改文件属组为alice
[root@Der_Tencent ~]# ls -l test.txt
-rw-r--r-- root alice Sep : test.txt #文件的属主已改为alice
chown :改变文件的的属主和属组
chown [OPTION]... [OWNER][:[GROUP]] FILE...
[root@Der_Tencent ~]# chown alice test.txt #更改文件的属主为alice
[root@Der_Tencent ~]# ls -l test.txt
-rw-r--r-- alice alice Sep : test.txt #属主已经改为alice
[root@Der_Tencent ~]# chown root:root test.txt #同时更改属主和属组
[root@Der_Tencent ~]# ls -l test.txt
-rw-r--r-- root root Sep : test.txt
chmod :改变文件的权限
赋权法:u(user)=MODE,g(group)=MODE,o(others)=MODE
[root@Der_Tencent ~]# chmod u=rwx,o=rw test.txt #以逗号隔开选项,u的权限改为读写执行,o的权限改为读写
[root@Der_Tencent ~]# ls -l test.txt
-rwxr--rw- root root Sep : test.txt
授权法:u+|-MODE;g+|-MODE;o+|-MODE # ‘|’表示或
[root@Der_Tencent ~]# chmod g+w,g-r,o-w test.txt #g的权限加写,o的权限减去读
[root@Der_Tencent ~]# ls -l test.txt
-rwx-w-r-- root root Sep : test.txt
注意:赋权表示法会覆盖其他属性,而授权法只更改指定的属性
数字法 r=4,w=2,x=1
[root@Der_Tencent ~]# chmod test.txt #u=+,g=,o=
[root@Der_Tencent ~]# ls -l test.txt
-rw-r--r-- root root Sep : test.txt #u读写权限,g读权限,o读权限
权限对文件和目录的意义
对文件
r (read):可读取此一文件的实际内容,命令有cat,tail,head等;
w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件),命令有vim,nano等;
x (eXecute):该文件具有可以被系统执行的权限,例如.sh脚本文件。
对目录
r (read contents in directory):可以查看目录下的文件;例如ls命令
w (modify contents of directory):在目录下创建文件目录,删除,更名,移动;
x (access directory):可以进入目录;
注意:1、即使有目录的rw,没有x,不能进入目录工作;
2、用户对目录拥有w权限,即使没有目录内文件的w权限,也可以将文件删除,即删除整个文件;