„Ubuntu szerver alaptelepítés (Fossa)” változatai közötti eltérés

Innen: AdminWiki
a (Szerepnév beállítása)
a (A home könyvtárak átköltöztetése)
99. sor: 99. sor:
 
Ezeket a kis méretű ''root'' partícióról permanensen a ''/var''-ba helyezzük át, és symlinkeljük:
 
Ezeket a kis méretű ''root'' partícióról permanensen a ''/var''-ba helyezzük át, és symlinkeljük:
 
<pre>mv /home /var/home; ln -s /var/home /home</pre>
 
<pre>mv /home /var/home; ln -s /var/home /home</pre>
 +
===A sysadmin felhasználó beállításainak módosítása===
 +
A ''sysadmin'' alapvetően nem interaktív felhasználó, hanem egy indirekt belépés a ''root'' jogosultság eléréséhez, így nem hagyjuk, hogy a shelljére vonatkozó beállításokat megváltoztassa:
 +
<pre>export user='sysadmin'
 +
chmod 440 /home/$user/.bashrc; chattr +i /home/$user/.bashrc
 +
chmod 440 /home/$user/.bash_logout; chattr +i /home/$user/.bash_logout
 +
chmod 440 /home/$user/.profile; chattr +i /home/$user/.profile</pre>
 +
Ezután készítsük elő a ''sysadmin'' számára a nyilvános kulcsú távoli bejelentkezéshez szükséges állományokat:
 +
<pre>export user='sysadmin'
 +
mkdir -m 500 /home/$user/.ssh
 +
chown $user:$user /home/$user/.ssh
 +
touch /home/$user/.ssh/authorized_keys2
 +
chown $user:$user /home/$user/.ssh/authorized_keys2
 +
chmod 400 /home/$user/.ssh/authorized_keys2
 +
chattr +i /home/$user/.ssh/authorized_keys2</pre>
 +
A fenti beállításokkal csak a ''root'' tud a ''sysadmin'' felhasználó nevében történő bejelentkezéshez szükséges kulcsokat felvenni (az ''immutable'' bit levétele után).

A lap 2020. május 2., 00:29-kori változata

Ebben a leírásban Ubuntu Focal Fossa (20.04 LTS) szervergép grafikus felület és specifikus szolgáltatások nélküli alaptelepítését végezzük el. Az eljárás "bármilyen" szerverre alkalmazható. Ez a leírás elsősorban technikai (checklist jellegű), az elméleti megfontolásokat az Ubuntu szerver házirend tartalmazza.

Előfeltételek

  • Működő hardver, konzol hozzáférés, tudjon CD-ről bootolni és lásson ki (védett, NAT-olt) hálózaton keresztül az Internetre. DHCP használata ajánlatos.
  • Megfelelő architektúrájú Ubuntu Server boot DVD - 64 bites (Intel) CPU és legalább 2 GB RAM esetén a 64 bites lemezképet használjuk!

Telepítési beállítások

Ez a szakasz a telepítő DVD-ről bootolva a telepített rendszer első tényleges indulásáig tart, a védett hálózatra(!) csatlakozó telepítendő gép számára működő Internet kapcsolatot igényel.

Konzolról:

  • Magyar nyelvű telepítés
  • Magyar keyboard layout és variant
  • Hálózat beállítása - ha automatikusan nem ismerné fel, IPv4 lehetőleg DHCP-vel
  • HTTP proxy általában nem szükséges
  • A felajánlott Ubuntu (apt) tükörszerver általában megfelelő
  • Lemezek particionálása (custom storage layout) - itt mindenféle hitvita lehetséges, de a biztonsági minimum a boot, root, tmp, var, usr elkülönítése, hogy ezeket más-más paraméterekkel lehessen mountolni. Hagyományos merevlemezt csak redundánsan legalább software RAID-1 vagy RAID-5-ben üzemeltessünk (kivéve csak backup tárterület), SSD esetén is hajlanék a RAID-1 használatára (bár ezen vitatkoznak).

Particionálási séma két, software RAID-1-ben üzemelő SSD vagy TB nagyságrendű hagyományos merevlemez esetén:

sda sdb md megjegyzés
sda1 200 MB RAID boot sdb1 200 MB RAID boot md0 RAID-1 ext4 /boot boot partíció
sda2 2-4 GB RAID sdb2 2-4 GB RAID md1 RAID-1 [swap] cserehely (0,5x - 1x - 2x RAM)
sda3 2-4-8 GB RAID sdb2 2-4-8 GB RAID md2 RAID-1 ext4 /tmp tmp partíció, akkor érdemes nagyobb mértűre venni, ha backup-restore jellegű műveletek várhatóak.
sda5 2-4-8 GB RAID sdb5 2-4-8 GB RAID md3 RAID-1 ext4 / root partíció, 2G is elég lehet
sda6 4-8 GB RAID sdb6 4-8 GB RAID md4 RAID-1 ext4 /usr usr partíció, 4G általában elég
sda7 1-2 GB RAID sdb7 1-2 GB RAID md5 RAID-1 ext4 /srv/chroot opcionális partíció, pl. jail-ben üzemeltetett bind (cache-only DNS szerver) számára.
sda8 X GB RAID sdb8 X GB RAID md6 RAID-1 ext4 /var
(1% fenntartott blokk elegendő)
var partíció, a maradék tárterület (adatbázis, www, Samba, backup, etc. számára). Opcionálisan tovább osztható.

