首页 » su/sudo - 切换用户

su命令切换用户:

$ su -

切换到root。-的目的是跳转到root的登录shell(没有 - 则直接让root停留在当前shell)。

sudo

sudo命令,操作只有管理员才能操作的命令。 例如普通用户没有执行tcpdump命令的权限:

$ tcpdump -i eth0     

tcpdump: socket: Operation not permitted

提示没有权限。可以通过root用户修改/etc/sudoers文件,赋予权限:

bailing ALL=(ALL) /usr/sbin/tcpdump             # 运行 sudo 时需要用户密码
bailing ALL=(ALL) NOPASSWD:/usr/sbin/tcpdump    # 运行 sudo 时无需密码

要使普通用户可以执行root才能执行的所有命令,可以添加如:

bailing ALL=(ALL) NOPASSWD: ALL

以上有三个ALL,

  1. ALL=指网络中的主机。
  2. (ALL)指目标用户,即以谁的身份去执行命令。
  3. ALL指命令名,ALL表示所有命令。

修改/etc/sudoers后,普通用户可以用sudo执行tcpdump命令:

$ sudo tcpdump -i eth0

列举当前用户,可以执行的sudo命令:

$ sudo -l

User bailing may run the following commands on this host:
    (ALL) /usr/sbin/tcpdump

分享

0