
내가 그랬던 것처럼https://unix.stackexchange.com/a/484626/5132이것은 자체적인 Q&A를 가질 가치가 있습니다.
리눅스 운영체제에서는...
% 비밀번호 상자 가져오기 bin:x:2:2:bin:/bin:/usr/sbin/nologin %...그리고 FreeBSD에서는...
% 비밀번호 상자 가져오기 bin:*:3:7:바이너리 명령 및 소스:/:/usr/sbin/nologin %...그리고 OpenBSD에서는...
$ getent 비밀번호 상자 bin:*:3:7:바이너리 명령 및 소스:/:/sbin/nologin $...현재도 계정을 찾을 수 있습니다
bin
. 그러나 이것은 거의 문서화되지 않았습니다. 이것리눅스 표준 라이브러리버전 5 그냥 말하면 ...참고:...호환성 메커니즘의 특성을 설명하지 않습니다. Joey Hess가 2001년에 말했듯이:bin
이전 애플리케이션과의 호환성을 위해 사용자 ID/그룹 ID가 포함되어 있습니다. 새 애플리케이션은 더 이상bin
사용자 ID/그룹 ID를 사용해서는 안 됩니다.
bin
:돕다: 내 시스템에는 사용자나 그룹에 속한 파일이 없습니다bin
. 그들의 이점은 무엇입니까? 역사적으로 그들은 바이너리의 소유자였을까요/bin
? FHS, 데비안 정책, base-passwd나 base-files에 대한 변경 로그에는 이에 대한 언급이 없습니다.
M. 헤스의 질문Debian doco의 base-passwd 패키지는 지금까지 답변이 없습니다., 17년 후.
그렇다면 bin
계정의 용도는 무엇입니까?
답변1
bin
평생 동안 Linux는 어떤 용도로도 제대로 사용되지 않았습니다.
런레벨 및 회비 기록과 마찬가지로 init
이 계정은 Linux가 발명되기 전에는 Unix 세계에서 더 이상 사용되지 않았습니다. 이는 1980년대의 아이디어였지만 NFS(Network File System)와 그 사용자의 발명과 채택으로 산산조각이 났습니다. 상용 Unix 세계의 사람들이 90년대에 적극적으로 사용을 중단했던 2010년대 후반에도 사용자 계정 데이터베이스에 계속해서 존재했다는 것은 관성의 증거입니다.getty
/etc/inittab
bin
nobody
아이디어는 사용자가 및 bin
같은 다양한 디렉토리를 가지고 있다는 것입니다 (실제로는/bin
/usr/bin
https://unix.stackexchange.com/a/448799/5132예를 들어 /usr/mbin
및 /usr/5bin
) 및 설정되지 않은 UID/설정되지 않은 GID 파일이 포함되어 있습니다. 또한 man 페이지와 같은 doco 파일과 디렉토리도 있습니다.
/
(더 극단적인 경우에는 및 일부 Unices에도 있지만 /etc
후자는 SunOS 운영 체제 이미지를 생성할 때 인식되는 오류입니다. 전자는 어리석은 일입니다.)
따라서 사용자로 실행할 때 소프트웨어 업데이트를 수행할 수 있는 권한은 bin
수퍼유저로 실행할 때 시스템에서 모든 작업을 수행할 수 있는 포괄적인 권한이 아닙니다. 소프트웨어 업그레이드 프로그램은 개인 사용자 파일을 읽거나 쓸 수 없으며, 사서함에 액세스하는 등의 작업을 할 수 없습니다. 물론 소프트웨어를 업데이트할 수도 있습니다.
파일에 있는 다른 여러 특수 계정 항목에는--레베카 토마스와 릭 패로우(1989).System V용 UNIX 관리 안내서. 프렌티스 홀. ISBN 9780139428890. 피. 452./etc/passwd
비밀번호가 있어야 합니다. 관리 계정은 ,bin
,daemon
,sys
,uucp
및lp
입니다adm
. [...] 이러한 계정이 존재하는 주된 이유는 명령, 스크립트, 파일 및 장치의 안전한 소유권을 위한 것입니다. 일부 관리자는 이러한 계정에 대한 비밀번호를 설치하고 실제로 사용합니다. [...] 비밀번호가 없는bin
계정은 시스템 파괴자에게 매우 유용합니다.
1980년대 초 NFS의 발명은 이러한 생각을 완전히 깨뜨렸습니다.
위의 인용문에서 알 수 있듯이 이미 무너지고 있습니다. 이는 슈퍼유저가 당연히 수행하는 기본 유틸리티에 대한 프로그램 이미지 파일을 업데이트하는 기능이 /bin/ls
슈퍼유저 권한을 얻는 직접적인 벡터이고, 계정을 사용할 때 액세스를 구분하면 bin
실수로 잘못된 디렉토리를 수정하는 것을 방지하기보다는 단순히 방지하기 때문입니다. Molecule은 슈퍼유저 액세스 권한을 얻습니다.
NFS의 등장은 이 점을 강조합니다. NFS 에는 수퍼유저 계정을 일반 비시스템 사용자 계정으로 다시 매핑하는 메커니즘이 있지만 bin
. 실제로 NFS 클라이언트의 수퍼유저(그렇지 않으면 서버의 일반 비시스템 사용자로 다시 매핑됨)가 서버 운영 체제 파일 및 디렉터리에 대한 소유자 액세스 권한을 얻을 수 있습니다.bin
bin
이는 Unix 보안 감사 도구의 표준 보고 항목이 되었으며 경고 대상이 된 취약성을 해결하기 위해 chown
슈퍼유저 소유에서 슈퍼유저 소유로 변경하는 것이 통념이었던 1990년대 초의 상식이었습니다. bin
. Sendmail의 설치 doco와 유사합니다.
M. Hess의 질문에 따르면, 이 아이디어는 데비안에서 채택된 적이 없으며, 데비안은 유닉스 세계가 그것이 나쁜 아이디어라는 것을 알고 몇 년 후에 나왔고, 유닉스는 리눅스 이전에도 그것이 나쁜 아이디어라는 것을 알고 있었습니다.그 자체발명되었습니다. BSD 운영 체제의 역사하다1980년대로 돌아가 물리적 소유권은 폐지된 지 오래지만 사용자 계정은 여전히 계정 데이터베이스에 유지됩니다. FreeBSD는 1998년에 bin
: bin
소유권을 root
:소유권 으로 전환했습니다.wheel
, 예를 들어.
추가 읽기
- 조나단 데보인 폴라드(2015).
/etc/inittab
그것은 과거의 일입니다.. 자주 주어지는 답변입니다. - 조나단 데보인 폴라드(2018). 실행 수준은 과거의 일입니다.. 자주 주어지는 답변입니다.
- 조나단 데보인 폴라드(2018).누군가가 실행하는 데몬을 남용하지 마십시오.. 자주 주어지는 답변입니다.
- 토마스 벤자민(1995-11-07).Tiger는 *bin* 소유의 시스템 파일, 비활성화된 계정에 플래그를 지정합니다.. comp.sys.hp.hpux.
- 밥 프루(2002-09-15).Re: /etc/passwd 항목에 대한 질문입니다.. linux.debian.user.
- 더그 시버트(1999-06-22).Re: 루트가 아닌 bin이 소유한 운영 체제 파일. comp.security.unix.
- 더그 시버트(1998-06-01).Re: AIX: "/"는 bin.bin의 소유입니다.. umn.local-lists.security.
- 테오 드 래터(1999-06-22).Re: 루트가 아닌 bin이 소유한 운영 체제 파일. comp.security.unix.
- 진(1994-09-08).bin에 디렉터리가 없어야 하는 이유. comp.security.unix.
- 브래드 파월(1993-08-12).Re: 루트 디렉터리 "bin bin"?. comp.security.unix.
- 마리오 왈츠코(1991-09-13). 답변: /etc가 bin에 속하지 않으면 어떻게 됩니까?. 대체 보안.
답변2
2018년에는 두 가지 상황에서 bin을 사용했습니다. 1: 실행 파일 - 기능을 완료하기 위해 웹 서버에서 주로 사용되는 .exe 파일입니다. 2: 로그 - 때때로 bin 폴더에 .log 또는 .dat 파일을 넣습니다.