#author("2025-03-16T10:55:22+09:00","default:k1rou","k1rou")
#author("2025-03-28T10:23:54+09:00","default:k1rou","k1rou")
*Linuxのユーザ管理 [#h90be133]
-[[Linuxコマンド]]

*ユーザーの種類 [#u47c323d]
**スーパーユーザー [#kc9ddc47]
-システム管理者
-ユーザー名:root

**一般ユーザー [#q281d6ac]

*ユーザーの追加・削除 [#b378322c]
**useradd [#fb997bc3]
-ユーザーの追加
 useradd <user-name> ※/home に自動でホームディレクトリを作成する
 useradd -m <user-name> ※/home に自動でホームディレクトリを作成する
 useradd -M <user-name> ※/home に自動でホームディレクトリを作成しない
 useradd -M -d <home-directory> <user-name> ※ホームディレクトリを指定
 useradd -e <yyyy-mm-dd> <user-name> ※有効期限を設定
 useradd -f <days> <user-name> ※パスワードの有効期限が切れてからアカウントを無効にするまでの日数を設定
 useradd -g <group-name> <user-name> ※プライマリグループを指定
 useradd -G <group-name> <user-name> ※セカンダリグループを指定
 useradd -s <login-shell-path> <user-name> ※ログインシェルを指定
 useradd -r <user-name> ※システムユーザーを作成(UIDがシステムユーザーの範囲で作成される)


-ログインできないユーザーを作成
 useradd -s /bin/false <user-name> ※即時で終了させる
 useradd -s /sbin/nologin <user-name> ※メッセージを表示してログイン拒否させる

**adduser [#i1684837]
-ユーザを作成
 adduser <user-name>
-ユーザをグループに追加(セカンダリグループ)
 adduser <user-name> <group-name>

**userdel [#l0e3c197]
-ユーザーを削除
 userdel <user-name> ※ホームディレクトリは削除しない
 userdel -r <user-name> ※ホームディレクトリも削除

*ユーザーの情報を変更 [#ab6df3f0]
**usermod [#y2411788]
-usermod -G <group-name> <user-name> ※ユーザのセカンダリグループを変更
-usermod -G -a <group-name> <user-name> ※ユーザをグループに追加(セカンダリグループ)
-usermod -d <home-directory> <user-name> ※ユーザーのホームディレクトリを変更
-usermod -l <user-name-old> <user-name-new> ※ユーザー名を変更
-パスワードの無効化(ログインできなくなる)
 usermod -L <<user-name> ※無効にする
 usermod -U <<user-name> ※有効にする

**passwd [#p207ed50]
-パスワードを設定する
 passwd <user-name>
 passwd -x <days> <user-name> ※パスワードの有効期限を指定
 passwd -x <days> -w <days> <user-name> ※パスワードの有効期限切れを何日前から警告するかを指定
 passwd -x <days> -i <days> <user-name> ※パスワードの有効期限が切れてからアカウントをロックするまでの日数を指定

-rootのパスワード管理 ※root以外のユーザーがrootに対して行う
 sudo passwd -l root ※パスワードをロックする
 sudo passwd -u root ※パスワードをロックを解除する
 sudo passwd -d root ※パスワードを削除する

*ユーザーの確認 [#ka0d6164]
**whoami [#qac7d92a]

**id [#ad1bc6d5]
-ユーザーIDとグループ情報を表示
 id ※自身の情報
 id <username> ※指定したユーザーの情報
-context= はSELinuxの設定情報

**ulimit [#lbdb11d4]
-ulimit -a ※ユーザのシステムリソース使用制限を表示

**users [#j35b7bd8]
-users ※ログインしているユーザーの一覧を表示

**who [#l6996348]
-ログインしているユーザーの一覧を表示

**w [#ue704ea3]
-ログインしているユーザーとユーザーが実行中のプロセスを表示

**finger [#w1be2aec]
-ログインしているユーザーの一覧を表示
 finger
-指定したユーザーの情報を表示する

**その他 [#je8aa011]
--ls -l /home/
--cat /etc/passwd
--id <ユーザ名>

*ユーザーの切り替え [#pcec6185]
**su [#gf39bb38]
-rootに切り替え
 su ※カレントディレクトなどが切り替え前のまま
 su - ※rootとしてログインした時と同じ状態
--rootのパスワードを入力する
--Ubuntuはデフォルトではsuでrootに切り替わらない(rootのパスワードが設定されていないため)

-一般ユーザーに切り替え
 su - <user-name>
 su - <user-name> -c <command> ※別のユーザでコマンドを実行

**sudo [#wf329d6e]
-スーパーユーザでコマンドを実行
 sudo <command>
--現在のユーザーのパスワードを入力する(rootのパスワードではない)
-コマンドを実行するユーザを指定してコマンドを実行
 sudo -u <user-name/user-id> <command>
-rootのログインシェルを開始
 sudo -s ※現在のユーザーの環境$SHELL を引き継ぐ
 sudo -i ※rootのデフォルトシェルに切り替わる

-ユーザがsudo権限が与えられているか確認
 cat /etc/sudoers | grep <user-name>
-sudoで実行した記録が保存されるログ
 /var/log/secure

-wheelグループ
--wheelグループに所属する一般ユーザーがsudoコマンドの実行が許可される

*その他 [#rcccb1dd]
**chsh [#aba3deb5]
 chsh -l ※選択可能なログインシェルを表示
 chsh -s <shell-path> <username> ※ログインシェルを設定
 cat /etc/passwd | grep <username> ※ユーザに設定されているログインシェルを確認

**wall [#n4ce2172]
 wall "comment" ※ログインしているユーザーにメッセージを表示

*グループの追加・削除 [#p1b50fd9]
**groupadd [#lb3bffb6]
-groupadd <グループ名>
-groupadd -g <GID> <グループ名>

**groupdel [#h3e1507c]

*グループの情報の変更 [#d68be713]
**groupmod [#cb04283e]

*グループの確認 [#l1d22dd7]
**groups [#q5304ef8]
-groups ※自身が所属しているグループを表示
-groups <user-name> ※指定したユーザーが所属しているグループを表示

 cat /etc/group

*ユーザーが所属するグループの管理 [#yb84edfd]
**gpasswd [#t1e466fd]
-gpasswd -a <user-name> <group-name> ※ユーザをグループに追加(セカンダリグループ)

*ユーザーのログイン情報の参照 [#xa28f9b3]
**lastlog [#c999537f]
-ユーザーの最終ログイン情報を表示する
 lastlog ※全てのユーザーを一覧表示
 lastlog -u <user-name> ※指定したユーザーを表示
--/var/log/lastlog (バイナリ形式)の情報を元に表示する

*各種ファイル [#qd5a6336]
**/etc/passwd [#rbfaba7c]
-ユーザーの情報が設定される
--ユーザー名、パスワード、UID、GID、表示名、ホームディレクトリ、ログインシェル
--セミコロン区切り
-パスワードが"x"の場合、シャドウパスワードが/etc/shadow に設定される
-パーミッション:644

**/etc/shadow [#z8a5bb4f]
-ユーザーのシャドウパスワードが設定される
--ユーザ名、パスワード($ハッシュアルゴリズム$ソルト$ハッシュ値)、その他の情報
--セミコロン区切り
-パスワードは暗号化された状態で設定される
--ハッシュアルゴリズム:"$6"はSHA-512
--パスワードロック:"!!"
-rootのみ参照可能
-パーミッション:400

**/etc/group [#c1571d50]
-グループの情報が設定される
--グループ名、パスワード、GID、所属するユーザーのユーザー名(複数ある場合はカンマ区切り)
-パスワードが"x"の場合、シャドウパスワードが/etc/gshadow に設定される
-パーミッション:644

**/etc/gshadow [#z8a5bb4f]
-グループのシャドウパスワードが設定される
-パスワードは暗号化された状態で設定される
-rootのみ参照可能
-パーミッション:400

**/etc/sudoers [#z8a5bb4f]
-sudoの設定ファイル
-visudo コマンドを使って編集する
 <user-name>   ALL=(ALL)   ALL

**/etc/default/useradd [#gcba9975]
-ユーザーを追加する際のデフォルトの設定

**/etc/login.defs [#kf0aab4d]
-ログイン関連の設定
--パスワードの有効期限(日数)
--ユーザー作成時のUID/GIDの割り当て範囲

*関連用語 [#ref011c7]
-[[Linuxコマンド]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS