MAXSYMLINKS를 ​​늘리는 방법


10

파이썬 스크립트에서 서로 연결된 여러 심볼릭 링크를 만들고 있습니다.

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

최대 심볼릭 링크 수를 20보다 크게 변경하는 방법이 궁금합니다.


5
왜 이렇게 하시겠습니까? MAXSYMLINKS는 시스템 헤더 (예 : /usr/include/x86_64-linux-gnu/sys/param.h시스템)에 정의되어 있으며 사용자가 수정할 수 없습니다.
ire_and_curses

1
실제 파일에 도달하기 위해 20 번 이상 readlink ()를 호출하는 것은 성능에 좋지 않습니다.
jordanm

5
학교에서 윤리적 해킹 수업을 듣는데 꽤 멋지다. HACKS 중 하나를 TOCTTOU라고하며 정교한 디렉토리 / 기호 링크 미로를 만들어 성능에 영향을 미치려고합니다.
grebwerd 2016

답변:


16

리눅스 (적어도 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.