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에서 내 경로로 이동 하시겠습니까? 이것은 개인용 컴퓨터이며, 저는 유일한 인간 사용자입니다.
사용 된 버전 (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
Debian :
Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
댓글
- 좋은 질문-찬성 🙂 덧붙여, 여기 iv id Debian '의 결정에 대한 = “e234beb814″>
의 역사 일반 사용자의 경우 기본 PATH에 /usr/local/sbin:/usr/sbin:/sbin
를 입력합니다. Ubuntu '의 접근 방식은 가장 노련한 사용자를 제외한 모든 사용자에게 더 사용자 친화적 인 것 같습니다.
답변
Debian 정책 에서 Debian은 파일 계층 구조를 따릅니다. 표준 버전 2.3. 표준의 참고 # 19 는 다음과 같이 말합니다.
sbin " 디렉토리는 간단합니다. 일반 (시스템 관리자가 아님) 사용자가 직접 실행한다면 디렉토리는 하나에 배치되어야합니다. " bin " 디렉토리 중. 일반 사용자는 경로에 sbin 디렉토리를 배치 할 필요가 없습니다.
예를 들어 사용자가 가끔 사용하는 chfn과 같은 파일은 여전히 / usr / bin에 배치해야합니다. ping은 루트 (네트워크 복구 및 진단)에 절대적으로 필요하지만 사용자가 자주 사용하며 이러한 이유로 / bin에 있어야합니다.
사용자는 /의 모든 항목에 대한 읽기 및 실행 권한을 갖도록 권장합니다. sbin (아마도 특정 setuid 및 setgid 프로그램 제외) / bin과 / sbin의 구분은 보안상의 이유로 또는 사용자가 운영 체제를 보지 못하도록 만든 것이 아니라 모든 사람이 사용하는 바이너리와 주로 관리 작업에 사용되는 바이너리간에 좋은 파티션을 제공하기위한 것입니다. 사용자를 위해 / sbin을 차단하는 데 고유 한 보안 이점이 없습니다 .
간단한 답변 :
데비안 내 경로로 이동합니까?
참고에 나와 있듯이 그렇게하지 말아야 할 이유가 없습니다. 시스템을 사용하는 유일한 사람이고 sbin
디렉토리에 바이너리가 필요하므로 $PATH
에 바이너리를 자유롭게 추가하세요. .이 시점에서 올바르게 수행하는 방법에 대한 훌륭한 답변 을 안내해 드리겠습니다.
답변
이를 추가하지 않는 유일한 이유는 명령의 탭 완성을 느리게 만들고 (더 많은 디렉토리를 검색하기 때문에) 덜 효과적입니다 (다음 명령에서 가짜 일치가있을 가능성이 더 높기 때문). 루트가 아닌 사용자에게는 의미가 없습니다).