Linux sudo命令详解 Linux sudo命令怎么用

Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

使用权限:在 /etc/sudoers 中有出现的使用者。

语法

sudo -V

sudo -h

sudo -l

sudo -v

sudo -k

sudo -s

sudo -H

sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s

sudo command

参数说明:

  • -V 显示版本编号
  • -h 会显示版本编号及指令的使用方式说明
  • -l 显示出自己(执行 sudo 的使用者)的权限
  • -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
  • -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 ls

[sudo] password for hnlinux:

hnlinux is not in the sudoers file. This incident will be reported.

指定用户执行命令

# sudo -u userb ls -l

显示sudo设置

$ sudo -L //显示sudo设置

Available options in a sudoers ``Defaults'' line:

syslog: Syslog facility if syslog is being used for logging

syslog_goodpri: Syslog priority to use when user authenticates successfully

syslog_badpri: Syslog priority to use when user authenticates unsuccessfully

long_otp_prompt: Put OTP prompt on its own line

ignore_dot: Ignore '.' in $PATH

mail_always: Always send mail when sudo is run

mail_badpass: Send mail if user authentication fails

mail_no_user: Send mail if the user is not in sudoers

mail_no_host: Send mail if the user is not in sudoers for this host

mail_no_perms: Send mail if the user is not allowed to run a command

tty_tickets: Use a separate timestamp for each user/tty combo

lecture: Lecture user the first time they run sudo

lecture_file: File containing the sudo lecture

authenticate: Require users to authenticate by default

root_sudo: Root may run sudo

log_host: Log the hostname in the (non-syslog) log file

log_year: Log the year in the (non-syslog) log file

shell_noargs: If sudo is invoked with no arguments, start a shell

set_home: Set $HOME to the target user when starting a shell with -s

always_set_home: Always set $HOME to the target user's home directory

path_info: Allow some information gathering to give useful error messages

fqdn: Require fully-qualified hostnames in the sudoers file

insults: Insult the user when they enter an incorrect password

requiretty: Only allow the user to run sudo if they have a tty

env_editor: Visudo will honor the EDITOR environment variable

rootpw: Prompt for root's password, not the users's

runaspw: Prompt for the runas_default user's password, not the users's

targetpw: Prompt for the target user's password, not the users's

use_loginclass: Apply defaults in the target user's login class if there is one

set_logname: Set the LOGNAME and USER environment variables

stay_setuid: Only set the effective uid to the target user, not the real uid

preserve_groups: Don't initialize the group vector to that of the target user

loglinelen: Length at which to wrap log file lines (0 for no wrap)

timestamp_timeout: Authentication timestamp timeout

passwd_timeout: Password prompt timeout

passwd_tries: Number of tries to enter a password

umask: Umask to use or 0777 to use user's

logfile: Path to log file

mailerpath: Path to mail program

mailerflags: Flags for mail program

mailto: Address to send mail to

mailfrom: Address to send mail from

mailsub: Subject line for mail messages

badpass_message: Incorrect password message

timestampdir: Path to authentication timestamp dir

timestampowner: Owner of the authentication timestamp dir

exempt_group: Users in this group are exempt from password and PATH requirements

passprompt: Default password prompt

passprompt_override: If set, passprompt will override system prompt in all cases.

runas_default: Default user to run commands as

secure_path: Value to override user's $PATH with

editor: Path to the editor for use by visudo

listpw: When to require a password for 'list' pseudocommand

verifypw: When to require a password for 'verify' pseudocommand

noexec: Preload the dummy exec functions contained in 'noexec_file'

noexec_file: File containing dummy exec functions

ignore_local_sudoers: If LDAP directory is up, do we ignore local sudoers file

closefrom: File descriptors >= %d will be closed before executing a command

