admin-06-权限和归属、使用LDAP认证、家目录漫游

权限和归属

1.基本权限的类别
• 访问方式(权限)
  – 读取:允许查看内容-read    r
  – 写入:允许修改内容-write    w
  – 可执行:允许运行和切换-execute  x

  文本文件的rwx:
           r: cat  less  head  tail  grep 
           w: vim 保存
           x: 可以执行

• 权限适用对象(归属)
– 所有者:拥有此文件/目录的用户-user  u
– 所属组:拥有此文件/目录的组-group      g
– 其他用户:除所有者、所属组以外的用户-other   o
查看权限
• 使用 ls -l 命令
– ls -ld 文件或目录...
  以  -  开头:文本文件
  以 d 开头:目录
  以 l 开头:快捷方式

设置基本权限
• 使用 chmod 命令
– chmod [-R] 归属关系+-=权限类别 文档...
   -R : 递归修改目录下所有内容,及子目录所有内容
[root@server0 ~]# chmod u-w /nsd01
[root@server0 ~]# ls -ld /nsd01

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

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

[root@server0 ~]# chmod ugo=r /nsd01
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod ug=rw /nsd01
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod -R ugo=r /opt/tarena/
[root@server0 ~]# ls -ld /opt/tarena/

#########################################################

Linux判断用户具备的权限:
     1.判断用户所属的身份(角色)    所有者>所属组>其他人   匹配及停止  (重要)
     2.相应权限位的权限

Permission denied : 权限不足
目录的rwx权限:
目录的 r 权限:能够 ls 浏览此目录内容
目录的 w 权限:能够执行 rm/mv/cp/mkdir/touch/... 等更改目录内容的操作
目录的 x 权限:能够 cd 切换到此目录

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

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

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

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

 5)为此目录及其下所有文档设置权限 rwxr-x---
     chmod -R  u=rwx,g=rx,o=---  /nsddir/
#########################################################
设置文档归属
• 使用 chown 命令
– chown [-R]  属主 文档...
– chown [-R] :属组 文档...
– chown [-R] 属主:属组 文档...


[root@server0 /]# mkdir /nsd06
[root@server0 /]# ls -ld /nsd06

[root@server0 /]# useradd tom
[root@server0 /]# groupadd stugrp
[root@server0 /]# chown tom:stugrp  /nsd06
[root@server0 /]# ls -ld /nsd06

[root@server0 /]# chown root /nsd06
[root@server0 /]# ls -ld /nsd06

[root@server0 /]# groupadd tedu
[root@server0 /]# chown :tedu /nsd06
[root@server0 /]# ls -ld /nsd06

########################################################
2.附加权限(特殊权限)

Set GID
• 附加在属组的 x 位上
– 属组的权限标识会变为 s ,如果属组没有x权限,加上附加权限就会变成S
– 适用于目录,Set GID可以使目录下新增的文档自动设置与父目录相同的属组
– 继承所属组身份
[root@server0 /]# mkdir /nsd09
[root@server0 /]# chown :stugrp  /nsd09
[root@server0 /]# ls -ld /nsd09

[root@server0 /]# mkdir /nsd09/test01
[root@server0 /]# ls -ld /nsd09/test01

[root@server0 /]# chmod g+s /nsd09
[root@server0 /]# ls -ld /nsd09

[root@server0 /]# mkdir /nsd09/abc01
[root@server0 /]# ls -ld /nsd09/abc01

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

[root@server0 /]# mkdir /nsd11
[root@server0 /]# chmod o=--- /nsd11
[root@server0 /]# ls -ld /nsd11

[root@server0 /]# su - zhangsan
[zhangsan@server0 ~]$ cd /nsd11
-bash: cd: /nsd11: Permission denied
[zhangsan@server0 ~]$ exit
logout

[root@server0 /]# setfacl -m u:zhangsan:rx /nsd11
[root@server0 /]# su - zhangsan

