MAXSYMLINKSを増やすには


10

Pythonスクリプトで、一緒にチェーンされたシンボリックリンクの束を作成しています。

例:link1-> link2-> link3-> .......-> somefile.txt

シンボリックリンクの最大数を20を超えるように変更するにはどうすればよいでしょうか。


5
なぜこれをしたいのですか?MAXSYMLINKSはシステムヘッダー(たとえば/usr/include/x86_64-linux-gnu/sys/param.h、私のシステム上)で定義されており、ユーザーが変更することはできません。
ire_and_curses 2012年

1
実際のファイルに到達するために20回以上readlink()を呼び出さなければならないのは、パフォーマンスにとっては良いことではありません。
ヨルダン2012年

5
私は学校で倫理的なハッキングクラスを受けています。
grebwerd

回答:


16

Linuxの(少なくとも3.5)で、(参照40にハードコードされますfollow_link()fs/namei.c、それはリンクの数は、パスのすべてのコンポーネントを解決するときに、あなただけのカーネルを再コンパイルすることによってそれを変更することができ、その後だという)、およびノート。

$ ln -s . 0
$ n=0; repeat 50 ln -s $((n++)) $n
$ ls -LdF 39
39/
$ ls -LdF 40
ls: cannot access 40: Too many levels of symbolic links
$ ls -LdF 20/18 10/10/10/6
10/10/10/6/  20/18/
$ ls -LdF 20/19 10/10/10/7
ls: cannot access 20/19: Too many levels of symbolic links
ls: cannot access 10/10/10/7: Too many levels of symbolic links
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.