Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
sesiuni:sysadmin:centralizare [2014/06/17 16:22]
bpurcareata [Allow interconnection and interoperability]
sesiuni:sysadmin:centralizare [2014/07/09 18:01]
razvan [Prefer text over binary]
Line 17: Line 17:
 * Centralize, backup and secure. * Centralize, backup and secure.
 ** Computer clusters ** Computer clusters
-** iSCSI, FiberChannel+** iSCSI (Internet Small Computer System Interface), FiberChannel
 * Allow interconnection and interoperability. * Allow interconnection and interoperability.
-** LDAP +** LDAP (Lightweight Directory Access Protocol) 
-** RADIUS+** RADIUS ​(Remote Authentication Dial-In User Service)
 * Use versioning. * Use versioning.
-** Gitolite+** Gitolite ​- authorization layer on top of Git
 * Allow access from anywhere on any device. * Allow access from anywhere on any device.
 ** Dropbox - vedeți exercițiul 7 din [[:​sesiuni:​sysadmin:​eficienta#​demo-uri|demo-urile sesiunii de Eficiență]]. ** Dropbox - vedeți exercițiul 7 din [[:​sesiuni:​sysadmin:​eficienta#​demo-uri|demo-urile sesiunii de Eficiență]].
-** Web, DAV, e-mail, LDAP+** Web, DAV (Distributed Authoring and Versioning), e-mail, LDAP
  
 == Demo == == Demo ==
  
-* **Înainte de toate**: Copiați perechea de chei SSH din contul vostru de pe {{{swarm.cs.pub.ro}}} local:<​code bash> 
-scp <​username-de-pe-swarm>​@swarm.cs.pub.ro:​.ssh/​id_rsa* ~/.ssh/ 
-</​code>​ unde {{{<​username-de-pe-swarm>​}}} este utilizatorul vostru de pe {{{swarm.cs.pub.ro}}}. 
  
 === Prefer text over binary === === Prefer text over binary ===
Line 41: Line 38:
 * **Pe swarm** * **Pe swarm**
 *# Creați directorul {{{~/​git-repos/​}}} și, dacă nu există, directorul {{{~/​public_html/​}}}. *# Creați directorul {{{~/​git-repos/​}}} și, dacă nu există, directorul {{{~/​public_html/​}}}.
-*# Intrați în directorul {{{~/​git-repos/​}}} și creați repository-ul {{{workshop-blog.git}}}. Folosiți comanda:<​code bash>+*# Accesați directorul {{{~/​git-repos/​}}} și creați, în cadrul acestui director, ​repository-ul {{{workshop-blog.git}}}. Folosiți comanda:<​code bash>
 git init --bare workshop-blog.git git init --bare workshop-blog.git
 </​code>​ </​code>​
-*# Intrați în directorul {{{~/​public_html/​}}} și creați ​directorul ​{{{workshop-blog/​}}}.+*# Accesați directorul {{{~/​public_html/​}}} și creați, în cadrul acestui director, subdirectorul ​{{{workshop-blog/​}}}:<code bash> 
 +mkdir public_html 
 +cd public_html 
 +mkdir workshop-blog 
 +</​code>​
 *#* Aici va fi publicat conținutul blog-ului. *#* Aici va fi publicat conținutul blog-ului.
 *#* Accesați, din browser, URL-ul {{{http://​swarm.cs.pub.ro/​~<​username-de-pe-swarm>/​workshop-blog/​}}},​ unde {{{<​username-de-pe-swarm>​}}} este numele vostru de utilizator de pe swarm. *#* Accesați, din browser, URL-ul {{{http://​swarm.cs.pub.ro/​~<​username-de-pe-swarm>/​workshop-blog/​}}},​ unde {{{<​username-de-pe-swarm>​}}} este numele vostru de utilizator de pe swarm.
Line 157: Line 158:
 *** Pentru aceasta trebuie configurat sistemul de login (prin intermediul [[http://​en.wikipedia.org/​wiki/​Pluggable_authentication_module|PAM]]) să folosească LDAP. *** Pentru aceasta trebuie configurat sistemul de login (prin intermediul [[http://​en.wikipedia.org/​wiki/​Pluggable_authentication_module|PAM]]) să folosească LDAP.
  
-* E-mail (demo Răzvan) 
 * LDAP * LDAP
 ** Folosiți, pe **swarm**, comenzi de interogare LDAP:<​code>​ ** Folosiți, pe **swarm**, comenzi de interogare LDAP:<​code>​
Line 205: Line 205:
 </​code>​ </​code>​
 **#* {{{<​username-de-pe-swarm>​}}} este numele vostru de utilizator de pe {{{swarm.cs.pub.ro}}}. **#* {{{<​username-de-pe-swarm>​}}} este numele vostru de utilizator de pe {{{swarm.cs.pub.ro}}}.
-** Pentru configurarea NSS (//Name Service Switch//), trebuie instalat și configurat pachetul {{{libnss-ldap}}}. Instalați pachetul {{{libnss-ldap}}} și opțiunile:<​code bash>+**Pentru configurarea NSS (//Name Service Switch//), trebuie instalat și configurat pachetul {{{libnss-ldap}}}. Instalați pachetul {{{libnss-ldap}}} și opțiunile:<​code bash>
 apt-get install libnss-ldap apt-get install libnss-ldap
  
Line 211: Line 211:
 Distinguished name of the search base: dc=swarm,​dc=cs,​dc=pub,​dc=ro Distinguished name of the search base: dc=swarm,​dc=cs,​dc=pub,​dc=ro
 LDAP version to use: 3 LDAP version to use: 3
 +Does the LDAP database require login?: No
 +Special LDAP privileges for root?: Yes
 +Make the configuration file readable/​writable by its owner only?: No
 LDAP account for root: cn=admin,​dc=swarm,​dc=cs,​dc=pub,​dc=ro LDAP account for root: cn=admin,​dc=swarm,​dc=cs,​dc=pub,​dc=ro
 LDAP account password: TODO LDAP account password: TODO
Line 216: Line 219:
 LDAP administrative password: TODO LDAP administrative password: TODO
 </​code>​ </​code>​
-*** Vă spune Răzvan ​răspunsul la {{{TODO}}}. +**#* Vă spune Bogdan ​răspunsul la {{{TODO}}}. 
-** Verificați ​configurarea ​corespunzătoare, ​prin rularea comenzii<​code bash post-receive>+**Verificați ​că ați configurat ​corespunzător prin rularea comenzii<​code bash>
 cat /​etc/​libnss-ldap.conf ​ | grep -v '​^#'​ | grep -v '​^$'​ cat /​etc/​libnss-ldap.conf ​ | grep -v '​^#'​ | grep -v '​^$'​
 </​code>​ și obținerea rezultatului<​code>​ </​code>​ și obținerea rezultatului<​code>​
Line 225: Line 228:
 rootbinddn cn=admin,​dc=swarm,​dc=cs,​dc=pub,​dc=ro rootbinddn cn=admin,​dc=swarm,​dc=cs,​dc=pub,​dc=ro
 </​code>​ </​code>​
-** Configurați în {{{/​etc/​nsswitch.conf}}} intrările {{{passwd}}},​ {{{group}}} și {{{shadow}}}:<​code bash post-receive>+**Configurați în {{{/​etc/​nsswitch.conf}}} intrările {{{passwd}}},​ {{{group}}} și {{{shadow}}}:<​code bash>
 passwd: ​        ​compat ldap passwd: ​        ​compat ldap
 group: ​         compat ldap group: ​         compat ldap
 shadow: ​        ​compat ldap shadow: ​        ​compat ldap
 </​code>​ </​code>​
-**Reporniți daemonul {{{nscd}}}:<​code bash>+**Reporniți daemonul {{{nscd}}}:<​code bash>
 /​etc/​init.d/​nscd restart /​etc/​init.d/​nscd restart
 </​code>​ </​code>​
-** Verificați configurarea prin rularea comenzilor:<​code bash>+**#* Verificați configurarea prin rularea comenzilor:<​code bash>
 getent passwd <​username-de-pe-swarm>​ getent passwd <​username-de-pe-swarm>​
 id <​username-de-pe-swarm>​ id <​username-de-pe-swarm>​
 apt-get install finger apt-get install finger
 finger <​username-de-pe-swarm>​ finger <​username-de-pe-swarm>​
-</​code>​ unde {{{<​username-de-pe-swarm>​}}} este numele vostru de utilizator de pe {{{swarm.cs.pub.ro}}}. +</​code>​ unde {{{<​username-de-pe-swarm>​}}} este numele vostru de utilizator de pe {{{swarm.cs.pub.ro}}}. Toate aceste comenzi ar trebui sa întoarcă informații despre user-ul vostru de pe swarm
-** Pentru autentificarea utilizatorilor prin LDAP trebuie configurat corespunzător {{{PAM}}}. L-ați configurat (în cadrul pachetului {{{libpam-ldap}}} la instalarea pachetului {{{libnss-ldap}}}. Verificați configurarea sa prin rularea comenzii<​code bash>+**Pentru autentificarea utilizatorilor prin LDAP trebuie configurat corespunzător {{{PAM}}}. L-ați configurat (în cadrul pachetului {{{libpam-ldap}}} la instalarea pachetului {{{libnss-ldap}}}. Verificați configurarea sa prin rularea comenzii<​code bash>
 cat /​etc/​pam_ldap.conf ​ | grep -v '​^#'​ | grep -v '​^$'​ cat /​etc/​pam_ldap.conf ​ | grep -v '​^#'​ | grep -v '​^$'​
 </​code>​ care trebuie să dea rezultatul<​code>​ </​code>​ care trebuie să dea rezultatul<​code>​
Line 248: Line 251:
 pam_password crypt pam_password crypt
 </​code>​ </​code>​
-** Verificați configurarea corespunzătoare a fișierelor {{{/​etc/​pam.d/​common-account}}} ({{{account-required}}}) și {{{/​etc/​pam.d/​common-auth}}} ({{{auth required}}}) (e vorba de prezența {{{pam_ldap.so}}}:<​code bash>+**Verificați configurarea corespunzătoare a fișierelor {{{/​etc/​pam.d/​common-account}}} ({{{account required}}}) și {{{/​etc/​pam.d/​common-auth}}} ({{{auth required}}}) (e vorba de prezența {{{pam_ldap.so}}}):<code bash>
 root@rsw-sysadmin-00:​~#​ cat /​etc/​pam.d/​common-account | grep -v '​^#'​ | grep -v '​^$'​ root@rsw-sysadmin-00:​~#​ cat /​etc/​pam.d/​common-account | grep -v '​^#'​ | grep -v '​^$'​
 account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so ​ account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so ​
Line 261: Line 264:
 auth required pam_permit.so auth required pam_permit.so
 </​code>​ </​code>​
-*** Schimbați utilizatorul în utilizatorul de pe swarm:<​code>​ +**Ca **root** activați modulul PAM {{{mkhomedir}}} pentru crearea home-ului utilizatorului la autentificare. Adăugați ca root, la finele fișierului {{{/​etc/​pam.d/​common-session}}},​ linia:<​code>​
-su - <​username-de-pe-swarm>​ +
-</​code>​ +
-** Ca **root** activați modulul PAM {{{mkhomedir}}} pentru crearea home-ului utilizatorului la autentificare. Adăugați ca root, la finele fișierului {{{/​etc/​pam.d/​common-session}}},​ linia:<​code>​+
 session required ​       pam_mkhomedir.so skel=/​etc/​skel/​ umask=0022 session required ​       pam_mkhomedir.so skel=/​etc/​skel/​ umask=0022
 </​code>​ </​code>​
-**Schimbați utilizatorul în utilizatorul de pe {{{swarm.cs.pub.ro}}}:<​code>​+**Schimbați utilizatorul în utilizatorul de pe {{{swarm.cs.pub.ro}}}:<​code>​
 su - <​username-de-pe-swarm>​ su - <​username-de-pe-swarm>​
 </​code>​ Observați crearea directorului home pentru utilizator. </​code>​ Observați crearea directorului home pentru utilizator.
 **# Adăugați cheia publică SSH de pe sistemul din laborator în contul utilizatorului nou creat. **# Adăugați cheia publică SSH de pe sistemul din laborator în contul utilizatorului nou creat.
 **#* Copiați cheia publică în fișierul {{{.ssh/​authorized_keys}}} din home-ul utilizatorului. **#* Copiați cheia publică în fișierul {{{.ssh/​authorized_keys}}} din home-ul utilizatorului.
-**Verificați conectarea prin SSH:<​code>​+** Verificați conectarea prin SSH de pe sistemul din laborator:<​code>​
 ssh -l <​username-de-pe-swarm>​ -p 4<​id-container>​22 houdini.cs.pub.ro ssh -l <​username-de-pe-swarm>​ -p 4<​id-container>​22 houdini.cs.pub.ro
 </​code>​ </​code>​
sesiuni/sysadmin/centralizare.txt · Last modified: 2014/07/09 18:47 by razvan