大きなミスを犯してしまい、ワークステーションで何もできなくなりました。VirtualBox を起動しようとすると、/usr に実行アクセス権があるというエラーが表示されました。その後、誤って sudo chmod 666 /usr を実行したため、'sudo' を実行できなくなりました。
技術部門に問い合わせたところ、Ubuntu には root のパスワードがないので、私のエラーに対する解決策は見つからず、Ubuntu を再インストールするしかないと言われました。つまり、これまでの作業がすべて失われることになります。
この問題の解決策を誰か思いつくといいのですが。/usr に再度アクセスしたり、root ユーザーになったりするにはどうすればいいと思いますか?
答え1
それをやっただけならsudo chmod 666 /usr
、状況はそれほど悪くありません。親ディレクトリの権限のみが変更され/usr
、その中のサブディレクトリのファイルは変更されないからです。
ただし、再帰フラグを追加した場合は-R
、システムを再インストールした方が確実に良いでしょう。それでも、データを失う理由はないはずだ: ライブ USB または DVD から起動し、まずそこから重要なファイルをバックアップすることができます。
もしsudo chmod 666
ディレクトリの再帰的な操作のみを実行し/usr
、マシンに物理的にアクセスできる場合、最も簡単な修正方法は次のようになります。
- GRUBの詳細メニューからリカバリモードで起動し、「ルートシェルにドロップ」を選択します。
ファイルシステムを読み書きモードで再マウントする
mount -o remount,rw /
コマンドを実行する
chmod 755 /usr
しないでくださいその他のコマンドラインオプションを追加し、しない任意のシェルワイルドカードを使用します。
exit
通常通り起動を続行するには入力してください
注意してください。ではなく がchmod
に住んでいる場合、 の権限の影響を受けません。たとえば、ディレクトリの権限ビット、またはディレクトリ自体の権限ビットを変更すると、リカバリ モードから実行できなくなるため、この方法は適切ではありません。その場合の最善の選択肢は、利用可能な Linux ディストリビューション (Ubuntu である必要はありません) のライブ CD/DVD/USB を起動し、壊れたシステムのルート デバイス (たとえば、ライブ システムの )を識別してマウントし、ライブ システムから実行することです。/bin
/usr/bin
/usr
/bin
/
chomd
/mnt
chmod 755 /mnt/usr
答え2
コマンドによって /usr/bin/sudo から SUID ビットが削除された可能性があります。正しい権限は次のようになります:
-rwsr-xr-x 1 root root 136808 Aug 17 15:20 /usr/bin/sudo
上記のコメントで述べたように、リカバリ CD を入手し、「ルート パーティションの検索」セクションの手順に従ってください。マウントに成功したら、次のコマンドで SUID ビットを設定します: chmod 4755 /usr/bin/sudo