Vorlesung Folien nach Carsten Gnörlich Technische Fakultät Universität Bielefeld Winteresemester 2016 1 / 13
anzeigen Traditionell ist UNIX ein Mehrbenutzersystem. Recall: Jeder User (= ) hat eine (oder mehrere) Gruppen. Meine Gruppe anzeigen: > groups Alle User anzeigen: > compgen -u Alle Gruppen anzeigen: > compgen -g 2 / 13
anzeigen...oder so: > getent passwd Zeigt: username:password:uid:gid:name (und mehr)......wobei Group ID Hauptgruppe heißt. (Z.B. users oder staff) UID: User ID, GID: Group ID 3 / 13
anzeigen...oder so: > getent passwd Zeigt: username:password:uid:gid:name (und mehr)......wobei Group ID Hauptgruppe heißt. (Z.B. users oder staff) UID: User ID, GID: Group ID UID 1000: normale Nutzer 100 UID < 1000: reserviert für Systemaccounts 1 UID < 100: reserviert für bestimmte Systemaccounts UID 0: root Traditionell ist root der Superuser, der alle Rechte hat (Dateirechte setzen, anlegen...) 3 / 13
wechseln su juser : Werde zu juser. su : Werde zu root. Das ist gefährlich. Mit allen Rechten kann viel Schaden angerichtet werden. Allein durch Vertippen. (Daher auch der Name rootkit = Werkzeug um root su werden) 4 / 13
sudo Mittlerweile bevorzugt: sudo ( do as superuser ) Z.B. > sudo chmod ugo+rx /homes/juser oder > sudo kill -9 15676 Wer in /etc/sudoers steht, hat sudo-rechte. In manchen Systemen (Ubuntu, MacOS,...) hat der erste Nutzer automatisch sudo-rechte. 5 / 13
Dateien haben Zeitangaben Wir sahen schon, dass bei Dateien Zeiten angegeben sind: > ls -l -rw-r--r-- 1 frettloe user 6 Nov 18 10:10 datei.txt -rwxr--r-- 1 frettloe user 319 Nov 22 16:14 hsort.bash -rw------- 1 frettloe user 187 Nov 18 10:12 planeten2.... Intern gibt es für jede Datei drei Zeitangaben: atime (access time): zuletzt gelesen mtime (modify time): zuletzt geändert ctime (change time): interner Zugriff (z.b. auch Ändern der Zugriffsrechte, Umbenennen,...) ls -l zeigt mtime. 6 / 13
stat stat file zeigt alle Zeitangaben. frettloe@hopf57:~$ stat ttt.txt File: ttt.txt Size: 186 Blocks: 8 IO Block: 65536 Device: 2ch/44d Inode: 3966414948 Links: 1 Access: (0600/-rw-------) Uid: ( 4142/frettloe) Gid Access: 2016-12-05 11:32:30.472884767 +0100 Modify: 2016-12-05 11:36:40.166406774 +0100 Change: 2016-12-05 11:36:40.166406774 +0100 Birth: - 7 / 13
touch touch file setzt alle Zeitangaben auf jetzt. frettloe@hopf57:~$ touch ttt.txt frettloe@hopf57:~$ stat ttt.txt File: ttt.txt Size: 186 Blocks: 8 IO Block: 65536 Device: 2ch/44d Inode: 3966414948 Links: 1 Access: (0600/-rw-------) Uid: ( 4142/frettloe) Gid Access: 2016-12-05 17:10:59.629533649 +0100 Modify: 2016-12-05 17:10:59.629533649 +0100 Change: 2016-12-05 17:10:59.629533649 +0100 Birth: - Falls es file nicht gibt, wird es neu angelegt. 8 / 13
touch frettloe@hopf57:~$ touch xxx.txt frettloe@hopf57:~$ ls -l xxx.txt -rw------- 1 frettloe user 0 Dec 5 17:13 xxx.txt 9 / 13
Übersicht?time 10 / 13
Anzeigen mit date: frettloe@hopf57:~$ date Mon Dec 5 17:25:42 CET 2016 Intern wird die Zeit so gerechnet: Anzahl der Sekunden, die seit dem 1.1.1970 um 0:00:00 vergangen sind, bzgl UTC, aber ohne Schaltsekunden. UTC= Weltzeit, im Prinzip Greenwich-Zeit, also Mitteleuropäische (Winter-)Zeit minus eine Stunde. UTC wird mit Schaltsekunden an reale (astronomisch korrekte) Zeit angepasst, Unixzeit nicht. frettloe@hopf57:~$ date +%s 1480955143 11 / 13
Unixzeit Kuriosa 9. September 2001 um 1:46:40 UTC: Billennium, Unixzeit 1 000 000 000 13. Februar 2009 um 23:31:30: Unixzeit 1 234 567 890 14. Juli 2017 um 2:40:00: Unixzeit 1 500 000 000 12 / 13
Unixzeit Kuriosa 9. September 2001 um 1:46:40 UTC: Billennium, Unixzeit 1 000 000 000 13. Februar 2009 um 23:31:30: Unixzeit 1 234 567 890 14. Juli 2017 um 2:40:00: Unixzeit 1 500 000 000 19. Januar 2038 um 3:14:08: Unixzeit 2 31 1 32-bit Integer mit Vorzeichen reichen nicht mehr. 7. Februar 2106 um 6:28:15: Unixzeit 2 32 1 32-bit Integer ohne Vorzeichen reichen nicht mehr. 12 / 13
Unixzeit Kuriosa 9. September 2001 um 1:46:40 UTC: Billennium, Unixzeit 1 000 000 000 13. Februar 2009 um 23:31:30: Unixzeit 1 234 567 890 14. Juli 2017 um 2:40:00: Unixzeit 1 500 000 000 19. Januar 2038 um 3:14:08: Unixzeit 2 31 1 32-bit Integer mit Vorzeichen reichen nicht mehr. 7. Februar 2106 um 6:28:15: Unixzeit 2 32 1 32-bit Integer ohne Vorzeichen reichen nicht mehr. 4. Dezember 292 277 026 596 um 15:30:08: Unixzeit 2 63 1 64-bit Integer mit Vorzeichen reichen nicht mehr. 12 / 13
Ende der heutigen Vorlesung Vielen Dank fürs Zuhören! Bis nächste Woche! 13 / 13