
/usr/local/bin/apt-get
"공식"을 시작하기 전에 필요한 몇 가지 검사를 수행하는 스크립트를 Ubuntu Trusty 시스템에 추가했습니다 apt-get
.
이런 이유로 나는 이 스크립트가 그렇게 해서는 안 된다고 말하는 모든 것에도 불구하고 완전히 무시된다는 것을 이해할 수 없습니다.
테스트 목적으로 스크립트는 현재 아무 작업도 수행하지 않으며 단순히 종료되어야 하지만 어쨌든 실행되지는 않습니다.
/usr/local/bin
다음에서 우선순위를 가집니다 $PATH
:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
$ which apt-get
/usr/local/bin/apt-get
$ ls -l /usr/local/bin/apt-get
-rwxr-xr-x 1 root root 553 Apr 16 03:01 /usr/local/bin/apt-get
strace
스크립트를 실행하는 것으로 나타납니다.
$ strace apt-get
execve("/usr/local/bin/apt-get", ["apt-get"], [/* 26 vars */]) = 0
[...]
open("/usr/local/bin/apt-get", O_RDONLY) = 3
[...]
read(10, "#!/bin/sh\n\n# Note: this little s"..., 8192) = 553
그러나 스크립트는 분명히 무시되고 있습니다.
$ apt-get
apt 1.0.1ubuntu2 for amd64 compiled on Oct 28 2014 20:55:14
Usage: apt-get [options] command
...
직접 실행하면 /usr/local/bin/apt-get
자동으로 종료되므로 스크립트 자체가 실행 가능하고 올바르게 작동합니다.
이것이 내가 전혀 모르는 숨겨진 보안 설정일 수 있습니까?