Sudo-1.8.25

Sudo の概要

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

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

パッケージ情報

Sudo の依存パッケージ

任意

Linux-PAM-1.3.0, MIT Kerberos V5-1.16.1, OpenLDAP-2.4.46, MTA (that provides a sendmail command), AFS, FWTK, 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.8.25 \
            --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 ユーザーによりテスト実行していた場合には、test3 というテストが失敗します。

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.

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

以下はシステム管理者に対する設定の例です。 root 権限を必要とする場合であっても、パスワードを入力せずにプログラムを実行できるようにします。 以下の設定により実現します。

# User alias specification
User_Alias  ADMIN = YourLoginId

# Allow people in group ADMIN to run all commands without a password
ADMIN       ALL = NOPASSWD: ALL

詳しいことは 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

パッケージ構成

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

概略説明

sudo

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

sudoedit

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

sudoreplay

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

visudo

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

最終更新日: 2018-09-04 05:46:09 +0900