Sudo-1.9.5p2

Sudo の概要

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

本パッケージは LFS-10.1 において正しくビルドでき動作することが確認されています。

パッケージ情報

Sudo の依存パッケージ

任意

Linux-PAM-1.5.1, MIT Kerberos V5-1.19.1, OpenLDAP-2.4.57, MTA (that provides a sendmail command), AFS, FWTK, and Opie

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/sudo

Sudo のインストール

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

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

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

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

make install &&
ln -sfv libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0

コマンド説明

--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-all-insults: このスイッチは sudo が表示する侮辱の文言をすべて含めます。

--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.

[注記]

注記

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

ln -sfv libsudo_util...: Works around a bug in the installation process, which links to the previously installed version (if there is one) instead of the new one.

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 credientials. Use the following commands to create the /etc/sudoers.d/sudo configuration file as the root user:

cat > /etc/sudoers.d/sudo << "EOF"
Defaults secure_path="/usr/bin:/bin:/usr/sbin:/sbin"
%wheel ALL=(ALL) ALL
EOF

詳しいことは 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, sample_approval.so, sudoers.so, sudo_noexec.so, system_group.so
インストールディレクトリ: /etc/sudoers.d, /usr/lib/sudo, /usr/share/doc/sudo-1.9.5p2, /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 ファイルを安全な形で編集します。

最終更新日: 2021-02-20 04:32:42 +0900