Forum Linux.pl

Oprogramowanie => Usługi => Wątek zaczęty przez: cicho-ciemny1 w 2008-12-01, 22:29:33

Tytuł: administrator a użytkownicy
Wiadomość wysłana przez: cicho-ciemny1 w 2008-12-01, 22:29:33
Chciałbym się dowiedzieć w jaki sposób można nadać danemu użytkownikowi prawa do wykonywania niektórych poleceń takich jak mount lub make install?
Tytuł: administrator a użytkownicy
Wiadomość wysłana przez: ultr w 2008-12-01, 23:11:06
`man sudo`
`man sudoers`
`man visudo`
+ Google dla powyższych


Można też napisać prosty program w C/C++, wykonujący polecenie za pomocą system("polecenie"), skompilować, i:

chown root:root program
chmod u+s program
chmod a+x program

albo

chown root:grupauprawnionych program
chmod u+s program
chmod ug+x program

Odsyłam tu do `man chmod`.
Tytuł: administrator a użytkownicy
Wiadomość wysłana przez: ZipoKing w 2008-12-02, 00:14:09
Jeżeli chodzi o mount, możesz stworzyć osobną grupę użytkowników (np o nazwie monterzy) i dodać usera do tej grupy a następnie w /etc/fstab dodać opcję group=monterzy (AFAIR oznacza ona: pozwól userom z danej grupy montować dane urządzenie). W przypadku make install poważnie bym się zastanowił, ponieważ de facto dajesz userowi pełne prawa admina (może sobie cokolwiek w Makefile'u nasmarować i następnie to wykonać).
W razie wszelkich technicznych szczegółów, tak jak kolega powyżej, odsyłam do dokumentacji.
Tytuł: administrator a użytkownicy
Wiadomość wysłana przez: cicho-ciemny1 w 2008-12-02, 21:19:50
skoro odradzasz mi nadanie uprawnień do "make install" to co moge zrobić aby użytkownik mógł zaistalować sobie jakiś program.
Tytuł: administrator a użytkownicy
Wiadomość wysłana przez: ultr w 2008-12-02, 21:59:39
`make install` nie jest potrzebny do instalacji programu.
`make` to polecenie wykonujące polecenia z pliku Makefile. `make install` wykonuje polecenia znajdujące się pod etykietą "install" w tym pliku. Zazwyczaj jest to po prostu kopiowanie plików do miejsc docelowych. I jeśli ścieżka instalacji jest domyślna, wymaga to praw roota, bo kopiowanie następuje do katalogów systemowych.

Ale:

1) Program po skompilowaniu `make` najczęściej może działać z katalogu, w którym był kompilowany.

2) Można nie instalować programu dla całego systemu. Wystarczy, że user wywoła:
./configure --prefix=/home/user/program/
potem kompiluje pisząc `make` i zainstaluje lokalnie za pomocą `make install`.
Zamiast configure może być potrzebne cmake, wtedy dla ustalenia wybranej ścieżki instalacji wpisujemy:
cmake -D CMAKE_INSTALL_PREFIX="/home/user/program/"

Poza tym, po co i jakie programy chcesz, aby userzy mogli sobie instalować? Jeśli dostępne są w repozytorium, to ty powinieneś je zainstalować.
Tytuł: administrator a użytkownicy
Wiadomość wysłana przez: cicho-ciemny1 w 2008-12-02, 22:11:23
Dzięki za info!!! :)