文章目录
- 超凡脱俗的 sudo
- 语法
- 没有sudo权限的用户
- 指定用户执行命令
- 列出目前sudo的权限
- 使用sudo快速统计家目录的使用情况
- 更多信息
超凡脱俗的 sudo
Linux sudo
命令以系统管理者的身份执行指令,也就是说,经由 sudo
所执行的指令就好像是 root 亲自执行。
如果希望可以执行这个命令,需要管理员在文件 /etc/sudoers 中增加权限即可。
官方的定义为:
execute a command as another user
语法
$ sudo [ option ] command
参数说明:
-l
或--list
:显示出自己(执行 sudo 的使用者)的权限-k
将会强迫使用者在下一次执行sudo
时问密码(不论有没有超过 N 分钟)-b
将要执行的指令放在后台执行-p prompt
可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称-u username/uid
不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(uid 为该 username 的使用者号码)-s
执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell-H
将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加-u
参数就是系统管理者 root )command
要以系统管理者身份(或以-u
更改为其他人)执行的指令
没有sudo权限的用户
如果没有sudo
权限,在执行命令的时候还有下面👇的输出:
$ sudo ls
[sudo] password for username:
username is not in the sudoers file. This incident will be reported.
指定用户执行命令
这个的应用场景为,其他用户在登录,而你具有sudo权限,测试可以通过指定用户名来操作。
$ sudo -u username ls -l
列出目前sudo的权限
如果不清楚,可以执行那些命令,可以通过参数-l来查看,主要看在sudoer里面的修改。
$ sudo -l
Password:
Matching Defaults entries for user on localhost:!visiblepw, always_set_home, match_group_by_gid, env_reset, env_keep="COLORS DISPLAYHOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESSLC_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_ALLLANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/binUser user may run the following commands on localhost:(ALL) ALL
以root权限执行上一条命令
使用sudo快速统计家目录的使用情况
$ sudo sh -c "cd /home ; du -s * | sort -rn "
15013524344 user1
1170974156 user2
139238772 user3
1382673532 user4
41071068 user5
3523056 user6
更多信息
Hi,XDJM们,更多信息欢迎移步我的主页、CSDN或微信公众号letsProgramming.
- 🐱 github
- 🏠 Homepage https://shaoguangleo.github.io
- CSDN CSDN http://blog.csdn.net/shaoguangleo
- 微信公众号:letsProgramming