This shows you the differences between two versions of the page.
gsr:laboratoare:laborator-06 [2016/11/16 17:49] alexandru.carp [1. rsync (3p)] |
gsr:laboratoare:laborator-06 [2016/11/17 21:00] (current) alexandru.carp [1. rsync] |
||
---|---|---|---|
Line 19: | Line 19: | ||
</code> | </code> | ||
</note> | </note> | ||
- | ===== 1. rsync (3p) ===== | + | ===== 1. rsync ===== |
- | ==== Tutorial ==== | + | |
- | *N/A | + | |
*[00]. Pe masina virtuală instalati pachetul ''rsync''. | *[00]. Pe masina virtuală instalati pachetul ''rsync''. | ||
<code> | <code> | ||
- | root@heimdall:~# apt-get update; apt-get install rsync | + | root@vm:~# apt-get update; apt-get install rsync |
</code> | </code> | ||
*[01]. Pe mașina virtuală adăugați utilizatorul ''bkpuser'' cu parola student. | *[01]. Pe mașina virtuală adăugați utilizatorul ''bkpuser'' cu parola student. | ||
<code> | <code> | ||
- | root@heimdall:~# groupadd bkpusr | + | root@vm:~# groupadd bkpusr |
- | root@heimdall:~# useradd -d /home/bkpusr -m -g bkpusr -s /bin/bash bkpusr | + | root@vm:~# useradd -d /home/bkpusr -m -g bkpusr -s /bin/bash bkpusr |
- | root@heimdall:~# echo "bkpusr:student" | chpasswd | + | root@vm:~# echo "bkpusr:student" | chpasswd |
</code> | </code> | ||
*[02].a. Pe mașina virtuală creați directorul ''/home/bkpuser/stud-home'' cu drepturi depline pentru utilizatorul ''bkpuser''. | *[02].a. Pe mașina virtuală creați directorul ''/home/bkpuser/stud-home'' cu drepturi depline pentru utilizatorul ''bkpuser''. | ||
<code> | <code> | ||
- | root@heimdall:~# su - bkpusr | + | root@vm:~# su - bkpusr |
- | bkpusr@heimdall:~$ pwd | + | bkpusr@vm:~$ pwd |
/home/bkpusr | /home/bkpusr | ||
- | bkpusr@heimdall:~$ mkdir stud-home | + | bkpusr@vm:~$ mkdir stud-home |
</code> | </code> | ||
*[02].b. Pe mașina fizică creați trei fișiere in directorul ''/home/student/Documents''. | *[02].b. Pe mașina fizică creați trei fișiere in directorul ''/home/student/Documents''. | ||
<code> | <code> | ||
- | student@mjolnir:~/Documents$ echo "1" > file1.txt | + | student@physical:~/Documents$ echo "1" > file1.txt |
- | student@mjolnir:~/Documents$ echo "2" > file2.txt | + | student@physical:~/Documents$ echo "2" > file2.txt |
- | student@mjolnir:~/Documents$ echo "3" > file3.txt | + | student@physical:~/Documents$ echo "3" > file3.txt |
</code> | </code> | ||
*[03]. Sincronizați, din contul ''bkpuser'', folosind rsync peste ssh, directorul ''/home/student/Documents'' de pe mașina fizică în directorul ''/home/bkpusr/stud-home'' de pe mașina virtuală. | *[03]. Sincronizați, din contul ''bkpuser'', folosind rsync peste ssh, directorul ''/home/student/Documents'' de pe mașina fizică în directorul ''/home/bkpusr/stud-home'' de pe mașina virtuală. | ||
<code> | <code> | ||
- | student@mjolnir:~$ rsync -avz Documents/ bkpusr@heimdall.local:stud-home/ | + | student@physical:~$ rsync -avz Documents/ bkpusr@vm.local:stud-home/ |
- | bkpusr@heimdall.local's password: | + | bkpusr@vm.local's password: |
sending incremental file list | sending incremental file list | ||
./ | ./ | ||
Line 70: | Line 67: | ||
</code> | </code> | ||
- | *[04]. Creați în contul utilizatorului ''bkpuser'' de pe mașina virtuală o pereche de chei RSA. Copiați cheia publica in contul ''student'' de pe mașina fizică. Realizați un script care să ruleze în cron, pe mașina virtuală, în contul utilizatorului bkpuser, la fiecare 1 de minut, și să realizeze automat back-up-ul directorului ''~/Documents'' al utilizatorului student în ''/home/bkpusr/stud-home'' | + | *[04]. Creați în contul utilizatorului ''bkpuser'' de pe mașina virtuală o pereche de chei RSA. Copiați cheia publica in contul ''student'' de pe mașina fizică. Realizați un script care să ruleze în cron, pe mașina virtuală, în contul utilizatorului bkpuser, la fiecare 1 minut, și să realizeze automat back-up-ul directorului ''~/Documents'' al utilizatorului student în ''/home/bkpusr/stud-home'' |
<code> | <code> | ||
- | student@mjolnir:~$ ssh-copy-id bkpusr@heimdall.local | + | student@physical:~$ ssh-copy-id bkpusr@vm.local |
- | bkpusr@heimdall.local's password: | + | bkpusr@vm.local's password: |
- | Now try logging into the machine, with "ssh 'bkpusr@heimdall.local'", and check in: | + | Now try logging into the machine, with "ssh 'bkpusr@vm.local'", and check in: |
~/.ssh/authorized_keys | ~/.ssh/authorized_keys | ||
Line 80: | Line 77: | ||
to make sure we haven't added extra keys that you weren't expecting. | to make sure we haven't added extra keys that you weren't expecting. | ||
- | student@mjolnir:~$ rsync -avz Documents/ bkpusr@heimdall.local:stud-home/ | + | student@physical:~$ rsync -avz Documents/ bkpusr@vm.local:stud-home/ |
sending incremental file list | sending incremental file list | ||
Line 86: | Line 83: | ||
total size is 6 speedup is 0.06 | total size is 6 speedup is 0.06 | ||
- | student@mjolnir:~$ cat sync.sh | + | student@physical:~$ cat sync.sh |
#!/bin/bash | #!/bin/bash | ||
RUSR=bkpusr | RUSR=bkpusr | ||
- | RHOST=heimdall.local | + | RHOST=vm.local |
LPATH=/home/student/Documents/ | LPATH=/home/student/Documents/ | ||
RPATH=stud-home/ | RPATH=stud-home/ | ||
Line 97: | Line 94: | ||
- | root@mjolnir:~# chown :crontab /var/spool/cron/crontabs | + | root@physical:~# chown :crontab /var/spool/cron/crontabs |
- | root@mjolnir:~# chmod g+w /var/spool/cron/crontabs | + | root@physical:~# chmod g+w /var/spool/cron/crontabs |
- | root@mjolnir:~# ls -ld /var/spool/cron/crontabs/ | + | root@physical:~# ls -ld /var/spool/cron/crontabs/ |
drwxrwxr-x 4 root crontab 4096 Jan 26 17:52 /var/spool/cron/crontabs/ | drwxrwxr-x 4 root crontab 4096 Jan 26 17:52 /var/spool/cron/crontabs/ | ||
- | student@mjolnir:~$ crontab -e | + | student@physical:~$ crontab -e |
crontab: installing new crontab | crontab: installing new crontab | ||
- | student@mjolnir:~$ crontab -l | tail -n 1 | + | student@physical:~$ crontab -l | tail -n 1 |
- | * /10 * * * * /home/student/sync.sh | + | * * * * * /home/student/sync.sh |
- | root@mjolnir:~# /etc/init.d/cron restart | + | root@physical:~# /etc/init.d/cron restart |
Restarting periodic command scheduler: cronStopping periodic command scheduler: cron. | Restarting periodic command scheduler: cronStopping periodic command scheduler: cron. | ||
Starting periodic command scheduler: cron. | Starting periodic command scheduler: cron. | ||
</code> | </code> | ||
- | ===== 2. nfs (4p) ===== | + | ===== 2. NFS ===== |
- | *Comenzi/concepte/fișiere | ||
- | *exportfs | ||
- | |||
- | ==== Tutorial ==== | ||
- | *N/A | ||
- | |||
- | ==== Exerciții ==== | ||
*[01]. Pe mașina virtuală instalați ''nfs-kernel-server'', ''nfs-common'' și ''portmap''. | *[01]. Pe mașina virtuală instalați ''nfs-kernel-server'', ''nfs-common'' și ''portmap''. | ||
- | <solution -hidden -en><code> | + | <code> |
- | root@heimdall:~# apt-get install nfs-kernel-server nfs-common portmap | + | root@vm:~# apt-get install nfs-kernel-server nfs-common portmap |
[...] | [...] | ||
- | </code></solution> | + | </code> |
*[02]. Creați utilizatorul ''nfsuser'' pe mașina virtuala și pe mașina fizică. Pe mașina fizică, setați home-ul utilizatorlui ca fiind în ''/home/nfsuser'' și pe cea virtuală în ''/opt/exports/home/nfsuser''. | *[02]. Creați utilizatorul ''nfsuser'' pe mașina virtuala și pe mașina fizică. Pe mașina fizică, setați home-ul utilizatorlui ca fiind în ''/home/nfsuser'' și pe cea virtuală în ''/opt/exports/home/nfsuser''. | ||
- | <solution -hidden -en><code> | + | <code> |
- | root@heimdall:~# groupadd nfsuser | + | root@vm:~# groupadd nfsuser |
- | root@heimdall:~# mkdir -p /opt/exports/home | + | root@vm:~# mkdir -p /opt/exports/home |
- | root@heimdall:~# useradd -d /opt/exports/home/nfsuser -m -g nfsuser -s /bin/bash nfsuser | + | root@vm:~# useradd -d /opt/exports/home/nfsuser -m -g nfsuser -s /bin/bash nfsuser |
- | root@heimdall:~# echo "nfsuser:student" | chpasswd | + | root@vm:~# echo "nfsuser:student" | chpasswd |
- | root@mjolnir:~# groupadd nfsuser | + | root@physical:~# groupadd nfsuser |
- | root@mjolnir:~# useradd -d /home/nfsuser -m -g nfsuser -s /bin/bash nfsuser | + | root@physical:~# useradd -d /home/nfsuser -m -g nfsuser -s /bin/bash nfsuser |
- | root@mjolnir:~# echo "nfsuser:student" | chpasswd | + | root@physical:~# echo "nfsuser:student" | chpasswd |
- | root@heimdall:~# apt-get install finger | + | root@vm:~# apt-get install finger |
- | root@heimdall:~# finger nfsuser | + | root@vm:~# finger nfsuser |
Login: nfsuser Name: | Login: nfsuser Name: | ||
Directory: /opt/exports/home/nfsuser Shell: /bin/bash | Directory: /opt/exports/home/nfsuser Shell: /bin/bash | ||
Line 162: | Line 152: | ||
- | root@mjolnir:~# apt-get install finger | + | root@physical:~# apt-get install finger |
- | root@mjolnir:~# finger nfsuser | + | root@physical:~# finger nfsuser |
Login: nfsuser Name: | Login: nfsuser Name: | ||
Directory: /home/nfsuser Shell: /bin/bash | Directory: /home/nfsuser Shell: /bin/bash | ||
Line 170: | Line 160: | ||
No mail. | No mail. | ||
No Plan. | No Plan. | ||
- | </code></solution> | + | </code> |
*[03]. Sincronizati UID-ul și GID-ul utilizatorului ''nfsuser'' de pe mașina virtuală cu cel de pe mașina fizică. Ajustați în mod corespunzător ID-ul utilizatorului care deține ''/opt/exports''. (Hint: ''chown'', ''usermod'', ''groupmod''). | *[03]. Sincronizati UID-ul și GID-ul utilizatorului ''nfsuser'' de pe mașina virtuală cu cel de pe mașina fizică. Ajustați în mod corespunzător ID-ul utilizatorului care deține ''/opt/exports''. (Hint: ''chown'', ''usermod'', ''groupmod''). | ||
- | <solution -hidden -en><code> | + | <code> |
- | root@heimdall:~# id nfsuser | + | root@vm:~# id nfsuser |
uid=1002(nfsuser) gid=1003(nfsuser) groups=1003(nfsuser) | uid=1002(nfsuser) gid=1003(nfsuser) groups=1003(nfsuser) | ||
- | root@mjolnir:~# id nfsuser | + | root@physical:~# id nfsuser |
uid=1001(nfsuser) gid=1001(nfsuser) groups=1001(nfsuser) | uid=1001(nfsuser) gid=1001(nfsuser) groups=1001(nfsuser) | ||
- | root@mjolnir:~# usermod -u 1002 nfsuser | + | root@physical:~# usermod -u 1002 nfsuser |
- | root@mjolnir:~# groupmod -g 1003 nfsuser | + | root@physical:~# groupmod -g 1003 nfsuser |
- | root@mjolnir:~# id nfsuser | + | root@physical:~# id nfsuser |
uid=1002(nfsuser) gid=1003(nfsuser) groups=1003(nfsuser) | uid=1002(nfsuser) gid=1003(nfsuser) groups=1003(nfsuser) | ||
- | root@heimdall:~# chown -R nfsuser:nfsuser /opt/exports | + | root@vm:~# chown -R nfsuser:nfsuser /opt/exports |
- | </code></solution> | + | </code> |
- | *[04]. Pe mașina virtuală editați fișierul de configurare NFS astfel încât să exportați ''/opt/exports/home/nfsuser'' de pe mașina virtuală, setând ca trusted-host IP-ul interfeței virtuale de pe masina fizică, având permisiuni de read-write și permițând conexiuni. (Hint: curs, slide 21). | + | *[04]. Pe mașina virtuală editați fișierul de configurare NFS astfel încât să exportați ''/opt/exports/home/nfsuser'' de pe mașina virtuală, setând ca trusted-host IP-ul interfeței virtuale de pe masina fizică, având permisiuni de read-write și permițând conexiuni. |
- | <solution -hidden -en><code> | + | <code> |
- | root@heimdall:~# tail -n 1 /etc/exports | + | root@vm:~# tail -n 1 /etc/exports |
- | /opt/exports/home/nfsuser 192.168.48.1(rw,insecure) | + | /opt/exports/home/nfsuser 192.168.56.1(rw,insecure) |
- | </code></solution> | + | </code> |
*[05]. Actualizați lista export-urilor serviciului de NFS (Hint: ''exportfs'') | *[05]. Actualizați lista export-urilor serviciului de NFS (Hint: ''exportfs'') | ||
- | <solution -hidden -en><code> | + | <code> |
- | root@heimdall:~# exportfs -ra | + | root@vm:~# exportfs -ra |
- | exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.48.1:/opt/exports/home/nfsuser". | + | exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.56.1:/opt/exports/home/nfsuser". |
Assuming default behaviour ('no_subtree_check'). | Assuming default behaviour ('no_subtree_check'). | ||
NOTE: this default has changed since nfs-utils version 1.0.x | NOTE: this default has changed since nfs-utils version 1.0.x | ||
- | root@heimdall:~# exportfs | + | root@vm:~# exportfs |
/opt/exports/home/nfsuser | /opt/exports/home/nfsuser | ||
- | 192.168.48.1 | + | 192.168.56.1 |
- | </code></solution> | + | </code> |
*[06]. În mașina virtuală reporniți daemonul rpcbind. (Hint: /etc/init.d). | *[06]. În mașina virtuală reporniți daemonul rpcbind. (Hint: /etc/init.d). | ||
- | <solution -hidden -en><code> | + | <code> |
- | root@heimdall:~# /etc/init.d/rpcbind restart | + | root@vm:~# /etc/init.d/rpcbind restart |
Stopping rpcbind daemon.... | Stopping rpcbind daemon.... | ||
Starting rpcbind daemon...Already running.. | Starting rpcbind daemon...Already running.. | ||
- | </code></solution> | + | </code> |
*[07]. Montati temporar export-ul nou creat pe masina fizică în ''/home/nfsuser''. | *[07]. Montati temporar export-ul nou creat pe masina fizică în ''/home/nfsuser''. | ||
- | <solution -hidden -en><code> | + | <code> |
- | root@heimdall:~# ip a s eth0 | + | root@vm:~# ip a s eth0 |
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 | 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 | ||
link/ether 00:0c:29:5a:9c:6c brd ff:ff:ff:ff:ff:ff | link/ether 00:0c:29:5a:9c:6c brd ff:ff:ff:ff:ff:ff | ||
- | inet 192.168.48.128/24 brd 192.168.48.255 scope global eth0 | + | inet 192.168.56.115/24 brd 192.168.48.255 scope global eth0 |
inet6 fe80::20c:29ff:fe5a:9c6c/64 scope link | inet6 fe80::20c:29ff:fe5a:9c6c/64 scope link | ||
valid_lft forever preferred_lft forever | valid_lft forever preferred_lft forever | ||
Line 233: | Line 223: | ||
- | root@mjolnir:~# apt-get install portmap | + | root@physical:~# apt-get install portmap |
- | root@mjolnir:~# apt-get install nfs-common | + | root@physical:~# apt-get install nfs-common |
- | root@mjolnir:~# mount 192.168.48.128:/opt/exports/home/nfsuser/ /home/nfsuser/ | + | root@physical:~# mount 192.168.56.115:/opt/exports/home/nfsuser/ /home/nfsuser/ |
- | </code></solution> | + | </code> |
*[08]. Logat ca ''nfsuser'' în mașina virtuală, creați fișierul ''nfswrite.txt'' cu permisiuni 744 în directorul său home. Verificați daca pe client (mașina fizică), in ''/home/nfsuser'' exista acest fisier. | *[08]. Logat ca ''nfsuser'' în mașina virtuală, creați fișierul ''nfswrite.txt'' cu permisiuni 744 în directorul său home. Verificați daca pe client (mașina fizică), in ''/home/nfsuser'' exista acest fisier. | ||
- | <solution -hidden -en><code> | + | <code> |
- | nfsuser@heimdall:~$ touch nfswrite.txt | + | nfsuser@vm:~$ touch nfswrite.txt |
- | nfsuser@heimdall:~$ chmod 744 nfswrite.txt | + | nfsuser@vm:~$ chmod 744 nfswrite.txt |
- | nfsuser@heimdall:~$ ls -l | + | nfsuser@vm:~$ ls -l |
total 0 | total 0 | ||
-rwxr--r-- 1 nfsuser nfsuser 0 Jan 26 18:34 nfswrite.txt | -rwxr--r-- 1 nfsuser nfsuser 0 Jan 26 18:34 nfswrite.txt | ||
Line 253: | Line 243: | ||
- | root@mjolnir:~# ls -l /home/nfsuser/ | + | root@physical:~# ls -l /home/nfsuser/ |
total 0 | total 0 | ||
-rwxr--r-- 1 nobody nogroup 0 Jan 26 18:34 nfswrite.txt | -rwxr--r-- 1 nobody nogroup 0 Jan 26 18:34 nfswrite.txt | ||
- | </code></solution> | + | </code> |
*[09]. Demontați sistemul de fișiere de pe client; verificați din nou existența fișierului pe server. | *[09]. Demontați sistemul de fișiere de pe client; verificați din nou existența fișierului pe server. | ||
- | <solution -hidden -en><code> | + | <code> |
- | root@mjolnir:~# umount /home/nfsuser | + | root@physical:~# umount /home/nfsuser |
- | root@mjolnir:~# ls -l /home/nfsuser/ | + | root@physical:~# ls -l /home/nfsuser/ |
total 0 | total 0 | ||
- | nfsuser@heimdall:~$ ls -l | + | nfsuser@vm:~$ ls -l |
total 0 | total 0 | ||
-rwxr--r-- 1 nfsuser nfsuser 0 Jan 26 18:34 nfswrite.txt | -rwxr--r-- 1 nfsuser nfsuser 0 Jan 26 18:34 nfswrite.txt | ||
- | </code></solution> | + | </code> |
*[10]. Montați din nou sistemul de fișiere. Verificați proprietățile fișierului pe client. | *[10]. Montați din nou sistemul de fișiere. Verificați proprietățile fișierului pe client. | ||
- | <solution -hidden -en><code> | + | <code> |
- | root@mjolnir:~# mount 192.168.48.128:/opt/exports/home/nfsuser/ /home/nfsuser/ | + | root@physical:~# mount 192.168.56.115:/opt/exports/home/nfsuser/ /home/nfsuser/ |
- | root@mjolnir:~# ls -l /home/nfsuser/ | + | root@physical:~# ls -l /home/nfsuser/ |
total 0 | total 0 | ||
-rwxr--r-- 1 nobody nogroup 0 Jan 26 18:34 nfswrite.txt | -rwxr--r-- 1 nobody nogroup 0 Jan 26 18:34 nfswrite.txt | ||
- | root@mjolnir:~# file /home/nfsuser/nfswrite.txt | + | root@physical:~# file /home/nfsuser/nfswrite.txt |
/home/nfsuser/nfswrite.txt: empty | /home/nfsuser/nfswrite.txt: empty | ||
- | </code></solution> | + | </code> |
- | ===== 3. samba (3p) ===== | + | ===== 3. Samba ===== |
- | + | ||
- | *Comenzi/concepte/fișiere | + | |
- | *N/A | + | |
- | + | ||
- | ==== Tutorial ==== | + | |
- | *N/A | + | |
- | + | ||
- | ==== Exerciții ==== | + | |
*[01]. Instalați serverul de SAMBA pe mașina fizică. | *[01]. Instalați serverul de SAMBA pe mașina fizică. | ||
- | <solution -hidden -en><code> | + | <code> |
- | root@mjolnir:~# apt-get install samba | + | root@physical:~# apt-get install samba |
[...] | [...] | ||
- | </code></solution> | + | </code> |
- | *[02]. Instalați clientul de SAMBA atât pe mașina fizică cât și pe cea virtuală. (Hint: samba, samba-client) | + | *[02]. Instalați clientul de SAMBA atât pe mașina fizică cât și pe cea virtuală. |
- | <solution -hidden -en><code> | + | <code> |
- | root@mjolnir:~# apt-get install smbclient smbfs | + | root@physical:~# apt-get install smbclient smbfs |
[...] | [...] | ||
- | root@heimdall:~# apt-get install smbclient smbfs | + | root@vm:~# apt-get install smbclient smbfs |
[...] | [...] | ||
- | </code></solution> | + | </code>> |
*[03]. Folosind man, aflați care sunt daemonii asociați serviciului SAMBA. Verificați dacă acești daemoni sunt porniți pe mașina fizică și, în caz afirmativ, pe ce porturi ascultă. | *[03]. Folosind man, aflați care sunt daemonii asociați serviciului SAMBA. Verificați dacă acești daemoni sunt porniți pe mașina fizică și, în caz afirmativ, pe ce porturi ascultă. | ||
Line 316: | Line 298: | ||
* ''sudo service nmbd start'' | * ''sudo service nmbd start'' | ||
</note> | </note> | ||
- | <solution -hidden -en><code> | + | <code> |
smbd(8) | smbd(8) | ||
The smbd daemon provides the file and print services to SMB clients, such as Windows 95/98, | The smbd daemon provides the file and print services to SMB clients, such as Windows 95/98, | ||
Line 326: | Line 308: | ||
this daemon is described in smb.conf(5) | this daemon is described in smb.conf(5) | ||
- | root@mjolnir:~# netstat -tlnp | + | root@physical:~# netstat -tlnp |
Active Internet connections (only servers) | Active Internet connections (only servers) | ||
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name | Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name | ||
Line 345: | Line 327: | ||
tcp6 0 0 :::47114 :::* LISTEN - | tcp6 0 0 :::47114 :::* LISTEN - | ||
tcp6 0 0 :::139 :::* LISTEN 9933/smbd | tcp6 0 0 :::139 :::* LISTEN 9933/smbd | ||
- | </code></solution> | + | </code> |
- | *[04]. Adăugați o linie nevalidă la sfârșitul fișierului de configurare SAMBA (de ex:"wrong line"). Testați apoi corectitudinea fișierului de configurare folosind utilitarul ''testparm'' | + | *[04]. Configurați serverul Samba în workgroupul ''PR706''. Folosiți ca nume NetBios prenumele vostru. Reporniți serviciul. Hint: folosiți directiva ''netbios name''. |
- | <solution -hidden -en><code> | + | <code> |
- | root@mjolnir:~# vim /etc/samba/smb.conf | + | root@physical:~# grep -A 2 "workgroup =" /etc/samba/smb.conf |
- | + | workgroup = PR706 | |
- | root@mjolnir:~# tail -n 1 /etc/samba/smb.conf | + | |
- | wrong line | + | |
- | + | ||
- | root@mjolnir:~# testparm | + | |
- | Load smb config files from /etc/samba/smb.conf | + | |
- | rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) | + | |
- | Processing section "[homes]" | + | |
- | Processing section "[printers]" | + | |
- | Processing section "[print$]" | + | |
- | params.c:Parameter() - Ignoring badly formed line in configuration file: wrong line | + | |
- | [...] | + | |
- | </code></solution> | + | |
- | + | ||
- | *[05]. Ștergeți linia adaugată anterior și restartați serverul SAMBA. | + | |
- | <solution -hidden -en><code> | + | |
- | root@mjolnir:~# vim /etc/samba/smb.conf | + | |
- | + | ||
- | root@mjolnir:~# /etc/init.d/samba restart | + | |
- | Stopping Samba daemons: nmbd smbd. | + | |
- | Starting Samba daemons: nmbd smbd. | + | |
- | </code></solution> | + | |
- | + | ||
- | *[06]. Configurați serverul Samba în workgroupul ''EG106''. Folosiți ca nume NetBios prenumele vostru. Reporniți serviciul. Hint: folosiți directiva ''netbios name''. | + | |
- | <solution -hidden -en><code> | + | |
- | root@mjolnir:~# grep -A 2 "workgroup =" /etc/samba/smb.conf | + | |
- | workgroup = EG106 | + | |
netbios name = gsr | netbios name = gsr | ||
- | root@mjolnir:~# /etc/init.d/samba restart | + | root@physical:~# /etc/init.d/samba restart |
Stopping Samba daemons: nmbd smbd. | Stopping Samba daemons: nmbd smbd. | ||
Starting Samba daemons: nmbd smbd. | Starting Samba daemons: nmbd smbd. | ||
- | </code></solution> | + | </code> |
- | *[07]. În file manager (Nautilus) folosiți meniul Go, opțiunea Network și selectați Windows Network (sau CTRL+L și apoi ''%%smb://%%''). Vizualizați stațiile prezente în workgroup-ul EG106. | + | *[05]. În file manager (Nautilus) folosiți meniul Go, opțiunea Network și selectați Windows Network (sau CTRL+L și apoi ''%%smb://%%''). Vizualizați stațiile prezente în workgroup-ul PR706. |
- | <solution -hidden -en><code> | + | <code> |
- | Go > Network > Windows Shares > EG106 (sau numele configurat) > lista stațiilor | + | Go > Network > Windows Shares > PR706 (sau numele configurat) > lista stațiilor |
- | </code></solution> | + | </code> |
- | *[08]. Observați că în fișierul de configurare este definită secțiunea de share ''[homes]''. Creați utilizatorul ''bart'' pe mașina fizică, restartați serverul și conectați-vă cu ''smbclient'' de pe mașina virtuală la home-ul utilizatorului bart de pe mașina fizică. Ce se întâmplă? | + | *[06]. Observați că în fișierul de configurare este definită secțiunea de share ''[homes]''. Creați utilizatorul ''bart'' pe mașina fizică, restartați serverul și conectați-vă cu ''smbclient'' de pe mașina virtuală la home-ul utilizatorului bart de pe mașina fizică. Ce se întâmplă? |
- | *[08].a. Hint: URL-urile de conectare la un server SAMBA, în linia de comandă, sunt ''%%//netbios-name%%'' sau ''%%\\\\netbios-name%%''. În interfața grafică (Nautilus), puteți folosi ''%%smb://netbios-name%%'' | + | *[06].a. Hint: URL-urile de conectare la un server SAMBA, în linia de comandă, sunt ''%%//netbios-name%%'' sau ''%%\\\\netbios-name%%''. În interfața grafică (Nautilus), puteți folosi ''%%smb://netbios-name%%'' |
- | *[08].b. Hint: URL-urile pentru share-uri SAMBA, în linia de comandă, sunt ''%%//netbios-name/share-name%%'' sau ''%%\\\netbios-name\\share-name%%''. În interfața grafică (Nautilus), puteți folosi ''%%smb://netbios-name/share-name%%''. | + | *[06].b. Hint: URL-urile pentru share-uri SAMBA, în linia de comandă, sunt ''%%//netbios-name/share-name%%'' sau ''%%\\\netbios-name\\share-name%%''. În interfața grafică (Nautilus), puteți folosi ''%%smb://netbios-name/share-name%%''. |
- | <solution -hidden -en><code> | + | <code> |
- | root@mjolnir:~# groupadd bart | + | root@physical:~# groupadd bart |
- | root@mjolnir:~# useradd -d /home/bart -m -g bart -s /bin/bash bart | + | root@physical:~# useradd -d /home/bart -m -g bart -s /bin/bash bart |
- | root@mjolnir:~# echo "bart:student" | chpasswd | + | root@physical:~# echo "bart:student" | chpasswd |
- | root@mjolnir:~# /etc/init.d/samba restart | + | root@physical:~# /etc/init.d/samba restart |
Stopping Samba daemons: nmbd smbd. | Stopping Samba daemons: nmbd smbd. | ||
Starting Samba daemons: nmbd smbd. | Starting Samba daemons: nmbd smbd. | ||
- | student@heimdall:~$ smbclient -L //gsr | + | student@vm:~$ smbclient -L //gsr |
Enter student's password: | Enter student's password: | ||
session setup failed: NT_STATUS_LOGON_FAILURE | session setup failed: NT_STATUS_LOGON_FAILURE | ||
- | student@heimdall:~$ smbclient -L //gsr -U bart | + | student@vm:~$ smbclient -L //gsr -U bart |
Enter bart's password: | Enter bart's password: | ||
session setup failed: NT_STATUS_LOGON_FAILURE | session setup failed: NT_STATUS_LOGON_FAILURE | ||
- | </code></solution> | + | </code> |
- | *[09]. Adaugați utilizatorul bart la baza de parole a serverului SAMBA folosind ''smbpasswd''. Restartați serverul și încercați să vă conectați din nou. Listați fișierele din share-ul curent. | + | *[07]. Adaugați utilizatorul bart la baza de parole a serverului SAMBA folosind ''smbpasswd''. Restartați serverul și încercați să vă conectați din nou. Listați fișierele din share-ul curent. |
- | *[09].a. Hint: Pentru a accesa o resursă cu smbclient sintaxa este: //remote_machine/resource// | + | *[07].a. Hint: Pentru a accesa o resursă cu smbclient sintaxa este: //remote_machine/resource// |
- | *[09].b. Hint: Implicit, smbclient folosește ca username utilizatorul curent. | + | *[07].b. Hint: Implicit, smbclient folosește ca username utilizatorul curent. |
- | <solution -hidden -en><code> | + | <code> |
- | root@mjolnir:~# smbpasswd -a bart | + | root@physical:~# smbpasswd -a bart |
New SMB password: | New SMB password: | ||
Retype new SMB password: | Retype new SMB password: | ||
Line 422: | Line 378: | ||
- | student@heimdall:~$ smbclient -L //gsr -U bart | + | student@vm:~$ smbclient -L //gsr -U bart |
Enter bart's password: | Enter bart's password: | ||
- | Domain=[EG106] OS=[Unix] Server=[Samba 3.6.1] | + | Domain=[PR706] OS=[Unix] Server=[Samba 3.6.1] |
Sharename Type Comment | Sharename Type Comment | ||
--------- ---- ------- | --------- ---- ------- | ||
print$ Disk Printer Drivers | print$ Disk Printer Drivers | ||
- | IPC$ IPC IPC Service (mjolnir server) | + | IPC$ IPC IPC Service (physical server) |
bart Disk Home Directories | bart Disk Home Directories | ||
- | Domain=[EG106] OS=[Unix] Server=[Samba 3.6.1] | + | Domain=[PR706] OS=[Unix] Server=[Samba 3.6.1] |
Server Comment | Server Comment | ||
--------- ------- | --------- ------- | ||
- | GSR mjolnir server | + | GSR physical server |
Workgroup Master | Workgroup Master | ||
--------- ------- | --------- ------- | ||
- | EG106 GSR | + | PR706 GSR |
- | </code></solution> | + | </code> |
- | *[10]. Pe mașina fizică creați directorul ''/home/bart/private'' cu permisiuni 744. Creați un share de tip read-write pentru acest director care să permită accesul doar utilizatorului bart. Conectați-vă la acest share de pe mașina virtuală și transferați un fisier (ex:''file.txt'') de pe mașina virtuală pe mașina fizică. (Hint: ''valid users'') | + | *[08]. Pe mașina fizică creați directorul ''/home/bart/private'' cu permisiuni 744. Creați un share de tip read-write pentru acest director care să permită accesul doar utilizatorului bart. Conectați-vă la acest share de pe mașina virtuală și transferați un fisier (ex:''file.txt'') de pe mașina virtuală pe mașina fizică. (Hint: ''valid users'') |
- | <solution -hidden -en><code> | + | <code> |
- | root@mjolnir:~# su - bart | + | root@physical:~# su - bart |
- | bart@mjolnir:~$ pwd | + | bart@physical:~$ pwd |
/home/bart | /home/bart | ||
- | bart@mjolnir:~$ mkdir private | + | bart@physical:~$ mkdir private |
- | bart@mjolnir:~$ chmod 744 private/ | + | bart@physical:~$ chmod 744 private/ |
- | root@mjolnir:~# tail -n 6 /etc/samba/smb.conf | + | root@physical:~# tail -n 6 /etc/samba/smb.conf |
[bart_is_sharing] | [bart_is_sharing] | ||
comment = bart's shared folder | comment = bart's shared folder | ||
Line 463: | Line 419: | ||
valid users = bart | valid users = bart | ||
- | root@mjolnir:~# /etc/init.d/samba restart | + | root@physical:~# /etc/init.d/samba restart |
Stopping Samba daemons: nmbd smbd. | Stopping Samba daemons: nmbd smbd. | ||
Starting Samba daemons: nmbd smbd. | Starting Samba daemons: nmbd smbd. | ||
- | student@heimdall:~$ smbclient -L //gsr/ -U bart | + | student@vm:~$ smbclient -L //gsr/ -U bart |
Enter bart's password: | Enter bart's password: | ||
- | Domain=[EG106] OS=[Unix] Server=[Samba 3.6.1] | + | Domain=[PR706] OS=[Unix] Server=[Samba 3.6.1] |
Sharename Type Comment | Sharename Type Comment | ||
Line 475: | Line 431: | ||
print$ Disk Printer Drivers | print$ Disk Printer Drivers | ||
bart_is_sharing Disk bart's shared folder | bart_is_sharing Disk bart's shared folder | ||
- | IPC$ IPC IPC Service (mjolnir server) | + | IPC$ IPC IPC Service (physical server) |
bart Disk Home Directories | bart Disk Home Directories | ||
- | Domain=[EG106] OS=[Unix] Server=[Samba 3.6.1] | + | Domain=[PR706] OS=[Unix] Server=[Samba 3.6.1] |
Server Comment | Server Comment | ||
--------- ------- | --------- ------- | ||
- | GSR mjolnir server | + | GSR physical server |
Workgroup Master | Workgroup Master | ||
--------- ------- | --------- ------- | ||
- | EG106 GSR | + | PR706 GSR |
- | student@heimdall:~$ echo "text" > file.txt | + | student@vm:~$ echo "text" > file.txt |
- | student@heimdall:~$ smbclient //gsr/bart_is_sharing -U bart | + | student@vm:~$ smbclient //gsr/bart_is_sharing -U bart |
Enter bart's password: | Enter bart's password: | ||
- | Domain=[EG106] OS=[Unix] Server=[Samba 3.6.1] | + | Domain=[PR706] OS=[Unix] Server=[Samba 3.6.1] |
smb: \> ? | smb: \> ? | ||
? allinfo altname archive blocksize | ? allinfo altname archive blocksize | ||
Line 524: | Line 480: | ||
smb: \> exit | smb: \> exit | ||
- | student@heimdall:~$ | + | student@vm:~$ |
- | </code></solution> | + | </code> |
- | + | ===== 4. Bonus ===== | |
- | ===== 4. Bonus (1p) ===== | + | |
*[01]. rsync: | *[01]. rsync: | ||
*[01].a. Pe mașina virtuală activati daemonul de rsync (Hint: ''/etc/default/rsync''). Rulați ''netstat -lntp'' și identificati linia corespunzătoare daemonului de rsync. | *[01].a. Pe mașina virtuală activati daemonul de rsync (Hint: ''/etc/default/rsync''). Rulați ''netstat -lntp'' și identificati linia corespunzătoare daemonului de rsync. | ||
<solution -hidden -en><code> | <solution -hidden -en><code> | ||
- | root@heimdall:~# touch /etc/rsyncd.conf | + | root@vm:~# touch /etc/rsyncd.conf |
- | root@heimdall:~# rsync --daemon | + | root@vm:~# rsync --daemon |
- | root@heimdall:~# netstat -tlnp | grep rsync | + | root@vm:~# netstat -tlnp | grep rsync |
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 5166/rsync | tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 5166/rsync | ||
tcp6 0 0 :::873 :::* LISTEN 5166/rsync | tcp6 0 0 :::873 :::* LISTEN 5166/rsync | ||
Line 543: | Line 498: | ||
*[01].b. Creați directoarele ''/home/student/public-files'' și ''/home/student/private-files'' pe mașina virtuală | *[01].b. Creați directoarele ''/home/student/public-files'' și ''/home/student/private-files'' pe mașina virtuală | ||
<solution -hidden -en><code> | <solution -hidden -en><code> | ||
- | student@heimdall:~$ mkdir public-files | + | student@vm:~$ mkdir public-files |
- | student@heimdall:~$ touch public-files/public.txt | + | student@vm:~$ touch public-files/public.txt |
- | student@heimdall:~$ mkdir private-files | + | student@vm:~$ mkdir private-files |
- | student@heimdall:~$ touch private-files/private.txt | + | student@vm:~$ touch private-files/private.txt |
</code></solution> | </code></solution> | ||
*[01].c. publicați conținutul celor două directoare de mai sus prin daemonul de rsync, astfel încât ''public-files'' să poată fi accesat fără parolă și ''private-files'' să poata fi accesat numai cu introducerea parolei utilizatorului student. | *[01].c. publicați conținutul celor două directoare de mai sus prin daemonul de rsync, astfel încât ''public-files'' să poată fi accesat fără parolă și ''private-files'' să poata fi accesat numai cu introducerea parolei utilizatorului student. | ||
<solution -hidden -en><code> | <solution -hidden -en><code> | ||
- | root@heimdall:~# cat /etc/rsyncd.conf | + | root@vm:~# cat /etc/rsyncd.conf |
[public-files] | [public-files] | ||
path = /home/student/public-files | path = /home/student/public-files | ||
Line 565: | Line 520: | ||
secrets file = /etc/rsyncd.secrets | secrets file = /etc/rsyncd.secrets | ||
| | ||
- | root@heimdall:~# cat /etc/rsyncd.secrets | + | root@vm:~# cat /etc/rsyncd.secrets |
student:student | student:student | ||
- | root@heimdall:~# chmod 600 /etc/rsyncd.secrets | + | root@vm:~# chmod 600 /etc/rsyncd.secrets |
- | root@heimdall:~# ls -l /etc/rsyncd.secrets | + | root@vm:~# ls -l /etc/rsyncd.secrets |
-rw------- 1 root root 16 Jan 26 21:39 /etc/rsyncd.secrets | -rw------- 1 root root 16 Jan 26 21:39 /etc/rsyncd.secrets | ||
- | student@mjolnir:~$ rsync -avz heimdall.local::private-files /tmp/priv | + | student@physical:~$ rsync -avz vm.local::private-files /tmp/priv |
Password: | Password: | ||
receiving incremental file list | receiving incremental file list | ||
Line 584: | Line 539: | ||
total size is 0 speedup is 0.00 | total size is 0 speedup is 0.00 | ||
- | student@mjolnir:~$ rsync -avz heimdall.local::public-files /tmp/pub | + | student@physical:~$ rsync -avz vm.local::public-files /tmp/pub |
receiving incremental file list | receiving incremental file list | ||
./ | ./ | ||
Line 762: | Line 717: | ||
<solution -hidden -en><code> | <solution -hidden -en><code> | ||
eyoung@mjolnir:~$ ssh-copy-id nrush@heimdall.local | eyoung@mjolnir:~$ ssh-copy-id nrush@heimdall.local | ||
- | The authenticity of host 'heimdall.local (192.168.48.128)' can't be established. | + | The authenticity of host 'heimdall.local (192.168.56.115)' can't be established. |
ECDSA key fingerprint is e6:2e:9a:fa:b8:2c:8c:cb:08:85:0a:16:2a:82:30:07. | ECDSA key fingerprint is e6:2e:9a:fa:b8:2c:8c:cb:08:85:0a:16:2a:82:30:07. | ||
Are you sure you want to continue connecting (yes/no)? yes | Are you sure you want to continue connecting (yes/no)? yes | ||
- | Warning: Permanently added 'heimdall.local,192.168.48.128' (ECDSA) to the list of known hosts. | + | Warning: Permanently added 'heimdall.local,192.168.56.115' (ECDSA) to the list of known hosts. |
nrush@heimdall.local's password: | nrush@heimdall.local's password: | ||
Now try logging into the machine, with "ssh 'nrush@heimdall.local'", and check in: | Now try logging into the machine, with "ssh 'nrush@heimdall.local'", and check in: |