Debian Jessie - umożliwienie wszystkim użytkownikom tworzenie katalogów w katalogu /root

Ogólne pytania dotyczące systemu
OneKing
Posty: 5
Rejestracja: 09 maja 2017, 23:09

Debian Jessie - umożliwienie wszystkim użytkownikom tworzenie katalogów w katalogu /root

Post autor: OneKing »

Witam,
jestem początkujący w temacie Debiana, z góry piszę:
--> Przeczytałem regulamin,
--> Przeszukałem sieć,
--> Pytałem kolegów,
--> Przeszukałem forum,

Zostałem postawiony na uczelni przed zadaniem, którego nie potrafię wykonać, jego treść jest następująca:
Jako administrator systemu umożliwić wszystkim użytkownikom w systemie (użytkownikom z ograniczonym dostępem) aby za pomocą polecenia "mkdir" mogli zakładać katalogi w katalogu /root (bez naruszania uprawnień do samego katalogu /root - użytkownicy mają jedynie mieć prawo utworzyć tam katalog, ponadto nic więcej.
Zadania wykonujemy w terminalu, posługując się komendami. Problem polega na tym, że nie rozumiem w ogóle tego polecenia. Natknąłem się na informacje, ktoś w internecie zadał to samo pytanie, do tego samego zadania. Otrzymał odpowiedz:
%users ALL = NOPASSWD: /bin/mkdir /root/[^.]* - zweryfikuj to, regex może nie działac i grupa nie taka
Szczerze powiedziawszy, próbowałem u siebie wykorzystać poradę, niestety z marnym skutkiem. Gdyby ktoś mógł mi podpowiedzieć, doradzić, napisać co powinienem zrobić, byłbym bardzo wdzięczny... i osoby szukające problemu na to pytanie również.

Pozdrawiam,
z góry dziękuję za udzieloną odpowiedz
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Debian Jessie - umożliwienie wszystkim użytkownikom tworzenie katalogów w katalogu /root

Post autor: dedito »

1. Co konkretnie zrobiłeś z tą poradą?
%users ALL = NOPASSWD: /bin/mkdir /root/[^.]* - zweryfikuj to, regex może nie działac i grupa nie taka
OneKing
Posty: 5
Rejestracja: 09 maja 2017, 23:09

Re: Debian Jessie - umożliwienie wszystkim użytkownikom tworzenie katalogów w katalogu /root

Post autor: OneKing »

Szczerze powiedziawszy, próbowałem na wszystkie sposoby.
Jestem mega początkujący, zadanie mam z zestawu zadań ze swojej uczelni.
W materiałach nigdzie nie mamy wzmianki np. o sudo, a mimo wszystko na tym się opierają zadania.

Powyższą poradę, najpierw prymitywnie przepisałem co dało marny skutek. Poczytałem o sudoers, znalazłem komendę otwierającą jakiś program w którym wpisałem powyższe polecenie. Również nic.

Może wydać się to komiczne, ale nie rozumiem tego a bardzo chce, to mój pierwszy kontakt z debianem. Co powinienem zrobić aby wykonać to zadanie?
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Debian Jessie - umożliwienie wszystkim użytkownikom tworzenie katalogów w katalogu /root

Post autor: dedito »

Gdzie przepisałeś?
Możesz pisać konkretnie i dokładnie tak aby wszyscy rozumieli co masz na myśli?
Pamiętaj, że nie mamy wglądu do czynności które wykonujesz na swoim komputerze, dlatego musisz pisać szczegółowo aby nie było wątpliwości co autor miał na myśli.

Poza tym jest to zadanie szkolne dlatego tak dla jasności napiszę: raczej nie oczekuj gotowego rozwiązania tylko ewentualnego ukierunkowania na zagadnienia, które musisz już rozwiązać w ramach samodzielnej pracy.
OneKing
Posty: 5
Rejestracja: 09 maja 2017, 23:09

Re: Debian Jessie - umożliwienie wszystkim użytkownikom tworzenie katalogów w katalogu /root

Post autor: OneKing »

W momencie gdy loguję się do debiaba, przechodzę w tryb konsoli. Loguję się na konto root. To polecenie które znalazłem na internecie, po prostu przepisałem słowo w słowo w konsoli, z marszu. Nie dało to skutku. W którymś poradniku znalazłem komendę uruchamiającą edytor (muszę ponownie odnalezc poradnik w którym znalazłem ten edytor). W tym edytorze zauważyłem, że znajduje się już kilka takich komend o podobnej składni, takiej jak w tej którą znalazłem na internecie. Wpisałem ją, zapisałem po czym wyskoczył komunikat o błedzie - system kazał mi wybrać, czy mam dokonać zmian mimo wszystko, czy anulowac i wyjsc z programu. Anulowałem wiedząc, że na pewno źle to zrobiłem.

Realizuję zadanie w oparciu o virtual box, zaczęlismy dopiero linuxa. Nadawanie uprawnień za pomocą chmod nie sprawiają mi problemów, tylko polecenie mówi o tym, aby każdy użytkownik miał prawo tworzyć katalogi w /root. Tylko i wyłącznie katalogi.

Może ujmę też to inaczej, nie wiem od której strony ugryzc to zadanie, nie proszę o rozwiązanie tylko wskazówki. W jakie zagadnienia powinienem się zagłębić? Może nie chodzi tutaj o użycie sudo? Dodam tylko, że materiały skomponowane na naszej platformie, zawierają tylko i wyłącznie zagadnienia związanymi z tworzeniem grup, nowych kont, nadawaniem uprawnien (dla konkretnej grupy).

Najmocniej przepraszam za kłopot
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Debian Jessie - umożliwienie wszystkim użytkownikom tworzenie katalogów w katalogu /root

Post autor: dedito »

Wygląda na to, że nie wiesz gdzie zastosować podaną poradę
%users ALL = NOPASSWD: /bin/mkdir /root/[^.]* - zweryfikuj to, regex może nie działac i grupa nie taka
Wpisanie tego w konsoli nie ma sensu, bo to nie jest komenda dla konsoli.
To jest wpis konfiguracyjny (oczywiście oprócz komentarza na końcu) w pliku sudoers. Więcej na temat znajdziesz po poniższymi linkami:
https://wiki.debian.org/sudo
https://wiki.archlinux.org/index.php/sudo

Jeżeli wasz program nauczania nie dotyczył pliku sudoers, a tylko wspomnianych uprawnień ustawianych przez chmod itp., to osobiście nie znam metody jak z pomocą typowych uprawnień użytkownika/grupy dać możliwość wyłącznie do tworzenia katalogów, choć zastanawiam się czy sticky bit w powiązaniu z odpowiednimi uprawnieniami by tu nie był rozwiązaniem.
https://pl.wikipedia.org/wiki/Sticky_bit
Awatar użytkownika
lizard
Beginner
Posty: 287
Rejestracja: 08 lutego 2016, 18:47

Re: Debian Jessie - umożliwienie wszystkim użytkownikom tworzenie katalogów w katalogu /root

Post autor: lizard »

Wg mnie polecenie jest źle sformułowane. Użycie mkdir wymaga uprawnienia zapisu, ale "bez naruszania uprawnień do samego katalogu /root - użytkownicy mają jedynie mieć prawo utworzyć tam katalog, ponadto nic więcej". Jedno wyklucza drugie.te]

