lpi1:sql
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| lpi1:sql [2012/10/11 08:36] – [Alle Benutzer wie in ''/etc/passwd'' ausgeben] ingo_wichmann | lpi1:sql [2015/08/17 13:07] (aktuell) – [Dokumentation] ingo_wichmann | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Installation Pakete ====== | ====== Installation Pakete ====== | ||
| - | SuSE, Debian: | + | SuSE, Debian: |
| - | | + | |
| - | CentOS: | + | CentOS: |
| - | | + | |
| ====== Unix Benutzer in SQLite Datenbank überführen ====== | ====== Unix Benutzer in SQLite Datenbank überführen ====== | ||
| Zeile 19: | Zeile 17: | ||
| Aufbau gemäß ''/ | Aufbau gemäß ''/ | ||
| - | sqlite3 accounts.db <<SQL | ||
| <code sql> | <code sql> | ||
| + | sqlite3 accounts.db <<SQL | ||
| + | |||
| CREATE TABLE users ( | CREATE TABLE users ( | ||
| uid text, | uid text, | ||
| Zeile 30: | Zeile 29: | ||
| shell text | shell text | ||
| ); | ); | ||
| + | |||
| + | SQL | ||
| </ | </ | ||
| - | SQL | ||
| ==== Benutzer importieren ==== | ==== Benutzer importieren ==== | ||
| Zeile 44: | Zeile 44: | ||
| SQL INSERT Statement zum Einfügen der Daten in die Tabelle '' | SQL INSERT Statement zum Einfügen der Daten in die Tabelle '' | ||
| - | cat << | ||
| <code sql> | <code sql> | ||
| + | cat << | ||
| + | |||
| INSERT INTO users ( uid, password, uidNumber, gidNumber, gecos, home, shell ) | INSERT INTO users ( uid, password, uidNumber, gidNumber, gecos, home, shell ) | ||
| VALUES ( ' | VALUES ( ' | ||
| + | |||
| + | SQL | ||
| </ | </ | ||
| - | SQL | ||
| === Mit '' | === Mit '' | ||
| Zeile 66: | Zeile 68: | ||
| Für die ''/ | Für die ''/ | ||
| - | sqlite3 accounts.db << | ||
| <code sql> | <code sql> | ||
| - | | + | sqlite3 accounts.db <<SQL |
| - | CREATE TABLE members ( gidNumber integer, uid text ); | + | |
| + | CREATE TABLE groups ( gid text, password text, gidNumber integer ); | ||
| + | CREATE TABLE members ( gidNumber integer, uid text ); | ||
| + | |||
| + | SQL | ||
| </ | </ | ||
| - | SQL | ||
| ==== Gruppen importieren ==== | ==== Gruppen importieren ==== | ||
| Zeile 116: | Zeile 120: | ||
| ==== Das Skript in einer Datei ==== | ==== Das Skript in einer Datei ==== | ||
| - | '' | + | <file bash unix_users2sql.sh> |
| - | <code bash> | + | |
| #!/bin/bash | #!/bin/bash | ||
| Zeile 165: | Zeile 168: | ||
| done | done | ||
| done < /etc/group | sqlite3 accounts.db | done < /etc/group | sqlite3 accounts.db | ||
| - | </code> | + | </file> |
| ==== Der fertige SQL-Dump ==== | ==== Der fertige SQL-Dump ==== | ||
| Zeile 231: | Zeile 234: | ||
| ===== einfache SELECT Abfragen ===== | ===== einfache SELECT Abfragen ===== | ||
| ==== Alle Benutzer in ''/ | ==== Alle Benutzer in ''/ | ||
| + | <code sql> | ||
| analog zu | analog zu | ||
| cat /etc/passwd | cat /etc/passwd | ||
| - | <code sql> | ||
| ==== Benutzer root ausgeben ==== | ==== Benutzer root ausgeben ==== | ||
| <code sql> | <code sql> | ||
| + | analog zu | ||
| + | grep ' | ||
| ==== Shell des Benutzers root ausgeben ==== | ==== Shell des Benutzers root ausgeben ==== | ||
| <code sql> | <code sql> | ||
| + | analog zu | ||
| + | grep ' | ||
| ==== Benutzer nach Name sortiert ausgeben ==== | ==== Benutzer nach Name sortiert ausgeben ==== | ||
| - | <code sql> | + | <code sql> |
| + | analog zu | ||
| + | sort -n -t: -k3 /etc/passwd | ||
| ==== Anzahl der Benutzer ausgeben ==== | ==== Anzahl der Benutzer ausgeben ==== | ||
| <code sql> | <code sql> | ||
| + | analog zu | ||
| + | wc -l /etc/passwd | ||
| ==== Wie viele Benutzer verwenden welche Shell ? ==== | ==== Wie viele Benutzer verwenden welche Shell ? ==== | ||
| <code sql> | <code sql> | ||
| + | analog zu | ||
| + | cut -d : -f 7 / | ||
| ===== JOIN ===== | ===== JOIN ===== | ||
| Alle Benutzer, ihre Passwörter und ihre primäre Gruppe namentlich ausgeben | Alle Benutzer, ihre Passwörter und ihre primäre Gruppe namentlich ausgeben | ||
| Zeile 295: | Zeile 305: | ||
| ===== Subselect ===== | ===== Subselect ===== | ||
| - | Die Durchschnitt der Gruppennummern aus der Tabelle '' | + | Den Durchschnitt der Gruppennummern aus der Tabelle '' |
| <code sql> | <code sql> | ||
| select avg(gidNumber) from users; | select avg(gidNumber) from users; | ||
| Zeile 325: | Zeile 335: | ||
| ====== Datenbank verändern ====== | ====== Datenbank verändern ====== | ||
| - | ===== Tabellen | + | ===== Datensätze |
| ==== Zeile hinzufügen ==== | ==== Zeile hinzufügen ==== | ||
| Gruppe mit neuer uidNumber hinzufügen | Gruppe mit neuer uidNumber hinzufügen | ||
| Zeile 332: | Zeile 342: | ||
| INSERT INTO groups SELECT * FROM groups WHERE gid = ' | INSERT INTO groups SELECT * FROM groups WHERE gid = ' | ||
| ==== Zeile verändern ==== | ==== Zeile verändern ==== | ||
| - | UPDATE groups SET gid = ' | + | UPDATE groups SET gid = ' |
| ==== Zeile löschen ==== | ==== Zeile löschen ==== | ||
| DELETE FROM groups WHERE gid = ' | DELETE FROM groups WHERE gid = ' | ||
| Zeile 353: | Zeile 363: | ||
| ====== Dokumentation ====== | ====== Dokumentation ====== | ||
| * [[http:// | * [[http:// | ||
| - | * {{: | + | * {{: |
lpi1/sql.1349944564.txt.gz · Zuletzt geändert: 2012/10/11 08:36 von ingo_wichmann
