ユーザー管理

HOMELinuxtips > ユーザー管理

ユーザー管理:記事リスト

ユーザー管理のカテゴリーには以下の記事がリストされています。

所属しているグループをプライマリグループに戻す

2012年11月13日

所属しているグループ内で一時的にプライマリグループを変更する
一時、プライマリグループの変更を行いましたが、それを元に戻すには、
newgrpコマンドを実行します。

[pakira@Tiger ~]$ newgrp  ←newgrpコマンドを実行します。

所属しているグループ内で一時的にプライマリグループを変更する

2012年11月 9日

ユーザーが複数のグループに所属している場合、通常はプライマリグループの
メンバーとしてコマンドを実行します。しかし、プライマリグループ以外の権限を
必要とする処理を実行する場合は、ユーザーが所属しているグループ内で
一時的にプライマリグループを変更できます。

一時的にプライマリグループを変更するには、
newgrpコマンドにグループ名を付けて実行します。

[miyazaki@Tiger ~]$ whoami ←ユーザー名を確認します。
miyazaki
[miyazaki@Tiger ~]$ cat /etc/group | grep miyazaki
↑ユーザー「miyazaki」の所属グループを確認します。
nobody:x:99:miyazaki
miyazaki:x:601:
[miyazaki@Tiger ~]$ newgrp nobody ←グループ「nobody」に変更します。

ユーザーにプライマリグループ以外のグループを追加する

2012年11月 9日

ユーザーにプライマリグループ以外のグループを追加する場合には、
usermodコマンドにオプション「-G」を付け、追加するグループのグループ名、
またはGIDを指定します。
(カンマ「,」で区切ることで複数のグループを同時に設定することも可能です。)
そして、追加を行いたいユーザ名を付けて実行します。

このコマンドを実行するには、root権限が必要になります。

[pakira@Tiger ~]$ su - ←root権限になります。
パスワード:
[root@Tiger ~]# cat /etc/group | grep miyazaki
↑ユーザー「miyzaki」のステータスを確認します。
miyazaki:x:601: ←プライマリグループのみ設定されています。
[root@Tiger ~]# usermod -G nobody miyazaki
↑ユーザー「miyzaki」にグループ「nobody」を追加します。
[root@Tiger ~]# cat /etc/group | grep miyazaki
nobody:x:99:miyazaki  ←グループ「nobody」が追加されます。
miyazaki:x:601:

ユーザーのプライマリグループを変更する

2012年11月 9日

ユーザーが複数のグループに所属している場合、プライマリグループを変更する場合は、
usermodコマンドにオプション「-g」を付けて、プライマリグループのグループ名、または
GID、そして変更するユーザー名を付けて実行します。

これらのパラメータは、既にシステムに登録済みである必要があるとともに、
実行するには、root権限が必要になります。

[pakira@Tiger ~]$ su -  ←root権限になります。
パスワード:
[root@Tiger ~]# cat /etc/passwd | grep miyazaki 
↑ユーザー「miyazaki」のプライマリグループを確認します。
miyazaki:x:502:601:Miyazaki,,03-333-3333:/home/miyazaki:/bin/bash
[root@Tiger ~]# usermod -g nobody miyazaki
↑ユーザー「miyazaki」のプライマリグループを「nobody」に変更します。
[root@Tiger ~]# cat /etc/group | grep nobody
↑ユーザー「miyazaki」のプライマリグループを確認します。
nobody:x:99:
[root@Tiger ~]# cat /etc/passwd | grep miyazaki
↑ユーザー「miyazaki」のプライマリグループを確認します。
miyazaki:x:502:99:Miyazaki,,03-333-3333:/home/miyazaki:/bin/bash

グループパスワードを削除する

2012年11月 7日

グループに設定したパスワードを削除するには、gpasswdコマンドに
オプション「-r」か、「-R」を付けて実行します。
引数にはパスワードを削除したいグループ名を指定します。
グループにパスワードを設定する

この処理は、root、またはグループ管理者に登録されているユーザーが実行できます。
グループに管理者を設定する

[pakira@Tiger ~]$ whoami  ←グループ管理者であることを確認します。
pakira
[pakira@Tiger ~]$ gpasswd -r unyo  ←グループ「unyo」のパスワードを削除します。
[pakira@Tiger ~]$ gpasswd -R unyo  ←グループ「unyo」のパスワードを削除します。

