UGO
权限对象: 基本权限类型:
属主------->u 读(read):r ---->4
属组------->g 写(write):w ---->2
其他人------>o 执行: x(exec) ----->1
大概就是这个样子:
r w x rw- r-- alice hr file1.txt
属主权限 属组权限 其他人权限 属主 属组 文件
其实chown和chmod权限的使用还是非常好区别的
chown: 改变文件属主属组。
chmod:改变某个文件的访问模式
系统默认目录755 文件644
chown
[root@linux-server ~]# chown alice.hr file1.txt //修改属主、属组
[root@linux-server ~]# chown tom file1.txt //修改属主
[root@linux-server ~]# chown .it file1.txt //只改属组
[root@linux-server ~]# chown -R alice.hr dir1 //递归修改
chmod
[root@linux-server ~]# chmod u+x file1.txt //属主增加执行
[root@linux-server ~]# chmod a=rwx file1.txt //所有人等于读写执行
[root@linux-server ~]# chmod a=- file1.txt //所有人都没有权限
[root@linux-server ~]# chmod ug=rw,o=r file1.txt //属主属组等于读写,其他人只读
[root@linux-server ~]# ll
-rw-rw-r–. 1 tom it 0 Nov 1 15:30 file1.txt
当然也可以用数字开始设置,对应的大家都应该知道吧~~
我觉得这个案例非常使用,分享一波
针对hr部门的访问目录/home/hr设置权限,要求如下:
- root用户和hr组的员工可以读、写、执行
- 其他用户没有任何权限
[root@linux-server ~]# groupadd hr //创建一个用户组
[root@linux-server ~]# useradd hr01 -G hr //创建hr01用户添加到hr组里
[root@linux-server ~]# useradd hr02 -G hr //创建hr02用户添加到hr组里
[root@linux-server ~]# mkdir /home/hr //在/home创建一个hr目录
[root@linux-server ~]# chown .hr /home/hr //将/home/hr目录的所属组设置为hr
[root@linux-server ~]# chmod 770 /home/hr //将/home/hr目录的权限设置为770
[root@linux-server ~]# ll -d /home/hr //查看/home/hr目录本身的权限
drwxrwx—. 2 root hr 6 Nov 1 17:11 /home/hr
对应关系
对文件: 对目录:
r----cat r —ls
w —vi、vim w-----touch、rm
x ---- bash /dir/file x----cd
小结
对目录有w权限,可以在目录中创建新文件,可以删除目录中的文件(跟文件权限无关)
注意事项
文件: x 权限小心给予
目录: w 权限小心给予
拓展
使用getfacl,和setfacl,包括mask的临时降低用户或者组(除属主和其他人)的权限*#建议方便管理其他人权限设置为空#*
setfacl
[root@linux-server ~]# useradd jack
[root@linux-server ~]# setfacl -m u:alice:rw /home/test.txt //增加用户alice权限
[root@linux-server ~]# setfacl -m u:jack:- /home/test.txt //增加用户jack权限
[root@linux-server ~]# setfacl -m g:hr:r /home/test.txt //增加组的权限
[root@linux-server ~]# setfacl -m o::rw /home/test.txt
-m, --modify modify the current ACL(s) of file(s)
getfacl
用于查看:
getfacl /home/test.txt
getfacl: Removing leading ‘/’ from absolute path names
#file: home/test.txt
#owner: root
#group: root
user::rw-
user:alice:rw-
user:jack:—
group::r–
group:hr:r–
mask::rw-
other::rw-
mask
[root@localhost ~]# setfacl -m m::r /home/file1 #m表示mask
[root@localhost ~]# getfacl /home/file1
getfacl: Removing leading ‘/’ from absolute path names
#file: home/file1
#owner: root
#group: root
user::rw-
user:alice:r–
user:tom:rw- #effective:r–
group::r–
group:hr:rwx #effective:r–
mask::r–
other::r–
注意区分,别记混了,不仔细的话感觉会懵懵的哈哈