Linux 服务器下如何合理使用 su 和 sudo

赞赏 2016-07-12

绝大多数服务器出于安全考虑一般都禁止了使用 root 账户登录系统,一般都是通过普通用户远程连接到服务器后,再使用 su 命令切换到 root 执行一些需要超级权限的工作。 但是这样的操作流程也会存在不安全因素,如果系统有多个普通用户,每个用户都需要执行一些需要 root 权限的操作,如果都使用 su 的话,那么 root 账号的密码就需要告诉所有的普通用户,这在一定程度上会对系统造成一些不安全的因素,此时 sudo 命令就能派上用场了。


注: debian 系统默认没有安装 sudo,需要使用如下命令先进行安装

apt-get install sudo

 

命令使用


sudo命令的使用流程是:

将当前用户切换到 root 或者其他指定的用户下,然后以 root 或者其他指定的用户身份执行命令.命令执行完成后,退回到当前用户下.

以上操作可以通过配置 /etc/sudoers 文件来进行。例如普通用户 test 是无法访问 /etc/passwd 的:

1.JPG

如果要让 test 可以访问到这个文件,则在 /etc/sudoers 添加如下内容:

test     ALL = /bin/more  /etc/passwd

这样就能在 test 用户下输入 test 的密码就可以执行 sudo  cat  /etc/shadow 操作了

2.JPG

sudo 使用时间戳文件进行类似的校验功能。当用户输入密码后会得到 分钟的操作时间(默认值可以在编译的时候更改),超时之后必须重新输入密码才可以继续操作。这样一来就会让某些调用 root 权限的程序或者脚本出现问题,此时可以通过下面的设置让普通用户无需重复输入密码执行具有 root 权限的程序,例如要让 test 用户拥有重启 /etc/init.d/nginx 的权限,可以在 /etc/sudoers 添加如下配置:

 test  ALL = NOPASSWD: /etc/init.d/nginx start

然后在 test 用户下就可以无需输入密码启动 nginx 了:

3.JPG

另外,可以通过在 /etc/sudoers 文件中添加如下配置使得 test 用户具有 root 用户的所有权限而不必输入 root 用户的密码:

test  ALL=(ALL) NOPASSWD: ALL

这样在 test 用户登录系统后,就可以通过执行如下命令切换到 root 用户:

4.JPG

更多关于 sudo 的用法,可以参阅其 man 手册或操作系统官方文档。

登陆后阅读全文
阅读 1193 赞赏 0 有用 0 没用 1 收藏 0 分享

   



0 条留言

linux分享的头像

linux分享

每个软件都有确定的用途

相关文章

阿里云·业务运营团队内部的前端构建和工程化工具 Dawn开源

阿里云云盾扫描服务器的的IP段有哪些?

阿里云云盾扫描服务器的的IP段有哪些?

安全组设置允许SSH登录到 Linux 实例

Linux 流控原理,实现,及实例

Linux 如何使用 kpartx 命令读取分区表信息

云服务器 ECS Linux /tmp 目录文件是如何做到定期清理的?

Linux Web 环境配置站点的方法

Linux 内核配置问题导致 NAT 环境访问异常

Linux Mac Window网络异常时如何抓包?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

我是如何执行 "rm -rf ~" 的

正态分布为什么常见?(财富的分布却不符合正态分布)

Linux下窗口管理器 xmonad 的使用教程

用披萨做比喻来解释 IaaS,PaaS,SaaS 的区别

如何制作CSR(证书私钥和证书请求文件)文件?

php RedisException with message read error on connection

Windows环境下ping丢包或不通时链路测试工具推荐

Linux下ping丢包或不通时链路测试工具推荐

链路测试结果分析说明及常见链路异常场景和测试报告

SSH 登录时出现如下错误:login: Module is unknown

手机扫一扫
分享文章