uid/gid関連で便利なコマンド


先日サーバを結構たくさんリプレースしまして、
/etc/passwdとかshadowを手でがんばって移したんですけど
そのとき教えて頂いてuid/gid関連で便利だな~って思ったコマンド

1. マッピングのチェックにすごい便利だな~って思ったコマンド

コマンド
for x in `grep -v "/home/" /etc/passwd |sort|awk -F":" '{print $1}'`;do echo "### $x ###";id $x ;done
結果サンプル
# for x in `grep -v "/home/" /etc/passwd |sort|awk -F":" '{print $1}'`;do echo "### $x ###";id $x ;done
### abrt ###
uid=173(abrt) gid=173(abrt) groups=173(abrt)
### adm ###
uid=3(adm) gid=4(adm) groups=4(adm),3(sys)
### alias ###
uid=900(alias) gid=900(nofiles) groups=900(nofiles)
### apache ###
uid=48(apache) gid=48(apache) groups=48(apache),912(nagios)
### authdb ###
uid=909(authdb) gid=902(vida) groups=902(vida)
### bin ###
uid=1(bin) gid=1(bin) groups=1(bin),2(daemon),3(sys)
### daemon ###
uid=2(daemon) gid=2(daemon) groups=2(daemon),1(bin),4(adm),7(lp)

(以下略) 

手で一生懸命移してから↑やると結構ミスってるんですよね・・・涙
↓みたいな感じで・・

ミスのイメージ
### apache ###
uid=48(apache) gid=49(hoge) groups=49(hoge)

※たとえばこれだとapacheの起動ユーザ/グループが
 apache.apacheだったらあがんないからね・・

2. uid/gidでソートするコマンド

コマンド
# sort -t':' -k3 -n /etc/passwd
# sort -t':' -k3 -n /etc/group
結果サンプル
# sort -t':' -k3 -n /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
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
(以下略)

# sort -t':' -k3 -n /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
(以下略)

うーん美しい