Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Siemka. Mam zwykłe konto użytkownika, jest ono odpowiednio skonfigurowane i teraz chciałbym aby żadne zmiany nie mogły być wprowadzane w plikach konfiguracyjnych. Pierwsze co zrobiłem to sprawdziłem na pojedynczym katalogu z tapetą jakie musiałbym ustawić uprawnienia aby użytkownik mógł odczytać plik/katalog ale nie miał już prawa nic z nim więcej zrobić. Zadziałało chown -R root KATALOG z chmod -R 750. Dzięki temu, właściciel root będzie miał pełne uprawnienia natomiast grupa jedynie dla odczytu i wykonania. Wygląda pięknie prawda ? Problem zaczął się, kiedy założyłem nowego użytkownika(kde4), skonfigurowałem kilka pierdół i dla testu wykonałem chown -R root /home/kde4/.* i chmod -R 750 /home/kde4/.*. Nie mam pojęcia dlaczego sąsiedni katalog /home/sp3cu/ również otrzymał takie uprawnienia. Czyli właścicielem katalogu stał się root z uprawnieniami 750. Mam nadzieję, że wystarczająco dobrze to zobrazowałem ale podam jeszcze przykład:
Przed zmianami uprawnień:
/home/sp3cu/
drwxr-x--- 22 sp3cu sp3cu 4096 10-19 23:32 .gimp-2.6 drwxr-x--- 11 sp3cu sp3cu 4096 10-19 17:46 .gnome2 drwxr-x--- 2 sp3cu sp3cu 4096 10-19 21:39 .gnome2_private drwxr-x--- 2 sp3cu sp3cu 4096 10-19 23:19 .gnupg
/home/kde4/
drwxr-x--- 2 kde4 kde4 4096 10-20 14:44 .gconfd drwxr-x--- 3 kde4 kde4 4096 10-20 14:42 .gnome2 drwxr-x--- 2 kde4 kde4 4096 10-20 14:42 .gnome2_private
Po zmianie uprawnień dla /home/kde4/
/home/sp3cu/
drwxr-x--- 22 root sp3cu 4096 10-19 23:32 .gimp-2.6 drwxr-x--- 11 root sp3cu 4096 10-19 17:46 .gnome2 drwxr-x--- 2 root sp3cu 4096 10-19 21:39 .gnome2_private drwxr-x--- 2 root sp3cu 4096 10-19 23:19 .gnupg
chown -R root /home/kde4/.*
chown -R root /home/kde4/.*[/ drwxr-x--- 2 root kde4 4096 10-20 14:44 .gconfd drwxr-x--- 3 root kde4 4096 10-20 14:42 .gnome2 drwxr-x--- 2 root kde4 4096 10-20 14:42 .gnome2_private
Czyli jak widać, nie mam pojęcia dlaczego po wykonaniu chown -R root /home/kde4/.* właścicielem /home/sp3cu/ staje się root. Wszelkie sugestie mile widziane.
Ostatnio edytowany przez sp3cu (2009-10-20 15:38:55)
Offline
A nie lepiej były by dać
chown -R root /home/nazwa_użytkownika/kde4/.*
Offline
dlatego ze do /home/kde4/.* pasuje takze /home/kde4/.. (czyli /home/)
jak juz robisz z -R to dawaj po prostu /home/kde4/
Ostatnio edytowany przez bercik (2009-10-20 18:11:17)
Offline
bercik napisał(-a):
dlatego ze do /home/kde4/.* pasuje takze /home/kde4/.. (czyli /home/)
jak juz robisz z -R to dawaj po prostu /home/kde4/
Tak teraz zmiana uprawnień działa tak jak powinna, ale i tak chown i chmod jednak nie zdaje egzaminu bo środowisko graficzne potrzebuje mieć dostęp do zapisu niektórej konfiguracji, inaczej wywala błędy (i chwała za to bo można dość do ładu) albo gorzej w ogóle nie uruchamia się i to bez błędów(stoi w miejscu). Chyba lepiej będzie, gdy uniemożliwię zmianę tylko poszczególnych plików konfiguracyjnych takich jak .gtkrc* .qt* i co jeszcze ??? Głównie chcę zabronić na jakąkolwiek ingerencje zmieniającą wygląd ustawionego środowiska graf.
Ostatnio edytowany przez sp3cu (2009-10-20 19:07:19)
Offline
sp3cu napisał(-a):
Chyba lepiej będzie, gdy uniemożliwię zmianę tylko poszczególnych plików konfiguracyjnych takich jak .gtkrc* .qt* i co jeszcze ??? Głównie chcę zabronić na jakąkolwiek ingerencje zmieniającą wygląd ustawionego środowiska graf.
ja bym powiedzial ze nie tededy droga ... jezeli juz tak bardzo chcesz utrudniac zycie userom (tak pisales wspolne konta - ale to IMHO zle rozwiazanie) to lepiej zrobic tak ze przy logowaniu caly $HOME jest kasowany i wgrywany od nowa ...
Offline
bercik napisał(-a):
sp3cu napisał(-a):
Chyba lepiej będzie, gdy uniemożliwię zmianę tylko poszczególnych plików konfiguracyjnych takich jak .gtkrc* .qt* i co jeszcze ??? Głównie chcę zabronić na jakąkolwiek ingerencje zmieniającą wygląd ustawionego środowiska graf.
ja bym powiedzial ze nie tededy droga ... jezeli juz tak bardzo chcesz utrudniac zycie userom (tak pisales wspolne konta - ale to IMHO zle rozwiazanie) to lepiej zrobic tak ze przy logowaniu caly $HOME jest kasowany i wgrywany od nowa ...
Domyślam się, że cała konfiguracja do /etc/skel a jak zrobić aby za każdym razem było kasowane ?
Jak masz jakieś pod ręką linki gdzie jest opisane jak takie coś wykonać byłoby miło, bo obecnie nawet nie wiem czego mam szukać.
Offline
hmmm jezeli powłoką dla (l)usera jest bash to ja bym to rozwiązał tak: do pliku ~/.bash_logout dodał takie coś:
rm -Rf /home/`whoami`/ cp -R /etc/skel/ /home/`whoami`/
Oczywicie w /etc/skel masz już przygotowane pliki konfiguracyjne i co Ci tam trzeba. Nie jestem pewien czy zadziała bo na miejscu wymyślane :P
Offline
winnetou napisał(-a):
hmmm jezeli powłoką dla (l)usera jest bash to ja bym to rozwiązał tak: do pliku ~/.bash_logout dodał takie coś:
Kod:
rm -Rf /home/`whoami`/ cp -R /etc/skel/ /home/`whoami`/Oczywicie w /etc/skel masz już przygotowane pliki konfiguracyjne i co Ci tam trzeba. Nie jestem pewien czy zadziała bo na miejscu wymyślane :P
Takim sposobem ~/.bash_logout ma pełne prawa modyfikacji(dla uzytkownika) i łatwo można go zmienić.
Offline
Ja to u siebie robie tak:
chmod 1000 /home/kde4
wtedy to uprawnienie roota dotyczy tylko ostatniego folderu w ścieżce.
Offline
ssp3cu to co napisałem nie ma prawa zadziałać :)) Mój błąd. Tzn wykona się tylko pierwsza część - czyli usuwanie katalogu usera. Ale można to zrobić tak:
do ~/.bash_logout dopisać takie coś:
/usr/local/sbin/twoj-skrypt `whoami`
a w w pliku/usr/local/sbin/twoj-skrypt wpisać takie coś:
#!/bin/bash -posix rm -Rf $HOME/$1 cp -R /etc/skel $HOME/$1 ## A tutaj ustawić odpowiednie chmody etc np tak: chmod $1:GRUPA prawa
. A co jeszcze sobie wpiszesz do skryptu to już Twoja wola.
Offline
tgR napisał(-a):
Kod:
man chaatr
Ha to chyba będzie to, chattr!
Przeczytałem man i wygląda pięknie, powinno też pięknie działać z .bash_logout w /etc/skel ale przez wcześniejsze operacje, namieszałem prawa dostępu /home/. Jak mam to teraz poprawić aby każdy użytkownik(w tym przypadku kde4 i sp3cu) mógł zobaczyć zawartość ls -l /home/ ??
ls -l /home/
sp3cu@debian:~$ ls -l /home/ ls: nie można otworzyć katalogu /home/: Brak dostępu
ls -la /|grep home
sp3cu@debian:~$ ls -la /|grep home drwxr-x--x 5 root root 4096 10-21 13:36 home
ls -la /home/
debian:/home/sp3cu# ls -la /home/ razem 32 drwxr-x--x 5 root root 4096 10-21 13:36 . drwxr-xr-x 21 root root 4096 10-19 17:53 .. drwxr-xr-x 3 kde4 kde4 4096 10-21 13:40 kde4 drwxr-x--- 2 sp3cu root 16384 10-17 02:45 lost+found drwxr-x--- 49 sp3cu sp3cu 4096 10-21 13:38 sp3cu
Ostatnio edytowany przez sp3cu (2009-10-21 13:49:41)
Offline
jezeli ma to byc odporne na dzialania usera to:
1. nie wywolujemy kasowania i kopiowania z plikow w $HOME
2. lepiej to robic przy logowaniu ... bo skrypt przy wylogowaniu zawsze mozna pominac wciskajac reset na obudowie
3. zainteresuj sie /etc/profile (w tej chwili nie pamietam czy kde go czyta przy starcie) oraz /etc/kde*/kdm/Xsession i podobnymi
Offline
bercik napisał(-a):
jezeli ma to byc odporne na dzialania usera to:
1. nie wywolujemy kasowania i kopiowania z plikow w $HOME
2. lepiej to robic przy logowaniu ... bo skrypt przy wylogowaniu zawsze mozna pominac wciskajac reset na obudowie
3. zainteresuj sie /etc/profile (w tej chwili nie pamietam czy kde go czyta przy starcie) oraz /etc/kde*/kdm/Xsession i podobnymi
Akurat kde4 był tutaj tylko użytkownikiem, tak jakoś mi się założyło. Na docelowej maszynie będzie Gnome.
AD1 chciałem to zrobić z chattr -i, . Tak może być ? Cytując z wiki "uniemożliwia wykonywanie operacji na pliku (edycja, zmiana nazwy, kasowanie, tworzenie dowiązań) wszystkim użytkownikom systemu - także superużytkownikowi (root). Opcja ta może być ustawiana lub zdejmowana przez roota."
AD3 To co na starcie ma usuwać zawartość katalogu domowego a później kopiować wszystko z /etc/skel/.*
Ach i co z tym nieszczęsnym ls -l /home/ o którym napisałem wyżej?
Ostatnio edytowany przez sp3cu (2009-10-21 18:21:37)
Offline
sp3cu napisał(-a):
AD3 To co na starcie ma usuwać zawartość katalogu domowego a później kopiować wszystko z /etc/skel/.*
nie zabardzo rozumiem ... podalem gdzie szukac plikow w ktorych mozesz umiescic taka operacje ... nie podaje konkretnego bo juz nie pamietam ... w gnome pewnie jest jakos podobnie (ale nie wiem bo nie uzywam)
sp3cu napisał(-a):
Ach i co z tym nieszczęsnym ls -l /home/ o którym napisałem wyżej?
chmod 755 /home
Ostatnio edytowany przez bercik (2009-10-21 21:57:41)
Offline
Hah wpadłem na zarąbisty pomysł(chyba!)
Gdyby dodać taką sekwencje do /etc/rc.local:
1. Usunięcie katalogu domowego
2. Założenie katalogu domowego
3. Zmienienie właściciela z roota na użytkownika
4. Ustawienie pełnych uprawnień na założony katalog domowy
5. Skopiowanie potrzebnej konfiguracji z /etc/skel/.*
Usunięcie danych po zwykłym wylogowaniu użytkownika nie jest konieczne, nawet może być to upierdliwe w pewnych sytuacjach. Dlatego powyższy sposób wydaje mi się lepszy, co myślicie o takim rozwiązaniu ? Poza faktem, że nie wygląda to wspaniale... od czego jest chmod 0700 /etc/rc.local ;P?
Offline
A ja myślię że to lipny pomysł ;] Wyobraź sobie sytuację: Włączasz komputer (skrypt z rc.local się wykona - jest dobrze) wylogowujesz się (katalog domowy pozostaje - to już nie tak dobrze) logujesz sie ponownie (zapomniałeś zrobić reset albo przesiadłeś sie na chwilę na roota lub innego usera) i dostajesz znowu ten sam katalog domowy (nie dobrze - bo z tego co zrozumiałem to przy każdym logowaniu chcesz mieć "dziewiczy" home)
Offline
winnetou napisał(-a):
Włączasz komputer (skrypt z rc.local się wykona - jest dobrze) wylogowujesz się (katalog domowy pozostaje - to już nie tak dobrze) logujesz sie ponownie (zapomniałeś zrobić reset albo przesiadłeś sie na chwilę na roota lub innego usera) i dostajesz znowu ten sam katalog domowy (nie dobrze - bo z tego co zrozumiałem to przy każdym logowaniu chcesz mieć "dziewiczy" home)
Ekhm nie bardzo zrozumiałem co chcesz napisać. Sytuacje w stylu "zapomniałem wyłączyć terminala gdzie jest zalogowany root" odpada gdyż jeszcze nigdy takiego numeru nie odwaliłem ;).
Po zwykłym wylogowaniu katalog domowy /home/`whoami`/ nie jest ruszany, pozostaje w takim stanie go ktoś pozostawił. Więc wszystkie dane jakie skopiował uczeń X będą dostępne dla ucznia Y, gdy zaloguje się na to konto. Akurat tutaj nie widzę żadnego problemu. Komputery które jeszcze do niedawna miały tylko Windowsa w ogóle nie były wylogowywane przez cały dzień. Za każdym razem bardzo długo się uruchamiały i wyłączały przez automatyczne aktualizacje które i tak cały czas były usuwane przez ten beznadziejny mechanizm przywracania. Rozwiązanie wydaje mi się na tyle dobre, że użytkownicy będą pracowali na pełnych uprawnieniach użytkownika i będą mogli sobie mieszać, psuć, usuwać, kombinować, zmieniać, blokować, modyfikować ... ile wlezie a po ponownym uruchomieniu komputera i tak /home/ zostanie przywrócony do takiego stanu, jaki ja określę w /etc/skel/.*.
Oczywiście jak jeszcze komuś przychodzi coś na myśl (nawet niemiłego, odnośnie tego co chcę zrobić;P) to walić prosto z mostu. Na chwilę obecną wydaje mi to się zdecydowanie najlepszym rozwiązaniem.
PS: winnetou chyba wiem o co Ci chodzi, ale aby rozwiać twoje wątpliwości to będzie tylko jeden użytkownik, ściśle określony na którym powyższe operacje będą się wykonywać. Bo pewnie przed oczyma miałeś sytuacje z większą ilością użytkowników ??
Ostatnio edytowany przez sp3cu (2009-10-22 18:46:44)
Offline
Strony: 1