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
sesiuni:sysadmin:centralizare [2014/06/17 13:49]
bpurcareata
sesiuni:sysadmin:centralizare [2014/07/09 18:47]
razvan [Allow interconnection and interoperability]
Line 9: Line 9:
 </​html>​ </​html>​
  
-== Idei ==+== Idei și discuții==
  
 * Less is more. * Less is more.
 * Prefer text over binary. * Prefer text over binary.
 +** Wiki, repository
 +** File-based wikis
 * Centralize, backup and secure. * Centralize, backup and secure.
 +** Computer clusters
 +** iSCSI (Internet Small Computer System Interface), FiberChannel
 * Allow interconnection and interoperability. * Allow interconnection and interoperability.
 +** LDAP (Lightweight Directory Access Protocol)
 +** RADIUS (Remote Authentication Dial-In User Service)
 * Use versioning. * Use versioning.
 +** 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ță]].
 +** Web, DAV (Distributed Authoring and Versioning),​ e-mail, LDAP
  
-== Demo-uri ==+== 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 ===
  
-#Wiki, repository (discuție) +Obiective: 
-#File-based wikis (demo Răzvan) +** Configurarea ​un blog/site bazat pe [[https://​github.com/​mojombo/​jekyll/​|jekyll]] pe swarm. 
-#Configurați ​un blog/site bazat pe [[https://​github.com/​mojombo/​jekyll/​|jekyll]] pe swarm. +** Publicarea conținutului unui repository printr-un [[http://​git-scm.com/​book/​en/​Customizing-Git-Git-Hooks|hook Git]]. 
-#***Pe swarm**, 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>+**Pe swarm** 
 +*# Creați directorul {{{~/​git-repos/​}}} și, dacă nu există, directorul {{{~/​public_html/​}}}. 
 +*# 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>​
-#*#* Conținutul repository-ului (blog-ul) va fi publicat printr-un [[http://​git-scm.com/​book/​en/​Customizing-Git-Git-Hooks|hook Git]]. +*# Accesați directorul {{{~/​public_html/​}}} și creați, în cadrul acestui director, subdirectorul ​{{{workshop-blog/​}}}:<code bash> 
-#*# Intrați în directorul {{{~/​public_html/​}}} și creați ​directorul ​{{{workshop-blog/​}}}. +mkdir public_html 
-#*#* Aici va fi publicat conținutul blog-ului. +cd public_html 
-#*#* 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. +mkdir workshop-blog 
-#*# Creați fișierul {{{~/​git-repos/​workshop-blog.git/​hooks/​post-receive}}} cu fișierul ​de mai jos (dacă fișierul există, suprascrieți-i conținutul;​ fișierul {{{post-receive.sample}}} nu are o legătură directă cu {{{post-receive}}}):<​code bash post-receive>​+</​code>​ 
 +*#* 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. 
 +*# Creați fișierul {{{~/​git-repos/​workshop-blog.git/​hooks/​post-receive}}} cu conținutul ​de mai jos (dacă fișierul există, suprascrieți-i conținutul;​ fișierul {{{post-receive.sample}}} nu are o legătură directă cu {{{post-receive}}}):<​code bash post-receive>​
 #!/bin/bash #!/bin/bash
  
Line 59: Line 70:
 rm -fr $TMP_GIT_CLONE rm -fr $TMP_GIT_CLONE
 </​code>​ </​code>​
-#*#* Acordați drept de execuție hook-ului din fișierul {{{post-receive}}}:<​code bash>+*#* Acordați drept de execuție hook-ului din fișierul {{{post-receive}}}:<​code bash>
 chmod a+x ~/​git-repos/​workshop-blog.git/​hooks/​post-receive chmod a+x ~/​git-repos/​workshop-blog.git/​hooks/​post-receive
 </​code>​ </​code>​
