ユーザアカウント管理

/ LPIC / Comment[0]

ユーザアカウント情報 /etc/passwd


/etc/passwd
p:x:1000:1000:rei,,,:/home/p:/bin/bash


ユーザ名:パスワード:UID:GID:コメント:ホームディレクトリ:デフォルトのシェル

パスワード 暗号化されたパスワード ただし、shadowパスワードを利用している場合は「x」が入る
UID ユーザを識別する為のID rootは0、システム管理用1~99、一般ユーザは100以降の番号が割り当てられる
GID グループを識別する為のID /etc/groupに割り当て情報が書かれている
コメント ユーザのネームなどが入る
ホームディレクトリ そのユーザのホームディレクトリのフルパス
デフォルトシェル ユーザがログインしたりシェルを開いたときに起動されるシェルの絶対パスが入る

パスワードは/etc/shadowに保存されている
/etc/shadowはrootにしか読めないのでセキュリティが強化されている

/etc/passwd ユーザ情報
/etc/shadow ユーザパスワード



ユーザアカウントを作成する
# useradd オプション ユーザ名

オプション
-c コメントフィールドを指定
-d ホームディレクトリを指定
-g プライマリグループを指定
-G プライマリグループ以外に所属するグループを指定
-s ログインシェルを指定
-D デフォルトの設定値を表示、設定

# useradd -c "DOLLARS" -d /home/DOLLARS -s /bin/bash Phantom


ユーザアカウントの変更
# usermod オプション ユーザ名

オプション
-c コメントフィールドを変更
-d ホームディレクトリを変更
-g プライマリグループを変更
-G 所属するグループを変更
-s ログインシェルを変更
-L パスワードをロックして一時的に無効化
-U パスワードをロックを解除

Phantomのホームディレクトリを/home/moved/に変更
# usermod -d /home/moved/ Phantom

Phantomの所属グループをDOLLARSに変更
# usermod -G DOLLARS Phantom

一時的にアカウントを無効
# usermod -L Phantom


パスワードを設定
# passwd オプション ユーザ名

オプション
-a 全アカウントのパスワード状態を表示
-d 指定アカウントのパスワードを削除
-e 指定アカウントのパスワードを期限切れに
-k 期限切れの場合のみパスワードを変更
-i パスワードの期限
-l 指定アカウントをロック
-n パスワードが無効になるまでの最短日数を変更
-r 指定リポジトリのパスワードを変更する
-S 指定アカウントのパスワードの状態を表示
-u 指定アカウントのロックを解除
-w 期限切れ警告の日数を変更
-x パスワードが変更できる期間の最長日数を変更

Phantomのパスワードを設定
# passwd Phantom

パスワードの期限を7日に設定
# passwd -i 7 Phantom

アカウントをロック
# passwd -l Phantom

アカウントのロックを解除
# passwd -u Phantom


ユーザアカウントを削除
# userdel オプション ユーザ名

オプション
-f, --force 当該ユーザの所有でないファイルも削除
-r, --remove ホームディレクトリとメールスプールを削除

アカウントをホームディレクトリごと削除
# userdel -r Phantom



グループアカウント /etc/group


/etc/group
DOLLARS:x:1000:Moxzu,mathematics315,T,kazurin,TakizawaAkiraman,ZEUS,Firefox


グループ名:パスワード:GID:グループメンバ

パスワード shadowパスワードを使用している場合は「x」が入り、/etc/gshadowにパスワードが格納される
GID グループIDが入る。
グループメンバ グループに所属しているメンバが入る。複数のユーザが所属してる場合は「,」で区切られる

/etc/group グループ情報
/etc/gshadow グループパスワード


グループを追加
# groupadd グループ名

# groupadd DOLLARS


グループを編集
# groupmod オプション グループ名

オプション
-g GIDを変更
-n グループ名を変更

グループIDを120に変更
# groupmod -g 120 DOLLARS

グループ名をdara-zuに変更
# groupmod -n dara-zu DOLLARS


グループを削除
# groupdel グループ名


グループのパスワードを設定
# gpasswd オプション グループ名

オプション
-a グループへユーザを追加する
-d グループからユーザを除外する
-r グループのパスワードを削除
-R 指定したユーザのグループへのアクセスを制限する
-M グループのメンバーのリストを設定
-A グループ管理者のリストを設定

PhantomをDOLLARSに追加
# gpasswd -a Phantom DOLLARS

PhantomをDOLLARSから除外
# gpasswd -d Phantom DOLLARS

PhantomをDOLARSへのアクセスを制限する
# gpasswd -R Phantom DOLLARS

グループのメンバーリストを設定
# gpasswd -M Phantom,user1,user2,user3 DOLLARS

ユーザアカウントを作成すると、ホームディレクトリも同時に作成され、
そのときに/etc/skel/ディレクトリにある雛形ファイルがホームディレクトリへコピーされる。
.bash_logout .bashrc .profile examples.desktop


ログイン中のユーザ情報を表示
$ who
p pts/1 2010-04-14 19:14 (:0.0)

ユーザ名 p
端末 pts/1
日付 2010-04-14 19:14
IPアドレス :0.0

wコマンドを使うと、ログイン中のユーザに加え、システム情報も表示される
$ w
19:57:39 up  1:14,  2 users,  load average: 0.02, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
p tty7 :0 18:43 1:14m 11:08 0.12s gnome-session
p pts/1 :0.0 19:14 0.00s 0.53s 0.03s w

who,wコマンドは/var/run/utmpを参照する


最近ログインしたユーザの一覧を表示する
$ last
p        pts/1        :0.0             Wed Apr 14 19:14   still logged in   
p tty7 :0 Wed Apr 14 18:43 still logged in
reboot system boot 2.6.31-20-generi Wed Apr 14 18:43 - 20:08 (01:24)

lastコマンドは/var/log/wtmpファイルを参照する


ユーザごとのログイン情報を表示
# lastlog
ユーザ名         ポート   場所             最近のログイン
p tty4 土 4月 10 18:56:29 +0900 2010
root **一度もログインしていません**
daemon **一度もログインしていません**
bin **一度もログインしていません**
sys **一度もログインしていません**
sync **一度もログインしていません**
games **一度もログインしていません**

lastlogコマンドは/var/log/lastlogファイルを参照する


ログファイルの分割
ログファイルは肥大化していき、管理が難しくなる。
そこでログファイルを分割をして、古い物から削除してローテーションするようにする。

ログのローテーションをするにはlogrotateを使う

/etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}

/var/log/btmp {
missingok
monthly
create 0660 root utmp
rotate 1
}

# system-specific logs may be configured here
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可