[zhangsan@server0 ~]$ cd /nsd11
[zhangsan@server0 nsd11]$ pwd
[zhangsan@server0 nsd11]$ exit
##########################################################
– getfacl 文档...   #查看ACL访问控制列表
– setfacl [-R] -m u:用户名:权限类别   文档...     (modify)
– setfacl [-R] -m g:组名:权限类别   文档...

– setfacl [-R] -x u:用户名   文档...      #删除指定ACL  (remove)
– setfacl [-R] -b 文档...                      #清空ACL        (remove  all)

[root@server0 /]# mkdir /nsd12
[root@server0 /]# setfacl -m u:zhangsan:rwx /nsd12  
[root@server0 /]# useradd lisi
[root@server0 /]# setfacl -m u:lisi:rx /nsd12
[root@server0 /]# setfacl -m u:tom:rx /nsd12

[root@server0 /]# getfacl /nsd12
[root@server0 /]# setfacl -x u:lisi  /nsd12   #删除指定用户的ACL
[root@server0 /]# getfacl /nsd12

[root@server0 /]# setfacl -b /nsd12     #删除目录所有的ACL
[root@server0 /]# getfacl /nsd12

#########################################################
[root@server0 /]# ls -ld /public
[root@server0 /]# setfacl -m u:tom:--- /public
[root@server0 /]# getfacl /public
#########################################################
使用LDAP认证  (了解)
   LDAP服务器: 网络用户    用户的集中管理  ,用户信息由LDAP服务器提供
   LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol

   本地用户: 用户信息由/etc/passwd
   LDAP服务器: classroom.example.com
 
    客户端:虚拟机Server
    1.安装客户端软件sssd,与LDAP网络用户服务器沟通
  [root@server0 /]# yum -y install sssd

    2.安装图形工具 authconfig-gtk 配置sssd
  [root@server0 /]# yum -y install authconfig-gtk 

  [root@server0 /]# exit
    登出
  [root@room9pc01 ~]# ssh -X root@172.25.0.11
  [root@server0 ~]# authconfig-gtk 

      选择LDAP
      dc=example,dc=com             #指定服务端域名
      classroom.example.com         #指定服务端主机名

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

       选择LDAP密码

    3.重起sssd服务,验证
  [root@server0 ~]# systemctl restart sssd
  [root@server0 ~]# grep 'ldapuser0'  /etc/passwd
  [root@server0 ~]# id ldapuser0
  [root@server0 ~]# id ldapuser1

#######################################################
家目录漫游

• Network File System,网络文件系统
– 由NFS服务器将指定的文件夹共享给客户机
– 客户机将此共享目录 mount 到本地目录,访问此共享
资源就像访问本地目录一样方便

– 类似于 EXT4、XFS等类型,只不过资源在网上
NFS共享服务器:classroom.example.com

  虚拟机Server:
 1.查看classroom有那些共享
[root@server0 ~]# showmount -e classroom.example.com
Export list for classroom:
/home/guests 172.25.0.0/255.255.0.0

2.挂载访问
  # mkdir /nfs
  # ls /nfs
  # mount  classroom.example.com:/home/guests    /nfs
  # ls /nfs
# mkdir /home/guests
# umount /nfs
# ls /nfs
# mount classroom.example.com:/home/guests  /home/guests
# ls /home/guests
# su - ldapuser0
$ exit
----------------------------------------------------------------------------------------------------------------------------

案例1:指定yum软件源
为 server0 指定可用的 yum 软件源
– YUM软件库的地址为 http://classroom.example.com/content/rhel7.0/x86_64/dvd
– 将此配置为虚拟机 server0 的默认软件仓库
[root@server0 yum.repos.d]# vim /etc/yum.repos.d/dvd.repo 
[rhel]
  name=rhel7.2
  baseurl=http://classroom.example.com/content/rhel7.0/ x86_64/dvd
  enabled=1
  gpgcheck=0