グループからメンバーを外す

2012年11月 7日

既存グループからメンバーを外すには、gpasswdコマンドに
オプション「-d」を付けて実行します。

引数には、追加するユーザー名、グループ名を指定して実行します。
この処理は、root、またはグループ管理者に登録されているユーザーが実行できます。

グループに管理者を設定する

■グループ管理者に登録されているユーザーがメンバーを外す
[pakira@Tiger ~]$ whoami ←グループ管理者であることを確認します。
pakira
[pakira@Tiger ~]$ cat /etc/group | grep miyazaki  ←グループに追加されていることを確認します。
unyo:x:600:miyazaki
miyazaki:x:601:
[pakira@Tiger ~]$ gpasswd -d miyazaki unyo  ←miyazakiをグループから外します。
Removing user miyazaki from group unyo
[pakira@Tiger ~]$ cat /etc/group | grep miyazaki ←グループから外れていることを確認します。
miyazaki:x:601:

グループにメンバーを追加する

2012年11月 6日

既存グループにメンバーを追加するには、gpasswdコマンドに
オプション「-a」を付けて実行します。

引数には、追加するユーザー名、グループ名を指定して実行します。
この処理は、root、またはグループ管理者に登録されているユーザーが実行できます。

グループに管理者を設定する

■グループ管理者に登録されているユーザーがメンバー追加する
[pakira@Tiger ~]$ whoami  ←グループ管理者であることを確認します。
pakira
[pakira@Tiger ~]$ gpasswd -a miyazaki unyo ←miyazakiをunyoグループに追加します。
Adding user miyazaki to group unyo
[pakira@Tiger ~]$ cat /etc/group | grep miyazaki ←グループに追加されていることを確認します。
unyo:x:600:miyazaki
miyazaki:x:601:

グループに管理者を設定する

2012年11月 6日

既存のグループに、root(特権ユーザー)とは別に管理者を設定することができます。
ここで設定された管理者は、グループに対して、メンバーの追加、削除、
グループパスワードの設定、削除などが行えます。

グループごとに管理者を設定するメリットは、特定のディレクトリ以下の
管理をその管理者に任せることができるので、root(特権ユーザー)である
システム管理者の負担を軽減することができます。

管理者を設定するには、gpasswdコマンドにオプション「-A」を付け、
引数にユーザー名、管理させるグループ名を指定します。
ユーザーはカンマ「,」で区切ることで複数指定することが可能です。

[pakira@Tiger ~]$ su -  ←root権限になります。
パスワード:
[root@Tiger ~]# cat /etc/group | grep unyo  ←unyoグループが存在することを確認します。
unyo:x:600:
[root@Tiger ~]# gpasswd -A pakira unyo  ←unyoグループの管理者としてpakiraを設定します。

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

2012年11月 6日

グループにパスワードを設定する場合には、gpasswdコマンドを使用します。
グループにユーザーを追加する場合や、グループに登録されていない
ユーザーの場合にパスワード入力が求められるようになります。

グループにパスワードを設定することで、
グループに勝手にメンバーを登録されることを防ぐことができます。

[pakira@Tiger ~]$ su -  ←root権限になります。
パスワード:
[root@Tiger ~]# gpasswd unyo  ←unyoグループにパスワードを設定します。
Changing the password for group unyo
New Password:             ←unyoグループのパスワードを入力します。
Re-enter new password:      ←もう一度、unyoグループのパスワードを入力します。

グループIDを指定してグループを追加する

2012年11月 2日

グループを追加すると、Linuxシステムは自動的にGID(グループID)を割り当てます。
このため、システム管理上、GIDの規則性を持たせて運用・管理したい場合には不都合に
なってしまいます。このような場合には、「-g」オプションを付けてGIDを指定して
groupaddコマンドを実行します。

このコマンドを実行するには、root権限が必要になります。

[pakira@Tiger ~]$ su -  ←rootになります。
パスワード:
[root@Tiger ~]# groupadd -g 600 unyo ←GIDを指定してグループを作成します。
[root@Tiger ~]# cat /etc/group | grep unyo ←追加したグループを確認します。
unyo:x:600:

