用户对文件的访问权限有三种:r, w, x
相对于文件这三个权限分别指:
r: 可使用文件查看工具查看其内容;
w: 可使用文件编辑工具编辑其内容;
x: 可向内核请求将此文件运行为进程;
相对于目录这三个权限分别指:
r: 可使用ls命令列出目录中的文件或子目录列表;
w: 可在此目录中创建或删除文件;
x:可使用‘ls -l’列出目录文件及子目录的详细属性信息;可使用cd命令 切换工作目录为指定目录;
文件的权限主要针对三类对象进行定义:
ownuer: u, 属主;
group: g, 属组;
other: o, 其它;
-rw-r--r--. 1 root root 158 Aug 29 16:42 hosts
以上例子其分别代表:
属主:属组:其他|文件硬链接数及目录子目录数|文件拥有者|文件拥有着所在的组|大小|时间|文件名称
注:
第2字段的值为1,说明这个文件只有hosts这一个文件名.即只有一个指向该链接的硬链接,如果用ln,做一个指向该文件的硬链接再查看该文件,该文件的第2字段就会变成2,但如果用ln -s的话那么他的指向文件只是建立了一个快捷方式的软连接,其连接个数还是1,如下代码:
[root@test1 home]# ll total 24 drwx------. 27 canshan canshan 4096 Aug 19 22:02 canshan drwx------. 4 3000 3000 4096 Aug 27 08:46 database drwx------. 4 duanshui duanshui 4096 Aug 27 08:53 duanshui -rw-r--r--. 1 root root 158 Aug 29 16:42 hosts drwx------. 4 Oralce nicai 4096 Aug 27 08:49 nicai drwxr-xr-x. 7 root root 4096 Aug 19 22:24 yum [root@test1 home]# ln -s hosts hosts1 [root@test1 home]# ll total 24 drwx------. 27 canshan canshan 4096 Aug 19 22:02 canshan drwx------. 4 3000 3000 4096 Aug 27 08:46 database drwx------. 4 duanshui duanshui 4096 Aug 27 08:53 duanshui -rw-r--r--. 1 root root 158 Aug 29 16:42 hosts lrwxrwxrwx. 1 root root 5 Aug 29 21:40 hosts1 -> hosts drwx------. 4 Oralce nicai 4096 Aug 27 08:49 nicai drwxr-xr-x. 7 root root 4096 Aug 19 22:24 yum [root@test1 home]# ln hosts hosts2 [root@test1 home]# ll total 28 drwx------. 27 canshan canshan 4096 Aug 19 22:02 canshan drwx------. 4 3000 3000 4096 Aug 27 08:46 database drwx------. 4 duanshui duanshui 4096 Aug 27 08:53 duanshui -rw-r--r--. 2 root root 158 Aug 29 16:42 hosts lrwxrwxrwx. 1 root root 5 Aug 29 21:40 hosts1 -> hosts -rw-r--r--. 2 root root 158 Aug 29 16:42 hosts2 drwx------. 4 Oralce nicai 4096 Aug 27 08:49 nicai drwxr-xr-x. 7 root root 4096 Aug 19 22:24 yum
某类用户对某文件的访问权限:
--- 000 0--->不能读写执行
--x 001 1--->只能执行
-w- 010 2--->只能写
-wx 011 3--->只能写和执行
r-- 100 4--->只能读
r-x 101 5--->只能写和执行
rw- 110 6--->只能读写
rwx 111 7--->可以读写执行
664:rw-rw-r-- 表示属主和属组有读写权限其他的只有读权限
rwxr-x---: 750 表示属主有读写执行权限,属组有读和执行权限,其他用户没有权限
注:有的时候显示出来的文件有d位,表示该文件为一个目录文件
[root@test1 home]# ll total 24 drwx------. 27 canshan canshan 4096 Aug 19 22:02 canshan
权限管理:
权限管理: chmod
所属关系管理: chown, chgrp
文件遮罩码:umask
修改文件权限:chmod
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE..--->将目标文件的权限按照rfile[参考文件]的权限进行更改
三类:
u: owner
g: group
o: other
a: all
两种用法:
=mode
=rx, =r, =
ug=rx, go=
[+|-]mode
u+r,a-w//其中a又可以省略所以又可以写成“-w”
在Centos7 中 +x可以让所有属组拥有权限,+w仅可以让属主拥有写权限
-R: recursive
修改文件属主:chown
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
-R: recursive
修改文件属组:chgrp
遮罩码:umask
目录的权限=777-umask
文件的权限=666-umask
一般root用户的umask为022
一般用户为002保留与同组用户的写入权限
若某一类用户的权限减得的结果有执行权限,此时会自动让其权限位加1
修改umask:
umask的配置文件为/etc/profile或者/etc/bashrc,修改后重载配置文件。
若只是简单的使用权限配置可以直接使用umask XXX 权限即可,但是这种设定是写在缓存文件中的,仅对当前的shell有效。
例如:
[root@test1 home]# [root@test1 home]# umask 0022 [root@test1 home]# umask 0027 [root@test1 home]# umask 0027 [root@test1 home]# touch a.txt [root@test1 home]# ll total 28 -rw-r-----. 1 root root 0 Aug 30 20:29 a.txt [root@test1 home]# umask 0022 [root@test1 home]# touch b.txt [root@test1 home]# ll total 28 -rw-r-----. 1 root root 0 Aug 30 20:29 a.txt -rw-r--r--. 1 root root 0 Aug 30 20:30 b.txt