Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w dziale Administracja.
Wiadomości z problemami zamieszczone w wątku "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

Skrypt nie działa, a potem psuje maszynę wirtualną.

Zaczęty przez karmelek123123, Maj 31, 2018, 08:30:23 PM

Poprzedni wątek - Następny wątek

karmelek123123

Hej, mam do napisania skrypt który:
- tworzy konto uczen z domyślną powłoką systemową sh
- odbiera wszystkie uprawnienia użytkownikowi uczen do katalogu /lib 
No i mam coś takiego:

#/bin/bash
clear
useradd uczen
chsh -s uczen
chmod o-rwx /lib

Skrypt tworzy użytkownika ale potem wyświetla błąd PAM: authentication failure (mniej więcej taki tekst)
Stwierdzam w takim razie że skrypt nie działa prawidłowo.
Co ciekawe po jego wykonaniu nie działa żadna komenda terminala (/bin/bash odmowa dostępu) a dodatkowo nie można ponownie uruchomić terminala (również odmowa dostępu). Przy restarcie linuxa nie można ponownie go uruchomić przez błąd w User ID (czy coś takiego). Nie wiem co dalej robić, pomóżcie z tym skryptem jeśli możecie, z góry dziękuję.

lesio

Odcięcie użytkownika od katalogu /lib (jest to katalog systemowy) może powodować różne problemy  w funkcjonowaniu (tzn. odcina wszystkie uruchamiane programy od tego katalogu). Oprócz tego zastosowane polecenie "chmod o-rwx /lib" odcina WSZYSTKICH użytkowników nie będących root-em i nie należących go grupy "root" od tego katalogu - więc dotyczy także wielu użytkowników "systemowych" - problemy mogą więc także dotyczyć rożnych serwisów systemu operacyjnego (odcięte grupy można przeglądnąć w pliku /etc/group).
Zaryzykowałbym twierdzenie, że system zachowuje się zgodnie z wykonanymi poleceniami :-)
Swoją drogą - ciekawy jestem jaki jest powód przeprowadzania "kontrolowanej destrukcji" systemu operacyjnego przez odcięcie wszystkich użytkowników nienależących do grupy "root"  od systemowego katalogu "/lib"?

karmelek123123

Mhm, dzięki za pomoc.
W takim razie jaką składnię polecenie powinienem zastosować?

lesio

#3
Chyba nie do końca zostałem przez Ciebie zrozumiany.
Wydane polecenie ma prawidłową składnię i zostało prawidłowo wydane. Natomiast jego normalnym efektem jest częściowa dysfunkcjonalność systemu operacyjnego.
Standardowo w debianie uprawnienia wyglądają tak:
drwxr-xr-x 16 root root 4096 maj 28 08:27 /lib
a wydane polecenie doprowadza do takiej sytuacji:
drwxr-x--- 16 root root 4096 maj 28 08:27 /lib
Taki efekt w sposób znaczący zmienia de facto stan systemu operacyjnego.
Stąd powtarzam moje pytanie, na które nie odpowiedziałeś:
Jaki jest powód przeprowadzania "kontrolowanej destrukcji" systemu operacyjnego przez odcięcie wszystkich użytkowników nienależących do grupy "root"  od systemowego katalogu "/lib"?
lub inaczej:
Jaki jest powód ocięcia użytkownika "uczeń"  od systemowego katalogu "/lib"?

karmelek123123

No, odcinam go bo to ma zrobić ten skrypt, ale wiem że odciąłem wszystkich użytkowników zamiast tego jednego. Co powinienem wpisać żeby odciąć tylko tego konkretnego użytkownika? (uczen)
Nie za bardzo mogę to potestować bo boję się że znowu wysypię system :/

lesio

Odcięcie tego jednego użytkownika spowoduje to, że nie będzie to użytkownik w pełni funkcjonalny.
Poza tym można to zrobić tylko przy drastycznym obniżeniu bezpieczeństwa całego systemu. Efektem końcowym będzie stan, w którym użytkownik uczen jest niefunkcjonalny, a wszyscy pozostali użytkownicy należą do grupy root, co stanowi zniszczenie systemu bezpieczeństwa linuksa.
Jeszcze raz pytam: do czego Ci to potrzebne?

karmelek123123