グループを削除する

2012年11月 2日

グループを削除するには、groupdelコマンドを使用します。
引数には、削除したいグループ名をして実行します。

しかし、削除するグループをプライマリーグループとするユーザーがいる場合、
そのユーザを先に削除してからでないと、グループの削除ができないので注意が必要です。
たとえば、グループpakiraを削除するためには、ユーザーpakiraを削除してからでないと
グループ削除ができません。


このコマンドを実行するには、root権限が必要になります。

[pakira@Tiger ~]$ su - ←rootになります。
パスワード:
[root@Tiger ~]# cat /etc/group | grep unyo ←unyoフループの確認をします。
unyo:x:503:
[root@Tiger ~]# groupdel unyo ←unyoグループを削除します。
[root@Tiger ~]# cat /etc/group | grep unyo ←unyoグループが削除されていることを確認します。

[pakira@Tiger pakira]$ su - ←rootユーザになります。
Password:
[root@Tiger root]# grep linuxuser /etc/group ←グループ「linuxuser」が存在することを確認します。
linuxuser:x:503:
[root@Tiger root]# groupdel linuxuser ←グループ「linuxuser」を削除します。
[root@Tiger root]# grep linuxuser /etc/group ←再度グループ「linuxuser」を確認します。
[root@Tiger root]#      ←削除されたのでなにも表示されません。

グループを追加する

2012年11月 2日

グループを作成するメリットは、複数人のプロジェクトなどで、メンバーをグループに
登録することでパーミッション管理が容易になる点です。
グループを作成するには、groupaddコマンドを使用します。
実行する際は、引数に追加するグループ名を指定します。

このコマンドを実行する際は、root権限が必要になります。

[pakira@Tiger ~]$ su -  ←root権限になります。
パスワード:
[root@Tiger ~]# groupadd unyo  ←新規グループを作成します。
[root@Tiger ~]# cat /etc/group | grep unyo ←作成したグループを確認します。
unyo:x:503:

所属グループを表示する

2012年11月 1日

特定のユーザーがどのグループに所属しているかを確認するには、groupsコマンドを使用します。
引数なしで実行した場合は、コマンドを実行したユーザーの所属グループが表示されます。
引数に所属グループを表示したいユーザー名を指定すると、そのユーザーの所属グループが表示されます。

■コマンドを実行したユーザーの所属グループを表示する
[pakira@Tiger ~]$ whoami  ←ユーザー名を表示します。
pakira
[pakira@Tiger ~]$ groups  ←所属グループを表示します。
pakira

■特定ユーザーの所属グループを表示する
[pakira@Tiger ~]$ groups nobody ←「nobody」ユーザーの所属グループを表示します。
nobody : nobody
[pakira@Tiger ~]$

Linuxユーザーのパスワードロックを解除する

2012年10月31日

Linuxユーザーのパスワードロックを解除するには、usermodコマンドにオプション「-U」を
付けてユーザー名を指定するか、passwdコマンドにオプション「-u」を付けて、
ユーザ名を指定して実行します。

■usermodコマンドでパスワードロックを解除する
[pakira@Tiger ~]$ su -  ←rootになります。
パスワード:
[root@Tiger ~]# usermod -U miyazaki ←miyazakiユーザーのパスワードロックを解除します。
[root@Tiger ~]# exit  ←rootから抜けます。
logout
[pakira@Tiger ~]$ su miyazaki ←miyazakiユーザーにスイッチします。
パスワード:            ←miyazakiユーザーのパスワードを入力します。
[miyazaki@Tiger pakira]$  ←ロックが解除されているため、スイッチできます。

■passwdコマンドでパスワードロックを解除する
[miyazaki@Tiger pakira]$ su - ←rootになります。
パスワード:
[root@Tiger ~]# passwd -u miyazaki ←miyazakiユーザーのパスワードロックを解除します。
ユーザー miyazaki 用のパスワードをロック解除。
passwd: 成功
[root@Tiger ~]# exit  ←rootから抜けます。
logout
[miyazaki@Tiger pakira]$ su miyazaki ←miyazakiユーザーにスイッチします。
パスワード:             ←miyazakiユーザーのパスワードを入力します。
[miyazaki@Tiger pakira]$   ←ロックが解除されているため、スイッチできます。

