데비안의 경로에 / usr / local / sbin, / usr / sbin, / sbin을 추가하지 않는 이유가 있습니까?


25

데비안 (왼쪽)과 우분투 (오른쪽)를 비교하십시오.

$ ifconfig                                 $ ifconfig
bash: ifconfig: command not found          eth0     Link encap ...
$ which ifconfig                           $ which ifconfig
$                                          /sbin/ifconfig

그런 다음 수퍼 유저로서

# ifconfig                                 # ifconfig
eth0      Link encap ...                   eth0     Link encap ...
# which ifconfig                           # which ifconfig
/sbin/ifconfig                             /sbin/ifconfig

더욱이:

# ls -l /sbin/ifconfig                     # ls -l /sbin/ifconfig
-rwxr-xr-x 1 root root 68360 ...           -rwxr-xr-x 1 root root 68040 ...

ifconfig데비안에서 강력한 힘을 쓰지 않고 달릴 수없는 유일한 이유 는 그것이 내 길에 있지 않기 때문입니다. 내가 사용 /sbin/ifconfig하면 작동합니다.

데비안 경로에 추가 하지 말아야 할 이유가 /usr/local/sbin:/usr/sbin:/sbin있습니까? 이것은 개인용 컴퓨터이며, 나는 유일한 인간 사용자입니다.


사용 된 버전 ( uname -a) :
우분투 :

Linux ubuntu 3.13.0-51-generic #84-Ubuntu SMP Wed Apr 15 12:08:34 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

데비안 :

Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux

좋은 질문-upvoted :) 우연히, 여기/usr/local/sbin:/usr/sbin:/sbin 에 일반 사용자를위한 기본 PATH에 넣지 않기로 한 데비안의 결정에 대한 역사가 있습니다. 우분투의 접근 방식은 가장 노련한 사용자를 제외한 모든 사용자에게 더 친숙한 것으로 보입니다.
sampablokuper

답변:


27

데비안 정책 에서 데비안File Hierarchy Standard 버전 2.3을 따릅니다 . 표준의 참고 # 19 는 다음과 같이 말합니다.

"sbin"디렉토리로 들어갈 내용을 결정하는 것은 간단합니다. 일반 (시스템 관리자가 아닌) 사용자가 직접이를 실행하는 경우 "bin"디렉토리 중 하나에 배치해야합니다. 일반 사용자는 sbin 디렉토리를 경로에 배치하지 않아도됩니다.

예를 들어, 사용자가 가끔 만 사용하는 chfn과 같은 파일은 여전히 ​​/ usr / bin에 있어야합니다. ping은 루트 (네트워크 복구 및 진단)에 절대적으로 필요하지만 사용자가 종종 사용하므로 이러한 이유로 / bin에 있어야합니다.

사용자는 특정 setuid 및 setgid 프로그램을 제외하고 / sbin의 모든 항목에 대한 읽기 및 실행 권한을 갖는 것이 좋습니다. / bin과 / sbin 사이의 구분은 보안상의 이유로 또는 사용자가 운영 체제를 보지 못하도록하기위한 것이 아니라 모든 사람이 사용하는 바이너리와 관리 작업에 주로 사용되는 바이너리 사이에 적절한 파티션을 제공하기위한 것입니다. 사용자를위한 / sbin 오프 제한을 만드는 데있어 고유 한 보안 이점은 없습니다 .


짧은 답변:

/usr/local/sbin:/usr/sbin:/sbin데비안 경로에 추가하지 말아야 할 이유가 있습니까?

메모에 나와 있듯이 그렇게하지 말아야 할 이유가 없습니다. 시스템을 사용하는 유일한 사람이고 sbin디렉토리에 바이너리가 필요하기 때문에 자유롭게 파일을에 추가하십시오 $PATH. 이 시점 에서 올바르게 수행하는 방법에 대한 훌륭한 답변 을 안내 합니다.


4

그것들을 추가하지 않는 유일한 이유는 (더 많은 디렉토리를 검색하기 때문에) 명령의 탭 완성을 느리게하고 덜 효과적입니다 (루트가 아닌 사람이 사용하기에 적합하지 않은 명령과의 가짜 일치가 더 많기 때문에) ).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.