linux的sudo命令詳解
linux下的sudo命令以系統(tǒng)管理者的身份執(zhí)行指令,下面由學(xué)習(xí)啦小編為大家搜集整理了linux的sudo命令詳解的相關(guān)知識(shí),希望對(duì)大家有幫助!
linux的sudo命令詳解
Linux sudo命令以系統(tǒng)管理者的身份執(zhí)行指令,也就是說(shuō),經(jīng)由 sudo 所執(zhí)行的指令就好像是 root 親自執(zhí)行。
使用權(quán)限:在 /etc/sudoers 中有出現(xiàn)的使用者。
語(yǔ)法
sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command
參數(shù)說(shuō)明:
-V 顯示版本編號(hào)
-h 會(huì)顯示版本編號(hào)及指令的使用方式說(shuō)明
-l 顯示出自己(執(zhí)行 sudo 的使用者)的權(quán)限
-v 因?yàn)?sudo 在第一次執(zhí)行時(shí)或是在 N 分鐘內(nèi)沒(méi)有執(zhí)行(N 預(yù)設(shè)為五)會(huì)問(wèn)密碼,這個(gè)參數(shù)是重新做一次確認(rèn),如果超過(guò) N 分鐘,也會(huì)問(wèn)密碼
-k 將會(huì)強(qiáng)迫使用者在下一次執(zhí)行 sudo 時(shí)問(wèn)密碼(不論有沒(méi)有超過(guò) N 分鐘)
-b 將要執(zhí)行的指令放在背景執(zhí)行
-p prompt 可以更改問(wèn)密碼的提示語(yǔ),其中 %u 會(huì)代換為使用者的帳號(hào)名稱, %h 會(huì)顯示主機(jī)名稱
-u username/#uid 不加此參數(shù),代表要以 root 的身份執(zhí)行指令,而加了此參數(shù),可以以 username 的身份執(zhí)行指令(#uid 為該 username 的使用者號(hào)碼)
-s 執(zhí)行環(huán)境變數(shù)中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H 將環(huán)境變數(shù)中的 HOME (家目錄)指定為要變更身份的使用者家目錄(如不加 -u 參數(shù)就是系統(tǒng)管理者 root )
command 要以系統(tǒng)管理者身份(或以 -u 更改為其他人)執(zhí)行的指令
linux的sudo命令實(shí)例
sudo命令使用
$ sudo ls
[sudo] password for hnlinux:
hnlinux is not in the sudoers file. This incident will be reported.
指定用戶執(zhí)行命令
# sudo -u userb ls -l
顯示sudo設(shè)置
$ sudo -L //顯示sudo設(shè)置
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權(quán)限執(zhí)行上一條命令
$ sudo !!
以特定用戶身份進(jìn)行編輯文本
$ sudo -u uggc vi ~www/index.html
//以 uggc 用戶身份編輯 home 目錄下www目錄中的 index.html 文件
列出目前的權(quán)限
sudo -l
列出 sudo 的版本資訊
sudo -V