ユーザーとグループ
Linux のアクセス権は、ユーザーそのものと、そのユーザーが所属するグループ、そしてそれ以外のユーザーの3種類があります。
グループは、所属しているすべてのユーザーに対してまとめてアクセス権を与えることができます。
ユーザーは、かならず1つのグループに所属し、さらに複数のサブグループにかけもちで所属することができます。
Linux のアクセス権は、ユーザーそのものと、そのユーザーが所属するグループ、そしてそれ以外のユーザーの3種類があります。
グループは、所属しているすべてのユーザーに対してまとめてアクセス権を与えることができます。
ユーザーは、かならず1つのグループに所属し、さらに複数のサブグループにかけもちで所属することができます。
ユーザーを作成するには次のようにします。
useradd user
ユーザ名やその情報は「 /etc/passwd 」ファイルに記録されています。
表示内容が多くスクロールするようなら、ページャで閲覧します。
1行に1つのユーザーの設定内容が記述されており「 : 」で区切ってあります。
user:x:1001:1001::/home/user:/bin/bash
カラム | 内容 |
---|---|
user | ユーザ名 |
x | パスワードを示すカラムだが古い環境でなければ「 x 」一文字であらわされる |
1001 | ユーザid |
1001 | グループid |
記述されていないカラムで任意のコメント。ユーザ作成時に設定するもので手動で編集はしてはいけない | |
/home/user | ユーザのホームディレクトリ |
/bin/bash | ユーザが使用するシェルを設定 |
「 passwd ファイル 」からユーザー名のみを表示するには次のようにします。
cut -d: -f1 /etc/passwd
追加したユーザーを削除するには次のようにします。
sudo userdel user
ユーザー名を削除しただけでは、ホームディレクトリは残るため、次のようにして削除します。
sudo rm -rf /home/user
ホームディレクトリ・メールスプールもまとめて削除するには、オプションの「 -r 」をつけます。
sudo userdel -r user
追加したユーザーにパスワードを設定するには次のようにします。また、パスワードの変更する場合も「 passws 」コマンドを使います。
sudo passwd user
簡単なパスワードを設定しようとする次のように注意されます。
BAD PASSWORD: The password fails the dictionary check - it is based on a dictionary word
不正なパスワード: パスワードは辞書チェックに失敗しました - 辞書の単語に基づいています
パスワードが設定されているかは「 /etc/shadow 」を見るとわかります。ファイルには暗号化されたパスワードの一覧が格納されています。
2つめのカラムが「 !! 」だとパスワードは未設定です。
sudo grep user /etc/shadow
ユーザーを追加し、sudo コマンドを実行しようとしても、実行権限が付与されていないため次のような表示がされます。
user is not in the sudoers file. This incident will reported.
user は sudoers ファイル内にありません。この事象は記録・報告されます。
sudo の設定は 、「 /etc/sudoers 」という設定ファイルに記述します。
sudo の実行権限を付与するには、実行権限のあるユーザーで「 visudo コマンド 」を実行し「 /etc/sudoers 」ファイルを編集します。
特定のユーザーに sudo を実行できるようにするには次のように「 /etc/sudoers 」ファイルを編集します。
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
user ALL=(ALL) ALL # +
また、上記のように「 /etc/sudoers 」ファイルを編集するのではなく、ユーザーを wheel グループに所属する方法があります。その場合は次のようにします。
sudo usermod --append -G wheel user
ユーザーが wheel グループに含まれているか確認するには次のようにします。
[user@localhost ~]$ id user
uid=1001(user) gid=1001(user) groups=1001(user),10(wheel),1002(newclass)
グループ一覧を確認するには、次のようにします。
sudo cat /etc/group
「 /etc/group 」には、、1行につき1つのユーザーの設定内容が記述されており「 : 」で区切ってあります。
user:x:1001:
カラム | 内容 |
---|---|
user | グループ名 |
x | ダミーパスワード |
1001 | グループID |
最後の空白のカラム | サブグループとして所属しているユーザー(複数の場合はカンマ区切り) |
グループ名のみを表示するには、次のようにします。
sudo cat /etc/group | cut -d : -f 1
グループを追加するには、次のようにします。
groupadd newgroup
指定したユーザーが所属するグループをすべて表示するには次のようにします。
groups testuser
主グループを変更するには、次のようにします。
sudo usermod -g グループ名 ユーザー名
sudo usermod -g newclass user
副グループに追加するには、次のようにします。
sudo usermod -aG グループ名 ユーザー名
sudo usermod -aG subgroup user
副グループを変更するには、次のようにします。
sudo usermod -G グループ名 ユーザ名
sudo usermod -G changegroup user
グループを削除するには、次のようにします。
groupdel グループ名
sudo groupdel newclass
ユーザーの副グループを削除するには次のようにします。
sudo gpasswd -d ユーザー名 グループ名
sudo gpasswd -d user newclass
特定のグループに所属するユーザーを調べるには次のようにします。
sudo cat /etc/group | grep newclass