目录:
一、归属和访问权限简介
1、归属 (所有权)
1、u:文件拥有者(owner):拥有该文件或目录的用户帐号 user
2、g:属组(group):拥有该文件或目录的组帐号
3、o:其它人(others):除了属主和属组的其他人
4、a:所有的人(all) :"公有财产"
2、访问权限
1、r:可读(read):允许查看文件内容、显示目录列表
1、对文件而言,就是查看里面的内容
shell> cat,vim,less,more ...."file"
2、对目录而言,就是查看目录里的内容
shell> ls "dir"
2、w--- 可写(write):允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
1、对文件而言,就是修改里面的内容
shell> vi "file"
2、对目录而言,就是新建、删除、重命名、移动
shell> mkdir 、touch 、rm、mv、cp "dir"
3、x--- 可执行(execute):允许运行程序、切换目录
1、对文件而言,就是执行这个文件里的命令。例如执行脚本文件
shell> ./timeover.sh (执行脚本文件)
2、对目录而言,就是进入目录
shell> cd "dir"
操作者 ---> 对象(自己、组、其他人)---> 权限
二、chmod 命令
作用:
change file mode bits:修改权限(r、w、x)
修改对象:
user、group、others、all
形式:
+ 增加权限
- 去掉权限
= 直接等于某些权限
-R:递归修改指定目录下所有文件、子目录的权限
1、普通权限修改
- [root@localhost lianxi]# mkdir dasheng//新建目录
- [root@localhost lianxi]# ls
- dasheng
- [root@localhost lianxi]# ls -ld dasheng//显示目录详细信息
- drwxr-xr-x2root root4096Nov10 11:06 dasheng
- d:directory目录
- rwx:root主有读写执行权限
- r-x:root组有读执行权限
- r-x:其他人有读执行权限注:由此可见,默认新建目录的权限如上。
- [root@localhost lianxi]# chmod u=rwx,g=rx,o=--- dasheng
- //user读写执行权限,group读执行权限,others没有权限
- [root@localhost lianxi]# ls -ld dasheng
- drwxr-x---2root root4096Nov10 11:06 dasheng
- [root@localhost lianxi]# chmod o+rx dasheng//others增加读执行的权限
- [root@localhost lianxi]# ls -ld dasheng
- drwxr-xr-x2root root4096Nov10 11:06 dasheng
- [root@localhost lianxi]# chmod o-rx dasheng//others去掉读执行的权限
- [root@localhost lianxi]# ls -ld dasheng
- drwxr-x---2root root4096Nov10 11:06dasheng
2、递归修改权限
- [root@localhost lianxi]# cd dasheng/ ; mkdir huaguoshan shuiliandong
- [root@localhost dasheng]# ls
- huaguoshan shuiliandong
- [root@localhost dasheng]# ll
- total 8
- drwxr-xr-x2root root4096Nov10 11:10 huaguoshan
- drwxr-xr-x2root root4096Nov10 11:10 shuiliandong
- [root@localhost dasheng]# cd ..
- [root@localhost lianxi]# chmod -R o-rx dasheng//递归修改dasheng目录及子目录的others权限
- [root@localhost lianxi]# cd dasheng/ ; ll
- total 8
- drwxr-x---2root root4096Nov10 11:10 huaguoshan
- drwxr-x---2root root4096Nov10 11:10shuiliandong
3、利用数值修改权限
r=4
w=2
x=1
-=0
由此即可通过数值的形式替代上述的修改操作
7=4+2+1=rwx、6=4+2=rw-、…… 类推
- [root@localhost lianxi]# chmod -R757 dasheng
- [root@localhost lianxi]# ls -ld dasheng
- drwxr-xrwx4root root4096Nov10 11:10 dasheng
- [root@localhost lianxi]# ll dasheng
- total 8
- drwxr-xrwx2root root4096Nov10 11:10 huaguoshan
- drwxr-xrwx2root root4096Nov10 11:10shuiliandong
三、chown 命令
作用:
change file owner and group:修改文件的属主和属组(u、g、o、a)
注意:
1、所属修改的用户和组必须存在
2、chown 操作只有 root 用户可以执行 (chmod 操作是 root 和所属者可以执行)
格式:
chown 属主 文件
chown : 属组 文件
chown 属主: 属组 文件
chown -R 属主: 属组 目录 #递归修改指定目录下的所有文件、子目录的属主和属组
1、普通归属权修改
- [root@localhost zhang]# mkdir wudangshan//新建目录wudangshan
- [root@localhost zhang]# useradd zhangwuji//创建用户zhangwuji,同时也创建了该组
- [root@localhost zhang]# useradd zhaomin//创建用户zhaomin,同时也创建了该组
- [root@localhost zhang]# ll
- total 4
- drwxr-xr-x2root root4096Nov10 13:29 wudangshan
- //默认归属是创建者,因为当前是root用户,所以该目录属于root用户,root组的。
- [root@localhost zhang]# chown zhangwuji wudangshan///修改属主归属zhangwuji
- [root@localhost zhang]# ll
- total 4
- drwxr-xr-x2zhangwuji root4096Nov10 13:29 wudangshan
- [root@localhost zhang]# chown :zhangwuji wudangshan///修改属组归属zhangwuji
- [root@localhost zhang]# ll
- total 4
- drwxr-xr-x2zhangwuji zhangwuji4096Nov10 13:29wudangshan
// 目前 wudangshan 目录,zhangwuji 是除了 root 的最高所属,也是唯一所属者。也就是说现在 wudangshan 这个目录除了 root 和 zhangwuji 用户,其他人谁都不能动。
- [root@localhost zhang]# su - zhangwuji
- [zhangwuji@localhost ~]$ cd /zhang/
- [zhangwuji@localhost zhang]$ ll
- total 4
- drwxr-xr-x2zhangwuji zhangwuji4096Nov10 13:29 wudangshan
- [zhangwuji@localhost zhang]$ chown zhaomin:zhaomin wudangshan/
- chown: changing ownership of `wudangshan/': Operation not permitted//无修改归属权限
- [zhangwuji@localhost zhang]$ chmod 777wudangshan///有修改rwx权限(作为拥有者)
- [zhangwuji@localhost zhang]$ ll
- total 4
- drwxrwxrwx 2zhangwuji zhangwuji4096Nov10 13:29 wudangshan
- [zhangwuji@localhost zhang]$ exit
- logout
2、递归修改
- [root@localhost zhang]# ll
- total 4
- drwxrwxrwx 2zhangwuji zhangwuji4096Nov10 13:29 wudangshan
- [root@localhost zhang]# chown zhaomin:zhaomin wudangshan/ -R//递归修改属主:属组归属
- [root@localhost zhang]# ll
- total 4
- drwxrwxrwx 2zhaomin zhaomin4096Nov10 13:29 wudangshan
- [root@localhost zhang]# chown zhangwuji.zhangwuji wudangshan/ -R// : 和 . 形式不同而已
- [root@localhost zhang]# ll
- total 4
- drwxrwxrwx 2zhangwuji zhangwuji4096Nov10 13:29wudangshan
注意:
shell> ll test.txt
-rw-r--r--. 1 502 root 247 Jan 12 10:20 test.txt
Q:这里为什么显示的是 502? 不是显示的用户名?
A:
因为该文件原来的 owner 是 UID 为 502 这个用户;
但目前该用户已经被删除了,所以这里显示的是原来用户的 UID;
owner 和文件没有绑定的关系。
四、umask 命令
作用:
The user file-creation mask is set to mode.
设置用户在创建文件的时候该文件有的默认的权限的一种权限掩码。
注:
1、在内核级别,文件的初始权限 666
2、在内核级别,目录的初始权限 777
[root@localhost /]# umask// 查看当前用户的权限掩码
0022
注意:前面的 0 是特殊权限位
Q:如何计算?
A:
777-022=755:新建目录权限是 755
666-022=644:新建文件权限是 644
也就是说 group 和 others 去掉了写的权限
[root@localhost /]# umask -S// 查看当前用户的权限设置
u=rwx,g=rx,o=rx
- [root@localhost /]# mkdir weigai
- [root@localhost /]# ll |grep weigai
- drwxr-xr-x2root root4096Nov10 14:07 weigai
- //未改,默认权限掩码022,新建目录777-022=755:rwxr-xr-x
- [root@localhost /]# umask077//直接修改权限掩码,只是临时有效
- [root@localhost/]# mkdir gaile
- [root@localhost /]# ll |grep gaile
- drwx------2root root4096Nov10 14:08 gaile
- //改了,权限掩码077,新建目录777-077=700:rwx------
注意:
除非有特殊需求,不推荐修改系统默认 umask。
若要永久修改:vim /root/.bashrc 等方式添加 umask 命令修改,让系统自动执行此条命令。
五、隐藏属性
1、chattr 命令:设置文件的隐藏属性
格式:
chattr [+-=] [a、i] 文件或目录
常用命令选项:
R:递归修改
a:可以增加文件内容,但不能修改和删除
i:锁定保护文件,写保护,不能修改
+、-、= 分别表示增加、去除、设置参数
2、lsattr 命令:查看文件的隐藏属性
格式:
lsattr [Rda] 文件或目录
常用命令选项:
-R:递归查看
-d:查看目录
3、文件的写保护
- [root@guili lianxi]# touch biyao
- [root@guili lianxi]# ll
- total 0-rw-r--r--1root root0Nov10 17:30 biyao
- [root@guili lianxi]# chattr +i biyao//biyao文件被锁定(写保护)
- [root@guili lianxi]# echo shangxinhua>>biyao
- -bash: biyao: Permission denied
- [root@guili lianxi]# lsattr biyao//查看文件的隐藏属性----i--------e- biyao
- [root@guili lianxi]# ll biyao
- -rw-r--r--1root root8Nov10 17:30 biyao
- [root@guili lianxi]# chattr +i /etc/passwd
- [root@guili lianxi]# useradd huqishan
- useradd: cannot open /etc/passwd
- //passwd文件被锁定,因为新建用户就需要向该文件插入新建用户信息,被锁定,所以就无法新建用户。
- [root@guili lianxi]# chattr -i /etc/passwd//-i解锁
- [root@guili lianxi]# useradd huqishan
- [root@guili lianxi]# id huqishan
- uid=921(huqishan) gid=922(huqishan) groups=922(huqishan)
4、目录的误删保护
- [root@guili lianxi]# mkdir zhangxiaofan
- [root@guili lianxi]# ls
- biyao zhangxiaofan
- [root@guili lianxi]# chattr +a zhangxiaofan//添加a属性
- [root@guili lianxi]# lsattr -d zhangxiaofan//查看目录-d-----a-------e- zhangxiaofan
- [root@guili lianxi]# cd zhangxiaofan/
- [root@guili zhangxiaofan]# touch dazhufeng//可进入可建文件(或目录)
- [root@guili zhangxiaofan]# ls
- dazhufeng
- [root@guili zhangxiaofan]# rm -rf dazhufeng
- rm: cannot remove `dazhufeng': Operation not permitted//无法删除
由上可见,添加隐藏属性 a、i,亦有一定的保护数据的功效
六、单独限权
setfacl 命令
针对任意指定的用户 / 组使用权限字符分配 rwx 权限。
格式:
setfacl 选项 规则 文件
常见选项:
-m:新增或修改
-x:删除
查看单独权限:getfacl 文件
- [root@localhost ~]# mkdir dir
- [root@localhost ~]# id zhaomin
- uid=504(zhaomin) gid=504(zhaomin) groups=504(zhaomin)[root@localhost~]# setfacl -m u:zhaomin:--- dir
- [root@localhost ~]# getfacl dir
- # file: dir
- # owner: root
- # group: root
- user::rwx
- user:zhaomin:---
- group::r-x
- mask::r-x
- other::r-x[root@localhost~]# setfacl -x u:zhaomin dir
- [root@localhost ~]# getfacl dir
- # file: dir
- # owner: root
- # group: root
- user::rwx
- group::r-x
- mask::r-x
- other::r-x
来源: http://www.cnblogs.com/geaozhang/p/6920143.html