closefrom_override: If set, users may override the value of `closefrom' with the -C option

setenv: Allow users to set arbitrary environment variables

env_reset: Reset the environment to a default set of variables

env_check: Environment variables to check for sanity

env_delete: Environment variables to remove

env_keep: Environment variables to preserve

role: SELinux role to use in the new security context

type: SELinux type to use in the new security context

askpass: Path to the askpass helper program

env_file: Path to the sudo-specific environment file

sudoers_locale: Locale to use while parsing sudoers

visiblepw: Allow sudo to prompt for a password even if it would be visisble

pwfeedback: Provide visual feedback at the password prompt when there is user input

fast_glob: Use faster globbing that is less accurate but does not access the filesystem

umask_override: The umask specified in sudoers will override the user's, even if it is

more permissive

以root权限执行上一条命令

$ sudo !!

以特定用户身份进行编辑文本

$ sudo -u uggc vi ~www/index.html

//以 uggc 用户身份编辑 home 目录下www目录中的 index.html 文件

列出目前的权限

sudo -l

列出 sudo 的版本资讯

sudo -V

时间: 2024-10-25 15:35:57

Linux sudo命令详解 Linux sudo命令怎么用的相关文章

Linux cd命令详解 Linux cd命令怎么用

其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录). 另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录. 语法 cd [dirName] dirName:要切换的目标目录. 实例 跳到 /usr/bin/ : cd /usr/bin 跳到自己的 home 目录 : cd ~ 跳到目前目录

Linux ftp命令详解 Linux ftp命令怎么用

FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身. 语法 ftp [-dignv][主机名称或IP地址] 参数: -d 详细显示指令执行过程,便于排错或分析程序执行的情形. -i 关闭互动模式,不询问任何问题. -g 关闭本地主机文件名称支持特殊字符的扩充特性. -n 不使用自动登陆. -v 显示指令执行过程. 实例 例如使用ftp命令匿名登录ftp.kernel.org服务器,该服务是Linux 内核的官方服务器,可以使用如下命令: ftp ftp.kernel.

Linux zipinfo命令详解 Linux zipinfo命令怎么用

pnux zipinfo命令用于列出压缩文件信息,执行zipinfo指令可得知zip压缩文件的详细信息. 语法 zipinfo [-12hlmMstTvz][压缩文件][文件...][-x <范本样式>] 参数: -1 只列出文件名称. -2 此参数的效果和指定"-1"参数类似,但可搭配"-h","-t"和"-z"参数使用. -h 只列出压缩文件的文件名称. -l 此参数的效果和指定"-m"参数

Linux rm命令详解 Linux rm命令怎么用

Linux rm命令用于删除一个文件或者目录. 语法 rm [options] name... 参数: -i 删除前逐一询问确认. -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认. -r 将目录及以下之档案亦逐一删除. 实例 删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如: # rm  test.txt  rm:是否删除 一般文件 "test.txt"? y   # rm  homework   rm: 无法删除目录"home

Linux touch命令详解 Linux touch命令怎么用

Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间.若文件不存在,系统会建立一个新的文件. ls -l 可以显示档案的时间记录. 语法 touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help] [--version][文件或目录-] 参数说明: a 改变档案的读取时间记录. m 改变档案的修改时间记录. c 假如目的档案不存在,不会建立新的档案.与 --no-create 的效果一样.

Linux cp命令详解 Linux cp命令怎么用

Linux cp命令主要用于复制文件或目录. 语法 cp [options] source dest 或 cp [options] source... directory 参数说明: -a:此选项通常在复制目录时使用,它保留链接.文件属性,并复制目录下的所有内容.其作用等于dpR参数组合. -d:复制时保留链接.这里所说的链接相当于Windows系统中的快捷方式. -f:覆盖已经存在的目标文件而不给出提示. -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y&quo

Linux more命令详解 Linux more命令怎么用

more最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h .  语法 more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 参数: -num 一次显示的行数 -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h

Linux zip命令详解 Linux zip命令怎么用

zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件. 语法 zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>] 参数: -A 调整可执行的自动解压缩文件. -b<工作目录> 指定暂时存放

Linux dumpkeys命令详解 Linux dumpkeys命令怎么用

Linux dumpkeys命令用于显示键盘映射表,输出的内容可以被loadkeys命令识别,改变映射关系. 语法 dumpkey[选择参数] 参数说明: -i 驱动信息(键码范围.数量.状态键) -l 详细驱动信息 -n 十六进制显示 -f 显示全部信息 -1 分行显示按键组合 -S 设定输出格式(0:预设 1:完整 2:分行 3简单) --funcs-only 功能键信息 --keys-only 键组合信息 --compose-only 普通键信息 实例 显示功能键信息 # dumpkeys

Linux mv命令详解 Linux mv命令怎么用

语法 mv [options] source dest mv [options] source... directory 参数说明: -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件; -f: 在mv操作要覆盖某已有的目标文件时不给任何指示; mv参数设置与运行结果 命令格式 运行结果 mv  文件名   文件名 将源文件名改为目标文件名 mv  文件名   目录名 将文件移动到目标目录 mv  目录名   目录名 目标目录已存在,将源目录移动到目标目录:目标目录不存在则改名 mv  目录