Poznámky a postupy k Linuxu
poznámkový blok především k bashi na Debianu 10 / 11
Zobrazení volné RAMky
free -m
-m udává, že se má velikost zobrazovat v MB
headless Debian 10 žere někde kolem 100MB :)
Chmod (oprávnění k adresáři / souboru)
- super kalkulátor - pokud si nepamatujete ty často užívané (+ je to dost pohodlné :D
- oprávnění se nastavuje příznaky pro uživatele, skupinu a ostatní
- uživatel = vlastník souboru (viz
chown
) - skupina = ostatní uživatelé se stejnou skupinou jakou má vlastník
- ostatní = všichni ostatní
Zobrazení IP adresy
ip a
zobrazí i interfaces a MAC adresy
Změna hostname
viz tento návod
sudo hostnamectl set-hostname novynazev sudo nano /etc/hosts hostname
v hosts za lokalhosta napsat svůj hostname, např.:
127.0.0.1 localhost 192.168.0.2 server.nekde.cz server
Nastavení statické / dynamické IP
- v souboru
/etc/network/interfaces
#DHCP auto eth0 iface eth0 inet dhcp
#static IP iface eth0 inet static address 192.168.0.10 netmask 255.255.255.0 gateway 192.168.0.1
Práce s ufw
sudo apt update sudo apt install ufw sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw enable sudo ufw status numbered sudo ufw allow from 192.168.0.0/24 to any port 8080
rsync + SSH bez hesla (se souborem klíče)
- k čemu je to dobré:
- chcete pravidelně kopírovat obsah adresáře XY ze stroje A do stroje B
- použijete k tomu rsync, který to provádí skrze SSH
- pokud se to nezařídí rsync se vždy zeptá na heslo do vzdáleného stroje
(takže to nejde použít ve skriptu a jste namydlení)
- jak na to:
- zařídit přístup do vzdáleného stroje
- na vzdáleném stroji založit uživatele, pod kterým se bude přistupovat bez hesla
- tohle není nutné pokud již takový uživatel existuje
- bacha na to, že tento uživatel musí mít domácí adresář (volba
-m
) a nezapomeňte mu nastavit i nějaké pěkné heslo
sudo useradd -m sshbezhesla sudo passwd sshbezhesla
- na místním stroji vytvořit pár ssh klíčů (veřejný - soukromý)
- zde heslo necháme prázdné
ssh-keygen -t rsa -b 4096 -C "nejaky.nas@mail.xy"
usr@srv:~$ ls -la ~/.ssh/ total 20 drwx------ 2 usr usr 4096 Jun 6 20:23 . drwxr-xr-x 7 usr usr 4096 Jun 6 20:17 .. -rw------- 1 usr usr 3381 Jun 6 20:17 id_rsa -- soukromý klíč -rw-r--r-- 1 usr usr 745 Jun 6 20:17 id_rsa.pub -- veřejný klíč
- zkopírovat veřejný klíč na vzdálený stroj (ip např. 192.168.0.123)
- verze jednoduchá:
ssh-copy-id sshbezhesla@192.168.0.123
- verze průhlednější:
scp id_rsa.pub sshbezhesla@192.168.0.123:/home/sshbezhesla/ ssh sshbezhesla@192.168.0.123 cat id_rsa.pub >> .ssh/authorized_keys
- ověřit že ssh na vzdálený stroj již nevyžaduje heslo
ssh sshbezhesla@192.168.0.123
- při volání rsync použít ssh klíč (parametr
-e
s voláním ssh s využitím soukromého klíče)rsync -e "ssh -i /home/usr/.ssh/id_rsa" sshbezhesla@192.168.0.123:/nejaky_vzdaleny_adresar/ /nejaky_mistni_adresar/
rsync a nastavení vlastníka
- zálohujete nějakou strukturu na svůj stroj a chcete, aby
- to bylo rekurzivně (parametr
-r
) - se zachoval datum poslední modifikace (parametr
-t
) - se zachovaly linky atp. (parametry
-l
a-D
) - se vynechaly prázdné adresáře (parametr
-m
) - se nastavil vlastník "nobody:nogroup"
- no a s tím posledním je docela patálie (hezky popsaná tady)
–chown=nobody:nogroup
totiž nefunguje, pokud se zároveň ještě nenastaví:- parametr
-o
pro přenos vlastníka - uživatele - parametr
-g
pro přenos vlastníka - skupiny - parametr
–super
kdy se rsync snaží tvářit jako by byl na vzdáleném stroji superuživatel (což být nemusí a nevadí to)
- ještě pozn.: lze to řešit také jen pro uživatele nebo jen pro skupinu
- pak se použijí parametry
–usermap=*:nobody
+-o –super
nebo–groupmap=*:nogroup
+-g –super
- parametr
–chown
je zkratkou na obojí dohromady
- takže nějak takhle:
rsync -rtmlDog --super --chown=nobody:nogroup ...
Základní práce s VIM
- editor má 3 režimy:
- příkazový - stisknu klávesu a ono to něco udělá; v tomhle se spustí
- vkládání - chová se jako normální editor; sem se dostanu stiskem klávesy
i
a opustím jej klávesouescape
- příkazová řádka - sem se dostanu stisknutím
dvojtečky
- příkazy na příkazové řádce:
:q
= pryč (pokud byly provedeny změny, nedovolí to):q!
= pryč bez uložení změn:w
= zapíše změny do souboru:wq
= zapíše změny a opustí editor
- pěkný článek o práci s VIM editorem
Diskuze