Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.59 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ####################################################################################
  4. # Skrtpt dodający LDAP made by TheMamuth #
  5. # ver 1.0 #
  6. # #
  7. # uzywajcie i korzystajcie :) #
  8. # #
  9. # #
  10. ####################################################################################
  11.  
  12.  
  13. # begin
  14.  
  15. # -- Poprosimy użytkownika o imię
  16. echo -n "PODAJ SWOJE IMIĘ: "
  17. read imie
  18.  
  19. # -- Poprosimy użytkownika o nazwisko
  20. echo -n "PODAJ SWOJE NAZWISKO: "
  21. read nazwisko
  22.  
  23. # -- Teraz wyswietlmy użytkownikowi jego wprowadzone dane
  24. echo " "
  25. echo "##############################################################################"
  26. echo "WPROWADZIŁEŚ IMIE: " $imie "ORAZ NAZWISKO: " $nazwisko
  27. echo "##############################################################################"
  28. echo " "
  29.  
  30. echo -n "PODAJ OPIS DLA TWOEJEGO KONTA: "
  31. read opis
  32. echo " "
  33.  
  34. # -- Jak można już zauważyć, polecenie echo wyświetla wprowadzone dane miedzy cudzysłowami
  35. # -- read to kontener na zmienną -> read <nazwa_zmiennej>
  36.  
  37. # -- Teraz pobierzmy hasło od naszego użytkownika które, chce używać do logowania w ldap
  38. echo -n "PODAJ HASLO DO LDAP:"
  39. read -s haslo
  40. echo " "
  41.  
  42. # -- teraz według polecenia mamy zmienić wszystkie duże litery na małe w imieniu i nazwisku
  43. imie=$(echo $imie | tr [:upper:] [:lower:])
  44. nazwisko=$(echo $nazwisko | tr [:upper:] [:lower:])
  45.  
  46. # -- teraz należy pobrać pierwsza literę imienia i dokleić ja przed nazwiskiem
  47. litera=$(echo $imie |cut -c 1)
  48. username=$litera$nazwisko
  49.  
  50. # -- teraz należy z pobranych danych utworzyć plik który, posłuży nam jako wpis dodający usera, wzorujemy się na tym co utworzyliśmy w poprzednim
  51. # -- labie.
  52.  
  53. #-- pobranie uidnumber
  54. uidnumber=$(ldapsearch -x -LL uidnumber | grep "uidNumber:" | cut -d" " -f2 | sort -n -r | head -1)
  55. echo "OSTATNI uidNumber TO: " $uidnumber
  56. #-- zwiększenie uidnumber, bo nie może się powtarzac
  57. uidnumber=$[$uidnumber+1]
  58. echo "NOWY uidNumber TO: " $uidnumber
  59.  
  60. #-- pobranie gidnumber
  61. gidnumber=$(ldapsearch -x -LL gidnumber | grep "gidNumber:" | cut -d" " -f2 | sort -n -r | head -1)
  62. echo "gidNumber to: " $gidnumber
  63. echo "Login to: " $username
  64.  
  65. # -- pobralismy potrzebne nam zmienne czas teraz na utworzenie pliku
  66. echo "dn: cn="$username",dc=lab,dc=pl" > ldap.txt
  67. echo "cn: "$username >> ldap.txt
  68. echo "gidNumber: "$gidnumber >> ldap.txt
  69. echo "homeDirectory: /home/"$username >> ldap.txt
  70. echo "objectClass: simpleSecurityObject" >> ldap.txt
  71. echo "objectClass: person" >> ldap.txt
  72. echo "objectClass: posixAccount" >> ldap.txt
  73. echo "objectClass: top" >> ldap.txt
  74. echo "sn: "$opis >> ldap.txt
  75. echo "uid: "$username >> ldap.txt
  76. echo "uidNumber: "$uidnumber >> ldap.txt
  77. echo "userpassword: "$haslo >> ldap.txt
  78.  
  79. # -- polecenie dodające usera do ldap
  80. ldapmodify -a -x -D cn=admin,dc=lab,dc=pl -W -f ldap.txt
  81.  
  82. # -- tworzymy warunek który sie wykona jeżeli powyższe polecenie nie zglosi bledu;
  83. if [ "$?" = 0 ]; then
  84. # -- Tworzymy katalog;
  85. mkdir /home/$username
  86. # -- Nadajemy uprawnieni;
  87. chmod 700 /home/$username
  88. # -- Zmieniamy właściciela;
  89. chown $uidnumber:100 /home/$username
  90. # -- Komunikat;
  91. echo "Wszystko wukonane - if"
  92. fi
  93.  
  94. # end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement