Linux sudo命令用法详解:系统权限管理

1、命令存在的意义为了避免su命令带来的一系列问题,如:仅仅为了一个特权操作就直接赋予普通用户控制系统的完整权限;当多人使用同一台主机时,如果大家都要使用 su 命令切换到 root 身份,那势必就需要 root 的密码,这就导致很多人都知道 root的密码;相对于使用 su 命令还需要新切换用户的密码,sudo 命令的运行只需要知道自己的密码即可,甚至于我们可以通过手动修改 sudo...
摘要由CSDN通过智能技术生成

1、命令存在的意义

为了避免su命令带来的一系列问题,如:

  • 仅仅为了一个特权操作就直接赋予普通用户控制系统的完整权限;
  • 当多人使用同一台主机时,如果大家都要使用 su 命令切换到 root 身份,那势必就需要 root 的密码,这就导致很多人都知道 root的密码;

相对于使用 su 命令还需要新切换用户的密码,sudo 命令的运行只需要知道自己的密码即可,甚至于我们可以通过手动修改 sudo 的配置文件,使其无需任何密码即可运行。

2、命令格式

[root@localhost ~]# sudo [-b] [-u 新使用者账号] 要执行的命令

3、选项

  • -b :将后续的命令放到背景中让系统自行运行,不对当前的 shell 环境产生影响。
  • -u :后面可以接欲切换的用户名,若无此项则代表切换身份为 root 。
  • -l:此选项的用法为 sudo -l,用于显示当前用户可以用 sudo 执行那些命令。

4、举例

例1:

[root@localhost ~]#  grep sshd /etc/passwd
sshd:x:74:74:privilege-separated SSH:/var/empty/sshd:/sbin.nologin
[root@localhost ~]#  sudo -u sshd touch /tmp/mysshd
[root@localhost ~]#  ll /tmp/mysshd
-rw-r--r-- 1 sshd sshd 0 Feb 28 17:42 /tmp/mysshd

本例中,无法使用 su - sshd 的方式成功切换到 sshd 账户中,因为此用户的默认 Shell 是/sbin/nologin。这时就显现出 sudo 的优势,我们可以使用 sudo 以 sshd 的身份在 /tmp 目录下创建 mysshd 文件,可以看到,新创建的 mysshd 文件的所有者确实是 sshd。

5、sudo命令的配置文件/etc/sudoers

5.1 sudo 命令的执行过程:

  • 当用户运行 sudo 命令时,系统会先通过 /etc/sudoers 文件,验证该用户是否有运行 sudo 的权限;
  • 确定用户具有使用 sudo 命令的权限后,还要让用户输入自己的密码进行确认。出于对系统安全性的考虑,如果用户在默认时间内(默认是 5
    分钟)不使用 sudo 命令,此后使用时需要再次输入密码;
  • 密码输入成功后,才会执行 sudo 命令后接的命令。

5.2 修改配置文件

由于修改这个文件要遵循一定的语法规则,所以修改时采用visudo命令:

[root@localhost ~]# visudo
…省略部分输出…
root ALL=(ALL) ALL  <--大约 76 行的位置
# %wheel ALL=(ALL) ALL   <--大约84行的位置
#这两行是系统为我们提供的模板,我们参照它写自己的就可以了
…省略部分输出…

含义

root ALL=(ALL) ALL
#用户名 被管理主机的地址&#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值