Nie widzę innego rozwiązania niż sudo i skrypt. Stosowanie wyrażeń regularnych w /etc/sudoers jest niebezpieczne, o czym jest napisane w podręczniku do sudoers:
Wildcards in command line arguments should be used with care.
Command line arguments are matched as a single, concatenated string. This mean a wildcard character such as ‘?’ or ‘*’ will match across word boundaries, which may be unexpected.
For example, while a sudoers entry like:

%operator ALL = /bin/cat /var/log/messages*

will allow command like:

$ sudo cat /var/log/messages.1

It will also allow:

$ sudo cat /var/log/messages /etc/shadow

which is probably not what was intended. In most cases it is better to do command line processing outside of the sudoers file in a scripting language.
W pliku sudoers (polecenie: visudo) proponuję dodać linię:

Kod: Zaznacz cały

ALL     ALL=NOPASSWD: /usr/local/bin/mkdir-in-root
Powyższą linię najlepiej wstawić gdzieś na początku, bo po wstawieniu na końcu u mnie nie działało.

W katalagi /usr/local/bin umieść skrypt o nazwie mkdir-in-root, który będzie tworzył katalogi. Skrypt oczywiście musi mieć prawa wykonywania. Warto też zadbać, aby nie pozwolił na stosowanie konstrukcji typu "../katalog/gdzies/w-calym/drzewie" i przekazywania parametrów dla mkdir, np. "-p". Można też dodać wodotrysk w postaci zmiany właściciela na użytkownika, który katalog utworzył.

Jak już rozwiążesz zadanie, pochwal się nim - poddamy go miażdżącej krytyce. ;)
OneKing
Posty: 5
Rejestracja: 09 maja 2017, 23:09

Re: Debian Jessie - umożliwienie wszystkim użytkownikom tworzenie katalogów w katalogu /root

Post autor: OneKing »

Dziękuję Panowie za te wszystkie porady, najmocniej przepraszam, że odpisuję po takim czasie. Jak najbardziej dostarczyły mi odpowiedzi na moje pytanie. Pozdrawiam!
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Debian Jessie - umożliwienie wszystkim użytkownikom tworzenie katalogów w katalogu /root

Post autor: dedito »

Jeśli temat rozwiązany, napisz krótkie podsumowanie dla potomnych i oznacz wątek jak rozwiązany.
ODPOWIEDZ