Operációs rendszerek az iskolában
(Változatok közti eltérés)41. sor: | 41. sor: | ||
</code> | </code> | ||
- | Adatbázis készítése, jogosultság megadása egy új felhasználó számára | + | Adatbázis készítése, jogosultság megadása egy új felhasználó számára: |
<code lang="bash"> | <code lang="bash"> | ||
mysql mysql -u root -p | mysql mysql -u root -p | ||
48. sor: | 48. sor: | ||
</code> | </code> | ||
- | Tesztelése | + | Tesztelése: |
<code lang="bash"> | <code lang="bash"> | ||
mysql test -u tesztuser -p | mysql test -u tesztuser -p | ||
</code> | </code> | ||
- | + | Tájékozódunk: | |
<code lang="bash"> | <code lang="bash"> | ||
show databases; | show databases; | ||
59. sor: | 59. sor: | ||
</code> | </code> | ||
- | Egy tábla létrehozása: | + | Egy új tábla létrehozása: |
<code lang="bash"> | <code lang="bash"> | ||
CREATE TABLE emberek ( | CREATE TABLE emberek ( | ||
68. sor: | 68. sor: | ||
</code> | </code> | ||
+ | Adatok bevitele a táblába: | ||
<code lang="bash"> | <code lang="bash"> | ||
INSERT INTO emberek (nev, kor) VALUES ('Szabó Pál', 20); | INSERT INTO emberek (nev, kor) VALUES ('Szabó Pál', 20); | ||
80. sor: | 81. sor: | ||
</code> | </code> | ||
- | Adatbázis mentése | + | Adatbázis mentése: |
<code lang="bash"> | <code lang="bash"> | ||
mysqldump test -u tesztuser -p >mentes.sql | mysqldump test -u tesztuser -p >mentes.sql | ||
</code> | </code> | ||
- | + | A mentés helyreállítása előtt töröljük az emberek táblát: | |
<code lang="bash"> | <code lang="bash"> | ||
mysql test -u tesztuser -p | mysql test -u tesztuser -p | ||
91. sor: | 92. sor: | ||
</code> | </code> | ||
+ | Adatbázis helyreállítása a mentésből: | ||
<code lang="bash"> | <code lang="bash"> | ||
mysql test -u tesztuser -p <mentes.sql | mysql test -u tesztuser -p <mentes.sql | ||
+ | </code> | ||
+ | |||
+ | Teszteljük, hogy megvannak-e az adataink: | ||
+ | <code lang="bash"> | ||
mysql test -u tesztuser -p | mysql test -u tesztuser -p | ||
SELECT * FROM emberek; | SELECT * FROM emberek; | ||
101. sor: | 107. sor: | ||
+----+-------------+------+ | +----+-------------+------+ | ||
1 row in set (0.00 sec) | 1 row in set (0.00 sec) | ||
- | |||
- | |||
- | |||
</code> | </code> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
== Webszerver készítése == | == Webszerver készítése == |
A lap jelenlegi, 2016. április 21., 06:43-kori változata
Virtualizáció
- Virtualizációs szoftverek. Host-guest modell, bare-metal hypervisorok.
- A Virtualbox. Letöltése, telepítése, Extension pack.
- Virtualbox ismeretek: Host key,
- Virtuális gép létrehozása. Kiemelten:
- Tárolók: vezérlők és háttértárak létrehozása, több diszkes rendszer készítése, VNC
- Hálózat: NAT és bridge.
- USB
- Megosztott mappák. Net Use.
- Egy gyors Windows telepítés, integrációs szolgáltatások telepítése.
- Virtuális gép mentése, migrálása másik számítógépre.
Windows Peer-to-Peer megosztás
- Mappa megosztása, csatlakozás másik gép megosztott mappájához. A net parancs használata a csatlakozáshoz és a bontáshoz. Az UNC. Felhasználó felvétele, beállítása. Csoport felvétele, tagság kezelése. Jogosultságok beállítása helyi és megosztott mappák esetén.
- Megosztott mappák telepítése, vboxsvr.
Windows szerver telepítése
- Helyi felhasználó- és csoport menedzsment. Fájlok és könyvtárak jogosultságainak beállítása.
Fájlszerver telepítése
- Fájlszerver kialakítása. Felhasználók és csoportok jogosítása a fájlszerver elérésére.
Windows szerver diszk kezelése
- Diszk kezelés. Alaplemez, dinamikus lemez. Partíció, kötet. Raid0, 1, 5. Feladatok: [1]
Linux szerver telepítése
- Operációs rendszerbeszerzése, LTS fogalma
- Telepítés menete.
- Partíciók, RAID tömbök.
- Raid tömbök. Raid 1, Raid5, Tartalék diszk készítése.
Adminisztrációs feladatok
- Felhasználó- és csoportmenedzsment.
- Telepítési és frissítési feladatok.
- Az SSH, kulcs kezelés.
Fájlszerver készítése
Adatbázis kezelő
apt-get install mysql-server
Adatbázis készítése, jogosultság megadása egy új felhasználó számára:
mysql mysql -u root -p CREATE DATABASE test; GRANT all ON test.* to tesztuser@localhost IDENTIFIED BY 'bRs23TT';
Tesztelése:
mysql test -u tesztuser -p
Tájékozódunk:
show databases;
use test
Egy új tábla létrehozása:
CREATE TABLE emberek ( -> id SERIAL, -> nev VARCHAR(64) NOT NULL, -> kor INTEGER -> );
Adatok bevitele a táblába:
INSERT INTO emberek (nev, kor) VALUES ('Szabó Pál', 20); SELECT * FROM emberek; +----+-------------+------+ | id | nev | kor | +----+-------------+------+ | 1 | Szabó Pál | 20 | +----+-------------+------+ 1 row in set (0.00 sec)
Adatbázis mentése:
mysqldump test -u tesztuser -p >mentes.sql
A mentés helyreállítása előtt töröljük az emberek táblát:
mysql test -u tesztuser -p
DROP TABLE emberek;
Adatbázis helyreállítása a mentésből:
mysql test -u tesztuser -p <mentes.sql
Teszteljük, hogy megvannak-e az adataink:
mysql test -u tesztuser -p SELECT * FROM emberek; +----+-------------+------+ | id | nev | kor | +----+-------------+------+ | 1 | Szabó Pál | 20 | +----+-------------+------+ 1 row in set (0.00 sec)
Webszerver készítése
Feltelepítjük a webszervert, a php értelmezőt és a mysql modult.
apt-get install apache2 libapache2-mod-php5 apache2-mpm-itk php5 php5-mysql
Ha korábban már volt telepített webszervere, akkor indítsa azt újra:
/etc/init.d/apache2 restart
Szükségünk lesz a mysql szerverre, ezt is telepítjük.
apt-get install mysql-server
A mysql szerverben létrehozunk egy új adatbázist (wordpress) és egy új felhasználót, aki ehhez teljes joggal hozzáfér (wordpress).
mysql mysql -u root -p
create database wordpress;
grant all on wordpress.* to wordpress@localhost identified by 'bRxTsK';
Wordpress letöltése (a legújabb verziót érdemes keresni a https://hu.wordpress.org/ oldalon).
cd /var/www/html wget 'https://hu.wordpress.org/wordpress-4.5-hu_HU.tar.gz'
Ha a letöltés során certifikációs hibát kapna, használja a --no-check-certificate kapcsolót, de ezzel kiteszi magát annak, hogy esetleg egy rosszindulatú programot tartalmazó, preparált változatot tölt le.
cd /var/www/html wget --no-check-certificate 'https://hu.wordpress.org/wordpress-4.5-hu_HU.tar.gz'
A letöltött csomagot kibontjuk:
tar xvzf wordpress-4.5-hu_HU.tar.gz
Mivel a kibontott fájlok a wordpress könyvtárba kerülnek, de a webszerver nem itt keresi őket, ezért áthelyezzük őket a /var/www/html könyvtárba, és töröljük az üres wordpress könyvtárat.
mv /var/www/html/wordpress/* /var/www/html rmdir /var/www/html/wordpress
Minden fájl tulajdonjogát a www-data usernek és a www-data csoportnak adjuk, hogy a webdszerver írhassa azokat.
chown www-data:www-data /var/www/html -R
Megnézzük a gépünk IP címét, és azt a böngésző címsorába írva elkezdjük a telepítést.
ifconfig
DNS és DHCP szerver készítése
Levelező szerver készítése
Routerek
- A routerek feladata, főbb jellemzői, egyszerű beállításuk.
- Az OpenWRT telepítése, beállítása.
- Útmutató: https://wiki.openwrt.org/doc/howto/virtualbox
- samba install, homes beállítása, user felvétele (adduser, smbpasswd -a), home könyvtár felhasználása, hálózati megosztás csatlakozatása
Alaprendszer:
mc tcpdump iptraf pciutils less most bzip2 rsync lynx memtest86+ ntpdate rdate unzip wget zip vim fail2ban nmap ftp telnet mutt screen dnsutils inetutils-inetd pwgen sharutils sysstat netcat acpid smartmontools traceroute
[global] workgroup = MA-GROUP netbios name = feri-ma server string = %h server (Koczka) dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d encrypt passwords = true passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\ pam password change = yes map to guest = bad user usershare allow guests = yes [homes] comment = Home Directories browseable = no read only = no create mask = 0700 directory mask = 0700 valid users = %S [Vezetok] comment = Vezetők területe path = /var/samba/vezetok browseable = yes create mask = 0700 directory mask = 0700 valid users = janos, eva read only = yes write list = janos, eva force user = root force group = root [Kozos] comment = Közös terület path = /var/samba/kozos browseable = yes create mask = 0700 directory mask = 0700 public = yes read only = no force user = root force group = root
Restart script:
#!/bin/bash stop nmbd stop smbd sleep 1 start smbd start nmbd
Futtatási jog beállítása:
chmod 755 restart
A csoportok felvétele a /etc/group fájlban történik:
vezetok:x:500:feri,bela,pal,janos raktarosok:x:501:feri,bela,pal,janos,zsolt,eva,ilona
Exim4 Konfigurálása
##################################################### # Exim4 minimal smarthost configuration # # Ferenc Koczka, feri@koczka.hu 20101003 # ##################################################### QUALIFY_DOMAIN = feri.ma.ektf.hu LOCAL_INTERFACES = 192.168.32.200 LOCAL_DOMAINS = feri.ma.ektf.hu SMARTHOST_SERVER = gemini.ektf.hu SMARTHOST_PORT = 25 SMARTHOST_LOGIN = SMARTHOST_PASS = MAX_CONNECTIONS = 1 MAX_CONNECTION_FROM_SAME_HOST = 1 SMTP_BANNER = ${primary_hostname} Microsoft ESMTP MAIL Service, Version: 6.0.3790.0 ready at ${tod_full} BINPATH = /usr/sbin/exim4 SPOOLDIR = /var/spool/exim4 LOCAL_DELIVERY=maildir_home exim_path = BINPATH domainlist local_domains = LOCAL_DOMAINS qualify_domain = QUALIFY_DOMAIN local_interfaces = LOCAL_INTERFACES smtp_accept_max = MAX_CONNECTIONS smtp_accept_queue_per_connection = MAX_CONNECTION_FROM_SAME_HOST print_topbitchars = true gecos_pattern = ^([^,:]*) gecos_name = $1 acl_smtp_rcpt = acl_check_rcpt acl_smtp_data = acl_check_data host_lookup = * rfc1413_hosts = * rfc1413_query_timeout = 5s ignore_bounce_errors_after = 2d timeout_frozen_after = 7d freeze_tell = postmaster spool_directory = SPOOLDIR trusted_users = uucp smtp_banner = SMTP_BANNER helo_allow_chars = _ helo_accept_junk_hosts = 0.0.0.0/0 daemon_smtp_ports = 25 ############################################# # ACL szekció # ############################################# begin acl acl_check_rcpt: accept hosts = LOCAL_INTERFACES deny message = relay not permitted acl_check_data: accept ############################################# # Routers # ############################################# # ORDER DOES MATTER # ############################################# begin routers .ifdef SMARTHOST_SERVER smart_host_relay: driver = manualroute route_list = !+local_domains SMARTHOST_SERVER transport = remote_smtp .endif dnslookup: debug_print = "R[dnslookup]: dnslookup for $local_part@$domain" driver = dnslookup domains = ! +local_domains transport = remote_smtp same_domain_copy_routing = yes #ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 : 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 no_more system_aliases: debug_print = "R[system_aliases]: system_aliases for $local_part@$domain?" driver = redirect domains = +local_domains allow_fail allow_defer pipe_transport = address_pipe data = ${lookup{$local_part}lsearch{/etc/aliases}} file_transport = address_file userforward: debug_print = "R[userforward]: userforward for $local_part@$domain" driver = redirect domains = +local_domains check_local_user file = $home/.forward no_verify no_expn check_ancestor allow_filter directory_transport = address_directory file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply skip_syntax_errors syntax_errors_to = real-$local_part@$domain syntax_errors_text = Error in your .forward file. local_user: debug_print = "R[local_user]: local_user for $local_part@$domain" driver = accept domains = +local_domains check_local_user local_parts = ! root transport = LOCAL_DELIVERY ############################################# # Transports # ############################################# # ORDER DOES NOT MATTER # ############################################# begin transports address_file: debug_print = "T: address_file for $local_part@$domain" driver = appendfile delivery_date_add envelope_to_add return_path_add address_pipe: debug_print = "T: address_pipe for $local_part@$domain" driver = pipe return_fail_output address_reply: debug_print = "T: autoreply for $local_part@$domain" driver = autoreply maildir_home: debug_print = "T: maildir_home for $local_part@$domain" driver = appendfile directory = $home/Maildir delivery_date_add envelope_to_add return_path_add maildir_format mode = 0600 mode_fail_narrower = false remote_smtp: debug_print = "T: remote_smtp for $local_part@$domain" driver = smtp .ifdef SMARTHOST_SERVER hosts_try_auth = SMARTHOST_SERVER hosts_require_auth = SMARTHOST_SERVER port = SMARTHOST_PORT .endif #interface = 79.172.211.115 address_directory: debug_print = "T: address_directory for $local_part@$domain" driver = appendfile envelope_to_add = true return_path_add = true check_string = "" escape_string = "" maildir_format ############################################# # Retry # ############################################# begin retry * * F,2h,15m; G,16h,1h,1.5; F,4d,6h ############################################# # Rewrite # ############################################# begin rewrite *@+local_domains ${lookup{${local_part}}lsearch{/etc/email-addresses}\ {$value}fail} Ffrs ############################################# # Authentikáció # ############################################# begin authenticators .ifdef SMARTHOST_LOGIN login: driver = plaintext public_name = LOGIN client_send = ": SMARTHOST_LOGIN : SMARTHOST_PASS" fixed_plain: driver = plaintext public_name = PLAIN client_send = ^SMARTHOST_LOGIN^SMARTHOST_PASS .endif