Linux 中的SetGID

  • SetGID针对文件的作用
  1. 只有可执行的二进制程序才能设置SGID权限
  2. 命令执行者要对该程序拥有x(执行)权限
  3. 命令执行在执行程序的时候,组身份升级外该程序文件的属组
  4. SetGID权限同样只在该程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效

SetGID针对目录的作用

  1. 普通用户必须对此目录拥有r和x权限,才能进入此目录
  2. 普通用户在此目录中的有效组会变成此目录的属组
  3. 若普通用户对此目录拥有w权限时,新建的文件的默认属组时这个目录的属组

linux中的setUID SUID

  • SetUID的功能
  1. 只有可以执行的二进制程序才能是设定SUID权限
  2. 命令执行者要对该程序拥有X(执行)权限
  3. 命令执行者在执行该程序时获得该程序文件属主的身份(在执行程序的过程中灵魂附体为文件的属主)
  4. SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
  5. 设定SetUID的方法
chmod 4755 文件名

chmod u+s文件名
  • 危险的SetUID
  1. 关键目录应严格控制写权限。比如”/“ 、”/usr“ 等
  2. 用户的密码设置要严格遵守密码三原则
  3. 对系统中默认应该具有SetUID权限的文件做以列表,定时检查有没有这之外的文件被设置了SetUID

linux sudo权限

sudo权限

  • root把本来只能超级用户执行的命令,赋予普通用户执行
  • sudo的操作对象是系统命令

sudo使用

  • visudo

#实际修改的是/etc/sudoers文件

root    ALL=(ALL)    ALL

#用户名 被管理的主机地址=(可使用的身份) 授权命令 (绝对路径)

# %whell    ALL=(ALL)    ALL

#%组名    被管理主机的地址=(可使用的身份)  授权命令  (绝对路径)

visudo

–     user1 ALL=/sbin/shutdown -r now

#授予用户重启权限

–     user1 ALL=/usr/bin/passwd

#授予用户设定密码的权限

su user1

sudo -l

#查看可用的sudo命令

sudo /sbin/shutdown -r now

#普通用户执行sudo赋予的命令

注意:

赋予修改密码时要排除root,可用下面的方式

user1    ALL=/usr/bin/passwd [A-Za-z]*, !/user/bin/passwd “”, !/usr/bin/passwd root

表示命令后不能有空和root字符出现

linux 中 ACL权限查看与设定

  • 查看ACL命令

getfacl 文件名

#查看acl权限

  • 设置ACL权限的命令

setfacl 选项 文件名

选项:

-m  设定ACL权限

-x  删除指定的ACL权限

-b  删除所有的ACL权限

-d  设定默认ACL权限

-k  删除默认ACL权限

-R  递归设定ACL权限

  • 给用户和用户组设定ACL权限

setfacl -m u:lw:rx av  (用户)

setfacl -m g:tgroup2:rwx /av (用户组)

 

linux ACL 权限开启

  • dumpe2fs -h /dev/sda5

#dumpe2fs命令是查询指定分区详细文件系统信息的命令

选项:

-h  仅显示超级块中信息,而不是显示磁盘块组的详细信息

  • mount -o remount,acl / (临时生效)

#重新挂载根分区,并挂载加入acl权限

  • vi /etc/fstab(永久生效)

UUID=c2ca6f57-b15c-43ea0bca0-fx3242342 / ext4

defaults,acl 1 1

#加入acl

mount -o remount /

#重新挂载文件系统,或重启系统,使修改生效

DNS 查询类型

  • 递归查询

要么做出查询成功响应,要么做出查询失败的响应。一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机

  • 迭代查询

服务器收到一次迭代查询回复一次结果,这个结果不一定时目标IP与域名的映射关系,也可以是其他DNS服务器的地址

  • 从查询内容上分

正向查询由域名查找IP地址

反向查询由IP地址查找域名