Środowisko developerskie a Linux i uprawnienia


(maew) #1

Witam, trochę bawię się ostatnio w programowanie (Python, JS, PHP) - na razie na Windowsie - o dziwo całkiem dobrze mi się na nim programuje, wbrew obiegowym opiniom, że się nie da :wink: No ale zdaję sobie sprawę, że dla bardziej zaawansowanych zastosowań wypadałoby to robić na Linuksie. Z Linuksem mam jednak ten problem, że o ile lubię i ogarniam sam system, to nie znoszę zabawy w uprawnienia do katalogów i plików.

Jak wy to robicie? Siedzicie na root czy ogólnie wszystko działa po sudo? Np. na przykładzie PHP. Z tego co pamiętam jest trochę zabawy z tym.


(kostek135) #2

Możesz zamontować katalog z mapowaniem uprawnień w locie: http://unix.stackexchange.com/a/158695/194391
Możesz też opracować normalną procedurę deploy-u z automatyzacją (tak zwane CI), a nie rzeźbić na żywca po docelowym serwerze.


(Domker) #3

Najczęściej ‘sudo’ jeżeli chcesz tylko chwilowo podwyższyć uprawnienia. (o ile tego proces wymaga)
Do katalogów / plików możesz sobie zrobić maskę i wszystkie nowe pliki/katalogi potomne będą pracować na określonych uprawnieniach.
http://www.arturpyszczuk.pl/commands-umask.html

Jeżeli potrzebujesz zachować domyślne uprawnienia i nie masz dostępu jako użytkownik, a tylko chcesz coś zmienić to wystarczy uruchomić jako root np menadżer plików.

kdesu dolphin

(KDE)

gksu thunar

(xfce …)

Ja używam Krusadera - jest dosyć wygodny w tej kwestii.

Jeżeli jakiś program notorycznie wymaga uprawnień root to można dodać odpowiedni wpis do /etc/sudoers i nie będzie wymagał wklepywania hasła przy sudo.

Możesz również siebie dodać do grupy użytkowników danego katalogu i również będziesz pracować na nim jak na każdym innym. (o ile ustawione będzie, że użytkownik grupy może wszystko)

To Windows jest dla mnie dziwny pod tym względem, a nie Linux :smiley:
Zawsze lepiej mieć minimum uprawnień i w razie potrzeby tylko je eskalować niż full access i bigosu narobić poprzez np źle zastosowane polecenie.


(maew) #4

Ok dzięki za rzeczowe porady. Mimo wszystko i tak sporo z tym zabawy ale powinienem dać radę. Co ciekawe na Windows programuje się całkiem dobrze a zawsze słyszałem, że ten system się nie nadaje ;d


(Domker) #5

Do języków internetowych i programowania dla Androida na pewno wygodniejszy jest Linux.
Wszystko, co potrzebujesz jest pod ręką i łatwo tym zarządzać jak się już wie, co w trawie piszczy :wink:
Np w 2013 roku takie coś zrobiłem w PHP ^^ (Linux + Android 2.2):


#6

Wybaczcie ale jeśli chodzi o tworzenie oprogramowanie nie ma niczego w czym Linuks jest lepszy od Windows czy odwrotnie. Te systemy oferują to samo dla dewelopera… Nie prawdą jest też, że Windows działa non stop na wysokich uprawnieniach. Co do pytania, najlepiej nigdy nie pracować na root. Dla różnych usług warto tworzyć odpowiednich użytkowników np. apache czy php i nadawać uprawnienia jedynie do wybranych zasobów.