Linuxでよく使うコマンドのメモ -ユーザとグループ-

以下、自分が仕事でよく使うコマンドのメモ。シェルはBashを使用。今回は権限の関係に焦点を絞った備忘録。

ユーザー名などを表示する

ユーザー名・ユーザーID・グループ名・グループIDを表示する。

$id -a

ログインユーザーを切り替える

ログインしているユーザーを切り替える。

$su - [ユーザー名]

スーパーユーザーでログインする。

$su -

コマンドをスーパーユーザ―権限で実行する

コマンドをスーパーユーザー権限で実行することができる。

$sudo [コマンド]

ユーザー一覧を表示する

ユーザー一覧を表示する。

$cat /etc/passwd

ユーザーを作成する

ユーザーを作成する。

$useradd [ユーザー名]

ユーザーを削除する

ユーザーを削除する。-rオプションを付けることで、ユーザーのホームディレクトリとメールスプールを削除することができる。

$userdel [ユーザー名]

ユーザーにパスワードを設定する

ユーザーにパスワードを設定する。

$passwd [ユーザー名]

ユーザーに設定したパスワードを削除する。

$passwd -d [ユーザー名]

グループを確認する

自分の所属するグループを確認できる。

$groups

ユーザーが所属するグループを確認することができる。

$groups [ユーザー名] 

グループ一覧を表示する

グループ一覧を表示する。

$cat /etc/group

グループを作成する

グループを作成する。

$groupadd [グループ名]

グループを削除する

グループを削除する。

$groupdel [グループ名]

グループにパスワードを設定する

グループにパスワードを設定する。

$gpasswd [グループ名]

グループにログインする

ログイン中のユーザーでグループにログインする。
※グループにログインするとプライマリグループがログインしたグループに変更され、ログイン中はそのグループの権限が与えられる。

$newgrp [グループ名]

グループからログアウトする

グループにログインしている場合はグループからログアウトする。

$exit

ユーザー情報を変更する

ユーザー情報を変更する。

$usermod [オプション] [ユーザー名]
オプション 説明
-c comment ユーザーのコメントを”comment”に変更する
-d home_dir ユーザーのホームディレクトリを”home_dir”に変更する。また、後ろに-mをつけると、現在のホームディレクトリの中身が新しいホームディレクトリに移動される。また、そのディレクトリが存在しない場合は新たに作られる。
-e expire_date アカウントが使用不能になる日付を”expire_date”に指定する。日付はYYYY-MM-DDで指定する。
-f inactive_days パスワードの使用期限が切れてからアカウントが永久に使用不能になるまでの日数を”inactive_days”に指定する。 0とすると、パスワードの期限が切れると同時にこのアカウントは使用不可能になる。-1を指定すると無期限にする。
-g initial_group デフォルトのグループを”initial_group”に変更する。
-G group, … アカウントが属する、サブグループを追加。グループはコンマ区切り。元々入っていたグループをここで指定しないと、そのグループから削除される。
-l login_name ユーザのログイン名を”login_name”に変更する。パスワードはそのまま。ホームディレクトリの名前もそのまま。
-s shell ログインシェルを”shell”に変更する。
-u uid ユーザのID番号を”uid”に変更する。
-L ユーザのパスワードをロックする。ロックされたアカウントは、パスワード認証でのログインができなくなります。
-U ユーザのパスワードをアンロックする。-Lの反対。

グループの情報を変更する

グループの情報を変更する。

$groupmod [オプション] [グループ名]
オプション 説明
-g gid グループのGIDを指定した”gid”に変更する。
-n [グループ名] 指定したグループのグループ名を変更する。
-o 指定したグループのgidの重複を許可する。使用する際には-gオプションと併用する。

ファイルやディレクトリの所有者を変更する

ファイルの所有者を変更する。ディレクトリとその中身の所有者を変更したいときは-Rオプションを付ける。グループだけを変更したい時は”:[グループ名]”とだけ記述する。所有者の変更はスーパーユーザにしか行うことができないので必要に応じてsudoを付ける。

$chown [ユーザ名]:[グループ名] [対象ファイル名]

ファイルやディレクトリのグループを変更する

ファイルが所属するグループを変更する。ディレクトリとその中身の所属グループを変更したいときは-Rオプションを付ける。

$chgrp [グループ名] [対象ファイル名]

参考
Linux ユーザー一覧の確認と/etc/passwd ファイル
Linux 新規ユーザの作成 – useradd
Linux ユーザーアカウントの削除 – userdel
Linux ユーザ情報の変更 – usermod
Linux グループ一覧の確認と/etc/group ファイル
Linux 新規グループの作成 – groupadd
Linux グループの削除 – groupdel
Linux グループ情報の変更 – groupmod