---
# System prepended metadata

title: pingwinowanie 7

---

# 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