web-dev-qa-db-ja.com

Sudoおよびchmod 777であっても、一部のファイルの許可が拒否されました

ファイルの編集が許可されなかったことが何度かありました。 777に変更し、Sudoでファイルを開いた場合でも。例えば。 this チュートリアルの/sys/kernel/debug/vgaswitcheroo/switchファイル。

まず、これはどのように可能ですか?次に、この種のファイルにアクセスするにはどうすればよいですか?

5
OrangeTux

ファイルを読み取るためには、ファイルの読み取り許可が十分ではありません。また、それが属するディレクトリの読み取り権限が必要です。 /sys/kernel/debug/vgaswitcheroo/switchの場合、問題は/sys/kernel/debugであり、デフォルトでは、rootのみが読み取り可能です。

$ ls -ld /sys/kernel/debug
drwx------ 22 root root 0 Nov 20 18:25 /sys/kernel/debug

そのディレクトリのコンテンツにアクセスするには、chmod a+r /sys/kernel/debugが必要です。

/sys/kernel/debugへのグローバルアクセスを与えることは安全なことではないため、お勧めしませんが、これは別の問題です。)

このようなファイルにアクセスする最も一般的な方法は、ルートシェルを使用することです。

Sudo -i
5