Sudo-1.9.15p4

Sudo の概要

Sudo パッケージは、システム管理者が利用する機能として、特定のユーザー (あるいはユーザーグループ) が特定のコマンド (あるいはすべてのコマンド) を root ユーザーとして、あるいは他のユーザーとしてコマンド実行ができるようにする機能を提供します。

[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

  • ダウンロード (HTTP): https://www.sudo.ws/dist/sudo-1.9.15p4.tar.gz

  • ダウンロード MD5 sum: 5403f4dad2d533f8576c8a6d3eae5cfd

  • ダウンロードサイズ: 5.1 MB

  • 必要ディスク容量: 53 MB (add 19 MB for tests)

  • 概算ビルド時間: 0.2 SBU (with parallelism=4; add 0.1 SBU for tests)

Sudo の依存パッケージ

任意

Linux-PAM-1.5.3, MIT Kerberos V5-1.21.2, OpenLDAP-2.6.6, MTA (that provides a sendmail command), AFS, libaudit, Opie, and Sssd

Sudo のインストール

以下のコマンドを実行して sudo をビルドします。

./configure --prefix=/usr              \
            --libexecdir=/usr/lib      \
            --with-secure-path         \
            --with-env-editor          \
            --docdir=/usr/share/doc/sudo-1.9.15p4 \
            --with-passprompt="[sudo] password for %p: " &&
make

ビルド結果をテストする場合は env LC_ALL=C make check |& tee make-check.log を実行します。 確認は grep failed make-check.log により行います。

root ユーザーになって以下を実行します。

make install

コマンド説明

--libexecdir=/usr/lib: This switch controls where private programs are installed. Everything in that directory is a library, so they belong under /usr/lib instead of /usr/libexec.

--with-secure-path: This switch transparently adds /sbin and /usr/sbin directories to the PATH environment variable.

--with-env-editor: このスイッチは visudo において環境変数 EDITOR の利用を有効にします。

--with-passprompt: This switch sets the password prompt. The %p will be expanded to the name of the user whose password is being requested.

--without-pam: This switch avoids building Linux-PAM support when Linux-PAM is installed on the system.

--with-all-insults: This switch includes all the sudo insult sets. Insults are printed if the user types a bad password, and if enabled in /etc/sudoers. Use --with-insults to have them enabled by default. Various sets of insults can be selected with some other switches.

[注記]

注記

sudoconfigure スクリプトにはオプションが数多くあります。 すべてを確認する場合は configure --help を実行してその出力を参照してください。

Sudo の設定

設定ファイル

/etc/sudoers

設定情報

sudoers ファイルは少々込み入っています。 このファイル内では2つの記述項目があります。 エイリアス (基本的には変数) とユーザー指定 (誰が何を実行できるか) を定めるものです。 インストール作業によってインストールされるこのファイルは、デフォルトの設定が行われているに過ぎず、どのユーザーにも権限は与えられていません。

A couple of common configuration changes are to set the path for the super user and to allow members of the wheel group to execute all commands after providing their own credentials. Use the following commands to create the /etc/sudoers.d/00-sudo configuration file as the root user:

cat > /etc/sudoers.d/00-sudo << "EOF"
Defaults secure_path="/usr/sbin:/usr/bin"
%wheel ALL=(ALL) ALL
EOF
[注記]

注記

In very simple installations where there is only one user, it may be easier to just edit the /etc/sudoers file directly. In that case, the secure_path entry may not be needed and using sudo -E ... can import the non-privileged user's full environment into the privileged session.

The files in the /etc/sudoers.d directory are parsed in sorted lexical order. Be careful that entries in an added file do not overwrite previous entries.

詳しいことは man sudoers を実行して確認してください。

[注記]

注記

Sudo 開発者は sudoers ファイルを編集する際には visudo コマンドを利用することを強く推奨しています。 文法チェックやファイルパーミッションなどの基本的な整合性を確保するものであり、ちょっとしたミスによって脆弱な設定とならないようにするものです。

PAM をインストールしている場合、SudoPAM サポートを含めてビルドされます。 この場合は root ユーザーになり以下のコマンドを実行して PAM 設定ファイルを生成します。

cat > /etc/pam.d/sudo << "EOF"
# Begin /etc/pam.d/sudo

# include the default auth settings
auth      include     system-auth

# include the default account settings
account   include     system-account

# Set default environment variables for the service user
session   required    pam_env.so

# include system session defaults
session   include     system-session

# End /etc/pam.d/sudo
EOF
chmod 644 /etc/pam.d/sudo

パッケージ構成

インストールプログラム: cvtsudoers, sudo, sudo_logsrvd, sudo_sendlog, sudoedit (シンボリックリンク), sudoreplay, visudo
インストールライブラリ: audit_json.so, group_file.so, libsudo_util.so, sudoers.so, sudo_intercept.so, sudo_noexec.so, system_group.so
インストールディレクトリ: /etc/sudoers.d, /usr/lib/sudo, /usr/share/doc/sudo-1.9.15p4, /var/lib/sudo

概略説明

cvtsudoers

converts between sudoers file formats

sudo

設定ファイル /etc/sudoers によって許可された他ユーザーとなって、コマンドを実行します。

sudo_logsrvd

is a sudo event and I/O log server

sudo_sendlog

sends sudo I/O logs to the log server

sudoedit

sudo コマンドに対して -e オプションをつけたシンボリックリンクであり、他ユーザーとなってエディターを起動します。

sudoreplay

is used to play back or list the output logs created by sudo

visudo

sudoers ファイルを安全な形で編集します。