Debian(왼쪽)과 Ubuntu(오른쪽) 비교:
$ 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
Debian에서 내 경로에 추가하시겠습니까 ? 이것은 PC이고 나는 유일한 인간 사용자입니다.
사용된 버전( uname -a
):
Ubuntu:
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
답변1
내부에데비안 정책데비안이 따라온다고 한다파일 계층 표준버전 2.3.참고 #19표준은 다음과 같이 말합니다.
"sbin" 디렉토리에 무엇을 넣을지 결정하는 것은 간단합니다. 일반(sysadmin이 아닌) 사용자가 이를 직접 실행하는 경우 "bin" 디렉토리 중 하나에 배치해야 합니다. 일반 사용자는 경로에 sbin 디렉토리를 넣을 필요가 없습니다.
예를 들어, chfn과 같이 사용자가 가끔 사용하는 파일은 여전히 /usr/bin에 있어야 합니다. ping은 루트(네트워크 복구 및 진단)에 절대적으로 필요하지만 사용자가 자주 사용하므로 /bin에 있어야 합니다.
일부 setuid 및 setgid 프로그램을 제외하고 사용자는 /sbin의 모든 항목에 대해 읽기 및 실행 권한을 갖는 것이 좋습니다. /bin과 /sbin을 구분한 이유는 보안상의 이유나 사용자가 운영 체제를 보는 것을 방지하기 위한 것이 아니라 모든 사람이 사용하는 바이너리와 주로 관리 작업에 사용되는 바이너리 사이에 적절한 파티션을 제공하기 위한 것입니다.사용자가 /sbin을 사용하지 못하도록 설정해도 보안상의 이점은 없습니다..
짧은 답변:
/usr/local/sbin:/usr/sbin:/sbin
데비안의 경로에 추가하면 안되는 이유가 있나요 ?
댓글에서 언급했듯이, 이 작업을 수행하지 말아야 할 이유가 없습니다. 당신은 이 시스템을 사용하는 유일한 사람이고 디렉토리에 바이너리가 필요하므로 이 시점에서 sbin
자유롭게 바이너리를 추가하십시오 .$PATH
좋은 대답이를 올바르게 수행하는 방법.
답변2
이를 추가하지 않는 유일한 이유는 명령의 탭 완료가 더 느려지고(더 많은 디렉토리가 검색되기 때문에) 효율성이 떨어지기 때문입니다(루트가 아닌 사용자에게 이해되지 않는 명령의 가짜 일치가 더 가능성이 높기 때문입니다).