Linuxユーザーのパスワードをロックする

2012年10月31日

あるユーザーがしばらくLinuxシステムを利用しない場合、システムを利用できないよう
ユーザーパスワードをロックするが理想的です。
パスワードをロックするには、usermodコマンドにオプション「-L」を付けてユーザー名を指定するか、
passwdコマンドに「-l」オプションを付けて、ユーザー名を指定して実行します。

■usermodコマンドでパスワードをロックする
[pakira@Tiger ~]$ su - ←rootになります。
パスワード:
[root@Tiger ~]# usermod -L miyazaki ←miyazakiユーザーのパスワードをロックします。
[root@Tiger ~]# exit  ←rootから抜けます。
logout
[pakira@Tiger ~]$ su miyazaki ←miyazakiユーザーにスイッチします。
パスワード:              ←miyazakiユーザーのパスワードを入力します。
su: パスワードが違います     ←ロックされているため、スイッチできません。

■passwdコマンドでパスワードをロックする
[miyazaki@Tiger pakira]$ su -  ←rootになります。
パスワード:
[root@Tiger ~]# passwd -l miyazaki ←miyazakiユーザーのパスワードをロックします。
ユーザー miyazaki 用のパスワードをロック。
passwd: 成功
[root@Tiger ~]# exit  ←rootから抜けます。
logout
[miyazaki@Tiger pakira]$ su miyazaki  ←miyazakiユーザーにスイッチします。
パスワード:              ←miyazakiユーザーのパスワードを入力します。
su: パスワードが違います    ←ロックされているため、スイッチできません。

ログインシェルを変更するには

2012年10月15日

ログイン時に起動するログインシェルは、ユーザーごとに変更できます。
変更を行うには、chshコマンドを使用します。

システムで指定できるシェルは/etc/shellsファイルに記述されています。
もし、新しいシェルをシステムに追加した場合には、
このファイルにシェルへのパスを記述しておく必要があります。

管理者は、他のユーザーのシェルを変更することができますが、
一般ユーザーは、自分が使用するシェルのみ変更できます。
変更の反映は、次回ログイン時にから有効になります。

■ログインシェルを変更する
----------------------------------------------------------
$ cat /etc/shells ←使用できるシェルを確認する
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
$ chsh  ←chshコマンドでログインシェルを変更する
pakira のシェルを変更します。
パスワード:   ←ユーザーのパスワードを入力する
新しいシェル [/bin/bash]: /bin/ksh  ←新しく使用したいシェルを入力
シェルを変更しました。


■管理者(root)がユーザー(pakira)のログインシェルを変更する
--------------------------------------------------------------
$ su -      ←「su -」でrootになる
パスワード:    ←rootパスワードを入力する
# chsh pakira   ←chshの後ろにユーザー名を指定する
pakira のシェルを変更します。
新しいシェル [/bin/bash]: /bin/csh ←新しく使用したいシェルを入力
シェルを変更しました。
----------------------------------------------------------

ユーザーのログイン履歴を確認する

2012年10月10日

ユーザーのログイン履歴は、/var/run/utmp、/var/log/wtmpファイルに出力されます。
このファイルは、/var/log/lastlog、/var/log/btmpファイルと同様に
バイナリファイルな為、lessコマンドやcatコマンド、tailコマンドで表示できません。
表示するには、専用の/usr/bin/lastコマンドを使用します。

[root@Tiger ~]# last
pakira pts/0 192.168.0.162 Wed Oct 10 12:21 still logged in
reboot system boot 2.6.32-279.el6.i Wed Oct 10 12:20 - 12:37 (00:17)
root tty1 Fri Aug 24 13:45 - down (00:00)
pakira ftpd1456 192.168.0.162 Fri Aug 24 13:43 - 13:44 (00:01)
pakira ftpd1455 192.168.0.162 Fri Aug 24 13:43 - 13:44 (00:01)
pakira ftpd1446 192.168.0.162 Fri Aug 24 13:42 - down (00:03)

■ユーザー名を指定してログイン履歴を表示する
 引数にユーザー名を指定して実行すると、特定ユーザーのログイン履歴が表示できます。
