- su: Substitute User
- sudo: Superuser/Substitute do
- 使用 visudo 命令编辑 /etc/sudoers
- This file MUST be edited with the ‘visudo’ command as root.
- Please consider adding local content in /etc/sudoers.d/ instead of
- directly modifying this file.
- See the man page for details on how to write a sudoers file.
- Host alias specification
- User alias specification
- Cmnd alias specification
- User privilege specification
- Members of the admin group may gain root privileges
- Allow members of group sudo to execute any command
- See sudoers(5) for more information on “#include” directives:
- includedir /etc/sudoers.d
su: Substitute User
Options & Arguments
$ su [options] [-[l]] [user [argument...]]
- If the user is not specified, the superuser is assumed.
| Option | Long Option | Description |
| —- | —- | —- |
| -l
or
- | —login | Start the shell as a login shell with an environment similar to a real login:
- clears all the environment variables except TERM and variables specified by —whitelist-envi‐ronment
- initializes the environment variables HOME, SHELL, USER, LOGNAME, and PATH
- changes to the target user’s home directory
- sets argv[0] of the shell to ‘-‘ in order to make the shell a login shell
| | -c | —command=command | Execute a single command rather than starting a new interactive command. |
Examples
sudo: Superuser/Substitute do
Options & Arguments
$sudo [OPTION]... [-g GROUP] [-u USER] [command]
- If the USER is not specified, the superuser is assumed.
| Option | Long Option | Description |
| —- | —- | —- |
| -l | —list |
- If no command is specified, list the allowed (and forbidden) commands for the invoking user (or the user specified by the -U option) on the current host. A longer list format is used if this option is specified multiple times and the security policy supports a verbose output format.
- If a command is specified
- and is permitted by the security policy, the fully-qualified path to the command is displayed along with any command line arguments.
- If a command is specified but not allowed by the policy, sudo will exit with a status value of 1.
| | -i | —login | Run the shell specified by the target user’s password database entry as a login shell. |
sudo troubleshooting(Ubuntu)
当前用户不在 admin/sudo group
adduser ronnie sudo# oradduser ronnie admin
/ect/sudoers 文件权限错误
chmod 440 /etc/sudoers
/ect/sudoers 内容错误 ```bash
使用 visudo 命令编辑 /etc/sudoers
visudo /etc/sudoers
👇正确的内容👇
#
This file MUST be edited with the ‘visudo’ command as root.
#
Please consider adding local content in /etc/sudoers.d/ instead of
directly modifying this file.
#
See the man page for details on how to write a sudoers file.
# Defaults env_reset Defaults secure_path=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin”
Host alias specification
User alias specification
Cmnd alias specification
User privilege specification
root ALL=(ALL:ALL) ALL
Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
See sudoers(5) for more information on “#include” directives:
includedir /etc/sudoers.d
```
