未加星标

Linux下的十项实用“sudo”配置选项

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二05 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

Linux下的十项实用“sudo”配置选项

无论是linux还是其他类的UNIX系统,都只允许root用户运行全部命令并执行软件包的安装、更新、移除以及其他一些会对系统造成重要修改的特定操作。

然而,也有部分系统管理员允许其他用户正常使用sudo配置以运行此类重要命令并进行关键性系统操作。

也有一些系统管理员会共享root用户密码(这种作法并不推荐),这意味着普通系统用户也能够通过su命令访问root用户账户。另外,sudo也允许用户作为root(或者其他用户身份)执行命令,具体由安全策略指定:

读取并解析/etc/sudoers,查看调用用户及其权限。 而后提示该调用用户输入密码(通常为该用户的密码,也可为目标用户的密码,或者以NOPASSWD标签跳过此步骤)。 在此之后,sudo会创建一个名为setuid()的子进程,用以切换至该目标用户。 而后,它执行一条shell或者命令,并配合子进程中给定的参数。

以下为10个/etc/sudoers文件配置,能够对sudo命令的Defaults效果做出修改。

$sudocat/etc/sudoers /etc/sudoers文件 ##ThisfileMUSTbeedited with the 'visudo' command as root.##Pleaseconsideradding local content in /etc/sudoers.d/ instead of #directlymodifyingthisfile.##Seethemanpage for details on how to writeasudoersfile. #Defaults env_resetDefaults mail_badpassDefaults secure_path= "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" Defaults logfile= "/var/log/sudo.log" Defaultslecture= "always" Defaults badpass_message= "Passwordiswrong,pleasetryagain" Defaults passwd_tries=5DefaultsinsultsDefaultslog_input,log_output Defaults条目类型 Defaultsparameter,parameter_list#affect all users on any host [email protected]_Listparameter,parameter_list#affects all users on a specifichostDefaults:User_Listparameter,parameter_list#affectsa specific user Defaults!Cmnd_Listparameter,parameter_list#affectsa specificcommandDefaults>Runas_Listparameter,parameter_list#affects commandsbeingrun as aspecific user

在本指南之内,我们将首先讨论第一种Defaults类型。它的参数可以是标记、整数值、字符串或者列表。

需要注意的是,各标记为明确boolean且可利用'!'运算符进行关闭。另外,两项赋值运算符分别为+=(添加至列表)与-=(移除自列表)。

DefaultsparameterORDefaultsparameter=valueORDefaultsparameter-=valueDefaultsparameter+=valueORDefaults!parameter 1. 设置安全PATH

此为每一条命令配合sudo运行时所使用的路径,其中包含两项重点:

当系统管理员不信任sudo用户掌握安全PATH环境变量时使用。 用于划分root path与user path,用户通过exempt_group定义时不受此设置影响。

欲完成设置,请你添加以下行:

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" 2. 在TTY用户登录会话上启用sudo

用于通过真实tty调用sudo,而非使用cron或者cgi-bin脚本等方法:

Defaultsrequiretty 3.利用pty运行sudo命令

有时候,攻击者会利用sudo运行恶意程序(例如病毒或者恶意软件),它会在主程序停止执行后继续在用户终端设备上fork一个后台进程。

为了避免此类问题,大家可以利用use_pty参数配置sudo以要求它仅可通过psuedo-pty运行其他命令,而无论I/O记录是否开启:

Defaultsuse_pty 4.创建一个sudo日志文件

在默认情况下,sudo会通过syslog(3)进行日志记录。不过要指定特定日志文件,大家可以使用logfile参数:

Defaultslogfile="/var/log/sudo.log"

要在此定制日志文件中记录主机名称与四位数字年份,则可分别使用log_host与log_year参数:

Defaultslog_host,log_year,logfile="/var/log/sudo.log"

以下为定制sudo日志文件示例:


Linux下的十项实用“sudo”配置选项
5.记录sudo命令的输入/输出结果

我们可使用log_input与log_output参数使sudo得以在pseudo-tty中运行命令,同时分别记录全部用户的输入与输出结果。

默认I/O日志目录为/var/log/sudo-io,如果其中存在一条会话序列号,则将被存储在该目录中。大家可以通过iolog_dir参数指定您需要的目录。

Defaultslog_input,log_output

%{seq}等转义序列也受到支持,它会将序列号单调递增为base-36序列号,例如000001,其中每两位数字用于生成一个新的目录,如00/00/01。具体示例如下:

$cd/var/log/sudo-io/$ls$cd00/00/01$ls$catlog
Linux下的十项实用“sudo”配置选项
6.引导sudo用户

为了引导sudo用户在系统上使用密码,我们可以使用lecture参数。它可设定为三种值:

always 始终引导用户。 once 仅在用户初次执行sudo命令时进行引导(不指定值时默认为此设置)。 never 永远不引导用户。 Defaultslecture="always"

另外,大家也可以利用lecture_file参数设置一个定制lecture文件,在此文件中输入适当信息:

Defaultslecture_file="/path/to/file"
Linux下的十项实用“sudo”配置选项

Lecture Sudo Users

7.在输入错误sudo密码时显示定制信息

当用户输入错误密码时,可在命令行中显示特定信息。它的默认信息为“sorry,try again”,大家可以使用badpass_message参数对内容进行修改:

Defaultsbadpass_message="Passwordiswrong,pleasetryagain" 8.增加sudo密码尝试次数

参数passwd_tries用于指定用户能够尝试输入密码的次数。

它的默认值为3:

Defaultspasswd_tries=5
Linux下的十项实用“sudo”配置选项

要设置密码超时(默认为5分钟),可使用passwd_timeout参数,具体如下:

Defaultspasswd_timeout=2 9.当输入错误密码时,让sudo显示侮辱性内容

当用户输入错误密码时,sudo将通过insults参数显示侮辱性内容。它会自动关闭badpass_message参数。

Defaultsinsults
Linux下的十项实用“sudo”配置选项
10.了解更多sudo配置

另外,感兴趣的朋友也可以参阅以下链接来了解更多sudo命令配置选项: su与sudo间的区别以及如何在Linux中配置sudo (英文原文)。

原文标题:10 Useful Sudoers Configurations for Setting ‘sudo’ in Linux,作者:Aaron Kili

本文地址 : http://www.codesec.net/Linux/2017-02/140329.htm

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: Linux变量
分页:12
转载请注明
本文标题:Linux下的十项实用“sudo”配置选项
本站链接:http://www.codesec.net/view/530755.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(122)