Nowe posty

Autor Wątek: administrator a użytkownicy  (Przeczytany 6213 razy)

cicho-ciemny1

  • Gość
administrator a użytkownicy
« dnia: 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?

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
administrator a użytkownicy
« Odpowiedź #1 dnia: 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`.

ZipoKing

  • Gość
administrator a użytkownicy
« Odpowiedź #2 dnia: 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.

cicho-ciemny1

  • Gość
administrator a użytkownicy
« Odpowiedź #3 dnia: 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.

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
administrator a użytkownicy
« Odpowiedź #4 dnia: 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ć.

cicho-ciemny1

  • Gość
administrator a użytkownicy
« Odpowiedź #5 dnia: 2008-12-02, 22:11:23 »
Dzięki za info!!! :)