目標
「スケルトンディレクトリ」について概要を理解する。
「新規ユーザーの追加方法」について理解する。
「ユーザー情報の変更方法」について理解する。
「ユーザーのパスワード変更方法」について理解する。
「ユーザーの削除方法」について理解する。
「wheelグループ」所属のユーザーのみroot権限を付与する設定を理解する。
Linuxでのユーザー管理の概要(2)
「スケルトンディレクトリ」
「スケルトンディレクトリ」とは
新規のユーザーを追加した場合、そのユーザーの「ホームディレクトリ」が作成されます。その時「必要な設定ファイル(隠しファイル)」などもホームディレクトリ内に準備されます。
これらの設定ファイルはスケルトンディレクトリ(「/etc/skelディレクトリ」)とよばれる場所に準備されていて、新規ユーザー追加時に、新規ユーザーのホームディレクトリにコピーされます。
Linuxでのユーザー管理のコマンド(2)
スケルトンディレクトリの中身の確認とファイル追加
スケルトンディレクトリの中身の確認とファイル追加
一般ユーザーで「/etc/skel/ディレクトリ」の中身を確認します。lsコマンドのオプション「A」は「.」と「..」を除いて隠しファイルを表示してくれます。
[rocky001@rockylinux001 ~]$ ls -A /etc/skel/
.bash_logout .bash_profile .bashrc .zshrc
rootユーザーに切り替えて「/etc/skel/ディレクトリ」の中に新規ファイルを追加します。
[rocky001@rockylinux001 ~]$ su –
Password:
[root@rockylinux001 ~]# touch /etc/skel/samplereadme
[root@rockylinux001 ~]# ls -A /etc/skel/
.bash_logout .bash_profile .bashrc .zshrc samplereadme
新規ユーザーの追加・情報とパスワード変更・削除方法
新規ユーザーの追加方法
useraddコマンド
ユーザーアカウントを新規作成するコマンドです。
文法:
useradd [省略できるOP] ユーザー名
※OP:オプションのことです。
コマンドの参考資料はこちら
コメントに「ID」、ホームディレクトリの自動作成、ユーザーと同じ名前のグループ作成、プライマリグループ以外のグループ参加を行う場合は次のようにコマンドを入力します。
#useradd コメントを”で指定 -m -U -G サブグループの指定 新規ユーザー名
記述具体例
# useradd -c ‘howa12345’ -m -U -G subgroupname newusername
useraddコマンドを利用して新規ユーザーを追加してみます。ユーザーが追加されたかは「/etc/passwd」を確認します。
[root@rockylinux001 ~]# useradd test002
[root@rockylinux001 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
…
…
…
tcpdump:x:72:72::/:/sbin/nologin
rocky001:x:1000:1000:rocky001:/home/rocky001:/bin/bash
test002:x:1001:1001::/home/test002:/bin/bash
↑ユーザーが追加されました。
ホームディレクトリの中身を確認してみると「スケルトンディレクトリ」内のファイルがコピーされたのが確認できます。
[root@rockylinux001 ~]# ls -A /home/test002/
.bash_history .bash_logout .bash_profile .bashrc .zshrc samplereadme
ユーザー情報の変更方法
usermodコマンド
ユーザーアカウントの情報を変更するコマンドです。
文法:
usermod [省略できるOP] ユーザー名
※OP:オプションのことです。
コマンドの参考資料はこちら
ここでは「l」オプションを利用してユーザー名を変更してみたいと思います。
[root@rockylinux001 ~]# usermod -l rocky002 test002
[root@rockylinux001 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
…
…
…
rocky001:x:1000:1000:rocky001:/home/rocky001:/bin/bash
rocky002:x:1001:1001::/home/test002:/bin/bash
↑ユーザー名が変更されました。
続けて、「d」オプションを利用してホームディレクトリの変更を行ってみます。
コマンドは次のように入力します。
usermod -d ホームディレクトリのパス ユーザー名
[root@rockylinux001 ~]# usermod -d /home/rocky002 rocky002
[root@rockylinux001 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
…
rocky001:x:1000:1000:rocky001:/home/rocky001:/bin/bash
rocky002:x:1001:1001::/home/rocky002:/bin/bash
↑ホームディレクトリが変更されまし
続いて実際のディレクトリ名を変更します。
[root@rockylinux001 ~]# mv /home/test002/ /home/rocky002/
ユーザーアカウントのパスワード変更方法
passwdコマンド
ユーザーアカウントのパスワードを変更するコマンドです。
文法:
passwd [省略できるOP] [ユーザー名(省略可)]
※OP:オプションのことです。
コマンドの参考資料はこちら
ここでは、先ほど追加した「rocky002」ユーザーにパスワードを設定してみたいと思います。設定には「passwdコマンド」に続けてユーザー名を入力します。入力後、パスワードの設定が行えます。
[root@rockylinux001 ~]# passwd rocky002
ユーザー rocky002 のパスワードを変更。
新しい パスワード: ←ここでは「rocky002」としています。
正しくないパスワード: このパスワードには、一部に何らかの形でユーザー名が含まれています
新しい パスワードを再入力してください: ←再度「rocky002」と入力します。
passwd: すべての認証トークンが正しく更新できました。
実際に利用でききるかCockpitからログインしてみます。
ログインが行えました。
ユーザーアカウントの削除方法
userdelコマンド
ユーザーアカウントを削除するコマンドです。
文法:
userdel [省略できるOP] [ユーザー名]
※OP:オプションのことです。
コマンドの参考資料はこちら
新しいユーザー「test003」を作成した後に、このユーザーを削除してみたいと思います。
[root@rockylinux001 ~]# useradd test003 -c ‘new account for deletion’
[root@rockylinux001 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
…
…
…
rocky001:x:1000:1000:rocky001:/home/rocky001:/bin/bash
rocky002:x:1001:1001::/home/rocky002:/bin/bash
test003:x:1002:1002:new account for deletion:/home/test003:/bin/bash
↑ユーザーが追加されました。
userdelコマンドを利用してユーザーを削除します。
[root@rockylinux001 ~]# userdel -r test003
[root@rockylinux001 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
…
rocky001:x:1000:1000:rocky001:/home/rocky001:/bin/bash
rocky002:x:1001:1001::/home/rocky002:/bin/bash
(表示なし)
↑ユーザーが削除されました。
[root@rockylinux001 ~]#
wheelグループに属するユーザーのみroot権限を利用できる設定
Linuxでは「限定したユーザー」にのみ「root権限」を利用できるよう設定をするのが好ましいです。これには基本的に「wheelグループ」というグループを利用します。「wheelグループ」に所属することでユーザーは管理ユーザーに切り替えることができます。管理ユーザーをwheelグループに限定するには「/etc/pam.d/suファイル」を編集する必要があります。
[rocky001@rockylinux001 ~]$ su –
Password:
次のコマンドで「rocky001ユーザー」を「wheelグループ」に所属させてオプション「a」を利用して「wheelグループ」を「サブグループ」としています。
[root@rockylinux001 ~]# usermod -aG wheel rocky001
続けて「/etc/pam.d/suファイル」を確認します。
[root@rockylinux001 ~]# cat /etc/pam.d/su
#%PAM-1.0
auth required pam_env.so
auth sufficient pam_rootok.so
#Uncomment the following line to implicitly trust users in the “wheel” group.
#auth sufficient pam_wheel.so trust use_uid
#Uncomment the following line to require a user to be in the “wheel” group.
#auth required pam_wheel.so use_uid ←ここの「#」を削除します。
auth substack system-auth
auth include postlogin
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session include postlogin
session optional pam_xauth.so
「/etc/pam.d/suファイル」の編集をします。
[root@rockylinux001 ~]# vi /etc/pam.d/su
#%PAM-1.0
auth required pam_env.so
auth sufficient pam_rootok.so
#Uncomment the following line to implicitly trust users in the “wheel” group.
#auth sufficient pam_wheel.so trust use_uid
#Uncomment the following line to require a user to be in the “wheel” group.
auth required pam_wheel.so use_uid ←変更後です。
auth substack system-auth
auth include postlogin
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session include postlogin
session optional pam_xauth.so
rocky001ユーザーからrootユーザーに切り替えてみます。wheelグループに属しているのでrootユーザーに切り替えに成功しています。
rocky002ユーザーからrootユーザーに切り替えてみます。wheelグループに属していないのでrootユーザーに切り替えに失敗しています。
今回は以上になります。
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。