Konto maintance - moderacja kont użytkowników stron www

Konfiguracja serwerów, usług, itp.
arboooz
Posty: 2
Rejestracja: 03 kwietnia 2009, 09:20

Konto maintance - moderacja kont uŻytkowników stron www

Post autor: arboooz »

Witam.

Zajmuję się tworzeniem stron internetowych. Strony moich klientów przechowuję na własnym serwerze. Chciałbym nieco usprawnić sobie pracę, bo aktualnie muszę się non stop przelogowywać i biegać po różnych katalogach, o bałaganie już nie wspomnę. Aktualna struktura katalogów wygląda tak:
  • /home/jakis_user/public_html/
    /home/inne_user/public_html/
    /home/ja/public_html/
Myślałem o tym, żeby utworzyć, w folderze /home/ja/public_html/ katalog np. klienci, a w nim dowiązania do katalogów ze stronami klientów. I oczywiście mieć w tych katalogach pełen dostęp (takie konto jakby ,,maintance''). Rozwiązanie fajne, tylko nie wiem jak sobie poradzić z uprawnieniami plików. Dodałem mojego użytkownika do grup wszystkich klientów. W katalogach klientów mogę po kolei zmieniać im ,,umask'' na 220, ale jest to trochę monotonne (na pewno da się to rozwiązać jakoś automatycznie) no a klient i tak mógłby sobie zmienić ,,umask'' na domyślny (chociaż to jest akurat najmniejszy problem). Byłbym zadowolony tym rozwiązaniem, chociaż nie w pełni usatysfakcjonowany, gdyby nie fakt, że pliki, które tworzę w katalogach użytkowników będą należeć do mojego użytkownika i mojej grupy. I tu też jest wyjście, puścić jakiś skrypcik, lub ,,finda'' z ,,chmodem'' i po każdej sesji zmieniać uprawnienia na uprawnienia klienta, no ale to nie jest eleganckie rozwiązanie. Dlatego zwracam się do ludzi bardziej doświadczonych. Może ktoś ma pomysł jak ułatwić mi życie?

Pozdrawiam.
Ister
Junior Member
Posty: 566
Rejestracja: 05 marca 2009, 12:42

Post autor: Ister »

Cóż, jeśli zajmujesz się nie tylko utrzymywaniem ale i tworzeniem stron, to tak naprawdę powinieneś znać hasła do poszczególnych kont. Wtedy zrób:

Kod: Zaznacz cały

su - login_klienta
i po podaniu hasła stajesz się klientem, lądując od razu w jego katalogu domowym (oczywiście klient musi wtedy mieć dostęp do shella).
Teoretycznie możesz to robić z poziomu roota, ale osobiście uważam, że wchodzenie w ten sposób na konta do których nie znamy haseł jest nieetyczne.
Jeśli natomiast nie znasz haseł, to niestety po zakończeniu pracy w katalogu pozostaje Ci zrobienie:

Kod: Zaznacz cały

chown -R login_klienta:www-data *
w odpowiednim katalogu (/home/login_klienta/html_public).
arboooz
Posty: 2
Rejestracja: 03 kwietnia 2009, 09:20

Post autor: arboooz »

Chodzi o to, że hostuję tylko te strony, które sam tworzę i to ja zajmuję się ich moderacją. Codziennie przełączam się miedzy użytkownikami kilkadziesiąt razy i muszę biegać po wszelkich ścieżkach. Pliki również trzymam na dysku lokalnym i jak są w tej strukturze co teraz mam bałagan, stąd chciałem je pogrupować w jednym folderze tworząc dowiązania do ich ,,public_html''. Nie da się jakoś w powłoce ustawić chociaż tego, żeby tworzyć pliki domyślnie z uprawnieniami właściciela katalogu?
Odnośnie automatycznych zmian uprawnień, bezpieczniejsza jest funkcja:

Kod: Zaznacz cały

find -user moj_login -print0 | xargs -0 chown -v czyjs_login:czyjas_grupa
Ister
Junior Member
Posty: 566
Rejestracja: 05 marca 2009, 12:42

Post autor: Ister »

Załóż skrypt do tworzenia użytkowników. Dzięki temu możesz automatycznie w chwili zakładania użytkownika tworzyć dla niego dowiązania (a także np. nadawać sobie odpowiednie dodatkowe uprawnienia).
Zakładam, że jeśli dokonujesz zmian na czyjejś stronie, to są to większe zmiany (skoro mówimy o tworzeniu nowych plików). A zatem warto jest ,,przelogować się'' na odpowiedniego użytkownika. Do tego służy właśnie komenda

Kod: Zaznacz cały

su - login_klienta
Dzięki minusowi znajdziesz się od razu w katalogu domowym. Jeśli (skrypt zakładania użytkownika!) będziesz tam miał od razu dowiązanie do katalogu ze stroną, to sprawa jest naprawdę prosta.
Do modyfikacji nie musisz się przelogowywać. Przecież (skrypt) od razu masz uprawnienia do modyfikowania plików, a modyfikacja nie powoduje przecież zmian uprawnień czy przynależności pliku.

Wreszcie - trochę ciężko mi uwierzyć, że całe strony tworzysz na serwerze. Podejrzewam, że masz do tego inny komputer. A w tej sytuacji opisywana sytuacja (konieczność TWORZENIA nowego pliku) to raczej wyjątek. Wówczas to przy przenoszeniu na serwer plików musisz się zalogować jako odpowiedni użytkownik. Ale to przecież nie stanowi problemu.

Pozdrawiam.
ODPOWIEDZ