sudoの設定

sudoを利用すると、そのユーザーはroot権限でコマンドを実行する事ができます。

また、sudo を利用すると一般ユーザーが su で root になるよりも、以下のメリットがあります。

1.root のパスワードを一般ユーザーに公開しなくてもいい

2.sudo を利用した場合、ログにコマンドが記録される

 

sudoの設定

sudo の設定ファイルは /etc/sudoers ですが、直接編集することはせず、編集用のコマンド visudo を利用します。このコマンドで編集することにより書式のチェックも行われます。

visudo

 

 

sudoの基本設定

sudo で最も一般的なユーザーやグループを指定し、全権限でコマンドを実行できるようにします。

 

sudo の書式は、[ユーザーorグロープ]  [接続元] = [権限]  [コマンド] です。

指定ユーザーに すべての権限でコマンドを実行可能にする

UserName ALL=(ALL) ALL

指定グループにすべての権限でコマンドを実行可能にする

%GroupName ALL=(ALL) ALL

 

すべての権限だと、他ユーザーの権限でコマンドを実行できます。root 権限のみでコマンドを実行可能にするには以下のようにします。

UserName ALL=(root) ALL

 

 

sudo の利用方法

sudo が設定されていれば、一般ユーザーは以下のように root などの権限でコマンドを発行できます。

sudo コマンド発行後には自身のパスワードを入力するよう求められます。

sudo /etc/init.d/httpd restart

 

 

エイリアス機能

[ユーザー] [接続元] [権限] [コマンド] をエリアス機能を利用できます。

エリアスを利用することにより、複雑な設定をした場合でも見通しが良くなります。

それぞれのエイリアス定義方法と利用例を示します。

 

ユーザーエリアス

User_Alias ADMIN = User1, User2, User3

 

接続元エリアス

Host_Alias LOCAL = 192.168.1.0/24
Host_Alias ADMINNET = 192.168.100.1, 192.168.100.2

 

権限エリアス

Runas_Alias USER= root ,tomcat

 

コマンドエリアス

Cmnd_Alias ADMINCMD = /etc/init.d/httpd
Cmd_Alias SHOUTDOWN = /sbin/shutdown, /sbin/reboot, /sbin/halt

 

エリアスを利用した設定

ADMIN  ADMINNET = (root) ALL
ADMIN ALL = (USER) ADMINCMD

 

 

例外設定

 実行時にパスワードを求めない

エリアス ADMINCMD のコマンドを実行でき、かつ、パスフレーズを要求しない。

 ADMIN LOCAL = (ALL) NOPASSWORD:ADMINCMD

 

指定のコマンドを実行させない

エリアス SHUTDOWN に設定されたコマンドは、実行不可とする。

ADMIN ALL = (ALL) ALL,!SHUTDOWN

 

 

コマンドオプション

いくつかコマンドオプション表記します。

root シェルを取得

sudo -s

 

sudo の設定情報を確認する

sudo -l

 

 

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">