CentOS7--su和sudo

Posted 头痛不头痛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7--su和sudo相关的知识,希望对你有一定的参考价值。

   在某些情况下, root用户身份访问系统有潜在危险,并可能导致系统和数据损害。我们可以用setuid程序,例如su和sudo解决。

su命令

[[email protected] ~]$ su - root

  一旦在使用su命令登录root,用户获取了系统的绝对管理权限

只允许特定用户使用该su命令

要做到这一点,编辑插入式验证模块为(PAM)配置文件/etc/pam.d/su 在文本编辑器中打开该文件,取消注释:

#auth           required        pam_wheel.so use_uid

 将用户添加到名为wheel的特殊管理组 

usermod -a -G wheel username

  

sudo命令

只有/etc/sudoers配置文件中列出的用户才可以使用该sudo命令,命令在用户的 shell中执行,而不是在rootshell中执行。这意味着root可以完全禁用shell。

sudo ls /root

  每个使用该sudo命令的成功身份验证都会记录到/var/log/messages,并将的用户和发出的命令记录到文件/var/log/secure中

/var/log/secure

Nov  7 17:09:49 app-01 sudo:    root : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=/bin/ls /root/

如果需要额外的日志记录,请使用该pam_tty_audit模块为指定用户启用TTY审计,方法是将以下行添加到/etc/pam.d/system-auth文件中:

session required pam_tty_audit.so disable=pattern enable=pattern

其中pattern表示逗号分隔的用户列表,以下配置将启用root用户的TTY审计,并禁用所有其他用户

session required pam_tty_audit.so disable=* enable=root

权限管理

要赋予某人完全的管理权限

用visudo命令编辑/etc/sudoers

juan ALL =(ALL)ALL      #允许juan使用sudo执行任何命令

赋予部分管理权限

%users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom  #允许users组中的成员执行执行的挂载磁盘命令

 不需要输入sudo密码执行一组命令

Cmnd_Alias SYS_BACKUP = /bin/su - root -c /usr/locale/sbin/sys_backup.sh,/mnt/cdrom
insmsop1 ALL=(ALL)     NOPASSWD: SYS_BACKUP 

配置sudo记录密码的时间

sudo将密码保存五分钟的超时时间。在此期间对该命令的任何后续使用都不会提示用户输入密码。添加下面的一行将修改时间

Defaults    timestamp_timeout=value    #value=0,每次sudo都需要输入密码

 如果某个帐户遭到入侵,攻击者可以使用以下sudo管理权限打开一个新的shell:

sudo /bin/bash  #绕过/etc/sudoers文件中指定的超时时间,并且永远不要求攻击者sudo再次输入密码

  

 

 

 

 

以上是关于CentOS7--su和sudo的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序代码片段

python 一个sudo代码块,可以显示TouchDesigner扩展的首选格式和文档字符串文档的示例。

是否可以动态编译和执行 C# 代码片段?

如何在 Javadoc 中使用 @ 和 符号格式化代码片段?

为啥此代码片段返回意外结果?

优化 C# 代码片段、ObservableCollection 和 AddRange