I・O DATA LANDISK HDL-GX ssh設定(3)bashインストール、UID&GID変更

bashインストール

まずは、aptを使ってパッケージを導入します。
#apt-get install ssh

ここで、「グループID42がない」とか、「グループID65534がない」とか文句を言われ、中断します。いろいろ調べてみたところ、HDL-Gのグループ設定(/etc/group)は、Debian標準準拠のグループID構成になっていません(Debianでは、100番以下のIDの振り方を決定しており、それに従わなければならないようです。参考は、Debian-Policy公式文書)。

本来ならばGID=42は「shadow」でなければならないのに、「gdm」になっています。
また、GID=65534は「nogroup」であるべきなのに、定義されていません。
よって、gdmを1001番に移動してあげます。

# delgroup gdm
# addgroup --gid 1001 gdm
# addgroup --gid 42 shadow
# addgroup --gid 65534 nogroup

そして、再度、apt-get install sshをすれば、無事成功しました。
(中略)
ちなみに、gdm=42というグループ番号付けはRedHat系らしいので、HDL-Gの開発者の人たちはRHからgroupファイルをコピってきたのかもしれません。
(中略)
【11/1追記】
その後、「apt-get install bash」を実行したとき、インストールの過程で、「ユーザーIDとグループIDがめちゃくちゃやんか。こういう風に、正しくなおしてやろうか?」っていう風に尋ねられました。それにYesと答えると、いろんなユーザー・グループが正しくなりました。
sshを導入するまえに、bashを導入しておくと、上記のような文句は言われないですむかもしれません。
sshの導入 GigaLandiskといっしょ。| HDL-Gで格安自宅サーバー!

HDL-Gの工場出荷時のUserID/GroupIDはDebian規約に違反した採番になっていて、ssh等のその後のapt-getで予期しないエラーを誘発する可能性があるので、それを訂正しておきます。
手作業で訂正してもいいのですが、bashを導入しようとすると、bashインストーラーが訂正してくれます。
# apt-get install bash
途中で「ユーザーIDとグループIDを正しく修正するけどいい?」と尋ねられるので、Yesと答えてください。
さて、この修正により、それまで存在していたftpユーザー、ftpグループ、nobodyグループが消失してしまうので、FTP(vsftpd)とSambaが動作しなくなります。
HDL-Gぷちハック手順 (最新版) GigaLandiskといっしょ。| HDL-Gで格安自宅サーバー!

ということなのでHDL-Gぷちハック手順 (最新版) GigaLandiskといっしょ。| HDL-Gで格安自宅サーバー!の「3-D. bashの導入」を参考にbashをインストール。
念のため現状の/etc/groupと/etc/passwdを確認。また両方とも.bakを付けたバックアップをコピーしておく。
/etc/group

root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
mail:x:12:mail
news:x:13:news
uucp:x:14:uucp
dip:x:40:
ftp:x:50:
nobody:x:99:admin
users:x:100:
floppy:x:19:
slocate:x:21:
utmp:x:22:
mailnull:x:47:
ident:x:98:
rpc:x:32:
rpcuser:x:29:
gdm:x:42:
cdrom:x:60:root
tape:x:61:root
dialout:x:62:root
video:x:63:root
audio:x:64:root
apache:x:70:
admin:x:101:
(1000以上は略)

/etc/passwd

root:*++*+*++*+*:0:0::/root:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/var/spool/news:
uucp:*:10:14:uucp:/var/spool/uucp:
operator:*:11:0:operator:/root:
ftp:*:14:50:FTP User:/mnt/hda6/share/share:
nobody::99:99:Nobody:/:/bin/false
mailnull:*:47:47::/var/spool/mqueue:/dev/null
ident:*:98:98:pident user:/:/bin/false
rpc:*:32:32:Portmapper RPC user:/:/bin/false
rpcuser:*:29:29:RPC Service User:/var/lib/nfs:/bin/false
apache:*:70:70:apache:/:/bin/false
admin:x:101:101:admin:/dev/null:/bin/false
(1000以上は略)

