fugafuga.write

日々のログ

【Linux】 最低限知っておきたいユーザー・グループ管理コマンドまとめ

新環境構築時に毎回調べてしまうのでメモ
f:id:tokoyax:20150307003237j:plain


ユーザーの情報を確認する

/etc/passwd ファイル

一般ユーザーでも参照できます。

$vi /etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...

情報の見方

ユーザー名 : 暗号化されたパスワードか”x”の文字 : ユーザーID : グループID : コメント : ホームディレクトリ : ログインシェル

"x”の文字はシャドウパスワードを使用していることを表しています。

シャドウパスワードについて

/etc/shadow ファイル内に暗号化されたパスワード情報が記載されています。
root でしか参照できません。

ユーザーを追加する

useradd コマンド

# useradd testuser

この状態でログインしようとするとパスワードを聞かれます。
パスワードをまだ設定していないのにです。
パスワード未入力の状態で実行してもログインできず。

とりあえず、ユーザーの情報を見てみます。

/etc/passwd

testuser:x:502:503::/home/testuser:/bin/bash

”x”の文字があり、シャドウパスワードが設定されているようです。

なので、root で /etc/shadow を見てみます。

testuser:!!:16500:0:99999:7:::

パスワード情報が、”!!” となっています。
これは、アカウントがロックされている状態を表しているようです。

なので、デフォルトのパスワードのようなものが設定されることは無いということです。
ちなみに、”!!” を削除するとパスワード無しでログインできるようになります。(危険)

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

passwd [user]

root は、どのユーザーのパスワードも変更可能です。
一般ユーザーは、自分のパスワードのみ変更可能です。

# passwd testuser
Changing password for user testuser.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.

確認のため、2回入力します。
BAD PASSWORD は、単純なパスワードだと警告が出ています。(危険)

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

usermod [色々]

よく使うものを挙げます。

グループの変更

# usermod -g testgroup -G wheel,ruby testuser

オプション説明

[ -g ] : ユーザーのイニシャルグループを指定
[ -G ] : ユーザーのサブグループを指定(カンマ区切りで複数グループ指定できる)

ユーザーを削除する

userdel [ user ]

# userdel -r testuser

テストユーザーを削除します。
[ -r ] オプションをつけると、そのユーザーのホームディレクトリ、メールスプールも一緒に削除されます。
その他のファイルは自力で探して削除する必要があります。

なお、削除されたユーザーが所持していたファイルは、削除を実行したユーザーの持ち物になります。

グループの情報を確認する

/etc/group ファイル

一般ユーザーから参照可能です。

$ vi /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
...

情報の見方

グループ名 : 暗号化されたパスワードか”x”の文字 : グループID : サブグループとして参加しているユーザーID


グループにログインする

newgrp [ グループ名 ]

ユーザーが属しているサブグループにログインできます。
ただし、ログインしようとしているグループにグループパスワードが設定されている必要があります。

ログインすると、ログインしたサブグループが、そのユーザーのプライマリグループになります。

ファイルやディレクトリなどを作成した時に影響します。

$ newgrp testuser2

あまり使わないコマンドですが一応。

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

gpasswd [ グループ名 ]

passwd と同様です。

# gpasswd testuser


まんがでわかるLinux シス管系女子(日経BP Next ICT選書)

まんがでわかるLinux シス管系女子(日経BP Next ICT選書)

Linux教科書 LPICレベル1 第5版

Linux教科書 LPICレベル1 第5版

Linuxシステム[実践]入門 Software Design plus

Linuxシステム[実践]入門 Software Design plus


[参考]
kazmax - Linuxで自宅サーバー