码迷,mamicode.com
首页 > 其他好文 > 详细

权限管理

时间:2018-04-13 16:11:27      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:权限管理

基本权限

基本权限的类型
访问方式
读取 read 允许查看内容 r
写入 write 允许修改内容 w
可执行 execute 允许运行和切换 x

对于文本文件 :
r:可以cat head tail less 这个文本文件
w:vim修改 保存
x: 可以执行该文件

对于目录
r 能够ls浏览此目录内容
w 能够执行 rm/mv/cp/mkdir/touch/ 等更改目录内容的权限
x 能够cd到该目录
权限使用对象(归属关系)
所有者 :拥有此文件/目录的用户 -user #-u
所属组 :拥有此文件/目录的组-group 一般 所属组为所有者的基本组 #-g
其他用户:除所有者 所属组以外的用户-other #-o

查看权限

使用ls -l命令
ls-l 查看文件
ls-ld 查看目录
[root@eson ~]# ls -ld /root
dr-xr-x---. 6 root root 4096 11月 25 16:43 /root
以 -开头代表的是文本文件
d开头代表的是目录
l开头代表的是快捷方式

判断权限
1 判断用户角色 所有者>所属组>其他人 #原则匹配即停止
2查看相应角色的权限位

权限的修改

使用chmod命令
格式 chmod 选项-R递归
chmod + #添加权限
chmod = #重新定义权限
chmod -R
– chmod [-R] 归属关系+-=权限类别 文档...

[root@ser ~]# mkdir /nnd01
[root@server0 ~]# ls -ld /nnd01

[root@ser ~]# chmod g+w /nnd01
[root@ser ~]# ls -ld /nsd01

[root@ser ~]# chmod u-w /nnd01
[root@ser ~]# ls -ld /nnd01

[root@ser ~]# chmod o=rwx /nsd01
[root@ser ~]# ls -ld /nsd01

[root@ser ~]# chmod u=rwx,g=rx,o=--- /nsd01
[root@ser ~]# ls -ld /nsd01

权限的判定和演示

以root用户新建/nnddir/目录,在此目录下新建readme.txt文件,并进一步完成下列操作
1)使用户zhangsan能够在此目录下创建子目录 切换用户 su - zhangsan
chmod o+w /nnddir/

2)使用户zhangsan不能够在此目录下创建子目录
chmod o-w /nnddir/

3)使用户zhangsan能够修改readme.txt文件
chmod o+w /nnddir/readme.txt

4)调整此目录的权限,使所有用户都不能进入此目录
chmod u-x,g-x,o-x /nnddir/

5)为此目录及其下所有文档设置权限 rwxr-x---
chmod -R u=rwx,g=rx,o=--- /nnddir/

修改归属关系

chown [-R] 所有者:所属组 文档或者目录 #同时修改所有者以及所属组
chown [-R] 所有者 文档或者目录 #修改所有者
chown [-R] :所属组 文档或者目录 #修改所属组

[root@ser /]# mkdir /nnd03
[root@ser /]# ls -ld /nnd03

[root@ser /]# groupadd testna
[root@ser /]# chown zhangsan:testna /nnd03
[root@ser /]# ls -ld /nnd03

[root@ser /]# chown student  /nnd03
[root@ser /]# ls -ld /nnd03

[root@ser /]# chown :root /nnd03
[root@ser /]# ls -ld /nnd03

附加权限 (特殊权限)

Set GID
附加在属组的x权限位上 属组的x权限标识会变成s或者S

[root@server0 ~]# chmod g+s /nnd06/  
 drwxr-sr-x. 3 root testna 18 11月 24 11:52 /nnd06/     #小写s 表示原先属组具有x权限  
 drwxr-Sr-x. 3 root testna 18 11月 24 11:52 /nnd06/     #大写S 表示原先属组不具有x权限 

[root@ser /]# mkdir /nsd06
[root@ser /]# ls -ld /nsd06
[root@ser /]# chown :testna /nnd06

[root@ser /]# mkdir /nnd06/abc01
[root@ser /]# ls -ld /nnd06/abc01

[root@ser /]# chmod g+s /nnd06/
[root@ser /]# ls -ld /nnd06/

[root@ser /]# mkdir /nnd06/abc02
[root@ser /]# ls -ld /nnd06/abc02

ACL 访问控制列表

实现更加精细的权限控制 为某个组或者用户定制专属的权限
应用场景 出现了一个特殊的人

acl策略的作用
? 文档归属的局限性
– 任何人只属于三种角色:属主、属组、其他人
– 无法实现更精细的控制

? acl访问策略
– 能够对个别用户、个别组设置独立的权限
– 大多数挂载的EXT3/4、XFS文件系统默认已支持

? 使用 getfacl、setfacl 命令
– getfacl 文档...
– setfacl -m u:用户名:权限类别 文档...
– setfacl -m g:组名:权限类别 文档...
– setfacl -b 文档... #清除所有的ACL策略
– setfacl -x 文档... #清除指定的ACL策略

[root@ser ~]# mkdir /nnd10
[root@ser ~]# ls -ld /nnd10
drwxr-xr-x. 2 root root 6 11月 24 14:21 /nnd10
[root@ser ~]# chmod o=--- /nnd10
[root@ser ~]# ls -ld /nnd10
drwxr-x---. 2 root root 6 11月 24 14:21 /nnd10
[root@ser ~]# su zhangsan
[zhangsan@ser ~]$ cd /nnd10
-bash: cd: /nnd10: Permission denied
[zhangsan@ser ~]$ exit
logout

[root@ser ~]# setfacl -m u:zhangsan:rx /nnd10 #添加ACL
[root@ser ~]# ls -ld /nsd10
drwxr-x---+ 2 root root 6 11月 24 14:21 /nnd10

[root@ser ~]# su zhangsan
[zhangsan@ser root]$ cd /nnd10
[zhangsan@ser nsd10]$ pwd
/nsd10

[root@ser ~]# getfacl /nnd10 #查看ACL

[root@ser ~]# setfacl -m u:natasha:rwx /nnd10 #添加ACL
[root@ser ~]# setfacl -m u:lisi:rwx /nnd10
[root@ser ~]# setfacl -m u:kenji:rwx /nnd10
[root@ser ~]# getfacl /nnd10

[root@ser ~]# setfacl -x u:kenji /nnd10 #删除单个ACL
[root@ser ~]# getfacl /nnd10

[root@ser ~]# setfacl -b  /nnd10 #删除所有ACL
[root@ser ~]# getfacl /nnd10

权限管理

标签:权限管理

原文地址:http://blog.51cto.com/2168836/2102977

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!