-#***Pe sistemul local** ​creați un repository {{{workshop-blog.git}}}:<​code bash>+* **Pe sistemul local** 
 +*# Creați un repository {{{workshop-blog.git}}}:<​code bash>
 git init workshop-blog.git git init workshop-blog.git
 git config --global user.name "​Prenume Nume" git config --global user.name "​Prenume Nume"
Line 68: Line 80:
 git config --global color.ui auto git config --global color.ui auto
 </​code>​ </​code>​
-#*#* Substituiți "​Prenume Nume" si "​email@nomail.me"​ cu datele proprii. +*#* Substituiți "​Prenume Nume" si "​email@nomail.me"​ cu datele proprii. 
-#*# Descărcați această [[http://​swarm.cs.pub.ro/​~razvan/​start-jekyll.zip|arhivă]],​ decomprimați fișierul arhivă și copiați conținutul acestuia (**NU** și directorul {{{start-jekyll}}},​ **DOAR** conținutul său) în directorul creat ({{{workshop-blog.git}}}). +*# Descărcați această [[http://​swarm.cs.pub.ro/​~razvan/​start-jekyll.zip|arhivă]],​ decomprimați fișierul arhivă și copiați conținutul acestuia (**NU** și directorul {{{start-jekyll}}},​ **DOAR** conținutul său) în directorul creat ({{{workshop-blog.git}}}). 
-#*#* În urma copierii directorul trebuie să aibă o structură similară celei de [[https://github.com/mojombo/jekyll/wiki/usage|aici]]. +*#* În urma copierii directorul trebuie să aibă o structură similară celei de [[http://jekyllrb.com/docs/structure/|aici]]. 
-#*# Configurați fișierele adăugate pentru a referi username-ul și URL-ul propriu blog-ului vostru. +*# Actualizați informațiile din fișierele adăugate pentru a referi username-ul și URL-ul propriu blog-ului vostru. 
-#*#* Pentru a verifica dacă ați modificat peste tot, folosiți comanda: <code bash>+*#* Pentru a verifica dacă ați modificat peste tot, folosiți comanda: <code bash>
 grep -nriH razvan . grep -nriH razvan .
 </​code>​ </​code>​
-#*# În subdirectorul {{{_posts/​}}} al repository-ului creați fișierul {{{2013-07-03-first-post.markdown}}} cu un conținut similar celui de mai jos:<​code bash 2013-07-03-first-post.markdown>​+*# În subdirectorul {{{_posts/​}}} al repository-ului creați fișierul {{{2014-06-18-first-post.markdown}}} cu un conținut similar celui de mai jos:<​code bash 2014-06-18-first-post.markdown>​
 --- ---
 layout: post layout: post
-date: 2013-07-03 +date: 2014-06-18 
-title: Wednesday, ​July 32013+title: Wednesday, ​June 182014
 --- ---
  
-Eat good+I never make mistakes
-Live well+I thought I did once
-Die young. +But I was wrong.
-* Have a good looking corpse.+
 </​code>​ </​code>​
-#*# Verificați că vă aflați în repository (folosiți comanda {{{pwd}}}). Adăugați conținutul în repository:<​code bash>+*# Verificați că vă aflați în repository (folosiți comanda {{{pwd}}}). Adăugați conținutul în repository:<​code bash>
 git add . git add .
 git commit -m 'Add Jekyll basic structure files' git commit -m 'Add Jekyll basic structure files'
 </​code>​ </​code>​
-#*#* Folosiți cele două comenzi de mai sus (cu alt argument la opțiunea {{{-m}}}) ori de câte ori faceți alte commit-uri. +*#* Folosiți cele două comenzi de mai sus (cu alt argument la opțiunea {{{-m}}}) ori de câte ori faceți alte commit-uri. 
-#*# Adăugați, ca remote, repository-ul de pe swarm:<​code bash>+*# Adăugați, ca remote, repository-ul de pe swarm:<​code bash>
 git remote add origin <​username-de-pe-swarm>​@swarm.cs.pub.ro:​git-repos/​workshop-blog.git git remote add origin <​username-de-pe-swarm>​@swarm.cs.pub.ro:​git-repos/​workshop-blog.git
 </​code>​ </​code>​
