|
ECS Linux服务器下合理使用su和sudo的方法
发布日期:2016-1-11 16:1:18
绝大多数服务器出于安全考虑一般都禁止使用root账户登录系统,一般都是通过普通用户远程连接到服务器然后使用su命令切换到root执行一些需超级权限的工作,但这样的操作流程也会存在不安全因素,若系统有多个普通用户,每个用户都需执行一些需root权限的操作,若都使用su的话,那么root账号的密码就需告诉所有的普通用户,这在一定程度上会对系统造成一些不安全的因素,此时sudo命令就能派上用场了。 Sudo命令的使用流程是:将当前用户切换到root或者其他指定的用户下,然后以root或其他指定的用户身份执行命令,命令执行完成后,退回到当前用户下,以上操作可通过配置/etc/sudoers文件来进行。例如普通用户test是无法访问/etc/passwd: 若要让test可访问到这个文件,则在/etc/sudoers添加如下内容: test ALL = /bin/more /etc/passwd 这样就能在test用户下输入test的密码就可执行sudo cat /etc/shadow操作了 在这里sudo使用时间戳文件进行类似的检票功能,当用户输入密码后会得到5分钟的操作时间(默认值可以在编译的时候更改),超时之后必须重新输入密码才可以继续操作。这样一来就会让某些调用root权限的程序或者脚本出现问题,此时可通过下面的设置让普通用户无需重复输入密码执行具有root权限的程序,例如要让test用户拥有重启/etc/init.d/nginx的权限,可在/etc/sudoers添加如下配置: test ALL = NOPASSWD: /etc/init.d/nginx start 然后在test用户下就可无需输入密码启动nginx了: 另外,可通过在/etc/sudoers文件中添加如下配置使得test用户具有root用户的所有权限而不必输入root用户的密码: test ALL=(ALL) NOPASSWD: ALL 这样在test用户登录系统后,就可通过执行如下命令切换到root用户: 当然sudo的详细配置及用法并不止以上这些,用户可通过搜索引擎寻找更为详细的使用方法,这里只是推荐客户使用sudo 来管理系统账号的安全,也是多用户系统下账号安全管理的基本方式。
|