权限管理(基本权限、附加权限、ACL权限)

基本权限

•访问方式(权限)

读取:允许查看内容-read   r

写入:允许修改内容-write    w

可执行:允许运行和切换-execute  x

 

  对于文本文件

         r: cat   head  tail  less

         w: vim

         x: 可以运行该文件

• 权限适用对象(归属)

所有者(属主):拥有此文件/目录的用户-user    u

所属组(属组):拥有此文件/目录的组-group     g

其他用户:除所有者、所属组以外的用户-other  o

 

查看权限

• 使用 ls -l 命令

ls -ld   文件或目录...

以 - 开头:文本文件;  以 d 开头:目录;  以 l 开头:快捷方式

 

chmod 修改权限

chmod [-R] 归属关系+-=权限类别 文档...

[-R] 递归设置权限

[root@server0 ~]# chmod g+w /nsd01

[root@server0 ~]# chmod u=rwx,g=rwx,o=--- /nsd01

 

管理员root具备一切权限

 判别权限的方法:                  匹配及停止原则

    1. 查看用户对于文档的身份,属于那个归属关系     所有者>所属组>其他人

    2. 查看相应归属关系位置的权限

 

目录的 r 权限:能够 ls 浏览此目录内容

目录的 w 权限:能够执行 rm/mv/cp/mkdir/touch/等更改目录内容的操作

目录的 x 权限:能够 cd 切换到此目录

Permission denied : 权限不足

 

 chown   修改归属对象

– chown [-R] 属主        文档...

– chown [-R] :属组       文档...

– chown [-R] 属主:属组  文档...

[root@server0 ~]# chown  zhangsan:tedu /nsd03

[root@server0 ~]# chown root /nsd03      #修改所有者

[root@server0 ~]# chown :zhangsan /nsd03   #修改所属组

 

利用root用户新建/nsd05目录,并进一步完成下列操作

1)将属主设为gelin01,属组设为tarena组

[root@server0 /]# useradd  gelin01

[root@server0 /]# useradd  gelin02

[root@server0 /]# groupadd  tarena

[root@server0 /]# chown gelin01:tarena  /nsd05

 

2)使用户gelin01对此目录具有rwx权限,其他人对此目录无任何权限

[root@server0 /]# chmod o=--- /nsd05

 

3)使用户gelin02能进入、查看此目录

[root@server0 /]# gpasswd -a  gelin02  tarena  #用户加入组

 

4)将gelin01加入tarena组, 将nsd05目录的权限设为rw-r-x---

      再测试gelin01用户能否进入此目录

[root@server0 /]# chmod u=rw,g=rx /nsd05

 

 附加权限(特殊权限)

Set GID

• 附加在属组的 x 位上

– 属组的权限标识会变为 s,原本有x权限为s无x权限为S

– 适用于目录,Set GID可以使目录下新增的文档自动设置与父目录相同的属组

– 继承父目录的所属组身份

[root@server0 ~]# chmod g+s /nsd07

 

Set UID

• 附加在属主的 x 位上

– 属主的权限标识会变为 s

– 适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限

 

Sticky Bit

• 附加在其他人的 x 位上

– 其他人的权限标识会变为 t

– 适用于开放 w 权限的目录,可以阻止用户滥用 w 写入

权限(禁止操作别人的文档)

[root@server0 ~]# chmod o+t /public

 

ACL权限(ACL策略)

acl策略的作用

• 文档归属的局限性

– 任何人只属于三种角色:属主、属组、其他人

– 无法实现更精细的控制

 

• acl访问策略

– 能够对个别用户、个别组设置独立的权限

– 大多数挂载的EXT3/4、XFS文件系统默认已支持

 

• 使用 getfacl、setfacl 命令

– getfacl 文档...

– setfacl [-R] -m u:用户名:权限类别 文档...

– setfacl [-R] -m g:组名:权限类别 文档...

– setfacl [-R] -b 文档...                         #清除所有的ACL

– setfacl     -x u:用户名   文档...         #删除指定的ACL

– [-R] :递归设置ACL策略

[root@server0 ~]# setfacl -m u:zhangsan:rx /nsd09   #设置ACL

[root@server0 ~]# getfacl /nsd09    #查看ACL权限

[root@server0 ~]# setfacl  -x  u:gelin01  /nsd10 

[root@server0 ~]# setfacl  -b  /nsd10

 

 

LDAP(由网络中一台服务器提供用户名、密码,集中管理网络中的用户帐号)

• 轻量级目录访问协议

– Lightweight Directory Access Protocol

– 提供的信息包括:用户名、密码、通信录、主机名映射记录、......

 LDAP服务器:classroom.example.com

 客户端:虚拟机Server

  1.安装sssd客户端软件,与服务端LDAP服务器沟通

 [root@server0 ~]# yum  -y  install  sssd

  2.安装图形工具配置sssd软件

 [root@server0 ~]# yum  -y  install  authconfig-gtk

  3.运行authconfig-gtk图形工具,配置sssd软件

 [root@server0 /]# authconfig-gtk

    选择LDAP

      dc=example,dc=com             #指定服务端域名

      classroom.example.com         #指定服务端主机名

 勾选TLS加密

 使用证书加密:  http://classroom.example.com/pub/example-ca.crt

 选择LDAP密码

  4.验证

 [root@server0 ~]# systemctl restart sssd

 [root@server0 ~]# id ldapuser0

 

家目录漫游(NFS共享)

• Network File System,网络文件系统

– 由NFS服务器将指定的文件夹共享给客户机

   NFS服务端:classroom.example.com

   客户端:虚拟机Server

 1. 查看服务端有那些共享文件夹

     showmount -e classroom.example.com

 2.访问共享文件夹,利用mount提供访问点(两边路径需一致)

     mkdir /home/guests

     mount classroom.example.com:/home/guests/  /home/guests

     ls /home/guests

     su - ldapuser12

posted @ 2021-05-28 14:53  落樰兂痕  阅读(660)  评论(0编辑  收藏  举报