cmake 설치/make install 후/usr/local/bin에 사용자가 바이너리를 실행할 수 없습니다(권한이 거부됨).

cmake 설치/make install 후/usr/local/bin에 사용자가 바이너리를 실행할 수 없습니다(권한이 거부됨).

sudo cmake install또는 명령을 사용하여 Debian(Buster) 시스템에 프로젝트를 설치하면 sudo make install바이너리가 내부에 배치되지만 /usr/local/binPATH 변수가 올바르게 설정되었음에도 불구하고 bash 또는 Fish는 바이너리 파일 명령을 재부팅한 후에도 이런 방식으로 설치된 파일을 찾을 수 없습니다.

cmake지금까지 이런 일이 일어났습니다 nvim. 예를 들어 nvim소스에서 빌드하는 방법에 대한 지침을 따랐습니다.

  1. Git을 사용하여 저장소를 복제합니다.
  2. CMAKE_BUILD_TYPE=RELEASE로 설정
  3. sudo 설치

이제 를 실행하면 nvim명령을 찾을 수 없지만 실행하면 sudo nvim바이너리가 올바르게 시작됩니다.

sudo 권한 없이 완벽하게 실행되는 내부 바이너리의 파일 권한을 비교했는데 /usr/bin내부 바이너리와 정확히 동일합니다 /usr/local/bin.

-rwxr-xr-x 1 root root.

내가 뭘 잘못하고 있는 걸까요? /usr/bin실행 파일의 바이너리에는 sudo가 없고 소스에서 설치된 파일에는 sudo가 없는 이유는 무엇입니까 /usr/local/bin?

이것은 내 경로 변수입니다. /usr/local/bin:/usr/bin:/bin:/usr/games

추가 정보: 실행하면 /usr/local/bin/nvim다음이 출력됩니다. fish: The file “/usr/local/bin/nvim” is not executable by this user

실행하면 type -a nvim출력은 다음과 같습니다. type: Could not find 'nvim'

실행하면 sudo ./pathlld /usr/local/bin/nvim다음과 같은 결과가 나타납니다.

drwxr-xr-x 19 root root 4096 Dec 22 12:17 /
/dev/nvme0n1p2 on / type ext4 (rw,relatime)
drwxr-xr-x 14 root root 4096 May  5 13:19 /usr
drwxr-xr-x 7 root root 4096 Mar 24 15:51 /usr/local
drwx------ 2 root root 4096 May  5 14:21 /usr/local/bin
-rwxr-xr-x 1 root root 10319072 May  5 14:21 /usr/local/bin/nvim

저는 "Siemens Industrial Operating System"이라는 Siemens의 맞춤형 운영 체제를 실행하고 있습니다. 기본적으로 라이브 패치가 포함된 Debian Buster입니다.

답변1

문제는 이것이다:

drwx------ 2 root root 4096 May  5 14:21 /usr/local/bin

그룹 및 기타 그룹에는 실행 및 읽기 권한이 없습니다 /usr/local/bin. 루트로 실행:

chmod 755 /usr/local/bin

이 디렉터리에 대한 표준 권한을 복원합니다.

관련 정보