/usr/local/bin의 권한/소유권

/usr/local/bin의 권한/소유권

내가 이해한 바에 따르면, 자신만의 스크립트를 넣을 올바른 위치는 /usr/local/bin(일부 파일을 백업하는 데 사용하는 것과 같은) 것입니다. 폴더는 현재 (기본적으로) 루트 사용자가 소유하고 있으며 일반 사용자는 해당 폴더에 액세스할 수 없는 것으로 나타났습니다. 나는 이 컴퓨터의 유일한 사용자입니다. 전체 폴더를 내 사용자로 변경해야 합니까? 아니면 권한을 정렬하는 다른 올바른 방법이 있습니까 /usr/local/bin?

답변1

/usr/local기본적으로 모든 하위 디렉터리(포함)의 소유자와 그룹은 bin이어야 하며 root.root권한은 이어야 합니다 rwxr-xr-x. 즉, 시스템 사용자는 이 디렉토리 구조에서 읽고 실행할 수 있지만 파일을 생성하거나 편집할 수는 없습니다. root계정(또는 을 사용하는 관리자 ) 만이 sudo이 위치에서 파일을 생성하고 편집할 수 있어야 합니다. 시스템에는 사용자가 한 명뿐이지만 를 제외한 모든 사용자가 쓸 수 있도록 이 디렉터리 구조의 권한을 변경하는 것은 일반적으로 좋지 않습니다 root.

/usr/local/bin스크립트/바이너리/실행 파일을 루트 계정 에 넣는 것이 좋습니다 . 이것은 발전시킬 가치가 있는 좋은 습관입니다. 스크립트/바이너리/실행 파일을 $HOME/bin에 넣고 $HOME/bin이 $PATH에 있는지 확인할 수도 있습니다.

자세한 내용은 이 질문을 참조하세요. 로컬 실행 파일은 어디에 배치해야 합니까?

답변2

자신만의 스크립트를 넣는 일반적인 장소는 ~/bin다음과 같습니다. 그런 다음 이 디렉토리를 PATH.

답변3

당신이 이래로오직사용자이므로 귀하가 작성한 스크립트의 유일한 사용자이므로 /usr/local/bin스크립트를 설치하면 /usr/local/bin개인 파일을 백업하고 유지 관리하기가 더 어려워질 것입니다.

또한 /usr/local로컬로 컴파일된 소스 코드에서 외부 소프트웨어를 설치할 때 계층 구조가 사용될 수 있습니다. 즉, 이러한 방식으로 설치된 소프트웨어는 개인 스크립트를 덮어쓰거나 실수로 시스템 제공 도구에 대해 선택할 가능성이 있습니다. 스크립트 이름을 지정하는 방법).

또한 일부 BSD 시스템 /usr/local(예: OpenBSD 및 macOS)의 패키지 관리자는 그 아래에 패키지를 설치하는데, 이는 개인 스크립트에 대한 특정 파일 계층 구조를 유지하는 또 다른 이유입니다.

시스템의 유일한 사용자인 경우 아래 $HOME, 예를 들어 $HOME/local계층 구조에만 설치하면 됩니다. 예를 들어 완전히 별도의 계층 구조를 사용 /opt하거나 /sw그러한 위치(기본 시스템이나 패키지 관리자가 사용하지 않는)를 사용하십시오.

관련 정보