玄箱をDebian化したときにファイルパーミッションが変更されてしまう件、下記に情報がありました。
http://w3.quake3.jp/sushi-k/wp/?p=68
下記のように対処して見ました。
現象の確認
今回は、suコマンドを実行しようとしたときにエラーとなってしまいました。
$ su - Password: su: Authentication failure Sorry. $
原因の把握
typeコマンドで/bin/suのsuidパーミッションがないことがわかります。
$ ls -l `type -p su` -rwxr-xr-x 1 root root 24728 Feb 28 00:16 /bin/su $
apt-fileコマンドで修正する必要があるパッケージがloginパッケージということがわかります。
$ apt-file search /bin/su | grep " bin/su" login: bin/su star: bin/suntar $
パッケージの修正
パッケージを再インストールします。
# aptitude reinstall login Reading package lists... Done Building dependency tree... Done Reading extended state information Initializing package states... Done Reading task descriptions... Done Building tag database... Done The following packages will be REINSTALLED: login 0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded. Need to get 796kB of archives. After unpacking 0B will be used. Writing extended state information... Done Get:1 http://ftp.jp.debian.org etch/main login 1:4.0.18.1-7 [796kB] Fetched 796kB in 2s (271kB/s) (Reading database ... 10006 files and directories currently installed.) Preparing to replace login 1:4.0.18.1-7 (using .../login_1%3a4.0.18.1-7_arm.deb) ... Unpacking replacement login ... Setting up login (4.0.18.1-7) ... #
修正の確認
$ ls -l /bin/su -rwsr-xr-x 1 root root 24728 Feb 28 00:16 /bin/su $ su - Password: #
ほかに気がついたパッケージ
sudoも同じ理由で再インストールしました。
そのほかの修正
/tmpと/var/tmpのパーミッションでviもsshも使えませんでした。
これは、個別にパーミッションを設定し直しました。
$ vi ex/vi: Error: Unable to create temporary file: Permission denied $ sudo chmod og+w /tmp $ sudo chmod og+w /var/tmp $ ls -ld /tmp drwxrwxrwt 2 root root 6 May 6 08:57 /tmp $ ls -ld /var/tmp drwxrwxrwt 3 root root 23 May 6 11:12 /var/tmp $
screenやsshも動きませんでした。
いろいろ、試した結果、/dev下のファイルのグループ、パーミッションを目視で比較して設定し直したところ直りました。
もう少しマシな方法があるような気もしますが…
たぶん、ptysやptyp*あたりかな…