web-dev-qa-db-ja.com

Ubuntu 16.04 LTSは管理者権限を失いましたbash:/ etc / profile:許可が拒否されました

Wi-Fiに問題がありましたが、解決しようとしていたときに発生した問題のため、未解決のままです。

私はwifi用のこのソリューションを見つけたので、試してみました:

Sudo gedit /etc/pm/config.d/config

このテキストを構成に挿入

SUSPEND_MODULES = "drivername logicalchipname"

ファイルの書き込みまたは実行の許可がないため、chmodを使用して問題を解決しようとしました。これは私が行ったすべての操作の順序付きリストであり、この質問の問題につながりました。

chmod 700 config 
chmod 700 config.d 
chmod 700 etc
chmod 754 etc

3番目または4番目のコマンド(どちらのコマンドかわからない)の後、管理者権限を失いました。実際、コマンドSudoを使用しようとすると、3行が出力されます。

Sudo: cannot stat /etc/sudoers : permission denied
Sudo: no valid source of sudoers found, exiting
Sudo: could not initialize policy plugin

端末に表示されます

-bash: /etc/profile: Permission denied
Missing name@zenoraiser-P552LA

ターミナルを開くたびに、bash/etc/profile:Permission denied lineを出力しますが、名前の部分が欠落しているのは珍しいです。

私は何を提案しますか?

2
Zeno Raiser

chmodを使用してファイルを編集するとき、Sudoを実行する必要はありませんが、Sudo gedit(たとえばSudo -H gedit)は使用しないでください。

権限を再帰的に変更しなかったため、問題をかなり簡単に修正できます。

ライブセッションを起動します(たとえば、インストールに使用するUbuntuブータブルUSB、System Rescue。お持ちでない場合は、別のコンピューターを使用して作成するか、購入することもできます)。 UbuntuライブUSBを使用している場合は、[**インストールせずにUbuntuを試す]を選択します。

ライブ環境で、Sudo fdisk -lを使用して、ディスク上の(影響を受けた)ルートパーティションを特定します。

おそらく最大のパーティションになり、「Linuxファイルシステム」というラベルが付けられます。 /dev/sda1または/dev/mmcblk0p2のようなもの。

sdXYの代わりに適切な名前を使用して、ルートパーティションをマウントします。

Sudo mount /dev/sdxY /mnt

正しいパーティションであったことを確認します。

ls /mnt

/に表示されるはずの何かを出力する必要があります。おおよそ次のようになります。

bin    dev   lib64       mnt   root  snap      sys  var
boot   etc   lost+found  opt   run   srv       tmp  
cdrom  home  lib         media       proc      sbin usr

正しく見える場合:

cd /mnt
Sudo chmod 755 etc
Sudo chmod 755 etc/pm
Sudo chmod 755 etc/pm/config.d
cd

その後、パーティションをアンマウントし、通常どおりシステムを再起動できます。

Sudo umount /mnt
reboot
2
Zanna

他のユーザーが/etc/ディレクトリにアクセスするための実行可能権限を削除しました。それが彼らがディレクトリにアクセスできなくなった理由です。

Sudo suに続いてchmod 755 /etcを試してください。

ただし、それが機能しない場合は、HDDをマウントしてライブイメージを起動し、chmodコマンドchmod 755 /mountpoint/etcを実行することをお勧めします。

0
Ziazis