Linux 基础命令 -- sudo

命令介绍

命令:sudo 系统管理者的身份执行指令

用法:

  • sudo -h | -K | -k | -V
  • usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
  • usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
  • usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] [VAR=value] [-i|-s] []
  • usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] file …

命令选项

[root@fp-21 ~]# sudo  --help

Options:
  -A, --askpass                 # 使用帮助程序提供密码
  -b, --background              # 在后台运行命令
  -E, --preserve-env            # 运行命令时保留用户环境
      --preserve-env=list       # 保留特定环境变量
  -e, --edit                    # 编辑文件
  -g, --group=group             # 指定的组名或ID运行命令
  -H, --set-home                # 将 HOME 变量设置为用户的家目录
  -h, --help                    # 帮助文档
  -h, --host=host               # 在主机上运行命令
  -i, --login                   # 以目标用户身份运行登录shell
  -K, --remove-timestamp        # 完全删除时间戳文件
  -k, --reset-timestamp         # 使时间戳文件失效
  -l, --list                    # 列出用户权限或检查特定命令
  -n, --non-interactive         # 非交互模式
  -P, --preserve-groups         # 保留组向量而不是设置为目标的
  -p, --prompt=prompt           # 使用指定的密码提示
  -r, --role=role               # 使用指定的角色创建SELinux安全上下文
  -S, --stdin                   # 从标准输入(默认键盘)读取密码
  -s, --shell                   # 以目标用户身份运行shell
  -t, --type=type               # 使用指定类型创建SELinux安全上下文
  -T, --command-timeout=timeout # 指定时间限制后终止命令
  -U, --other-user=user         # 列表模式下的用户,用户的显示权限
  -u, --user=user               # 用户运行命令(或编辑文件)作为指定的用户名或ID
  -V, --version                 # 版本信息

命令实例

# 普通用户访问文件
[jack@fp-21 ~]$ vim /etc/shadow
……                              
"/etc/shadow" [Permission Denied] 

[jack@fp-21 ~]$ sudo vim /etc/shadow
root:$6$pDOdeLDhENVJTmqZ$X/l9NjdDFJ0qi06JpZZZ9msGmZtMS1yiF1KGlPWcsyARzZuHjtkeaoPyGhmjQ31WN.HSC4/KhK0HI5.IzaTOd.::0:99999:7:::
……

# 用户运行命令(或编辑文件)作为指定的用户名或ID
[jack@fp-21 ~]$ sudo -u tom mkdir /tmp/test_d
[jack@fp-21 ~]$ ll /tmp/ |grep test_d
drwxr-xr-x. 2 tom  tom   6 Feb 17 05:59 test_d

# 列出用户权限或检查特定命令
[jack@fp-21 ~]$ sudo -l
Matching Defaults entries for jack on fp-21:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME
    HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
    LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User jack may run the following commands on fp-21:
    (ALL) NOPASSWD: ALL

注:

想要使用 sudo 命令,需要先将用户添加到配置文件中,我这里使 jack,添加到最后一行

[root@fp-21 ~]# visudo
……
jack    ALL=(ALL)       NOPASSWD: ALL

保存退出,即可

[jack@fp-21 ~]$ sudo -l
Matching Defaults entries for jack on fp-21:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME
    HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
    LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User jack may run the following commands on fp-21:
    (ALL) NOPASSWD: ALL

link 查看 Linux 基础命令

只有注入思想的博客才是好的博客

发布了25 篇原创文章 · 获赞 118 · 访问量 4210

猜你喜欢

转载自blog.csdn.net/xtlhxl/article/details/104347415