Jak zbudować aplikację bez uprawnień sudo?

8

Co muszę skonfigurować na serwerze Ubuntu 9.10, aby użytkownik mógł tworzyć wybrane aplikacje (np. ./configure, make & amp; & install) bez potrzeby korzystania z przywilejów sudo / admin.

Po prostu czuję, że jest to trochę ryzykowne, ponieważ trzeba dać użytkownikowi dostęp do części systemu, których mogą nie potrzebować w celu zbudowania aplikacji.

    
zadawane RC1140 13.08.2010, 15:02
źródło

3 odpowiedzi

28

Jeśli Twoi użytkownicy używają

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

Lub dla projektów cmake

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

To zainstaluje program w tym przedrostku (zamiast domyślnego / usr / local /), a Twoi użytkownicy powinni wtedy móc uruchomić program w ten sposób:

/home/user/opt/bin/program

Jeśli chcesz, aby mogły uruchamiać programy po prostu używając nazwy (bez pełnej ścieżki), musisz dodać /home/user/opt/bin do zmiennej środowiskowej ścieżki, edytować użytkowników .profile i dodać następujący wiersz:

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

Pamiętaj, że programy zainstalowane w ten sposób będą prywatne dla określonego użytkownika, ale jest to sposób na wykonanie

    
odpowiedział LassePoulsen 13.08.2010, 15:17
źródło
7

Użytkownicy mogą tworzyć aplikacje bez uprawnień sudo. Jedyny czas, w którym potrzebujesz uprawnień sudo, jest wtedy, gdy chcesz zainstalować coś w katalogach systemowych.

./configure i make działają zawsze bez uprawnień sudo. make install zwykle wymaga uprawnień sudo, ponieważ zainstaluje aplikację na /usr/local lub /usr (czasami /opt ).

Jednakże, jeśli zmienisz prefiks ścieżki instalacji (to jest ./configure --prefix=~/usr/local ) w taki sposób, że instalacja będzie wykonywana w drzewie katalogów domowych użytkownika, nie są potrzebne uprawnienia sudo dla make install .

    
odpowiedział txwikinger 13.08.2010, 15:16
źródło
0

Dodając do tego, co powiedział txwikinger , możesz również sprawdzić fakeroot , co daje możliwość budowania pakietów .deb z dpkg bez konieczności podwyższania uprawnień. Oczywiście instalacja tych będzie zazwyczaj wymagać dostępu sudo.

    
odpowiedział mindcorrosive 16.08.2010, 21:52
źródło

Przeczytaj inne pytania na temat tagów