No tak jest w poleceniu i taki skrypt ma być.
Nie wiem o co ci chodzi. To możesz jakoś pomóć? Ja jak już mówiłem mam związane ręce.

TataPingu

@ karmelek123123
- kolega lesio pyta "do czego Ci to potrzebne", może ja jeszcze inaczej "dopytam", JAKI JEST CEL odcięcia użytkownika uczeń od systemu ?

Powiem szczerze, że sam nie potrafię zrozumieć celu. "No, tak jest w poleceniu..." nie wyjaśnia nam w niczym zadania...

karmelek123123

No tak mam w arkuszu do zrobienia, nie wiem o co wam w ogóle chodzi po prostu mam utworzyć taki skrypt bo takie jest polecenie i już.
Co wy jeszcze chcecie wiedzieć?

lesio

No i taki musi być tego efekt, jaki właśnie jest :-). Jeśli koniecznie chcesz odciąć użytkownika od katalogu /lib, to musisz wykonać polecenie chmod, które wykonałeś - nie znam innego wyjścia.
W tej sytuacji użytkownik uczeń i wszyscy inni użytkownicy nienależący do grupy root stają się dysfunkcjonalni - to znaczy nie mogą uruchomić żadnego oprogramowania, które znajduje się w katalogu /lib (np. będą zapewne problemy z pracą terminalową z uwagi na biblioteki terminfo znajdujące się w /lib).
W związku z tym wszystkich innych użytkowników występujących w systemie trzeba dodać do grupy root, aby mogli korzystać z katalogu /lib (np. poleceniem usermod). Nazwy użytkowników można pobrać np. z pliku /etc/passwd (są na pierwszej pozycji). Te operacje skutkują drastycznym obniżeniem bezpieczeństwa systemu, ale system odzyska kontakt z katalogiem /lib. Gdy dodasz użytkownika uczen do grupy root, to stanie się także funkcjonalny - będzie miał dostęp do /lib.
Czego nie rozumiesz w moich wypowiedziach? Tak trudno zrozumieć, że realizacja tego, co chcesz realizować, po prostu dezorganizuje i psuje system operacyjny?

TataPingu

W sumie nic, tylko wydaje mi się, że cokolwiek się robi, robi się po to, by osiągnąć jakiś cel/skutek.

W tym przypadku cel/skutek nie jest określony, a jedyne co powoduje, to destrukcję OSa.

Czy jeśli byś dostał zadanie zintegrować którąś z poniższych komend w skrypcie zrobił byś to również (nie znając celu)?

#https://www.tecmint.com/10-most-dangerous-commands-you-should-never-execute-on-linux/#

gom1

Przecież to tylko polecenie od nauczyciela. Nie wymagajcie od tych ostatnich specjalistycznej wiedzy.

Aczkolwiek autor wątku mógłby przy okazji oceny swojego rozwiązania wspomnieć o tym, że zadanie jest dość słabe.
Wszędzie dobrze, ale w /home najlepiej

karmelek123123

Chłopaki spokojnie, doceniam waszą pomoc, po prostu pomyślałem że takie linuxowe świry jak wy (w dobrym znaczeniu tych słów) rozgryzają takie skrypty o 4 nad ranem bez włączania systemu w pamięci.
Zauważyłem że system sie troche rozsypał więc poszukałem pomocy na forum, mając nadzieje że napiszecie
chmod ( odpowiednie cyferki od praw) i wszystko będzie ładnie działać.
Skoro nie chcecie tego robić to jakoś sam sobie poradzę, przepraszam że zająłem wam czas.

TataPingu

@gom1
"Przecież to tylko polecenie od nauczyciela. Nie wymagajcie od tych ostatnich specjalistycznej wiedzy"
- no, tutaj zgadzam się z tobą w 100%! ;)

lesio

Przepis, co zrobić by taki zniszczony system działał, został Ci podany - i to dość wyraźnie (dodanie wszystkich użytkowników oprócz "uczeń" do grupy root). Najwyraźniej nie przeczytałeś uważnie odpowiedzi.
Dlatego uważam, że Twoja wypowiedź "Skoro nie chcecie tego robić " jest nie na miejscu. Natomiast w tej sytuacji mogę się czuć uprawniony do stwierdzenia "skoro nie chce Ci się czytać odpowiedzi, to po co zadajesz pytanie?"

Zobacz najnowsze wiadomości na forum