# pingwinowanie 7 ## zadanie 1 (debian user) ![image](https://hackmd.io/_uploads/rJPASsvlR.png) 1) dodanie użytkownika adduser [nazwa] tam przechodzimy przez ładne pytanie o hasło, GECOS i tyle na razie. Na nowego użytkownika możemy się zalogować używając ```su jantest``` 2) dodanie go do grup ja używałem szczerze 2 komend ``` id <na mnie> ``` lub ``` groups <na mnie>``` by dowiedzieć się jakie grupy mam ja (w większości jantest też je chciał) i potem ```usermod -aG grupa1,grupa2,grupa3 jantest``` co do dokładnego po co jest dana grupa to korzystałem z https://wiki.debian.org/SystemGroups 3) udostępnianie sudo TYLKO do IP trzeba dodać wpis do /etc/sudoers jantest ALL=(root) NOPASSWD: /usr/bin/ip to co on robi to po kolei użytkownik jantest może wykonywać wszelkie uprawnienia jako root bez wpisywania hasła dla programów (/usr/bin/ip) 4) tworzenie grupy ``` groupadd projekt``` stwórzmy plik opis.txt zmieniamy mu grupe ```chgrp projekt opis.txt``` odbieramy wszelkie uprawnienia ```chmod 0 opis.txt``` dajemy uprawnienia tylko dla grupy ```chmod g+rw opis.txt``` (ważne, zabraliśmy uprawnienia użytkownikowi więc plik powinien stworzyć root, by nadal nasze główne konto i jantest mogli z niego korzystać) 5) sprawdzenia należności (wow) ``` groups <user>``` 6) fiku miku z whoami zmieńmy sobie UID jantest'a na UID nas samych ```usermod -ou <twojeUID> jantest``` o jest że możemy dawać istniejące u że zmieniamu uid od teraz jantest jest jakby naszym drugim kontem 7) pozwalanie jantestowi zmieniania imienia polecam to robić po cofnięciu 6) komenda ```chfn``` polega na tym ale jak zrobić by jantest mógł np zmienić imię na Jan II Testowy możemy doczytać w manie że wszelkie zmiany co do ograniczeń szukamy w pliku /etc/login.defs i tam się udajemy znajdujemy linijke CHFN_RESTRICT i jeśli umiemy czytać to wyżej jest napisane, że jak chcemy by użytkownik mógł sobie zmieniać te rzeczy to trzeba zmienić CHFN_RESTRICT rwh na CHFN_RESTRICT frwh # zadanie 2 tworzymy katalog który ma ustawionego setgida i jest w grupie projekt (np /home/safezone) ![image](https://hackmd.io/_uploads/rJW1ho_lR.png) następnie w środku dodajemy plik opis.txt oraz wywołujemy komendę ```rcs -i opis.txt``` powinien nam powstać plik opis.txt,v Potem reszta operacji jest już na użytkownikach ```ci opis.txt``` wrzuca plik ```co opis.txt``` bierze go do odczytu ```co -l opis.txt``` bierze go do odczytu i zapisu dla tego co wołał ### DRUGA WERSJA znowu mamy Tworzymy folder RCS i nadajemy mu prawa u+rwx,g+rwx I reszta tak samo ale nie trzeba używać komendy ```rcs -i opis.txt``` # zadanie 3