– 确认可用的仓库列表
[root@server0 yum.repos.d]# yum repolist 
– 利用yum仓库安装xeyes
[root@server0 yum.repos.d]# yum -y install xeyes
– 运行指令xeyes查看效果

        [root@server0 yum.repos.d] xeyes

案例2:chmod权限设置
    1)以root用户新建/nsddir/目录,在该目录下新建文件readme.txt
[root@server0 ~]# mkdir /nsddir
       [root@server0 nsddir]# vim readme.txt

    2)使用户zhangsan能够在/nsddir/目录下创建/删除子目录
[root@server0 ~]# chmod o+w /nsddir/

    3)使用户zhangsan能够修改/nsddir/readme.txt文件的容
  [root@server0 nsddir]# chmod o+w /nsddir/readme.txt 
 
案例3:chown归属设置
    1)新建/tarena1目录
[root@server0 nsddir]# mkdir /tarena1
a)将属主设为gelin01,属组设为tarena组

[root@server0 nsddir]# chown gelin01:tarena /tarena1/

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

        [root@server0 nsddir]# chmod o=--- /tarena1/

    2)使用户gelin02能进入、查看/tarena1文件夹(提示:将gelin02加入所属组)
[root@server0 nsddir]# useradd gelin02
         [root@server0 nsddir]# gpasswd -a gelin02 tarena
    3)新建/tarena2目录
a)将属组设为tarena
[root@server0 nsddir]# chown :tarena /tarena2/
b)使tarena组的任何用户都能在此目录下创建、删除文件
[root@server0 nsddir]# chmod g+w /tarena2/
    4)新建/tarena/public目录
a)使任何用户对此目录都有rwx权限
[root@server0 nsddir]# chmod u=rwx,g=rwx,o=rwx /tarena/public/
b)拒绝zhangsan进入此目录,对此目录无任何权限
[root@server0 nsddir]# setfacl -m u:zhangsan:--- /tarena/public/

案例4:权限设置
1、创建文件夹/data/test,设置目录的访问权限,使所有者和所属组具备读写执行的权限;其他人无任何权限。
[root@server0 nsddir]# chmod g+w,o=--- /data/test/
2、递归修改文件夹/data/test的归属使所有者为zhangsan,所属组为tarena。
[root@server0 nsddir]# chown -R zhangsan:tarena /data/test
3、请实现在test目录下,新建的所有子文件或目录的所属组都会是tarena。
[root@server0 nsddir]# chmod g+s /data/test/
4、为lisi创建ACL访问权限,使得lisi可以查看/etc/shadow文件
[root@server0 nsddir]# setfacl -m u:lisi:r /etc/shadow

案例5:绑定到LDAP验证服务

 –  使用系统 classroom.example.com 提供的LDAP服务
 –  验证服务的基本DN是:dc=example,dc=com
 –  账户信息和验证信息都是由 LDAP 提供的
 –  连接要使用证书加密,证书可以在下面的链接下载:
      http://classroom.example.com/pub/example-ca.crt 
 –  确认本地可以识别ldapuser0用户

1.[root@server0 nsddir]# yum -y install sssd
2.[root@server0 nsddir]# yum -y install authcofig.gtk
选择LDAP
      dc=example,dc=com             #指定服务端域名
      classroom.example.com         #指定服务端主机名
勾选TLS加密
    使用证书加密:  http://classroom.example.com/pub/example-ca.crt
选择LDAP密码
3.重起sssd服务,验证
  [root@server0 ~]# systemctl restart sssd
[root@server0 ~]# id ldapuser0


案例6:访问NFS共享
 –  查看classroom.example.com的NFS共享
[root@server0 nsddir]# showmount -e classroom.example.com 

 –  将classroom.example.com的NFS共享目录,挂载到本地/home/guests
[root@server0 nsddir]# mount classroom.example.com:home/guests /home/guests

posted on 2019-07-26 20:05  heping1314  阅读(310)  评论(0编辑  收藏  举报