ubuntuユーザとアクセス権管理
ユーザの作成
useraddを使ってユーザを作成
sudo useradd -d /home/jdoe -m jdoe
-dオプション:作成するユーザのホームディレクトリを指定する。
-mオプション:指定したユーザホームディレクトリを実際に作成する。指定しなければ手動で作成する必要がある。
最後のjdoeは作成するユーザ名を指定している。
sudo passwd jdoe
作成したユーザにパスワードを設定する。
adduserを使う
sudo adduser dscully
adduserは/home/dscullyディレクトリを作成し、/etc/skelの内容をそこにコピーしてくれる。またパスワードも設定してくれる。useraddの実態はシェルスクリプトでLinuxディストリビューションによっては用意されていない。useraddの使い方を覚えておきたい。
ユーザの削除
sudo userdel dscully
sudo userdel -r dscully
userdelは-r指定がなければユーザのホームディレクトリを削除しない。通常ユーザのデータをバックアップしてからホームディレクトリを削除する。
/etc/passwdと/etc/shadowファイル
ユーザ情報とパスワードを保存するファイルである。
/etc/passwdの2番目のフィールドにxが示されているが、これはパスワードが暗号化され、/etc/shadowファイルに保存していることを示す。
ユーザパスワードのhash値は/etc/shadowの2番目のフィールドに保存される。rootの場合、このフィールドに「*」が書かれている。「*」また「!」が先頭にある場合、このユーザのアカウントはロックされることを示し、直接ログインできない。別のユーザでログインし、su -でそのユーザに切り替えることができる。
sudo passwd -l dscully
上記のコマンドを使ってユーザアカウントをロックすることができる。/etc/shadowファイルを編集することなしで。
sudo useradd jdoe
id jdoe
uid=1002(jdoe) gid=1003(jdoe) groups=1003(jdoe)
sudo cat /etc/shadow | grep jdoe
jdoe:!:19241:0:99999:7:::
sudo passwd -S jdoe
jdoe L 09/06/2022 0 99999 7 -1
passwd -Sはユーザアカウントの情報を表示する。二番目のLがアカウントがロックされていることを示す。三番目は前回パスワード変更した日時。四番目は次のパスワード変更が可能になる時間。五番目はパスワード変更が要求される日数。
/etc/skel
/etc/skelに.bashrc、.bash_logout、.profileなどの初期設定ファイルが格納されている。
ユーザ切り替え
以下のコマンドでrootユーザまたは他のユーザにスイッチすることができる。
sudo su -
sudo su - jdoe
ディスカッション
コメント一覧
まだ、コメントがありません