English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux sudo命令

大全命令 Linux

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 可以更改问密码的提示语,其中 샫为使用者的帐号名称, %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: Définir $HOME à l'utilisateur cible lors du lancement d'un shell avec -s
always_set_home: Définir toujours $HOME au répertoire personnel de l'utilisateur cible
path_info: Autoriser une collecte d'informations pour fournir des messages d'erreur utiles
fqdn: Exiger un nom de domaine complet-noms d'hôtes qualifiés dans le fichier sudoers
insults: Insulter l'utilisateur lorsqu'ils saisissent un mot de passe incorrect
requiretty: Autoriser l'utilisateur à exécuter sudo uniquement s'ils ont un tty
env_editor: Visudo respectera la variable d'environnement EDITOR
rootpw: Demander le mot de passe du root, pas celui des utilisateurs
runaspw: Demander le mot de passe de l'utilisateur runas_default, pas celui des utilisateurs
targetpw: Demander le mot de passe de l'utilisateur cible, pas celui des utilisateurs
use_loginclass: Appliquer les valeurs par défaut dans la classe de connexion de l'utilisateur cible, s'il y en a une
set_logname: Définir les variables d'environnement LOGNAME et USER
stay_setuid: Ne définir que l'uid effectif sur l'utilisateur cible, pas l'uid réel
preserve_groups: Ne pas initialiser le vecteur de groupe à celui de l'utilisateur cible
loglinelen: Longueur à laquelle envelopper les lignes du fichier de journal (0 pour sans enveloppe)
timestamp_timeout: Délai d'expiration du timestamp d'authentification
passwd_timeout: Délai d'expiration de l'invite de mot de passe
passwd_tries: Nombre d'essais pour entrer un mot de passe
umask: Umask à utiliser ou 0777 Pour utiliser l'utilisateur
logfile: Chemin du fichier de journal
mailerpath: Chemin du programme de courrier
mailerflags: Drapeaux pour le programme de courrier
mailto: Adresse à laquelle envoyer le courrier
mailfrom: Adresse à partir de laquelle envoyer le courrier
mailsub: Ligne d'objet pour les messages de courrier
badpass_message: Message d'erreur pour mot de passe incorrect
timestampdir: Chemin du répertoire de timestamp d'authentification
timestampowner: Propriétaire du répertoire de timestamp d'authentification
exempt_group: Les utilisateurs de ce groupe sont exemptés des exigences de mot de passe et de PATH
passprompt: Invite par défaut pour le mot de passe
passprompt_override: Si défini, passprompt remplacera l'invite système dans tous les cas.
runas_default: Utilisateur par défaut pour exécuter les commandes
secure_path: Valeur pour remplacer $PATH de l'utilisateur
editor: Chemin de l'éditeur pour utilisation par visudo
listpw: Quand exiger un mot de passe pour le pseudocommande 'list'
verifypw: Quand exiger un mot de passe pour le pseudocommande 'verify'
noexec: Précharger les fonctions d'exécution factices contenues dans 'noexec_file'
noexec_file: Fichier contenant des fonctions d'exécution factices
ignore_local_sudoers: Si le répertoire LDAP est en ligne, devons-nous ignorer le fichier sudoers local
closefrom: Les descripteurs de fichiers >= %d seront fermés avant l'exécution d'une commande
closefrom_override: Si activé, les utilisateurs peuvent remplacer la valeur de `closefrom` avec -option C
setenv: Permettre aux utilisateurs de définir des variables d'environnement arbitraires
env_reset: Réinitialiser l'environnement à un ensemble de variables par défaut
env_check: Variables d'environnement à vérifier pour la santé
env_delete: Variables d'environnement à supprimer
env_keep: Variables d'environnement à conserver
role: Rôle SELinux à utiliser dans le nouveau contexte de sécurité
type: Type SELinux à utiliser dans le nouveau contexte de sécurité
askpass: Chemin vers le programme d'assistance askpass
env_file: Chemin vers sudo-fichier d'environnement spécifique
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
//编辑文件 index.html 目录 www 下 home 用户身份 uggc

权限目前列出

sudo -l

资讯版本列出 sudo

sudo -V

大全命令 Linux