Ha a rendszerlemez kicsi (pl. single SSD vagy SSD/RAID-1), a "nagy" tárterületet pl. az alábbiak szerint definiálhatjuk:

sdc sdd md megjegyzés
sdc1 X GB RAID sdd1 X GB RAID mdX RAID-1 ext4 vagy lvm2-ext4 /mnt/storage
(1% fenntartott blokk elegendő)
szolgáltatási tárterület (www, Samba, backup, stb. számára). Opcionálisan tovább osztható.

TODO!

  • Az első (UID = 1001, sudo-képes) felhasználó neve legyen egységes, pl. név: Administrator, login: sysadmin (az admin név a telepítő futásakor foglalt), a jelszó egyelőre lehet triviális pl. adminpass.
  • Kérjük az SSH szerver telepítését.
  • Szoftverválasztás és telepítés (snap) - a telepíthető szoftverek közül egyelőre egyik sem kell, mert mi okosabbak vagyunk, mint egy ötödikes... :).

Ezután megtörténik a telepítés, majd a DVD eltávolítása után a telepített rendszer első indítása.

A frissen telepített rendszer beállításai

A telepítést kényelmesebb SSH-n bejelentkezve folytatni. Mivel telepítéskor gyakorlatilag állandóan rendszergazdaként dolgozunk, érdemes a sudo -i paranccsal permanens root konzolra váltani, így nem szükséges minden parancs előtt a sudo begépelése.

Alap segédeszközök

A felső sor mindenképpen szükséges, az alsó sorban foglalt eszközöket részemről ugyancsak alapvetőeknek gondolom.

apt install pwgen unzip zip
apt install links mc tofrodos # + néhány függőség

Konzol szövegszerkesztő beállítása

Bár az alaptelepített nano teljesen használható, részemről az mcedit-et preferálom - opcionálisan legyen ez az alapértelmezett editor; ugyanitt állítsuk be, hogy az alapértelmezett (pl. az ls kimenetében megjelenő) dátum formátuma a locale szerinti helyett parse-olhatóbb legyen:

-rw-r--r-- root root /etc/profile.d/custom.sh

# Custom editor.
export EDITOR="/usr/bin/mcedit"

# More parseable ls -la format.
export TIME_STYLE="long-iso"

A Midnight Commanderben hasznos beállítani (mc, F9, Beállítások, Alapbeállítások) a saját szövegszerkesztő használatát (F9, Beállítások, Saját szövegszerkesztő, OK). Az mcedit-ben (F9, Beállítások, Általános) az új sorban automatikus behúzást (ha be lenne kapcsolva) és a látható tabulátorokat(!) kikapcsolni, végül az mc beállításokat elmenteni (F9, Beállítások, Beállítások mentése).

Szerepnév beállítása

Amennyiben a gép hostname által mutatott elnevezése mellett létezik annak valamilyen szerepneve, és ezt szeretnénk a konzol promptban megjeleníteni (pl. mert jellemzőbb, mint az esetleg technikai hostnév), akkor az alábbiak szerint azonosan szerkesszük meg

  • a sysadmin felhasználó,
  • a root felhasználó,
  • illetve a később létrehozandó felhasználók számára elkészített template .bashrc állományokat

(a ROLE_NAME-et mindenütt helyettesítsük a kívánt szerepnévvel):

-rw-r--r-- sysadmin sysadmin /home/sysadmin/.bashrc
-rw-r--r-- root root /root/bashrc
-rw-r--r-- root root /etc/skel/.bashrc

[...]
if [ "$color_prompt" = yes ]; then
    [...]
fi
unset color_prompt force_color_prompt

# Include the server role string.
PS1=${PS1/@\\h/@\\h (ROLE_NAME)}
[...]

A következő bejelentkezéstől kezdve a konzol promptban a szerepnév is megjelenik, pl. így:

root@x206-kdzwy54 (testing):~#

A home könyvtárak átköltöztetése

Ezeket a kis méretű root partícióról permanensen a /var-ba helyezzük át, és symlinkeljük:

mv /home /var/home; ln -s /var/home /home

A sysadmin felhasználó beállításainak módosítása

A sysadmin alapvetően nem interaktív felhasználó, hanem egy indirekt belépés a root jogosultság eléréséhez, így nem hagyjuk, hogy a shelljére vonatkozó beállításokat megváltoztassa:

export user='sysadmin'
chmod 440 /home/$user/.bashrc; chattr +i /home/$user/.bashrc
chmod 440 /home/$user/.bash_logout; chattr +i /home/$user/.bash_logout
chmod 440 /home/$user/.profile; chattr +i /home/$user/.profile

Ezután készítsük elő a sysadmin számára a nyilvános kulcsú távoli bejelentkezéshez szükséges állományokat:

export user='sysadmin'
mkdir -m 500 /home/$user/.ssh
chown $user:$user /home/$user/.ssh
touch /home/$user/.ssh/authorized_keys2
chown $user:$user /home/$user/.ssh/authorized_keys2
chmod 400 /home/$user/.ssh/authorized_keys2
chattr +i /home/$user/.ssh/authorized_keys2
A fenti beállításokkal csak a root tud a sysadmin felhasználó nevében történő bejelentkezéshez szükséges kulcsokat felvenni (az immutable bit levétele után).