Linuxサーバー管理者の技術を2日で学べる「初心者向けリナックスセミナー」
30日掛かって覚えるプロの技術を、たった2日間で学習できます。

(今すぐ↑をクリックしてください。)
passwdコマンドを使うことで、
一般ユーザー自分自身のパスワードを変更することができます。
シャドウパスワードを利用していない場合は、
パスワードの変更は/etc/passwdファイルに保存されます。
/etc/passwdファイルの所有者とアクセス権を確認すると↓の通りです。
----------------------------------------------------
$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1686 11月 25 21:11 /etc/passwd
----------------------------------------------------
ファイルの所有者はrootで、root自身しか書き込みできない権限になっています。
しかし、passwdコマンドを一般ユーザーが実行した場合、
その結果が/etc/passwdファイルに保存されます。
それは、passwdコマンドのアクセス権に理由があります。
----------------------------------------------------
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 23420 8月 11 2010 /usr/bin/passwd
----------------------------------------------------
所有者のアクセス権は、「rws」となっており、実行権が「s」になっています。
これは、実行権を持っているユーザーによってプログラムが実行された場合、
ファイルの所有者の権限で実行されることを意味しています。
これを「SUID」(Set User ID)と言います。
passwdコマンドの場合、このファイルの所有者であるroot権限で実行されるため、
/etc/passwdファイルに書きこむことが可能になるのです。
SUIDを設定した場合、所有者の実行権欄は「s」になります。
数値で表現するには、3桁のアクセス権表記に4000を加えます。
/usr/bin/passwdの場合、「4755」と表現します。
SUIDを設定するには、下記のようにchmodコマンドを実行します。
----------------------------------------------------
# chmod u+s testfile
----------------------------------------------------
SUIDと同様に、グループのアクセス権が適用されるよう
設定することも可能です。これをSGID(Set Group ID)と言います。
SGIDが設定されると、グループのアクセス権の実行権が「s」になります。
数値で表現すると、3桁のアクセス権表記に2000を加えます。
SGIDを設定するには、下記のようにchmodコマンドを実行します。
----------------------------------------------------
# chmod g+s testfile
----------------------------------------------------
ディレクトリに対して、SGIDを設定すると、そのディレクトリ内に
作成されたファイルやディレクトリの所有グループは、
ディレクトリ自体の所有グループが適用されます。
そうすると、誰がファイルを作成しても、ファイルの所有グループは同じになるので、
複数ユーザーで共有するディレクトリとして設定すると便利です。
■関連項目
アクセス権を変更するコマンドはchmodコマンドになります。
chmodコマンド
■CentOS7.1サーバー構築マニュアルを無料プレゼント
「CentOS7.1」のサーバー構築手順、「VMware Player」の
ダウンロードとインストール手順をまとめたマニュアルを
無料でプレゼントしています。
詳しくは↓のページで説明していますので、今すぐクリックしてダウンロードしてください。