ここでbashインストール時のlogを記載したかったのですが…telnetしていたMacの不調のため、記録できませんでした。
仕方ないので/var/log/aptitude のログのみ記載します。

Aptitude 0.2.15.9: ログ報告
Fri Jan  8 15:33:21 2010


重要: このログは、明示的に記録するよう設定したアクションのみを記録します。
      つまり、dpkgの問題によるアクションは記録されない可能性があります。

11のパッケージをインストールし、0のパッケージを削除します。
9630kB のディスク領域を使用します
===============================================================================
[依存関係によりインストール] base-files
[依存関係によりインストール] base-passwd
[依存関係によりインストール] gawk
[依存関係によりインストール] libcap1
[依存関係によりインストール] libdb3
[依存関係によりインストール] libpam-modules
[依存関係によりインストール] libpam-runtime
[依存関係によりインストール] libpam0g
[依存関係によりインストール] login
[依存関係によりインストール] passwd
[インストール] bash
===============================================================================

ログ完了。

あと、base-filesにより変更するか訊ねられたファイルを確認していたので、そのhistoryを。

  487  cat /etc/issue
  488  cat /etc/nsswitch.conf
  489  cat /etc/pam.d/login
  490  cat /etc/pam.d/su
  491  cat /etc/login.defs

bashインストール後の/etc/group。

root:x:0:root
bin:x:2:root,bin,daemon
daemon:x:1:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
kmem:x:15:
mail:x:8:mail
news:x:9:news
uucp:x:10:uucp
dip:x:30:
users:x:100:
floppy:x:25:
utmp:x:43:
rpc:x:32:
cdrom:x:24:root
tape:x:26:root
dialout:x:20:root
video:x:44:root
audio:x:29:root
apache:x:70:
admin:x:101:
(1000以上は略)
man:*:12:
proxy:*:13:
fax:*:21:
voice:*:22:
sudo:*:27:
www-data:*:33:
backup:*:34:
operator:*:37:
list:*:38:
irc:*:39:
src:*:40:
gnats:*:41:
shadow:*:42:
sasl:*:45:
plugdev:*:46:
staff:*:50:
games:*:60:
nogroup:*:65534:

/etc/passwd

root:$1$wWNeBvNv$oZ7t0UikzzUH1cFLrhXRs.:0:0::/root:/bin/bash
bin:*:2:2:bin:/bin:/bin/sh
daemon:*:1:1:daemon:/usr/sbin:/bin/sh
lp:*:7:7:lp:/var/spool/lpd:/bin/sh
sync:*:4:65534:sync:/bin:/bin/sync
mail:*:8:8:mail:/var/mail:/bin/sh
news:*:9:9:news:/var/spool/news:/bin/sh
uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh
operator:*:11:0:operator:/root:
nobody::65534:65534:nobody:/nonexistent:/bin/sh
apache:*:70:70:apache:/:/bin/false
admin:x:101:101:admin:/dev/null:/bin/false
(1000以上は略)
sys:*:3:3:sys:/dev:/bin/sh
games:*:5:60:games:/usr/games:/bin/sh
man:*:6:12:man:/var/cache/man:/bin/sh
proxy:*:13:13:proxy:/bin:/bin/sh
www-data:*:33:33:www-data:/var/www:/bin/sh
backup:*:34:34:backup:/var/backups:/bin/sh
list:*:38:38:Mailing List Manager:/var/list:/bin/sh
irc:*:39:39:ircd:/var/run/ircd:/bin/sh
gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh

この変更によりftpユーザが消えるので、ftpが使えなくなるようだ。またsmbが使えなくなるとの話だったが使えている。何故だろう、それから私が最も使っているafpは使えている。ftpは使ってないのでひとまずここまで。