# pingwinowanie 7
## zadanie 1 (debian user)

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)

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