ファイルのinodeを知っているファイルを開くことはできますか?inodeでファイルを開く
ls -i /tmp/test/test.txt
529965 /tmp/test/test.txt
私はパス、(529965以上)のinodeと私はお返しにファイル記述子を取得するために探していますを提供することができます。
ファイルのinodeを知っているファイルを開くことはできますか?inodeでファイルを開く
ls -i /tmp/test/test.txt
529965 /tmp/test/test.txt
私はパス、(529965以上)のinodeと私はお返しにファイル記述子を取得するために探していますを提供することができます。
アクセス制御ルールで抜け穴が開いてしまうため、これは不可能です。ファイルを開くことができるかどうかは、自身のアクセス許可ビットだけでなく、すべての包含ディレクトリの許可ビットにも依存します。たとえば、あなたの例では、test.txt
がモード644でしたが、含まれるディレクトリtest
がモード700の場合、root
とtest
の所有者のみがtest.txt
を開くことができます)。 "ハードリンク"を読んでください)、カーネルはinode番号だけでアクセス制御チェックの完全なセットを実行することができません。
(一部のUnix実装では、いくつかのアクセス制御ルールをバイパスしてファイルをinode番号で開く非標準のルート専用APIを提供していますが、現在のLinuxにそのようなAPIがある場合はわかりません)
関連性があります: http://stackoverflow.com/a/31432662/544721 –
[なぜファイルをinodeで操作できないのですか?](http://stackoverflow.com/questions/4606774/why-cant-files-be-manipulated-by-inode) – zwol