お久しぶりです。あまりこっちの方見ていなかったので更新していませんでした。
ついさっき、少し前に秋葉原で買ったMacbookProにLinuxを入れて運用していたところ、ミスでsudo chmod -R 700 /と打ってしまいKDEやSDDMがブラックスクリーンになって動かなくなってしまったので、それを元通りにした備忘録です。(説明は画像なし)
基本的にはこのコマンドを誤って打ったときは再インストールなどが一番の方法ですが、バックアップなども取っておらず環境を作り直すも大変なので自分はこのように行いました。(非推奨)
- 1. AlterLinuxやUbuntuなどのディストリビューションを別PCを使いUSBメモリに焼き、ブートセレクトでUSBメモリから起動する
- 2. 起動したら、rootをマウントし、権限を書き込み可能な状態にする。
- 3. /home、/tmpを777、/root、/lost+foundを700、/boot、/dev、/etc、/mnt、/opt、/proc、/run、/srv、/sys、/usr、/varを755でchmodする
- 4. sudoとsu、dbusの権限を設定する
- 5. 起動してサービスが起動していて(ほぼ)すべてがしっかりと動いていることを確認する
- 画像
1. AlterLinuxやUbuntuなどのディストリビューションを別PCを使いUSBメモリに焼き、ブートセレクトでUSBメモリから起動する
Balenaetcherがおすすめです。WindowsならRufusもいいかも
このUSBメモリ上のLinux環境で権限周りを弄っていきます。
2. 起動したら、rootをマウントし、権限を書き込み可能な状態にする。
自分の場合は、AlterLinuxでターミナルを開いて
$ sudo chmod 777 /run/media/alterlive/(UID)
でできました。
3. /home、/tmpを777、/root、/lost+foundを700、/boot、/dev、/etc、/mnt、/opt、/proc、/run、/srv、/sys、/usr、/varを755でchmodする
USBのrootではなく、ドライブ上のrootにいる状態で以下のコマンドを実行します。
$ sudo chmod -R 777 home
$ sudo chmod -R 777 tmp
$ sudo chmod -R 750 root
$ sudo chmod -R 750 lost+found
$ sudo chmod -R 755 boot
$ sudo chmod -R 755 dev
$ sudo chmod -R 755 etc
$ sudo chmod -R 755 mnt
$ sudo chmod -R 755 opt
$ sudo chmod -R 755 proc
$ sudo chmod -R 755 run
$ sudo chmod -R 755 srv
$ sudo chmod -R 755 sys
$ sudo chmod -R 755 usr
$ sudo chmod -R 755 var
よくよく考えたらドライブごとsudo chmod -R 755 /run/media/username/(UID)で設定した後でやればよくね?ってことに気づいた。
4. sudoとsu、dbusの権限を設定する
この状態でも一応GUIはおそらく起動できるのですが、sudoとsu、dbusがちゃんと動かないので権限を変更します。
ドライブのrootでターミナルを開いて、
$ sudo chmod 4755 usr/bin/su
$ sudo chown root:root usr/bin/sudo
$ sudo chmod 4755 usr/bin/sudo
$ sudo chmod 4754 usr/lib/dbus-1.0/dbus-daemon-launch-helper
$ sudo chmod u+s usr/lib/dbus-1.0/dbus-daemon-launch-helper
$ sudo chown root:dbus usr/lib/dbus-1.0/dbus-daemon-launch-helper
(↑自分はこのコマンドと権限設定で行けましたが場合によっては?情報ソースが古いのかもしれませんが
$ sudo chown root:messagebus usr/lib/dbus-1.0/dbus-daemon-launch-helper
にしないとだめかもしれません。)
このコマンドを打ち終わったら再起動してください。
5. 起動してサービスが起動していて(ほぼ)すべてがしっかりと動いていることを確認する
自分の場合はこの状態でSDDM、KDE5、sudo su、powerdevilも初期は動かなかったものがdbusの権限設定などの変更で動くようになりました。
稀に自分の場合plasmashellやfcitx5が起動しないので、自動起動から指定して起動させています。
ご参考までに。
画像
画面がバカ反射するので明るさ低めです