GNU/Linux >> Linux の 問題 >  >> Ubuntu

「猫」:ファイルを開くことができません:アクセスが拒否されましたか?

/全体をコピーしようとしています 他の場所へのディレクトリ。 cpを再帰的に実行すると、次のような一部のファイルで失敗します。-

/ # ls -lrt /sys/module/nf_conntrack_ipv4/uevent
--w-------    1 root     root          4096 Mar  7 06:29 /sys/module/nf_conntrack_ipv4/uevent
/ #
/ # cat /sys/module/nf_conntrack_ipv4/uevent
cat: can't open '/sys/module/nf_conntrack_ipv4/uevent': Permission denied
/ # cp /sys/module/nf_conntrack_ipv4/uevent /tmp
cp: can't open '/sys/module/nf_conntrack_ipv4/uevent': Permission denied

wだけでファイルを作成した場合 パーミッションとそれをコピー/キャットしようとすると、そこに問題は見られませんでした。ただし、上記のような一部のファイルでは、rootユーザーとして使用しようとしても、コピーしたり、catしたりすることができません。また、奇妙なことに、上記のファイルのサイズは4096と記載されており、これはディレクトリのサイズと似ています。これは特別なファイルですか?

私はここで何かが欠けていると思います、そしてそのようなファイルまたはそのような振る舞いについてもっと知るためにいくつかの入力が必要です。そのようなファイルの内容を猫にすることが許可されていない理由を理解するのを手伝ってください。

承認された回答:

通常のファイルシステム(例: ext4wしかない場合 ファイル内の権限があると、読み取ることができなくなります(cat )それ、あなたは読む必要があります(r )そのためのビット。 rootに注意してください 許可ビットに関係なく、任意のファイルを読み取ることができます。

さて、/sys 特別なsysfsのマウントポイントです Linuxカーネルによって提供されます。これは実際には仮想ファイルシステムであり、通常のファイルシステムとは動作が異なります。 /sys システムのデバイス関連情報が含まれています。

/sysで何かを変更する カーネルの内部データ構造を直接変更するため、カーネルが何を許可または拒否するかによって異なります。

/sys/module/nf_conntrack_ipv4/ueventの場合 、wしかありません 所有者に設定されたビット(root )、rを追加しても rootのビット (これは非常に悪い考えです )、ファイルの読み取り中にI / Oエラーが発生するのは、設計上、カーネルがnf_conntrack_ipv4のueventを誰も読み取れないようにするためです。 モジュール。


Ubuntu
  1. GUIからのルートとしてファイルまたはアプリケーションを開きますか?

  2. Virt-managerはXenに接続できませんか?

  3. Tar.bz2ファイルを抽出できません:エラーメッセージ、.hファイル:アクセスが拒否されましたか?

  1. 男と.8ファイルを開く方法は?

  2. Rfkillコントロールデバイスを開くことができません:そのようなファイルやディレクトリはありませんか?

  3. Linux インタビューの質問 :オープン ファイル / オープン ファイル記述子

  1. (解決済み)メールボックス/ var / mail / userを開くことができません:Linuxでアクセスが拒否されましたエラー

  2. C fopen と open

  3. 私が所有するファイルへの「許可が拒否されました」?