sleepyhu

Debian Lazy Admin Install Script v6.0

Dec 21st, 2012
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 40.66 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ### Update: 2012.12.20. ###
  4.  
  5. PATHs="http://ftp.sleepy.hu/download"
  6. LDAP_DN="dc=ldap,dc=sleepy,dc=hu"
  7. LDAP_SERVER="10.0.0.1"
  8.  
  9.  
  10. function install {
  11. clear
  12. echo "Lazy Admin Install Script v6.0 - Copyright © 2011 - 2012 sleepy -> http://www.sleepy.hu"
  13. echo "----------------------------------------------------------------------------------------------"
  14. #MENU
  15. select MENU in "Debian squeeze repository beállítása" "Repo előző verziójára visszatérés" "X telepítése (Xfce4)" "'Jó ha van' csomagok telepítése" "Skype letöltése és telepítése" "TeamViewer letöltése és telepítése" "Google Authenticator telepítése + ssh beállítása" "SSH + Opie telepítése és beállítása" "Konvertálók letöltése és telepítése" "Latex telepítése" "Samba PDC telepítése és beállítása" "Samba PDC kliens" "Postfix: spamassassin, imap telepítése" "Postfix: SMTP SSL" "Postfix: Greylist beállítás"  "Quota telepítése és beállítása" "LAMP szerver telepítése" "Apache2 SSL beállítása" "DHCP szerver telepítése" "Firewall beállítása" "Squid telepítése" "Squid+auth telepítése" "vsFTP telepítés beállítás (SSL)" "Raid beállítása" "LDAP szerver beállítása" "LDAP kliens beállítása" "Privát mappa" "Wifi beállítás" "VPN (pptp)" "OpenVPN" "Doublecmd telepítése" "Devede telepítése" "Mustek 1200 CP install" "HP1020 install" "Kilépés"; do
  16.  
  17. #Kilépés
  18. if [ "$MENU" = "Kilépés" ]; then
  19. echo "Kész."
  20. exit
  21. #end Kilépés      
  22.  
  23. #Mustek 1200 CP install
  24. elif [ "$MENU" = "Mustek 1200 CP install" ]; then
  25. cp  /etc/sane.d/mustek_pp.conf  /etc/sane.d/mustek_pp.conf.orig
  26. echo 'scanner Mustek-1200CP 0x378 cis1200' > /etc/sane.d/mustek_pp.conf
  27. echo 'Uncomment: mustek_pp'
  28. mcedit /etc/sane.d/dll.conf
  29. echo '#!/bin/bash
  30. chmod 777 /dev/lp0 # Does it hurt?
  31. chmod 777 /dev/parport0
  32. exit' >/etc/init.d/mustek
  33. chmod a+x /etc/init.d/mustek
  34. update-rc.d mustek defaults
  35. echo 'Please restart computer.'
  36. #end Mustek 1200 CP install
  37.  
  38. #HP1020 install
  39. elif [ "$MENU" = "HP1020 install" ]; then
  40. apt-get install foo2zjs hannah-foo2zjs hplib
  41. hannah-foo2zjs
  42. sudo hp-setup -i
  43. #end HP1020 install
  44.  
  45.  
  46. #repository
  47. elif [ "$MENU" = "Debian squeeze repository beállítása" ]; then
  48. cp /etc/apt/sources.list /etc/apt/sources.list.old
  49. echo "#Official
  50. deb http://ftp.de.debian.org/debian squeeze main contrib non-free
  51. deb-src http://ftp.de.debian.org/debian squeeze main contrib non-free
  52.  
  53. deb http://backports.debian.org/debian-backports squeeze-backports main
  54.  
  55. #Security
  56. deb http://security.debian.org/ squeeze/updates main contrib non-free
  57. deb-src http://security.debian.org/ squeeze/updates contrib non-free main
  58. "> /etc/apt/sources.list
  59. apt-get update
  60. echo "
  61. #Debian csomagkezelés
  62. alias apt+='sudo apt-get install '
  63. alias apt-='sudo apt-get remove '
  64. alias apt*='sudo apt-get autoremove '
  65. alias update='sudo apt-get update; sudo apt-get upgrade; sudo apt-get clean'
  66. alias update-dist='sudo apt-get update; sudo apt-get dist-upgrade; sudo apt-get clean'
  67. #Rádiók
  68. alias classfm='mplayer http://87.229.103.52:7058/CLASS_FM'
  69. alias mr2='mplayer http://stream002.radio.hu/mr2.mp3'" > .bash_aliases
  70. chmod 770 .bash_aliases
  71. cp .bash_aliases /etc/skel/.bash_aliases
  72. source .bash_aliases
  73. aecho "source ~/.bash_aliases
  74. export EDITOR=mcedit" >> .bashrc
  75. cd .bashrc /etc/skel/.bashrc
  76. apt-get install mc firmware-linux-nonfree
  77. #end Repository
  78.  
  79. #Repo előző verziójára visszatérés
  80. elif [ "$MENU" = "Repo előző verziójára visszatérés" ]; then
  81. cp /etc/apt/sources.list.old /etc/apt/sources.list
  82. apt-get update
  83. #end Repo előző verziójára visszatérés
  84.  
  85. #'Jó ha van' csomagok telepítése"
  86. elif [ "$MENU" = "'Jó ha van' csomagok telepítése" ]; then
  87. apt-get install ssh xpdf make gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly bzip2 mc zip unzip rar unrar xterm audacity bc enigmail icedove icedove-l10n-hu iceowl-extension iceweasel iceweasel-l10n-hu gimp gstreamer0.10-alsa gstreamer0.10-ffmpeg gstreamer0.10-gnomevfs gstreamer0.10-plugins-bad gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly ihungarian imagemagick file-roller gthumb glabels cowbell vlc sound-juicer rhythmbox pidgin pidgin-encryption pidgin-openpgp vinagre gprename gnome-bluetooth bluez-firmware arping flashplugin-nonfree-extrasound msttcorefonts ttf-xfree86-nonfree imagination hibernate librecad gnome-terminal vlc pidgin cdparanoia lame sun-java6-jdk sun-java6-jre sun-java6-plugin fbreader gpa gnome-screensaver duply #network-manager-gnome network-manager-pptp-gnome network-manager-pptp network-manager
  88. apt-get autoremove
  89. apt-get install libmono-addins-gui0.2-cil geoclue-localnet mesa-utils geoclue tomboy ekiga python-opengl gcalctool telepathy-salut gnuchess-book gnome-nettool   gnome-games-extra-data libgnomepanel2.24-cil baobab pkg-config libsrtp0 tcptraceroute gucharmap gnome-games cheese gdebi evolution-exchange   libgconf2.0-cil python-aptdaemon-gtk update-manager-core gnome-codec-install python-aptdaemon gnome-cards-data liferea-data gnome-themes-more gnome-screenshot xdg-user-dirs-gtk libgexiv2-0 gnome-office update-manager-gnome cheese-common python-gtkglext1 libart2.0-cil epiphany-extensions   update-notifier-common seahorse remmina-plugin-rdp empathy gdebi-core update-notifier libgnome2.24-cil libndesk-dbus1.0-cil seahorse-plugins libgeoclue0   remmina-plugin-vnc xdg-user-dirs gnome-user-share nautilus-sendto-empathy gedit-plugins libtelepathy-farsight0 gconf-defaults-service guile-1.8-libs   shotwell gnome-themes-extras libgmime2.4-cil software-center libopal3.6.8 libcryptui0 simple-scan libmono-addins0.2-cil remmina-plugin-data libgee2   rhythmbox-plugin-cdrecorder gtk2-engines-smooth gnome-backgrounds gnome-search-tool geoclue-manual python-vte libfreerdp-plugins-standard geoclue-hostip   vino aptdaemon gnome-games-data telepathy-mission-control-5 libapache2-mod-dnssd libclutter-gtk-0.10-0 telepathy-gabble libchamplain-0.4-0   libchamplain-gtk-0.4-0 python-bugbuddy liferea libpt2.6.7 libcheese-gtk18 python-evolution libndesk-dbus-glib1.0-cil gconf-editor gnome-system-tools   hamster-applet gnuchess libfreerdp0 libssh-4 libgnome-vfs2.0-cil transmission-common geoclue-yahoo gstreamer0.10-tools freeglut3 totem-mozilla   gnome-system-log libspeexdsp1 transmission-gtk remmina empathy-common
  90. apt-get -t squeeze-backports install libreoffice libreoffice-base libreoffice-report-builder-bin libreoffice-filter-mobiledev libreoffice-l10n-hu
  91. apt-get remove abiword gnumeric
  92. wget -c http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.5.1/enu/AdbeRdr9.5.1-1_i386linux_enu.deb
  93. dpkg -i AdbeRdr9.5.1-1_i386linux_enu.deb
  94. rm AdbeRdr9.5.1-1_i386linux_enu.deb
  95. #end 'Jó ha van' csomagok telepítése"
  96.  
  97. #X telepítése"
  98. elif [ "$MENU" = "X telepítése (Xfce4)" ]; then
  99.     apt-get install xserver-xorg xfce4-* xfonts-base pmount xinit x11-xserver-utils alsa-base alsa-oss xfce4-timer-plugin xfce4-netload-plugin xfce4-systemload-plugin xfce4-utils xfswitch-plugin gdm gnome-screensaver #network-manager network-manager-pptp network-manager-openvpn
  100.     apt-get remove xscreensaver xscreensaver-data
  101. #end X telepítése
  102.  
  103. #Doublecmd
  104. elif [ "$MENU" = "Doublecmd telepítése" ]; then
  105. echo "deb http://ppa.launchpad.net/alexx2000/doublecmd/ubuntu lucid main" >> /etc/apt/sources.list
  106. apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BE35DEDD
  107. apt-get update
  108. apt-get install doublecmd-gtk
  109. echo "Kész."
  110. #end Doublecmd
  111.  
  112.  
  113. #Skype letöltése és telepítése
  114. elif [ "$MENU" = "Skype letöltése és telepítése" ]; then
  115. wget -c http://www.skype.com/go/getskype-linux-deb-32 -O skype-install.deb
  116. dpkg -i skype-install.deb
  117. rm -rf skype-install.deb
  118. apt-get -f install
  119. #end Skype letöltése és telepítése
  120.  
  121. #TeamViewer letöltése és telepítése
  122. elif [ "$MENU" = "TeamViewer letöltése és telepítése" ]; then
  123. wget -c http://www.teamviewer.com/download/teamviewer_linux.deb -O teamviewer_linux.deb
  124. dpkg -i teamviewer_linux.deb
  125. rm -rf teamviewer_linux.deb
  126. #end TeamViewer letöltése és telepítése
  127.  
  128.  
  129.  
  130. #Devede telepítése
  131. elif [ "$MENU" = "Devede telepítése" ]; then
  132. echo "
  133. deb http://debian-multimedia.org/ stable main
  134. deb-src http://debian-multimedia.org/ stable main
  135. " >> /etc/apt/sources.list
  136. apt-get update
  137. apt-get install devede
  138. mcedit /etc/apt/sources.list
  139. apt-get autoremove
  140. #end Devede telepítése
  141.  
  142. #Konvertálók letöltése és telepítése
  143. elif [ "$MENU" = "Konvertálók letöltése és telepítése" ]; then
  144. cd /bin
  145. pwd
  146. wget -c $PATHs/convert.tar.gz
  147. cd /bin
  148. tar -xzvvf convert.tar.gz
  149. rm convert.tar.gz
  150. #end Konvertálók letöltése és telepítése
  151.  
  152. #Latex telepítése
  153. elif [ "$MENU" = "Latex telepítése" ]; then
  154. apt-get install texlive-full texmaker
  155. #end Latex telepítése
  156.  
  157. #SSH + Opie telepítése és beállítása
  158. elif [ "$MENU" = "SSH + Opie telepítése és beállítása" ]; then
  159.  apt-get install ssh opie-server opie-client
  160. cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old
  161. echo "
  162. Port 22
  163. Protocol 2
  164. HostKey /etc/ssh/ssh_host_rsa_key
  165. HostKey /etc/ssh/ssh_host_dsa_key
  166. UsePrivilegeSeparation yes
  167. KeyRegenerationInterval 3600
  168. ServerKeyBits 768
  169. SyslogFacility AUTH
  170. LogLevel INFO
  171.    
  172. LoginGraceTime 120
  173. PermitRootLogin yes
  174. StrictModes yes
  175. RSAAuthentication yes
  176. PubkeyAuthentication yes
  177. AuthorizedKeysFile     %h/.ssh/authorized_keys
  178.  
  179. #AllowUsers user1@*
  180.    
  181. IgnoreRhosts yes
  182. RhostsRSAAuthentication no
  183. HostbasedAuthentication yes
  184. PermitEmptyPasswords no
  185. ChallengeResponseAuthentication yes
  186. PasswordAuthentication no
  187. #PAMAuthenticationViaKbdInt yes
  188. X11Forwarding yes
  189. X11DisplayOffset 10
  190. PrintMotd no
  191. PrintLastLog yes
  192. TCPKeepAlive yes
  193. Banner /etc/issue.net
  194. AcceptEnv LANG LC_*
  195. Subsystem sftp /usr/lib/openssh/sftp-server
  196. UsePAM yes"> /etc/ssh/sshd_config
  197. cp /etc/pam.d/sshd /etc/pam.d/ssh.old
  198. echo "
  199. auth       required     pam_env.so # [1]
  200. auth       required     pam_env.so envfile=/etc/default/locale
  201. auth       sufficient   pam_opie.so
  202. auth       required     pam_deny.so
  203. account    required     pam_nologin.so
  204. @include common-account
  205. @include common-session
  206. session    optional     pam_motd.so # [1]
  207. session    optional     pam_mail.so standard noenv # [1]
  208. session    required     pam_limits.so
  209. @include common-password"> /etc/pam.d/sshd
  210. /etc/init.d/ssh restart
  211. echo "Használat:
  212. 1. Jelszó legenerálása a seed-hez: opiepasswd -c
  213. 2. opiekey -n 50 499 seed
  214.         - 50 OTP kódot generál a 499 sorszámtól, seed azonosító amit a opiepasswd adott.
  215. 3. opieinfo
  216.      - A következő válasz sorszáma és a felhasználó azonostója.
  217. 4. opiepasswd
  218.         - jelszó létrehozása
  219.         - új kód létrehozása"> ~/opie.hasznalata.txt
  220. chmod 777 ~/opie.hasznalata.txt
  221. #end SSH + Opie telepítése és beállítása
  222.  
  223. #LAMP szerver telepítése
  224. elif [ "$MENU" = "LAMP szerver telepítése" ]; then
  225.  apt-get install apache2 php5 mysql-common mysql-server php5-mysql phpmyadmin
  226. #end LAMP szerver telepítése
  227.  
  228. #"Apache2 SSL beállítása"
  229. elif [ "$MENU" = "Apache2 SSL beállítása" ]; then
  230. #apt-get install apache2 php5 mysql-common mysql-server phpmyadmin php5-mysql
  231. mkdir /var/www/ssl
  232. cd /etc/apache2
  233. echo "AddType application/x-x509-ca-cert .crt
  234. AddType application/x-pkcs7-crl    .crl
  235. SSLPassPhraseDialog  builtin
  236. SSLSessionCache         dbm:/var/cache/mod_ssl/scache
  237. SSLSessionCacheTimeout  300
  238.  
  239. SSLRandomSeed startup builtin
  240. SSLRandomSeed connect builtin
  241.  
  242. <VirtualHost _default_:443>
  243.    DocumentRoot \"/var/www/ssl\"
  244.    ServerName localhost:443
  245.    ServerAdmin webmaster@localhost
  246.    ErrorLog /var/log/apache2/ssl-error.log
  247.    TransferLog /var/log/apache2/ssl-error.log
  248.  
  249.    SSLEngine on
  250.    SSLCipherSuite HIGH:MEDIUM
  251.    SSLProtocol all -SSLv2
  252.    SSLCertificateFile /etc/apache2/ssl/server.crt
  253.    SSLCertificateKeyFile /etc/apache2/ssl/server.key
  254.    SSLCertificateChainFile /etc/apache2/ssl/server.crt
  255.    SSLCACertificateFile /etc/apache2/ssl/server.crt
  256.  
  257. <Files ~ \"\.(cgi|shtml|phtml|php3?)$\">
  258.    SSLOptions +StdEnvVars
  259. </Files>
  260.  
  261. ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  262. <Directory \"/usr/lib/cgi-bin\">
  263.    AllowOverride None
  264.    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  265.    Order allow,deny
  266.    Allow from all
  267. </Directory>
  268.                
  269. SetEnvIf User-Agent \".*MSIE.*\" \
  270.         nokeepalive ssl-unclean-shutdown \
  271.         downgrade-1.0 force-response-1.0
  272.  
  273. #CustomLog logs/ssl_request_log \
  274. #          \"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \\"%r\\" %b\"
  275.  
  276. <Directory \"/var/www/ssl\">
  277.        Options Indexes
  278.        AllowOverride None
  279.        Allow from from all
  280.        Order allow,deny
  281. </Directory>
  282. </VirtualHost>" > ssl.conf                              
  283.  
  284. mkdir ssl
  285. cd ssl
  286. openssl req -new > server.csr
  287. openssl rsa -in privkey.pem -out server.key
  288. openssl x509 -in server.csr -out server.cert -req -signkey server.key -days 3650
  289. cd ..
  290. cp ssl/server.cert /etc/apache2/ssl/server.crt
  291. ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf
  292. ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load
  293. touch /var/log/apache2/ssl-error.log
  294. echo "Include /etc/apache2/ssl.conf" >> /etc/apache2/httpd.conf
  295. /etc/init.d/apache2 restart
  296. #end Apache2 SSL beállítása
  297.  
  298. #Samba PDC telepítése és beállítása
  299. elif [ "$MENU" = "Samba PDC telepítése és beállítása" ]; then
  300. apt-get install samba samba-common samba-doc libkrb53 winbind smbclient
  301. mkdir /home/samba
  302. mkdir /home/samba/netlogon
  303. mkdir /home/samba/profiles
  304. mkdir /var/spool/samba
  305. chmod 777 /var/spool/samba/
  306. chown -R root:users /home/samba/
  307. chmod -R 771 /home/samba/
  308. echo "
  309. //hostname/share  /mnt/sleepy  cifs exec,username=winUsername,password=winPassword 0 0" >> /etc/fstab
  310. echo "
  311. net time \\server /set /yes
  312. net use u: \\server\home
  313. net use m: \\server\media
  314. " > /home/samba/netlogon/logon.bat
  315.  
  316. mv /etc/samba/smb.conf /etc/samba/smb.conf.old
  317. echo "
  318. [global]
  319.        workgroup = WORKGROUP
  320.     netbios name  = SERVER
  321.        server string = %h (Debian GNU/Linux)
  322.        passdb backend = tdbsam
  323.        passwd program = /usr/bin/passwd %u
  324.        passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
  325.        passwd chat debug = Yes
  326.        username map = /etc/samba/smbusers
  327.        unix password sync = Yes
  328.        log level = 3
  329.        name resolve order = wins bcast hosts
  330.        printcap name = CUPS
  331.        add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
  332.        delete user script = /usr/sbin/userdel -r %u
  333.        add group script = /usr/sbin/groupadd %g
  334.        delete group script = /usr/sbin/groupdel %g
  335.        add user to group script = /usr/sbin/usernod -G %g %u
  336.        add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
  337.        logon script = logon.bat
  338.        logon drive = u:
  339.        domain logons = Yes
  340.        preferred master = Yes
  341.        wins support = Yes
  342.        idmap uid = 15000-20000
  343.        idmap gid = 15000-20000
  344.        template shell = /bin/bash
  345.        printer admin = @lpadmin
  346.        printing = cups
  347.        print command =
  348.        lpq command = %p
  349.        lprm command =
  350.  
  351. [homes]
  352.        comment = Home
  353.        valid users = %S
  354.        read only = No
  355.        browseable = No
  356.  
  357. [printers]
  358.        comment = All Printers
  359.        path = /var/spool/samba
  360.        create mask = 0700
  361.        printable = Yes
  362.        browseable = No
  363.  
  364. [print\$]
  365.        comment = Printer Drivers
  366.        path = /var/lib/samba/printers
  367.        write list = root, @smbadmin
  368.  
  369. [netlogon]
  370.        comment = Network Logon Service
  371.        path = /home/samba/netlogon
  372.        valid users = %U
  373.        admin users = Administrator
  374.        guest ok = Yes
  375.        share modes = No
  376.  
  377. [profile]
  378.        comment = User profiles
  379.        path = /home/samba/profiles
  380.        valid users = %U
  381.        read only = No
  382.        create mask = 0600
  383.        directory mask = 0700
  384.        browseable = No
  385.  
  386. [megosztas]
  387.        comment = Megosztas
  388.        path = /media/hdd3
  389.        valid users = %U
  390.        read only = yes
  391.        create mask = 0600
  392.        directory mask = 0700
  393.        browseable = yes
  394. "> /etc/samba/smb.conf
  395.  
  396.     echo "smbpasswd -a root"
  397.     smbpasswd -a root
  398.     echo "root = Administrator" > /etc/samba/smbusers
  399. echo "
  400. useradd -g gep gepneve$
  401. smbpasswd -a -m gepneve"
  402.  
  403. #end Samba PDC telepítése és beállítása
  404.  
  405.  
  406. #Samba PDC kliens
  407. elif [ "$MENU" = "Samba PDC kliens" ]; then
  408. echo '=================== Samba PDC kliens telepitese ==================='
  409. apt-get install winbind samba smbfs
  410. cd /etc/samba
  411. cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
  412. echo '[global]
  413.     workgroup = MYDOMAIN
  414.     security = domain
  415.     encrypt passwords = yes
  416.     password server = *
  417.     idmap uid = 10000-20000
  418.     idmap gid = 10000-20000
  419.     template shell = /bin/bash
  420.     template homedir = /home/%D/%U
  421. [homes]
  422.     comment = Home Directories
  423.     valid users = %S
  424.     read only = No
  425.     create mask = 0700
  426.     directory mask = 0700
  427.     browseable = No
  428.  
  429. [printers]
  430.     comment = All Printers
  431.     path = /var/spool/samba
  432.     printable = Yes
  433.     browseable = No' > /etc/samba/smb.conf
  434. mcedit /etc/samba/smb.conf
  435. cp /etc/nsswitch.conf /etc/nsswitch.conf.orig
  436. echo '
  437. passwd:         compat winbind
  438. group:          compat winbind
  439. shadow:         compat winbind' >> /etc/nsswitch.conf
  440. mcedit /etc/nsswitch.conf
  441.  
  442. wbinfo -u
  443. echo 'Server IP? (ex.: 192.168.0.1)'
  444. read SERVERIP
  445.  
  446. net join -S $SERVERIP -U root
  447.  
  448. cp /etc/pam.d/common-account /etc/pam.d/common-account.orig
  449. echo '
  450. account sufficient      pam_winbind.so' >> /etc/pam.d/common-account
  451.  
  452. cp /etc/pam.d/common-session /etc/pam.d/common-session.orig
  453. echo '
  454. session required        pam_unix.so nullok_secure
  455. session required        pam_mkhomedir.so skel=/etc/skel/ umask=0022' >> /etc/pam.d/common-session
  456.  
  457. echo 'Domain? (ex.: MYGROUP)'
  458. read DOMAIN
  459. mkdir /home/$DOMAIN
  460. chmod -R 777 /home/$DOMAIN
  461.  
  462. echo "login: $DOMAIN\USERNAME"
  463.  
  464. apt-get install libpam-mount
  465. cp /etc/security/pam_mount.conf.xml /etc/security/pam_mount.conf.xml.orig
  466. echo '<?xml version="1.0" encoding="UTF-8"?>
  467. <pam_mount>
  468. <debug enable="1" />
  469. <mkmountpoint enable="1" />
  470. <mntoptions allow="nosuid,nodev,loop,encryption,fsck" />
  471. <mntoptions require="nosuid,nodev" />
  472. <lsof>/usr/bin/lsof %(MNTPT)</lsof>
  473. <cifsmount>/sbin/mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o "user=%(USER),domain='$DOMAIN',uid=%(USER),gid=users"</cifsmount>
  474. <umount>/bin/umount %(MNTPT)</umount>
  475. <volume options="username=%(DOMAIN_USER),workgroup=%(DOMAIN_NAME),uid=%(DOMAIN_USER),fmask=700" mountpoint="/home/%(DOMAIN_NAME)/%(DOMAIN_USER)" path="%(DOMAIN_USER)" server="'$SERVERIP'" fstype="cifs" />
  476. </pam_mount>' > /etc/security/pam_mount.conf.xml
  477. mcedit /etc/security/pam_mount.conf.xml
  478. #end #Samba PDC kliens
  479.  
  480. #Postfix,spamassassin, imap telepítése
  481. elif [ "$MENU" = "Postfix: spamassassin, imap telepítése" ]; then
  482.  apt-get install postfix spamassassin spamc uw-imapd razor procmail clamav
  483. echo "
  484. smtp      inet  n       -       -       -       -       smtpd
  485.          -o content_filter=spamassassin
  486. spamassassin unix -     n       n       -       -       pipe
  487.        user=nobody argv=/usr/bin/spamc -f -e
  488.     /usr/sbin/sendmail -oi -f \${sender} \${recipient}   
  489. " >> /etc/postfix/master.cf
  490.  mcedit /etc/postfix/master.cf
  491. #razor
  492. razor-client
  493. razor-admin -home=/etc/spamassassin/.razor -register
  494. razor-admin -home=/etc/spamassassin/.razor -create
  495. razor-admin -home=/etc/spamassassin/.razor -discover
  496. chmod -R 777 /etc/spamassassin/.razor
  497. echo " razorhome = /etc/spamassassin/.razor/" >> /etc/spamassassin/.razor/razor-agent.conf
  498. echo "razor_config /etc/spamassassin/.razor/razor-agent.conf" >> /etc/spamassassin/local.cf
  499. /usr/bin/mcedit /etc/default/spamassassin
  500. /etc/init.d/spamassassin restart
  501. echo "DEFAULT=/var/mail/$LOGNAME
  502. MAILDIR=$HOME/mail
  503.  
  504. :0
  505. VIRUS=| clamdscan --no-summary --stdout - | cut -d' ' -f2 -
  506.  
  507. :0
  508. * VIRUS ?? !^OK
  509. {
  510.  :0
  511.    SUBJECT=| egrep '^Subject:' - | sed -e 's/Subject: //' -
  512.      :0 fw
  513.        | formail -i"Subject: [*** VIRUS ***: ${VIRUS}] ${SUBJECT}"
  514.        }
  515. " > /etc/procmailrc
  516. #end Mail server telepítése: postfix, spamassassin, imap-ssl
  517.  
  518. #Postfix: SMTP SSL
  519. elif [ "$MENU" = "Postfix: SMTP SSL" ]; then
  520. ### SMTP SSL ###
  521. apt-get install sasl2-bin telnet
  522. dpkg-reconfigure postfix
  523. postconf -e 'smtpd_sasl_local_domain ='
  524. postconf -e 'smtpd_sasl_auth_enable = yes'
  525. postconf -e 'smtpd_sasl_security_options = noanonymous'
  526. postconf -e 'broken_sasl_auth_clients = yes'
  527. postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
  528. postconf -e 'inet_interfaces = all'
  529. echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
  530. echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf
  531. mkdir /etc/postfix/ssl
  532. cd /etc/postfix/ssl/
  533.  
  534. echo "smtpd.key generating..."
  535. openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
  536. echo "smtpd.csr generating..."
  537. chmod 600 smtpd.key
  538. openssl req -new -key smtpd.key -out smtpd.csr
  539. echo "smtpd.crt generating..."
  540. openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
  541. openssl rsa -in smtpd.key -out smtpd.key.unencrypted
  542. mv -f smtpd.key.unencrypted smtpd.key
  543. openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
  544. openssl req -new -x509 -nodes -out imapd.pem -keyout imapd.pem -days 3650
  545.  
  546. echo "Postfix TLS config..."
  547. postconf -e 'smtpd_tls_auth_only = no'
  548. postconf -e 'smtp_use_tls = yes'
  549. postconf -e 'smtpd_use_tls = yes'
  550. postconf -e 'smtp_tls_note_starttls_offer = yes'
  551. postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'
  552. postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'
  553. postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'
  554. postconf -e 'smtpd_tls_loglevel = 1'
  555. postconf -e 'smtpd_tls_received_header = yes'
  556. postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
  557. postconf -e 'tls_random_source = dev:/dev/urandom'
  558. postconf -e 'myhostname = myhostname.homelinux.com'
  559.  
  560. /etc/init.d/postfix restart
  561. clear
  562. echo "Please change /etc/postfix/master.cf: smtp inet n - y - - smtpd"
  563. read KEY
  564. mcedit /etc/postfix/master.cf
  565. mkdir -p /var/spool/postfix/var/run/saslauthd
  566. chmod -R 777 /var/spool/postfix/var/run/saslauthd
  567. chown root.sasl -R /var/spool/postfix/var/
  568. dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
  569.  
  570. echo "OPTIONS=\"-c -m /var/spool/postfix/var/run/saslauthd -r\"" >> /etc/default/saslauthd
  571. echo "MECHANISMS=\"shadow\"" >> /etc/default/saslauthd
  572. mcedit /etc/default/saslauthd
  573. addgroup postfix sasl
  574. /etc/init.d/saslauthd restart
  575.  
  576. #telnet localhost 25
  577.  
  578. chown -R root:sasl /var/spool/postfix/var/run/saslauthd
  579. chmod -R 755 /var/spool/postfix/var/run/saslauthd
  580. ### SMTP SSL ###
  581. #end Postfix: SMTP SSL
  582.  
  583. #Postfix: Greylist beállítás
  584. elif [ "$MENU" = "Postfix: Greylist beállítás" ]; then
  585.  apt-get install postgrey
  586. postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,check_policy_service inet:127.0.0.1:10023, permit'
  587. echo "POSTGREY_OPTS=\"--inet=10023 --max-age=365\"" >> /etc/default/postgrey
  588. mcedit /etc/default/postgrey
  589. mcedit /etc/postfix/main.cf
  590. service postgrey restart
  591. service postfix restart
  592. #end Postfix: Greylist beállítás
  593.  
  594. #Quota telepítése és beállítása
  595. elif [ "$MENU" = "Quota telepítése és beállítása" ]; then
  596. apt-get install quota
  597. /usr/bin/clear
  598. echo "Az /etc/fstab-ot írd át, pl.: /dev/sda3 /home ext3 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2"
  599. echo "Tovább: ENTER"
  600. read KEY
  601. echo "
  602. \#/dev/sda3 /home ext3 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2" >> /etc/fstab
  603. /usr/bin/mcedit /etc/fstab
  604. mount -o remount -a
  605. quotacheck -avugm
  606. quotaon -avug
  607. #end Quota telepítése és beállítása
  608.  
  609. #VPN telepítése
  610. elif [ "$MENU" = "VPN (pptp)" ]; then
  611. apt-get install pptpd
  612. cp /etc/pptpd.conf /etc/pptpd.conf.orig
  613. echo "
  614. option /etc/ppp/pptpd-options
  615. logwtmp
  616. localip 10.5.1.1
  617. remoteip 10.5.1.5-10
  618. " > /etc/pptpd.conf
  619. cp /etc/ppp/options.pptp /etc/pptp/options.pptp.orig
  620. echo "name Test.PPTP
  621. refuse-pap
  622. refuse-chap
  623. refuse-mschap
  624. require-mschap-v2
  625. require-mppe-128
  626. ms-dns  208.67.222.222
  627. ms-dns  208.67.220.220
  628. proxyarp
  629. nodefaultroute
  630. lock
  631. nobsdcomp" > /etc/ppp/options.pptp
  632. mcedit /etc/ppp/chap-secrets
  633. /etc/init.d/pptpd restart
  634. firewall
  635. #end VPN
  636.  
  637. #OpenVPN telepítése
  638. elif [ "$MENU" = "OpenVPN" ]; then
  639. apt-get install openvpn #network-manager-openvpn
  640. cd /etc/openvpn/
  641. cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 .
  642. mv 2.0 easy-rsa
  643. cd /etc/openvpn/easy-rsa
  644. mcedit vars
  645. source vars
  646. ./clean-all
  647. ./build-dh
  648. ./build-ca
  649.  
  650. ./build-key-server server
  651. echo 'Kliens hozzaadasa...'
  652. echo 'Kliens neve:'
  653. read KLIENS
  654. ./build-key $KLIENS
  655.  
  656. echo "Másold be a kliens /etc/openvpn mappájába a
  657. ca.crt
  658. $KLIENS.crt
  659. $KLIENS.key kulcsokat."
  660. sleep 1
  661.  
  662. echo "
  663. dev tun
  664. client
  665. proto tcp
  666. # Az w.x.y.z helyett a szerver IP-je kell
  667. remote w.x.y.z 1194
  668. resolv-retry infinite
  669. nobind
  670. user nobody
  671. group nogroup
  672. # Try to preserve some state across restarts.
  673. persist-key
  674. persist-tun
  675. ca ca.crt
  676. cert $KLIENS.crt
  677. key $KLIENS.key
  678. comp-lzo
  679. # Set log file verbosity.
  680. verb 3
  681. " > /etc/openvpn/openvpn-client.conf
  682.  
  683. echo "
  684. port 1194
  685. proto udp
  686. dev tun
  687.  
  688. ca /etc/openvpn/easy-rsa/keys/ca.crt
  689. cert /etc/openvpn/easy-rsa/keys/server.crt
  690. key /etc/openvpn/easy-rsa/keys/server.key
  691. dh /etc/openvpn/easy-rsa/keys/dh1024.pem
  692.  
  693. server 10.0.0.0 255.255.255.0
  694. cipher AES-256-CBC
  695. comp-lzo
  696. persist-key
  697. persist-tun
  698. status /var/log/openvpn-status.log
  699. log-append /var/log/openvpn.log
  700. verb 3
  701. tun-mtu 1500
  702. tun-mtu-extra 32
  703. mssfix 1450
  704. push \"redirect-gateway def1\"
  705. push \"dhcp-option DNS 8.8.8.8\"
  706. push \"dhcp-option DNS 8.8.4.4\"
  707. push \"route 192.168.134.0 255.255.255.0\"
  708. keepalive 5 30" > /etc/openvpn/openvpn-server.conf
  709.  
  710. echo "Ha szervert telepítesz, az /etc/openvpn/openvpn-server.conf állományt nevezd át openvpn.conf-ra,
  711. ha a kliens kell akkor az openvpn-client.conf állományt valamint írd át benne az x.y.z.w-t a szerver publikus IP-jére.
  712. Szever esetén a tűzfalat is be kell állítani NAT-hoz:
  713. echo \"1\" > /proc/sys/net/ipv4/ip_forward
  714.  
  715. iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
  716. iptables -A FORWARD -i tun+ -j ACCEPT
  717. iptables -A FORWARD -o tun+ -j ACCEPT
  718.  
  719. Majd indítsd újra a szerveren is, és a kliensen is az openvpn-t, ezek után az ifconfig kimenetében benne kell lennie
  720. a tun0 eszköznek és a ping 10.0.0.1 címre választ kell kapj. Jó OpenVPN-elést :D"
  721. sleep 2
  722. #end OpenVPN
  723.  
  724.  
  725. #Firewall beállítása
  726. elif [ "$MENU" = "Firewall beállítása" ]; then
  727. firewall
  728. #Firewall beállítása
  729.  
  730. #vsftpd
  731. elif [ "$MENU" = "vsFTP telepítés beállítás (SSL)" ]; then
  732. apt-get install vsftpd ftp-ssl
  733. echo "
  734. listen=YES
  735. anonymous_enable=YES
  736. anon_root=/home/ftp
  737. local_enable=YES
  738. write_enable=YES
  739. anon_upload_enable=NO
  740. anon_mkdir_write_enable=NO
  741. max_clients=10
  742. dirmessage_enable=YES
  743. xferlog_enable=YES
  744. connect_from_port_20=YES
  745. idle_session_timeout=600
  746. data_connection_timeout=120
  747. ftpd_banner=Chaser FTP szervere.
  748. chroot_local_user=YES
  749. secure_chroot_dir=/var/run/vsftpd
  750. pam_service_name=vsftpd
  751. rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
  752. rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
  753. pasv_promiscuous=YES
  754. ssl_enable=YES
  755. allow_anon_ssl=NO
  756. force_local_data_ssl=YES
  757. force_local_logins_ssl=YES
  758. ssl_tlsv1=YES
  759. ssl_sslv2=YES
  760. ssl_sslv3=YES
  761. pasv_min_port=2000
  762. pasv_max_port=2001" > /etc/vsftpd.conf
  763. iptables -A INPUT -p tcp -m multiport --dports 2000,2001 -j ACCEPT
  764. iptables -A INPUT -p udp -m multiport --dports 2000,2001 -j ACCEPT
  765. #end vsftpd
  766.  
  767. #Proxy: Squid telepítése
  768. elif [ "$MENU" = "Squid telepítése" ]; then
  769. apt-get install squid
  770. cp /etc/squid/squid.conf /etc/squid/squid.conf--orig
  771. cd /etc/squid
  772. wget -c $PATHs/squid.tar.gz
  773. tar xf squid.tar.gz
  774. rm -r squid.tar.gz
  775. ln -s /usr/share/squid/errors/Hungarian /etc/squid/errors1
  776. squid -k reconfigure
  777. firewall
  778. #end Proxy: Squid telepítése
  779.  
  780. #Proxy: Squid+auth telepítése
  781. elif [ "$MENU" = "Squid+auth telepítése" ]; then
  782. apt-get install squid
  783. cp /etc/squid/squid.conf /etc/squid.conf-old
  784. cd /etc/squid
  785. wget -c $PATHs/squid.tar.gz
  786. tar xf squid.tar.gz
  787. rm -r squid.tar.gz
  788. squid -k reconfigure
  789. touch /etc/squid/squid_passwords
  790. chmod o+r /etc/squid/squid_passwords
  791. clear
  792. echo "admin felhasznalo letrehozésa a squid-hoz. Jelszo: teszt"
  793. echo "Felhasznalo hozzaadasa ezzel a paranccsal: htpasswd -bmc /etc/squid/squid_passwords username password"
  794. htpasswd -bmc /etc/squid/squid_passwords admin teszt
  795. firewall
  796. #echo "Melyik eszköz van a belső háló felé? (pl.: eth0)"
  797. #read BELSO
  798. #iptables -t nat -A PREROUTING -i $BELSO -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 3128
  799. #iptables -t nat -A PREROUTING -i $BELSO -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
  800. #iptables -t nat -A PREROUTING -i $BELSO -p tcp -m tcp --dport 1863 -j REDIRECT --to-ports 3128
  801. #iptables-save > /root/iptables.rules
  802. #end Proxy: Squid+auth telepítése
  803.  
  804. #"DHCP szerver telepítése"
  805. elif [ "$MENU" = "DHCP szerver telepítése" ]; then
  806.  apt-get install isc-dhcp-server
  807. mkdir -p /etc/scripts/dhcpd_config
  808. cd /etc/scripts/dhcpd_config
  809. wget -c $PATHs/dhcp_configure.tar.gz
  810. tar -xf dhcp_configure.tar.gz
  811. rm dhcp_configure.tar.gz
  812. mcedit /etc/default/isc-dhcp-server
  813. clear
  814. echo "DHCP beállító scriptek telepítve a /etc/scripts/dhcp_config mappába."
  815. #end "DHCP szerver telepítése"
  816.  
  817. #Privat mappa
  818. elif [ "$MENU" = "Privát mappa" ]; then
  819. apt-get install ecryptfs-utils
  820. echo Beállítás: ecryptfs-setup-private
  821. #end Privat mappa
  822.  
  823. #Wifi beállítás
  824. elif [ "$MENU" = "Wifi beállítás" ]; then
  825.  apt-get install pump wpasupplicant firmware-iwlwifi
  826. clear
  827. echo "SSID? "
  828. read SSID
  829. echo "psk? "
  830. read PSK
  831.  
  832. if [ -f "/etc/wpa_supplicant.conf" ]; then
  833. echo "
  834. network={
  835.        ssid=\"$SSID\"
  836.        scan_ssid=0
  837.        proto=WPA2
  838.        key_mgmt=WPA-PSK
  839.        psk=\"$PSK\"
  840.        pairwise=CCMP
  841.        group=CCMP
  842. }
  843. " >> /etc/wpa_supplicant.conf
  844.  
  845. else
  846. echo "ap_scan=1
  847. ctrl_interface=/var/run/wpa_supplicant
  848. network={
  849.        ssid=\"$SSID\"
  850.        scan_ssid=0
  851.        proto=WPA2
  852.        key_mgmt=WPA-PSK
  853.        psk=\"$PSK\"
  854.        pairwise=CCMP
  855.        group=CCMP
  856. }
  857. " > /etc/wpa_supplicant.conf
  858. fi
  859.  
  860. if [ -f "/etc/scripts/wifi" ]; then
  861.     echo "/etc/scripts/wifi -> OK."
  862.     ln -s /etc/scripts/wifi /bin/wifi
  863. else
  864. echo "#!/bin/bash
  865. case \"\$1\" in
  866.  start)
  867.     ifconfig eth0 down
  868.     ifconfig wlan0 down
  869.     ifconfig wlan0 up  
  870.        wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
  871.        pump -i wlan0
  872.        ifconfig wlan0
  873.    ;;
  874.  stop)
  875.     ifconfig wlan0 down
  876.     ifconfig eth0 up
  877.     pump -i eth0
  878.     ifconfig eth0
  879.    ;;
  880.  *)
  881.  ;;
  882. esac
  883. " > /etc/scripts/wifi
  884. chmod +x /etc/scripts/wifi
  885. ln -s /etc/scripts/wifi /bin/wifi
  886. clear
  887. echo "Wifi a 'wifi start' paranccsal indítható."
  888. fi
  889. #end Wifi beállítás
  890.  
  891. #Raid beállítása
  892. elif [ "$MENU" = "Raid beállítása" ]; then
  893. raid
  894. #Raid beállítása
  895.  
  896.  
  897. #LDAP kliens beállítása
  898. elif [ "$MENU" = "LDAP kliens beállítása" ]; then
  899. apt-get install libnss-ldap libpam-ldap ldap-utils nscd
  900. echo "
  901. passwd: compat ldap
  902. group: compat ldap
  903. shadow: compat ldap
  904.  
  905. netgroup: ldap
  906. "
  907. cp /etc/nsswitch.conf /etc/nsswitch.conf--orig
  908. mcedit /etc/nsswitch.conf
  909. mkdir -p /public/Kozos
  910. echo "
  911. $LDAP_SERVER:/home          /home   nfs   defaults   0 1
  912. $LDAP_SERVER:/public/Kozos  /public/Kozos  nfs   defaults   0 1
  913. " >> /etc/fstab
  914. mcedit /etc/ldap/ldap.conf
  915. cp /etc/pam_ldap.conf /etc/pam_ldap.conf.orig
  916. echo "host $LDAP_SERVER
  917. base $LDAP_DN
  918. uri ldap://$LDAP_SERVER
  919. ldap_version 3
  920. pam_password crypt" > /etc/pam_ldap.conf
  921. #LDAP kliens beállítása
  922.  
  923. #Google Authenticator
  924. elif [ "$MENU" = "Google Authenticator telepítése + ssh beállítása" ]; then
  925. wget http://download.sleepy.hu/debs/libpam-google-authenticator_i386.deb
  926. dpkg -i libpam-google-authenticator_i386.deb
  927. apt-get -f install
  928. #google-authenticator
  929. echo "
  930. auth required pam_google_authenticator.so" >> /etc/pam.d/sshd
  931. echo "
  932. Replace:
  933. ChallengeResponseAuthentication no -> ChallengeResponseAuthentication yes
  934. PasswordAuthentication yes -> PasswordAuthentication no"
  935. read ENTER
  936. mcedit /etc/ssh/sshd_config
  937. /etc/init.d/ssh restart
  938. #end Google Authenticator
  939.  
  940. #TrueCrypt
  941. elif [ "$MENU" = "TrueCrypt telepítése" ]; then
  942. wget -c $PATHs/truecrypt-7.1-linux-x86.tar.gz
  943. tar xzf truecrypt-7.1-linux-x86.tar.gz
  944. chmod +x truecrypt-7.1-setup-x86
  945. ./truecrypt-7.1-setup-x86
  946. #end TrueCrypt
  947.  
  948. #LDAP szerver beállítása
  949. elif [ "$MENU" = "LDAP szerver beállítása" ]; then
  950. apt-get install slapd
  951. mkdir -p /etc/scripts/LDAP
  952. cd /etc/scripts/LDAP
  953. echo "#!/bin/bash
  954.  
  955. SUFFIX='$LDAP_DN'
  956. LDIF='ldapuser.ldif'
  957.  
  958. echo -n > \$LDIF
  959. for line in \`grep \"x:[1-9][0-9][0-9][0-9]:\" /etc/passwd | sed -e \"s/ /%/g\"\`
  960. do
  961.    UID1=\`echo \$line | cut -d: -f1\`
  962.    NAME=\`echo \$line | cut -d: -f5 | cut -d, -f1\`
  963.    if [ ! \"\$NAME\" ]
  964.    then
  965.        NAME=\$UID1
  966.    else
  967.        NAME=\`echo \$NAME | sed -e \"s/%/ /g\"\`
  968.    fi
  969.    SN=\`echo \$NAME | awk '{print \$2}'\`
  970.    if [ ! \"\$SN\" ]
  971.    then
  972.        SN=\$NAME
  973.    fi
  974.    GIVEN=\`echo \$NAME | awk '{print \$1}'\`
  975.    UID2=\`echo \$line | cut -d: -f3\`
  976.    GID=\`echo \$line | cut -d: -f4\`
  977.    PASS=\`grep \$UID1: /etc/shadow | cut -d: -f2\`
  978.    SHELL=\`echo \$line | cut -d: -f7\`
  979.    HOME=\`echo \$line | cut -d: -f6\`
  980.    EXPIRE=\`passwd -S \$UID1 | awk '{print \$7}'\`
  981.    FLAG=\`grep \$UID1: /etc/shadow | cut -d: -f9\`
  982.    if [ ! \"\$FLAG\" ]
  983.    then
  984.        FLAG=\"0\"
  985.    fi
  986.    WARN=\`passwd -S \$UID1 | awk '{print \$6}'\`
  987.    MIN=\`passwd -S \$UID1 | awk '{print \$4}'\`
  988.    MAX=\`passwd -S \$UID1 | awk '{print \$5}'\`
  989.    LAST=\`grep \$UID1: /etc/shadow | cut -d: -f3\`
  990.  
  991.    echo \"dn: uid=\$UID1,ou=users,\$SUFFIX\" >> \$LDIF
  992.    echo \"objectClass: inetOrgPerson\" >> \$LDIF
  993.    echo \"objectClass: posixAccount\" >> \$LDIF
  994.    echo \"objectClass: shadowAccount\" >> \$LDIF
  995.    echo \"uid: \$UID1\" >> \$LDIF
  996.    echo \"sn: \$SN\" >> \$LDIF
  997.    echo \"givenName: \$GIVEN\" >> \$LDIF
  998.    echo \"cn: \$NAME\" >> \$LDIF
  999.    echo \"displayName: \$NAME\" >> \$LDIF
  1000.    echo \"uidNumber: \$UID2\" >> \$LDIF
  1001.    echo \"gidNumber: \$GID\" >> \$LDIF
  1002.    echo \"userPassword: {crypt}\$PASS\" >> \$LDIF
  1003.    echo \"gecos: \$NAME\" >> \$LDIF
  1004.    echo \"loginShell: \$SHELL\" >> \$LDIF
  1005.    echo \"homeDirectory: \$HOME\" >> \$LDIF
  1006.    echo \"shadowExpire: \$EXPIRE\" >> \$LDIF
  1007.    echo \"shadowFlag: \$FLAG\" >> \$LDIF
  1008.    echo \"shadowWarning: \$WARN\" >> \$LDIF
  1009.    echo \"shadowMin: \$MIN\" >> \$LDIF
  1010.    echo \"shadowMax: \$MAX\" >> \$LDIF
  1011.    echo \"shadowLastChange: \$LAST\" >> \$LDIF
  1012.    echo >> \$LDIF
  1013. done
  1014.  
  1015. " > ldapuser.sh
  1016.  
  1017. echo "dn: dc=$LDAP_DN
  1018. objectClass: top
  1019. objectClass: dcObject
  1020. objectclass: organization
  1021. o: Server World
  1022. dc: Server
  1023. description: LDAP Server" > base.ldif
  1024.  
  1025. echo "dn: ou=users,$LDAP_DN
  1026. objectClass: organizationalUnit
  1027. ou: users " > users.ldif
  1028.  
  1029. echo "dn: ou=groups,$LDAP_DN
  1030. objectClass: organizationalUnit
  1031. ou: groups " > groups.ldif
  1032.  
  1033. echo "dn: olcDatabase={1}hdb,cn=config
  1034. changetype: modify
  1035. replace: olcSuffix
  1036. olcSuffix: $LDAP_DN
  1037. -
  1038. replace: olcRootDN
  1039. olcRootDN: cn=admin,$LDAP_DN
  1040. -
  1041. replace: olcAccess
  1042. olcAccess: to attrs=userPassword by dn=\"cn=admin,$LDAP_DN\" write by anonymous auth by self write by * none
  1043. olcAccess: to attrs=shadowLastChange by self write by * read
  1044. olcAccess: to dn.base=\"\" by * read
  1045. olcAccess: to * by dn=\"cn=admin,$LDAP_DN\" write by * read
  1046. -" > ldap-config.conf
  1047.  
  1048. echo "#!/bin/bash
  1049.  
  1050. SUFFIX='$LDAP_DN'
  1051. LDIF='ldapgroup.ldif'
  1052.  
  1053. echo -n > \$LDIF
  1054. for line in \`grep \"x:[1-9][0-9][0-9][0-9]:\" /etc/group\`
  1055. do
  1056.    CN=\`echo \$line | cut -d: -f1\`
  1057.    GID=\`echo \$line | cut -d: -f3\`
  1058.    echo \"dn: cn=\$CN,ou=groups,\$SUFFIX\" >> \$LDIF
  1059.    echo \"objectClass: posixGroup\" >> \$LDIF
  1060.    echo \"cn: \$CN\" >> \$LDIF
  1061.    echo \"gidNumber: \$GID\" >> \$LDIF
  1062.    users=\`echo \$line | cut -d: -f4 | sed \"s/,/ /g\"\`
  1063.    for user in \${users} ; do
  1064.        echo \"memberUid: \${user}\" >> \$LDIF
  1065.    done
  1066.    echo >> \$LDIF
  1067. done" > ldapgroup.sh
  1068.  
  1069. apt-get install slapd ldap-utils
  1070.  
  1071. echo LDAP tesztelése...
  1072. ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn
  1073.  
  1074. echo LDAP root jelszó generálása...
  1075. slappasswd
  1076. echo "
  1077. dn: olcDatabase={0}config,cn=config
  1078. add: olcRootPW
  1079. olcRootPW:jelszo helye
  1080. "
  1081. ldapmodify -Y EXTERNAL -H ldapi:///
  1082.  
  1083. echo LDAP beállítások betöltése...
  1084. mcedit ldap-config.conf
  1085. ldapmodify -Y EXTERNAL -H ldapi:/// -f ldap-config.conf
  1086. ldapsearch -xLLL -b cn=config -D cn=admin,cn=config -W olcDatabase={1}hdb
  1087.  
  1088. echo LDAP szerver tulajdonságainak beállítása
  1089. mcedit base.ldif
  1090. ldapadd -x -D cn=admin,$LDAP_DN -W -f base.ldif
  1091.  
  1092. echo "LDAP users tulajdonságainak beállítása"
  1093. mcedit users.ldif
  1094. ldapadd -x -D cn=admin,$LDAP_DN -W -f users.ldif
  1095.  
  1096. echo "LDAP groups tulajdonságainak beállítása"
  1097. mcedit groups.ldif
  1098. ldapadd -x -D cn=admin,$LDAP_DN -W -f groups.ldif
  1099.  
  1100. echo UNIX user-ek LDAP adatbázisba migrálása...
  1101. mcedit ldapuser.sh
  1102. sh ldapuser.sh
  1103. ldapadd -x -D cn=admin,$LDAP_DN -W -f ldapuser.ldif
  1104.  
  1105. echo UNIX csoportok LDAP adatbázisba migrálása...
  1106. mcedit ldapgroup.sh
  1107. sh ldapgroup.sh
  1108. ldapadd -x -D cn=admin,$LDAP_DN -W -f ldapgroup.ldif
  1109.  
  1110. #echo "Felhasználók törlése..."
  1111. #ldapdelete -r -x -W -D 'cn=admin,$LDAP_DN' "ou=users,$LDAP_DN"
  1112. #echo "Csoportok törlése..."
  1113. #ldapdelete -r -x -W -D 'cn=admin,$LDAP_DN' "ou=groups,$LDAP_DN"
  1114.  
  1115. else
  1116. echo Nincs ilyen menüpont.
  1117. fi
  1118. #end if
  1119. done
  1120. }
  1121.  
  1122. ###########################################################
  1123. function firewall {
  1124. clear
  1125. echo "Tűzfal típusa:"
  1126. select MENUFW in "Alap" "Gateway" "Proxy" "Proxy (VPN)" "Fő menü"; do
  1127.  
  1128.     if [ "$MENUFW" = "Fő menü" ]; then
  1129.         install
  1130.     exit
  1131.  
  1132. #alap tuzfal
  1133. elif [ "$MENUFW" = "Alap" ]; then
  1134. wget -O /etc/scripts/firewall.sh $PATHs/firewall/firewall.sh
  1135. echo "/etc/scripts/firewall.sh" >> /etc/rc.local
  1136. chmod +x /etc/scripts/firewall.sh
  1137. mcedit /etc/rc.local
  1138. /etc/rc.local
  1139. #end alap tuzfal
  1140.  
  1141. #gateway tuzfal
  1142. elif [ "$MENUFW" = "Gateway" ]; then
  1143. wget -O /etc/scripts/firewall.sh $PATHs/firewall/firewall-gateway.sh
  1144. echo "/etc/scripts/firewall.sh" >> /etc/rc.local
  1145. mcedit /etc/rc.local
  1146. chmod +x /etc/scripts/firewall.sh
  1147. /etc/rc.local
  1148. #end alap tuzfal
  1149.  
  1150. #proxy tuzfal
  1151. elif [ "$MENUFW" = "Proxy" ]; then
  1152. wget -O /etc/scripts/firewall.sh $PATHs/firewall/firewall-proxy.sh
  1153. echo "/etc/scripts/firewall.sh" >> /etc/rc.local
  1154. mcedit /etc/rc.local
  1155. chmod +x /etc/scripts/firewall.sh
  1156. /etc/rc.local
  1157. #end proxy tuzfal
  1158.  
  1159. #proxy (VPN) tuzfal
  1160. elif [ "$MENUFW" = "Proxy (VPN)" ]; then
  1161. wget -O /etc/scripts/firewall.sh $PATHs/firewall/firewall-proxy-vpn.sh
  1162. echo "/etc/scripts/firewall.sh" >> /etc/rc.local
  1163. mcedit /etc/rc.local
  1164. chmod +x /etc/scripts/firewall.sh
  1165. /etc/rc.local
  1166. #end alap tuzfal
  1167.  
  1168. else
  1169.     echo Nincs ilyen menüpont.
  1170. fi
  1171. done
  1172. }
  1173. ######################################################################
  1174. function raid {
  1175. clear
  1176. echo "Raid kezelés - Copyright © 2007 - 2011 sleepy -> http://sleepy.hu"
  1177. echo "-----------------------------------------------------------------"
  1178.  
  1179. select MENU in "Particiónálás" "Particiós tábla másolás" "Tömb létrehozása (raid1)" "fstab beállítása" "Tömb törlése 'hibával'" "Raidtelenítés" "Kilépés"; do
  1180.  
  1181. #Kilépés
  1182. if [ "$MENU" = "Kilépés" ]; then
  1183. echo "Kész."
  1184. exit
  1185. #end Kilépés
  1186.  
  1187. #Particiónálás
  1188. elif [ "$MENU" = "Particiónálás" ]; then
  1189. fdisk -l
  1190. cfdisk
  1191. #end Particiónálás
  1192.  
  1193. #Particiós tábla másolás
  1194. elif [ "$MENU" = "Particiós tábla másolás" ]; then
  1195. echo "Melyik merevlemezről? (pl.: sda)"
  1196. read EGYIK
  1197. echo "Melyik merevlemezre? (pl.: sdb)"
  1198. read MASIK
  1199. sfdisk -d /dev/$EGYIK| sfdisk /dev/$MASIK
  1200. #end Particiós tábla másolás
  1201.  
  1202.  
  1203. #Tömb létrehozása (raid1)
  1204. elif [ "$MENU" = "Tömb létrehozása (raid1)" ]; then
  1205. echo "Tömb első lemeze? (pl.: sda1)"
  1206. read ELSO
  1207. echo "Tömb második lemeze? (pl.: sdb1)"
  1208. read MASODIK
  1209. echo "md0 létrehozása..."
  1210. mdadm --create /dev/md0 --level=1 --raid-disks=2 /dev/$ELSO /dev/$MASODIK
  1211. echo "md0 formázása..."
  1212. mkfs.ext3 /dev/md0
  1213. echo "További particiókat ennek nyomán készíthetőek."
  1214. #end Tömb létrehozása (raid1)
  1215.  
  1216. #fstab beállítása
  1217. elif [ "$MENU" = "fstab beállítása" ]; then
  1218. cp /etc/fstab /etc/fstab.old
  1219. echo "
  1220. /dev/md0       /var/mail           ext3    defaults        0       2" >> /etc/fstab
  1221. mcedit /etc/fstab
  1222. #end fstab beállítása
  1223.  
  1224. #Tömb törlése 'hibával'
  1225. elif [ "$MENU" = "Tömb törlése 'hibával'" ]; then
  1226. echo "Kamikazee.."
  1227. echo "Melyik eszköz menjen 'tönkre'? (pl.: sda1)"
  1228. read ELSO
  1229. mdadm --manage /dev/md0 --fail /dev/$ELSO
  1230. mdadm --manage /dev/md0 --remove /dev/$ELSO
  1231. #end Tömb törlése 'hibával'
  1232.  
  1233. #Raidtelenítés
  1234. elif [ "$MENU" = "Raidtelenítés" ]; then
  1235. echo "Kamikazee.."
  1236. echo "Melyik eszközt raidtelenítsük? (pl.: sda)"
  1237. read ANTIRAID
  1238. dmraid -r -E /dev/$ANTIRAID
  1239. #end Tömb törlése 'hibával'
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245. else
  1246.     echo Nincs ilyen menüpont.
  1247. fi
  1248. done
  1249. }
  1250. ######################################################################
  1251. mkdir /etc/scripts
  1252. install
Advertisement
Add Comment
Please, Sign In to add comment