[root@Tiger ~]# last pakira
pakira pts/0 192.168.0.162 Wed Oct 10 12:21 still logged in
pakira ftpd1456 192.168.0.162 Fri Aug 24 13:43 - 13:44 (00:01)
pakira ftpd1455 192.168.0.162 Fri Aug 24 13:43 - 13:44 (00:01)
pakira ftpd1446 192.168.0.162 Fri Aug 24 13:42 - down (00:03)
pakira pts/0 192.168.0.162 Fri Aug 24 13:20 - down (00:15)
pakira pts/0 192.168.0.162 Fri Aug 24 12:35 - 13:03 (00:28)
pakira ftpd1586 192.168.0.162 Fri Aug 24 11:54 - 11:55 (00:01)

他のユーザにファイルを見せないようにする

2008年3月 5日

Linuxでは、他のユーザにファイルを見せないようにすることができます。それを行うにはchmodコマンドを使用してファイルの権限を変更します。ここでいう他のユーザとは、ファイルの所有者グループに所属してるユーザと、それ以外のユーザになります。

続きを読む "他のユーザにファイルを見せないようにする"

他のユーザーの作業状況を確認するには

2007年10月 4日

同じLinuxシステム上にログインしているほかのユーザーがどのような作業をしているのか確認するには、wコマンドを使用すると便利です。

※ LinuxはマルチユーザーOSなので、複数のユーザーが同時にログインして作業することができます。

続きを読む "他のユーザーの作業状況を確認するには"

一般ユーザーでroot権限のコマンドを実行するには

2007年10月 4日

あるコマンドを実行するときにのみ、root権限のコマンドを使用したいという場合があります。そのようなときには、sudoコマンドを使うと便利です。

sudoコマンドの引数に実行したいコマンドを指定して実行することで、rootコマンドを実行することができます。しかし、sudoコマンドを実行する際には、あらかじめ/etc/sudoersファイルに実行を許可したいユーザを設定しておく必要があります。

この/etc/sudoersファイルに記述するユーザーは信頼のあるユーザーを設定する必要があります。

また、sudoコマンドを実行したログはsyslogデーモンを経由して、ログファイルに記述されるので、セキュリティ管理上のメリットがあります。誰がいつどんなコマンドをsudoコマンドを使用したのかを詳しく知ることができます。

sudo -u <ユーザー名> <実行するコマンド>

続きを読む "一般ユーザーでroot権限のコマンドを実行するには"

特定のユーザーのみrootになれるようにする

2007年9月28日

一般ユーザーからrootコマンドになるには、suコマンドを実行すればなることができますが、suコマンドを実行できるユーザーを制限すれば、サーバーのセキュリティの向上になります。
誰でもrootになれるシステムは決して好ましくありません。

一般的には、wheelという特別なグループに所属するユーザーのみsuコマンドが実行できるようにすることが多く、suコマンドの使用を制限するには、/etc/pam.d/suファイルを編集します。

/etc/pam.d/suファイルの下記の行をコメントを外すことで、wheelグループのユーザーのみsuコマンドを実施できるようになります。

#auth required /lib/security/pam_wheel.so use_uid

続きを読む "特定のユーザーのみrootになれるようにする"

一時的にrootになる

2007年9月28日

Linuxシステムを操作するには、Linuxにログインする必要があります。作業を行っていると一時的にroot権限になる必要がある場合があります。

その場合、いちいちログオフしてコンソールでroot権限でログインしなおすのは、実用的ではありません。

そんな時は、suコマンドを使用すれば簡単に一時的にroot権限意なることができます。
また、suコマンドの引数として、ユーザ名を指定すれば、その指定したユーザになることができます。

su <ユーザー名>

しかし、この時変更先ユーザーの環境変数を引き継ぐことが出来ません。環境変数などは元のユーザーのものをそのまま使用することになります。それでは大変不便なので、suコマンドのオプションとして「-」(ハイフン)を付けてコマンドを実行することで、変更先ユーザーの環境変数を引き継ぐことができるようになります。

続きを読む "一時的にrootになる"

ログインした時にユーザーにメッセージを表示する

2007年9月28日

Linuxはユーザーがログインした時に、任意のメッセージを表示させることができます。ログイン時にメッセージを表示するには、/etc/motdファイルに表示させるメッセージを記述します。

ちなみに、motdは「Message of the day」の略で、その日のお知らせという意味になります。

このログイン時のメッセージは、サーバーメンテナンスのお知らせや、システムに関する重要なお知らせを通知する場合に便利です。

メッセージの変更や削除を行う場合にも、/etc/motdファイルを編集します。

続きを読む "ログインした時にユーザーにメッセージを表示する"

ユーザを複数のグループに所属させる

2007年9月26日

Linuxのグループ情報は、「/etc/group」ファイルに格納されており、下記のような表記がされている

pakira:x:500:

左からpakiraはグループ名、Xはパスワード(Xと書かれているときは、/etc/gshadowファイルに書かれています。)500はGIDになります。

ユーザを複数のグループに所属させるには、「/etc/group」ファイルを編集しますが、「/etc/group」ファイルを編集するにはvigrコマンドを使用すると便利です。

続きを読む "ユーザを複数のグループに所属させる"

ユーザーを削除する

2007年4月14日

ユーザーを作成するuseraddコマンドがあれば、
削除するコマンドもあります。
ユーザーを削除するコマンドはuserdelになります。

このコマンドを実行すると、ユーザー情報は削除されますが、
ユーザーのホームディレクトリは残されたままになります。

ホームディレクトリも一緒に削除する場合は、
オプションに「-r」を指定して実行します。

続きを読む "ユーザーを削除する"

ユーザーの設定を変更する

2007年4月13日

ユーザーには予め、UIDやGID、ホームディレクトリなどが指定されています。しかし、これらの情報を後から変更したい場合には、usermodコマンドを使用します。

usermodコマンドはrootのみ実行することができ、ユーザー情報を様々変更することが出来ます。ユーザー名を変更することも可能です。

続きを読む "ユーザーの設定を変更する"

Linuxでユーザーの所属グループを確認するコマンド|id・groups・getentの使い分け

2007年4月13日
「このユーザー、どのグループに入ってるんだっけ?」
「プライマリグループとセカンダリグループって何が違うの?」

Linuxでファイルのアクセス権やサービスの実行権限を正しく管理するには、ユーザーがどのグループに所属しているかを正確に把握する必要があります。

この記事では、id・groups・getentコマンドを使ってグループを確認する方法から、/etc/passwd・/etc/groupファイルの読み方、プライマリグループとセカンダリグループの違い、さらにはグループの追加・変更手順まで、現場で必要な知識を網羅的に解説します。

プライマリグループとセカンダリグループの違い

Linuxのユーザーは、必ず1つの「プライマリグループ(主グループ)」に所属しています。ユーザーがファイルやディレクトリを作成すると、そのファイルのグループ所有者はプライマリグループになります。

一方、「セカンダリグループ(補助グループ)」は、追加で所属できるグループです。1人のユーザーが複数のセカンダリグループに所属できます。

プライマリグループ:ユーザーに必ず1つ割り当てられるグループ。ファイル作成時のグループ所有者になる
セカンダリグループ:追加で所属できるグループ。共有ディレクトリへのアクセス制御などに使う

たとえば、開発チーム用の共有ディレクトリに複数のユーザーがアクセスできるようにしたい場合、セカンダリグループとして「developers」を作り、そこに各ユーザーを追加する、という使い方をします。

続きを読む "Linuxでユーザーの所属グループを確認するコマンド|id・groups・getentの使い分け"

グループを作成する

2007年4月10日

グループを新規作成追加するには、「groupadd」コマンドを使用します。グループに関する情報は/etc/groupに記述されており、編集することも可能です。

しかし、「/etc/group」ファイルを直接編集するのではなく、vigrコマンドでグループ情報を編集することができますので、こちらで編集したほうが望ましいでしょう。

続きを読む "グループを作成する"

ユーザーを作成する

2007年4月10日

ユーザーを新規作成追加するには「useradd」コマンドを使用します。コマンドの引数としてユーザー名を指定することで、ユーザーが作成されます。その際、/homeディレクトリ配下にユーザーディレクトリが作成され、ユーザー名と同じグループ名も作成されます。

続きを読む "ユーザーを作成する"

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る