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はデフォルトで5分です)にパスワードを要求します。このパラメータは再度確認を行い、N分以上であればパスワードを要求します
  • -k 次回のsudo実行時(N分以上でない場合でも)パスワードを強制的に要求します
  • -b 実行するコマンドをバックグラウンドで実行します
  • -p prompt パスワード入力のプレースホルダを変更できます。εザー名、%h はホスト名を表示します
  • -u username/#uid このパラメータを指定しない場合、root としてコマンドを実行します。指定すると、username としてコマンドを実行できます(#uid は该 username のユーザーIDです)
  • -s 環境変数の SHELL で指定されたシェルを実行しますか、または /etc/passwd で指定されたシェル
  • -H 環境変数の HOME(ホームディレクトリ)を変更するユーザーのホームディレクトリに指定します(省略すると、 -u パラメータはシステム管理者 root )
  • command をシステム管理者として(または、 -u 他人(例えば其他人)が実行するコマンド

オンラインサンプル

sudoコマンドの使用方法

$ sudo ls
[sudo] hnlinux に対するパスワードを入力してください: 
hnlinux は sudoers ファイルに存在しません。この発生事例は報告されます。

指定用户执行命令

# 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の優先度
syslog_badpri: ユーザーが認証に失敗した場合に使用するsyslogの優先度
long_otp_prompt: OTPプロンプトを独自の行に置きます
ignore_dot: $PATHに'.(ピリオド)を無視します
mail_always: sudoが実行された場合に常にメールを送信します
mail_badpass: ユーザーの認証に失敗した場合にメールを送信します
mail_no_user: sudoersにユーザーがいない場合にメールを送信します
mail_no_host: このホストのsudoersにユーザーがいない場合にメールを送信します
mail_no_perms: ユーザーがコマンドを実行することを許可されていない場合にメールを送信します
tty_tickets: 各ユーザーごとに別のタイムスタンプを使用します/tty combo
lecture: sudoを実行する最初のタイムにユーザーに講義を行います
lecture_file: sudoの講義を含むファイル
authenticate: デフォルトでユーザーに認証を要求します
root_sudo: rootがsudoを実行できます
log_host: (非パーソナライズされた)ホスト名をログに記録します-syslog) ログファイル
log_year: (非パーソナライズされた)年をログに記録します-syslog) ログファイル
shell_noargs: sudoが引数なしで呼び出された場合、シェルを開始します
set_home: シェルを開始するときに$HOMEをターゲットユーザーに設定する -s
always_set_home: $HOMEをターゲットユーザーのホームディレクトリに常に設定する
path_info: 有益なエラーメッセージを提供するために一部の情報収集を許可する
fqdn: 完全に要求する-sudoersファイル中のクォリファイドホスト名
insults: 不正なパスワードを入力したときにユーザーを侮辱する
requiretty: ttyを持っている場合のみユーザーがsudoを実行できるようにする
env_editor: VisudoはEDITOR環境変数を尊重する
rootpw: ルートのパスワードを求める、ユーザーのものではない
runaspw: runas_defaultユーザーのパスワードを求める、ユーザーのものではない
targetpw: ターゲットユーザーのパスワードを求める、ユーザーのものではない
use_loginclass: ターゲットユーザーのログインクラスがあればデフォルトを適用する
set_logname: LOGNAMEおよびUSER環境変数を設定する
stay_setuid: 実際のUIDではなく、ターゲットユーザーの有効UIDのみを設定する
preserve_groups: グループベクターをターゲットユーザーのものに初期化しない
loglinelen: ログファイルの行を折り返す長さ(0で折り返しなし)
timestamp_timeout: 認証タイムスタンプのタイムアウト
passwd_timeout: パスワードプロンプトのタイムアウト
passwd_tries: パスワードを入力する試行回数
umask: 使用する umask または 0777 ユーザーのを使用する
logfile: ログファイルへのパス
mailerpath: メールプログラムへのパス
mailerflags: メールプログラムのフラグ
mailto: メールを送信先アドレス
mailfrom: メールを送信するアドレス
mailsub: メールメッセージの件名行
badpass_message: 不正なパスワードメッセージ
timestampdir: 認証タイムスタンプディレクトリへのパス
timestampowner: 認証タイムスタンプディレクトリの所有者
exempt_group: このグループのユーザーはパスワードおよびPATHの要件から免除されます
passprompt: デフォルトのパスワードプロンプト
passprompt_override: 設定された場合、passprompt はすべてのケースでシステムのプロンプトをオーバーライドします。
runas_default: コマンドを実行するデフォルトのユーザー
secure_path: ユーザーの $PATH をオーバーライドする値
editor: visudo が使用するエディタへのパス
listpw: 'list'疑似コマンドに対してパスワードを要求する時
verifypw: 'verify'疑似コマンドに対してパスワードを要求する時
noexec: 'noexec_file'に含まれるダミーのexec関数をプリロード
noexec_file: ダミーのexec関数を含むファイル
ignore_local_sudoers: LDAPディレクトリが起動している場合、ローカルのsudoersファイルを無視しますか
closefrom: コマンドを実行する前にファイルディスクリプタ >= %d が閉じられます
closefrom_override: 設定されている場合、ユーザーは `closefrom` の値をオーバーライドすることができます -Cオプション
setenv: ユーザーが任意の環境変数を設定することを許可
env_reset: 環境をデフォルトの変数セットにリセット
env_check: 理由を確認する環境変数
env_delete: 削除する環境変数
env_keep: 保存する環境変数
role: 新しいセキュリティコンテキストで使用するSELinuxロール
type: 新しいセキュリティコンテキストで使用するSELinuxタイプ
askpass: askpassヘルパープログラムのパス
env_file: sudoへのパス-特定の環境ファイル
sudoers_locale: sudoersを解析する際に使用するロケール
visiblepw: パスワードが表示される場合でも、sudoがパスワードを入力を求めることを許可します。
pwfeedback: パスワード入力がある場合、パスワード入力時の視覚的なフィードバックを提供します。
fast_glob: 正確さが低いがファイルシステムにアクセスしない高速なグロブを利用します。
umask_override: sudoersに指定されたumaskはユーザーのものを上書きします。許可範囲が広い場合でもです。

root権限で前の命令を実行

$ sudo !!

特定のユーザーとしてテキストを編集

$ sudo -u uggc vi ~www/index.html
//uggcユーザーとして home ディレクトリの www ディレクトリ内の index.html ファイルを編集

現在の権限を一覧表示

sudo -l

sudoのバージョン情報を一覧表示

sudo -V

Linux コマンド全書