it-swarm-ko.tech

Sudo 권한없이 애플리케이션을 빌드하는 방법은 무엇입니까?

사용자가 Sudo/admin 권한 없이도 원하는 응용 프로그램을 빌드 할 수 있도록 (예 : ./configure, make && make 설치) Ubuntu 9.10 서버에서 무엇을 설정해야합니까?.

앱을 빌드하는 데 필요하지 않은 시스템 부분에 대한 액세스 권한을 사용자에게 부여 해야하는 보안 위험이 있다고 생각합니다.

11
RC1140

사용자가 사용하는 경우

./configure --prefix=/home/user/opt/

또는 cmake 프로젝트

cmake -D CMAKE_INSTALL_PREFIX:PATH=/home/user/opt/ ../source/

그러면 기본/usr/local/대신 해당 접두사에 프로그램이 설치되고 사용자는 다음과 같이 프로그램을 실행할 수 있습니다.

/home/user/opt/bin/program

전체 경로없이 이름을 사용하여 프로그램을 실행할 수있게하려면 경로 환경 변수에 /home/user/opt/bin를 추가하고 users .profile을 편집하고 다음 행을 추가해야합니다.

export PATH=/home/user/opt/bin:$PATH

이러한 방식으로 설치된 프로그램은 특정 사용자에게만 공개되지만이를 수행 할 수있는 방법입니다

36
LassePoulsen

사용자는 Sudo 권한없이 애플리케이션을 빌드 할 수 있습니다. Sudo 권한이 필요한 유일한 경우는 시스템 디렉토리에 무언가를 설치하려는 경우입니다.

./configuremake은 (는) 항상 Sudo 권한이 없습니다. make install는 보통 /usr/local 또는 /usr (때로는 /opt)에 응용 프로그램을 설치하므로 Sudo 권한이 필요합니다.

그러나 설치가 사용자의 홈 디렉토리 트리 내에서 수행되는 방식으로 설치 경로의 접두어 (예 : ./configure --prefix=~/usr/local)를 변경하면 make install에 대한 Sudo 권한이 필요하지 않습니다.

8
txwikinger

txwikinger이 말한 것에 덧붙여, fakeroot도 확인하고 싶을 수 있습니다.이 권한은 상승 된 권한없이 dpkg로 .deb 패키지를 빌드 할 수있는 기회를 제공합니다. 물론, 이들을 설치하려면 일반적으로 Sudo 액세스 권한이 필요합니다.

0
mindcorrosive