CentOS Server
Installieren ganz normal
Nach der Installation:
Hostnamen festlegen
hostnamectl set-hostname centos-server.linux.local
Netzwerkkonfiguration
Es gibt skripte mit denen die Netzwerkkonfigurationen vorgenommen werden können.
/etc/sysconfig/network-scripts
Konfigdatei: ifcfg-eth0 (Kann unterschiedlich heißen)
in der Datei steht unter ONBOOT = no dadurch wird der DHCP beim Boot nicht geladen.
um die neuen Einstellungen zu aktivieren muss man den service neu starten.
service network restart
Statische IP-Adresse einstellen
ifcfg-eth0
BOOTPROTO=static
IPADDR=172.16.1.25
NETMASK=255.255.255.0
GATEWAY=172.16.1.1
#DEFROUTE=yes (auskommentieren)
#IPV6 (auskommentieren)
DNS Server Anlegen
/etc/resolf.conf
nameserver 8.8.8.8
Pfadparameter
which cat
gibt den Parameter zu dem Programm zurück. Damit kann man nachschauen, wo programme gespeichert werden.
Umgebgungsvariablen
$PATH
Umgebungsvariable anpassen
export PATH=$PATH:~/bin
Setzt die Variable auf den bisherigen Inhalt plus ~/bin
Diese Variable werden nur Temporär gespeichert
Damit auch überall die Umgebungsvariablen verwendet werden geht man folgendermaßen vor:
Ein Terminal hat Startup files in der das abgespeichert werden kann.
.bashrc
muss umb den Befehl export PATH=$PATH:~/bin
erweitert werden. Dann funktionert das überall.
Paketmanager
in CentOs wird Yum als Paketmanager verwendet
yum install htop
# Paketquelle aktualisieren
# Weiteres Reposotry
yum install epel-release
yum remove htop
yum downgrade htop # Vorherige version
yum search php # suchen
yum install https://abc.npm # Damit kann man direkt von einer Website eine Datei installieren
Texteditoren
Nano
Tastenkombination | Beschreibung |
Strg + g | Hilfe |
Strg + k | Ausschneiden |
Strg + U | Einfügen |
Strg + W | Suchen |
ALT + a |
Markieren |
ALT + U |
Rückgängig |
ALT + Y |
Highlighting ausschalten |
Nano Anpassen
/etc/nanorc (global)
Für den jeweiligen Benutzer kann man im Homeverzeichnis eine datei erstellen und Einstellungen vornehmen: .nanorc
- set regexp (Reguläre expressions beim suchen verwenden)
- .* um Wildcards zu verwenden
Syntax Highlighting
In CentOs muss das Highlighting durch Einkommentieren in der Datei: /etc/nanorc aktiviert werden
Vim
Tasten | Beschreibung |
i | Einfügen (Bearbeiten) |
A | Einfügen am ende der Zeile |
o | Neue Zeile einfügen |
O | Über dem Corser eine neue Zeile einfügen |
dd | löscht eine ganze Zeile |
3 dd | löscht 3 Zeilen auf einmal |
u | Rückgängig machen |
v | Visual Mode: Markieren |
d | Markierten bereich ausschneiden |
p oder P | zum einfügen |
y | Kopieren |
:set number | Zeigt die Zeilennummer an |
:set nonumber | Zeilennummern ausblenden |
:set nocp | erweiterter Modus |
Erweiterte Funktionen
:3 | Springt in die Zeile |
G | Spring in die Letze Zeile |
0 (null) | Springt zum ersten Zeichen einer Zeile |
:x | Speichern und schließen |
/gulu n N |
Suchen nach gulu zum nächsten suchergebnis zum vorherigen Suchergebnis |
:set ignorecase |
Groß und Kleinschreibung bei der Suche ignorieren |
|
Die wichtigsten Grundeinstellungen vornehmen: /home/benutzer/.vimrc
erstellen
- set nocp
- set number
- set ignorecase
Bessere vim version
sudo install vim-runtime
sudo install vim-gnome (Starten mit gvim)
Standardprogramme
update-alternatives --get-selections
(anzeigen)
sudo update-alternatives --config editor
(Editor bearbeiten)
Benutzerverwaltung
Befehl | Beschreibung |
sudo useradd asterix | Benutzer hinzufügen (nicht ideal, kein Homelaufwerk) |
sudo useradd -m -s /bin/bash -c "Kommentar" obelix |
Benutzer erstellen -m erstellt ein Homeverzeichnis -s legt die Standard Shell fest -c Erstellt einen Kommentar, im normalfall der Name |
sudo passwd asterix |
Erstellt ein Passwort für Asterix |
sudo cp -r /etc/skel /home/asterix |
Das Standard-Homeverzeichnis befindet sich in /etc/skel |
sudo chown -R asterix:asterix /home/asterix |
Das Homelaufwerk dem Nutzer asterix zuordnen |
sudo usermod -s /bin/bash -c "kommentar" asterix |
Um die restlichen Anpassungen vorzunehmen. Sie Erstellung obelix |
adduser falbala |
user erstellen mit Optionen /etc/adduser.conf |
deluser --remove-all-files falbala |
User löschen mit optionen |
Benutzerinformationen
/etc/passwd
Loginname:Passwort:User-ID:GruppenID:Kommentar:Home-verz.:Login-Shell
Passwort wird abgespeichert in
/etc/shadow
Loginname:Hashwert(InklusiveSalt):LetztePasswortänderung:Min.anzahl.Passwortänderung:maxanzahl.passwortänderungen:Warnungpasswortablauf:::
Shadow besser ansehen
chage -l asterix
Asterix anzeigen lassen
Gruppen
/etc/login.defs
alle Gruppen sind zu finden in
/etc/group
Befehl | |
groups | zeigt an in welcher gruppe der Benutzer ist |
groups hermann asterix | |
id | Zeigt den User an |
grep hermann /etc/group | Zeigt an in welchen Gruppen der User ist |
groupadd projekt_zaubertrank | erstellt eine neue Gruppe |
groupdell projekt_zaubertrank | löscht die Gruppe |
groupadd -g 20000 projekt_zaubertrank | erstellt eine Gruppe mit der ID 20000 |
groupadd projekt_hinkelstein | wenn schon gruppen ids angelegt sind, dann wird die id ab 20000 aufgezählt |
usermod -G projekt_zaubertrank asterix | fügt asterix der Gruppe hinzu |
usermod -g 10000 -G projekt_zaubertrank idefix |
fügt idefix zu Gruppe praktikanten und Zaubertrank hinzu g gibt die Hauptgruppe an G gibt weitere Gruppen an |
Dateien und Verzeichnisse
Befehle zum anzeigen von Verzeichnissen
ls -a |
Zeigt auch versteckte Dateien an |
ls -F |
Zeigt an um welche Einträge es sich handelt * Ausführbare Datei |
ls -t |
Nach Änderung sortieren |
ls -r |
Rückwärts sortieren |
ls -R |
Gesamtes Verzeichnis anzeigen |
ls -d |
Verzeichnisse anzeigen |
ls -ld /projekte |
Zeigt einen Eintrag genau an |
Links
ln liste.txt liste-hardlink.txt |
Erstellt einen Link liste-hardlink.txt auf die Datei liste.txt |
ln -s /projekte/projekt_zaubertrank/zutaten/liste.txt liste-absolut |
erstellt einen link liste-absolut auf die Datei liste (softlink) |
Archive
.tar |
Tape-Archiver ist ein Unkomprimiertes Archiv |
|
Datei Entpacken |
bzip2 firefox.tar |
Datei Komprimieren |
gzip -d firefox.tar.gz |
Datei entpacken |
tar -xf firefox.tar |
Datei entpacken |
tar -cf datei1.pdf datei2.pdf |
Dateien zu einem Archiv zusammenfügen (cf = create file) |
|
Pakt den Ordner firefox in ein Archiv und komprimiert mit gzip komprimierung mit bz2 |
|
Entpacken der jeweiligen Archive |
Zugriffsrechte
groupadd |
Gruppe hinzufügen |
/etc/group |
Gruppen bearbeiten |
chown miraculix:zaubertrank projekt_zaubertrank |
Verzeichniseigentümer ändern |
chmod u=rwx,g+w,o-rx /projekte/projekt_zaubertrank |
Besitzer: Alle rechte Gruppe erhält zusätzlich schreibrechte Welt werden lese und Ausführungsrechte entzogen |
chmod o= /projekte/projekt_zaubertrank |
Welt werden alle Rechte entzogen |
r = 4 w = 2 x = 1 |
chmod 750 User alles / gruppe lesen und ausführen / alle nix chmod 644 user lesen und schreiben / gruppe alle lesen |
chown -R |
um rekursiv zu ändern |
Finden
ls "02 - Erste Schritte"/ |
Pfad anzeigen |
ls * |
Zeigte alle unterodner und dateien im aktuellen Ordner an |
ls \*/\.\.txt |
Zeigt alle dateien mit Fhem in allen unterordnern an. |
find . -name "*.js" |
findet im aktuellen Pfad alles was im Namen ".js" enthält |
find . -size +1M |
findet alle Dateien die größer als 1 Megabyte sind |
find . -size +1M -and -name "*skype*" |
|
find . -name "*.JPG" -delete |
findet alle Bilder und löscht sie (-iname wenn die groß und kleinschreibnung ignoriert werden soll) |
find . -maxdepth 1 -and -name "*.jpg" -or -name "*.cr3" |
Dadurch wird nur der aktuelle Ordner durchsucht |
find . -iname "ubuntu*.iso" 2>/dev/null |
|
locate "*fhem*" |
Parameter: -i Groß und kleinschreibung |
sudo updatedb |
Datenbank von locate updaten |
locate -i --regex "ubuntu(.*).ISO" |
reguläre ausdrücke |
grep "money" * |
suche nach money im Ordner * |
grep -E -i 'Subject:(.*)money' * |
Sucht nach allem was Subject: irgendewas Money beinhaltet |
Ersetzen
mit dem Programm sed kann man inhalt in datein ersetzen
sed 's/Welt/Linux/' hallo.txt |
Ersetzt den Text Welt durch Linux s = ersetzen |
sed 's/Welt/Linux/g' hallo.txt |
g = ersetzt alles (global) |
mit dem Parameter -i wird die änderung gespeichert | |
sed "3d" hallo.txt |
Entfernt die 3. Zeile $d entfernt die letzte Zeile 2,3d entfernt Zeile 2 und 3 '/CentOS/d' entfernt Zeilen in denen CentOS vorkommt |
sed -n 's/Ubuntu/Kubuntu/p' hallo.text |
zeigt nur die änderungen auf der Konsole an. p = Zeigt Änderungen an -n = Zeigt den ganzen text nicht an |
Reguläre audrücke
sed -n 's/model/m/p' /proc/cpuinfo |
ersetzt Model durch m in der cpuinfo datei |
sed -n -E 's/model(\s*):(\s)//p' /proc/cpuinfo |
|
sed -n -E 's/model name(\s*):(.*)@(.*)/\2/p' /proc/cpuinfo |
\2 ersetzt den entfernten text mit der 2. Klammer |
Ausdrücke generieren: https://regexr.com
Bootloader bearbeiten
Datei die zu bearbeiten ist: /etc/default/grub
grub_timeout = Startmenü anzeigen
Änderungen übernehmen mti dem Befehl
grub-mkconfig -o /boot/grub/grub.cfg
CentOS
grub2-set-default 1 # setzt den Default wert auf 1
grub2-mkconfig -o /boot/grub2/grub.cfg
Partitionierung
/dev | Gerätedateien |
ls -l sd' |