权限和归属

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

文本文件: 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 ~]# mkdir /nsd01 [root@server0 ~]# ls -ld /nsd01

[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 o=--- /nsd01 [root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /nsd01 [root@server0 ~]# ls -ld /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 ~]# mkdir -p /opt/tarena/nsd/nsd1802 [root@server0 ~]# ls -ld /opt/tarena/

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

[root@server0 ~]# ls -ld /opt/tarena/nsd/ [root@server0 ~]# ls -ld /opt/tarena/nsd/nsd1802/

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

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

Permission denied : 权限不足

目录的 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

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

Set GID • 附加在属组的 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

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

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

######################################################### 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:用户名:权限类别 文档...
– setfacl [-R] -m g:组名:权限类别 文档...

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

[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服务器提供

  本地用户: 用户信息由/etc/passwd

LDAP服务器: cla***oom.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             #指定服务端域名
  cla***oom.example.com         #指定服务端主机名

勾选TLS加密
使用证书加密:  http://cla***oom.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共享服务器:cla***oom.example.com

虚拟机Server:

1.查看cla***oom有那些共享 [root@server0 ~]# showmount -e cla***oom.example.com Export list for cla***oom: /home/guests 172.25.0.0/255.255.0.0

2.挂载访问

mkdir /nfs

ls /nfs

mount cla***oom.example.com:/home/guests /nfs

ls /nfs

# mkdir /home/guests
# umount /nfs
# ls /nfs
# mount cla***oom.example.com:/home/guests  /home/guests
# ls /home/guests
# su - ldapuser0
$ exit

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