-#*# Faceți push la informații,​ forțând, astfel, rularea hook-ului {{{post-receive}}} și a publicării informațiilor:<​code bash>+*# Faceți push la informații,​ forțând, astfel, rularea hook-ului {{{post-receive}}} și a publicării informațiilor:<​code bash>
 git push origin master git push origin master
 </​code>​ </​code>​
-#*#* Ori de câte ori vreți să propagați schimbările efectuate în repository, folosiți ​comanda:<​code bash> +*#* Ori de câte ori vreți să propagați schimbările efectuate în repository, folosiți ​această comandă. 
-git push origin master +* Verificați publicarea informațiilor prin accesarea, din browser, a URL-ului {{{http://​swarm.cs.pub.ro/​~<​username-de-pe-swarm>/​workshop-blog/​}}}. 
-</​code>​ + 
-#*#* Verificați publicarea informațiilor prin accesarea, din browser, a URL-ului {{{http://​swarm.cs.pub.ro/​~<​username-de-pe-swarm>/​workshop-blog/​}}}. +=== Centralize, backup and secure ===
-#*# În subdirectorul {{{posts/​}}} al repository-ului creați un fișier nou ({{{2013-07-03-second-post.markdown}}}) și publicați conținutul pe blog.+
  
-=== Centralize, backup and secure===+* Obiective 
 +** Dorim să instalăm un server NFS **in containerul LXC**. 
 +** Urmărim să partajăm directoare cu colegii prin NFS.
  
-#* Computer clusters (discuție) +* NFS 
-#* NFS (iSCSI, FiberChannel) +** Folosiți contul de **root** pentru instalare, configurare și folosire NFS. 
-#** Folosiți contul de root pentru instalare, configurare și folosire NFS. +*# Instalați serverul de NFS:<​code bash>
-#*# Instalați serverul de NFS:<​code bash>+
 apt-get install nfs-kernel-server nfs-common rpcbind apt-get install nfs-kernel-server nfs-common rpcbind
 </​code>​ </​code>​
-#*# Creați un director {{{/​home/​student/​export/​}}} pe care să îl partajați prin NFS. +*# Creați un director {{{/​home/​student/​export/​}}} pe care să îl partajați prin NFS. 
-#*#* Pentru a partaja, adăugați, ca root, linia de mai jos în fișierul {{{/​etc/​exports}}}:<​code>​+*#* Pentru a partaja, adăugați linia de mai jos în fișierul {{{/​etc/​exports}}}:<​code>​
 /​home/​student/​export *(rw,​sync,​no_subtree_check) /​home/​student/​export *(rw,​sync,​no_subtree_check)
 </​code>​ </​code>​
-#*#* După editare, marcați export-ul:<​code bash>+*#* După editare, marcați export-ul:<​code bash>
 exportfs -ra exportfs -ra
 </​code>​ </​code>​
-#*#* Pentru a vizualiza export-urile folosiți comanda<​code bash>+*#* Pentru a vizualiza export-urile folosiți comanda<​code bash>
 exportfs exportfs
 </​code>​ </​code>​
-#*#* La urgență reporniți serverul NFS<code bash>+*#* Dacă apar probleme pe parcurs, ​reporniți serverul NFS<code bash>
 /​etc/​init.d/​nfs-kernel-server restart /​etc/​init.d/​nfs-kernel-server restart
 </​code>​ </​code>​
-#*# Creați două directoare {{{/​home/​student/​left/​}}} și {{{/​home/​student/​right/​}}} în care montați share-urile colegilor din stânga și dreapta<​code bash>+*# Creați două directoare {{{/​home/​student/​left/​}}} și {{{/​home/​student/​right/​}}} în care montați share-urile colegilor din stânga și dreapta<​code bash>
 mount <​IP-left>:/​home/​student/​export/​ /​home/​student/​left/​ mount <​IP-left>:/​home/​student/​export/​ /​home/​student/​left/​
 mount <​IP-right>:/​home/​student/​export/​ /​home/​student/​right/​ mount <​IP-right>:/​home/​student/​export/​ /​home/​student/​right/​
 </​code>​ unde {{{<​IP-left>​}}} este adresa IP a colegului din stânga, iar {{{<​IP-right>​}}} adresa IP a colegului din dreapta. </​code>​ unde {{{<​IP-left>​}}} este adresa IP a colegului din stânga, iar {{{<​IP-right>​}}} adresa IP a colegului din dreapta.
-#*#* Folosiți comanda<​code bash>+*#* Folosiți comanda<​code bash>
 ip a s ip a s
 </​code>​ pentru a afla adresa IP proprie pe care să o comunici colegilor. </​code>​ pentru a afla adresa IP proprie pe care să o comunici colegilor.
-#*#* Este vorba de adresa interfeței {{{eth0}}} sau {{{eth1}}}. +*#* Este vorba de adresa interfeței {{{eth0}}}. 
-#*#* Verificați conectivitatea folosind:<​code bash>+*#* Verificați conectivitatea folosind:<​code bash>
 ping <​IP-stanga>​ ping <​IP-stanga>​
 ping <​IP-dreapta>​ ping <​IP-dreapta>​
 </​code>​ </​code>​
-#*# Creați, editați, ștergeți fișiere din directoarele montate.+Verificați că puteți creaedita și șterge ​fișiere din directoarele montate, iar aceste modificări sunt vizibile și pentru colegii voștri.
  
-=== Allow interconnection and interoperability===+=== Allow interconnection and interoperability ===
  
-#E-mail (demo Răzvan+Obiective 
-#* LDAP +** Dorim să exemplificăm folosirea ''​ldapsearch''​ pentru interogarea de informații LDAP. 
-#** Folosiți, pe **swarm**, comenzi de interogare LDAP:<​code>​ +** Dorim să activăm autentificarea prin LDAP pentru pagina de wiki configurată în [[:​sesiuni:​sysadmin:​automatizare#​demo|sesiunea de eficiență]]. 
-ldapsearch -LLL -x +** Urmărim să configurăm **containerul LXC** să realizeze autentificarea prin LDAP. 
-ldapsearch -LLL -x uid +*** Pentru aceasta trebuie configurat sistemul de login (prin intermediul [[http://​en.wikipedia.org/​wiki/​Pluggable_authentication_module|PAM]]să folosească LDAP. 
-ldapsearch -LLL -x uid=razvan + 
-ldapsearch -LLL -x sn=M* +* LDAP 
-ldapsearch -LLL -x '​(&​(givenName=*a)(sn=M*))'​+** Folosiți, pe **swarm**, comenzi de interogare LDAP:<​code>​ 
 +ldapsearch -LLL -x # toate informațiile disponibile 
 +ldapsearch -LLL -x uid # UID-urile utilizatorilor 
 +ldapsearch -LLL -x uid=razvan # informații despre utilizatorul cu UID-ul ​razvan 
 +ldapsearch -LLL -x sn=M* # informații despre utilizatori ai căror nume începe cu litera M 
 +ldapsearch -LLL -x '​(&​(givenName=*a)(sn=M*))' ​# idem + ai căror prenume se termina cu litera a
 </​code>​ </​code>​
-#** Pe instanța DokuWiki configurată în [[:​sesiuni:​sysadmin:​automatizare#​demo|sesiunea de eficiență]],​ configurați acces LDAP. +** Pe instanța DokuWiki configurată în [[:​sesiuni:​sysadmin:​automatizare#​demo|sesiunea de eficiență]],​ configurați acces LDAP. 
-#*** Adăugați, în {{{~/​public_html/​dokuwiki/​conf/​local.php}}},​ conținutul de mai jos:<​code php dokuwiki-ldap.conf>+**Adăugați, în {{{~/​public_html/​dokuwiki/​conf/​local.php}}},​ conținutul de mai jos:<​code php>
 $conf['​authtype'​] = '​ldap';​ $conf['​authtype'​] = '​ldap';​
 $conf['​auth'​]['​ldap'​]['​port'​] = '​636';​ $conf['​auth'​]['​ldap'​]['​port'​] = '​636';​
Line 161: Line 177:
 $conf['​auth'​]['​ldap'​]['​version'​] = '​3';​ $conf['​auth'​]['​ldap'​]['​version'​] = '​3';​
 </​code>​ </​code>​
-#** Autentificare Unix prin LDAP. +**# Verificați ca vă puteți autentifica pe dokuwiki folosind username-ul și parola de pe swarm. 
-#*** În continuare veți configura ​**containerul LXC** să realizeze autentificarea ​prin LDAP. +** Autentificare Unix prin LDAP. 
-#**** Toate comenzile următoare trebuie rulate în **containerul LXC**  +*** Toate comenzile următoare trebuie rulate în **containerul LXC**. Pentru conectare puteți folosi comanda de mai jos:<code bash>
-#*** Folosiți container-ul LXC dedicat; conectați-vă ca {{{root}}}:<code bash>+
 ssh -l root -p 4<​id-container>​22 houdini.grid.pub.ro ssh -l root -p 4<​id-container>​22 houdini.grid.pub.ro
 </​code>​ </​code>​
-#*** Trebuie configurat sistemul de login (prin intermediul [[http://​en.wikipedia.org/​wiki/​Pluggable_authentication_module|PAM]]) să folosească LDAP. +**# Instalați bibliotecile LDAP și aplicațiile de tip client:<​code bash>
-#**# Instalați bibliotecile LDAP și aplicațiile de tip client:<​code bash>+
 apt-get install ldap-utils apt-get install ldap-utils
 </​code>​ </​code>​
-#**# Configurați în containerul LXC serverul de LDAP de pe swarm ca server implicit folosit de clienții LDAP. Editați fișierul {{{/​etc/​ldap/​ldap.conf}}} pentru a avea următorul conținut (nu uitați de {{{:set paste}}} în Vim):<​code>​+**# Configurați în containerul LXC serverul de LDAP de pe swarm ca server implicit folosit de clienții LDAP. Editați fișierul {{{/​etc/​ldap/​ldap.conf}}} pentru a avea următorul conținut (nu uitați de {{{:set paste}}} în Vim):<​code ​bash>
 # LDAP Defaults # LDAP Defaults
 # #
Line 186: Line 200:
 TLS_REQCERT never TLS_REQCERT never
 </​code>​ </​code>​
-#**# Verificați funcționarea conexiunii la serverul LDAP, folosind comanda {{{ldapsearch}}}:<​code bash>+**#Verificați funcționarea conexiunii la serverul LDAP, folosind comanda {{{ldapsearch}}}:<​code bash post-receive>
 ldapsearch -x -LLL uid=<​username-de-pe-swarm>​ ldapsearch -x -LLL uid=<​username-de-pe-swarm>​
 </​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 196: Line 210:
 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 201: Line 218:
 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>+**# 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 210: Line 227:
 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>​+**# 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>​+**# 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>​+**#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 233: Line 250:
 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 246: Line 263:
 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>​
-#* RADIUS (discuție) 
- 
-=== Use versioning. === 
-#* Gitolite (discuție) 
- 
-=== Allow access from anywhere on any device. === 
-#* Dropbox 
-#** Vedeți exercițiul 7 din [[:​sesiuni:​sysadmin:​eficienta#​demo-uri|demo-urile sesiunii de Eficiență]]. 
-#* web, DAV, e-mail, LDAP (discuție) 
sesiuni/sysadmin/centralizare.txt · Last modified: 2014/07/09 18:47 by razvan