Versuchen Sie es mit normaler Linux-Programmierung Teil 4

Es scheint ein berühmtes Buch zu sein, also habe ich es gekauft <a target = "_ blank" href = "https://www.amazon.co.jp/gp/product/4797328355/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4797328355&linkCode=as2&tag=lespacetr2f2 > Normale Linux-Programmierung Der königliche Weg zur gcc-Programmierung, der aus dem Mechanismus von Linux gelernt werden kann <img src = "// ir-jp.amazon-adsystem.com/e/ir?t=lespacetranqu-22&l=am2&o=9&a=4797328355" "width =" 1 "height =" 1 "border =" 0 "alt =" "style =" border: none! Wichtig; Rand: 0px! Wichtig; "/> <a target = "_ blank" href = "https://www.amazon.co.jp/gp/product/B075ST51Y5/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B075ST51Y5&linkCode=as2&a0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > Gewöhnliche Linux-Programmierung 2. Ausgabe: Der königliche Weg der gcc-Programmierung, der aus dem Mechanismus von Linux gelernt werden kann <img src = "// ir-jp.amazon-adsystem.com/e/ir?t=lespacetranqu-22&l=am2&o=" 9 & a = B075ST51Y5 "width =" 1 "height =" 1 "border =" 0 "alt =" "style =" border: none! Wichtig; Rand: 0px! Wichtig; "/>

Versuchen Sie es mit normaler Linux-Programmierung Teil 1 https://qiita.com/uturned0/items/b9ae846f2aff5865c074 Versuchen Sie es mit normaler Linux-Programmierung Teil 2 https://qiita.com/uturned0/items/56beac990cdd6f1059ed Versuchen Sie es mit normaler Linux-Programmierung Teil 3 https://qiita.com/uturned0/items/675092da8aa89c4b1ff0 Teil 4 https://qiita.com/uturned0/items/8f5765cfc0f0be8a1981 Teil 5 https://qiita.com/uturned0/items/ab97deb489c994a836da


Chapter 4

Stellen Sie sich das Verzeichnis als "eine Datei vor, die Informationen über andere Dateien aufzeichnet".

Wenn das Verzeichnis -x ist, kann unabhängig von den darin enthaltenen Dateiberechtigungen nicht darauf zugegriffen werden. Grundsätzlich ist dir immer + x Sie können nicht einfach + r haben

Ist das so? Ich habe versucht, chmod 644, aber ich konnte die Dateiliste in dir normal sehen. Die darin enthaltene Datei kann nichts lesen. Die Dateiliste kann mit r angezeigt werden. Der Inhalt der Datei selbst kann jedoch nicht ohne x angezeigt werden. Ah, ist das so? Also sei.

Zugriff durch Benutzer A = Zugriff durch Prozess von Benutzer A. Da Benutzer A durch Prozess dargestellt wird, wird er als Zertifikat oder Berechtigungsnachweis bezeichnet. Ich bin ein Zertifikat, das mit der Erlaubnis von Benutzer A funktioniert. Notizbuch der Polizei.

Ich mache einen Prozess beim Anmelden. Die Kredit-Encials werden in den untergeordneten Prozess kopiert.

Wenn es sich um Centos handelt, beginnt Bash beim Anmelden. Es ist schnell zu sehen. Der Benutzername sei "tanuki".

$ pstree -u tanuki
git-credential-

sshd───bash───tail        <--------Dies ist eine Eltern-Kind-Beziehung

bash

Das Interessante daran ist, dass sshd von root gestartet wird und kurz vor dem Bash nach dem Login ein untergeordneter Benutzer geworden ist.

$ ps -aef --forest -u tanuki
root     119287      1  0 Jul20 ?        00:00:00 /usr/sbin/sshd -D
root      37261 119287  0 22:42 ?        00:00:00  \_ sshd: tanuki [priv]
tanuki  37265  37261  0 22:42 ?        00:00:00      \_ sshd: tanuki@pts/0
tanuki  37266  37265  0 22:42 pts/0    00:00:00          \_ -bash
tanuki  37335  37266  0 22:42 pts/0    00:00:00              \_ tail -f /var/log/messages

Was auch immer Tanuki danach tut, er wird vorerst einen Prozess mit Tanukis Credits machen.

4.2 Shell / Terminal

tty = Teletype = Ein Terminal, das jetzt ein- und ausgegeben werden kann (Anzeige) Eine Ära, in der Computer weder Monitore noch Tastaturen haben Die Eingabe ist Papierband, die Ausgabe wird mit einem Drucker auf Papier gedruckt Zeichenterminal = Eine Ära, in der eine Tastatur angeschlossen war, der Bildschirm jedoch wie eine gerade 8 einer Digitaluhr war (Pegel vor Auflösung) Was wurde wie eine Flüssigkristallanzeige Software-Simulation des Terminals Selbst wenn es sich weiterentwickelt, ist alles tty = terminal Ein Terminal mit Tastatureingabe und Bildschirm als Set

Konsole und Terminal haben fast die gleiche Bedeutung

Linux hat eine virtuelle Konsole. Es kann mit Strg + Alt + F1 ~ 6 umgeschaltet werden.

Der Zugriff muss jedoch von einem physischen Computer aus erfolgen, nicht remote. Mit ssh nicht möglich.

https://qiita.com/Kernel_OGSun/items/bdccbe8bc4092f33b43e

Neben a-z 0-9 enthält der ASCII-Zeichencode noch weitere mysteriöse Zeichen

DEL, BS, LF, TAB usw. Dient zum Bedienen des Zeichenterminals. Es ist ein Zeichencode wie a-Z, der Zeichen anzeigt, aber BS hat die Zeichen gelöscht Obwohl es sich um einen Zeichencode handelt, enthält er einen Anweisungscode! Es war nur eine Tabelle, was zu tun war, als dies kam. Etwas, das nicht nur für Briefe gedacht war, wurde auf diese Weise verwendet. Hallo.

Die Centos, die ich jetzt benutze, hatten 64 ttys und 4 ttySs.

$ ll /dev/tty*
crw-rw-rw- 1 root tty     5,  0 2020-11-04 09:34:24 /dev/tty
crw--w---- 1 root tty     4,  0 2020-07-16 18:30:24 /dev/tty0
crw--w---- 1 root tty     4,  1 2020-07-16 18:30:32 /dev/tty1
crw--w---- 1 root tty     4, 10 2020-07-16 18:30:24 /dev/tty10
crw--w---- 1 root tty     4, 11 2020-07-16 18:30:24 /dev/tty11
crw--w---- 1 root tty     4, 12 2020-07-16 18:30:24 /dev/tty12
crw--w---- 1 root tty     4, 13 2020-07-16 18:30:24 /dev/tty13
crw--w---- 1 root tty     4, 14 2020-07-16 18:30:24 /dev/tty14
crw--w---- 1 root tty     4, 15 2020-07-16 18:30:24 /dev/tty15
crw--w---- 1 root tty     4, 16 2020-07-16 18:30:24 /dev/tty16
crw--w---- 1 root tty     4, 17 2020-07-16 18:30:24 /dev/tty17
crw--w---- 1 root tty     4, 18 2020-07-16 18:30:24 /dev/tty18
crw--w---- 1 root tty     4, 19 2020-07-16 18:30:24 /dev/tty19
crw--w---- 1 root tty     4,  2 2020-07-16 18:30:24 /dev/tty2
crw--w---- 1 root tty     4, 20 2020-07-16 18:30:24 /dev/tty20
crw--w---- 1 root tty     4, 21 2020-07-16 18:30:24 /dev/tty21
crw--w---- 1 root tty     4, 22 2020-07-16 18:30:24 /dev/tty22
crw--w---- 1 root tty     4, 23 2020-07-16 18:30:24 /dev/tty23
crw--w---- 1 root tty     4, 24 2020-07-16 18:30:24 /dev/tty24
crw--w---- 1 root tty     4, 25 2020-07-16 18:30:24 /dev/tty25
crw--w---- 1 root tty     4, 26 2020-07-16 18:30:24 /dev/tty26
crw--w---- 1 root tty     4, 27 2020-07-16 18:30:24 /dev/tty27
crw--w---- 1 root tty     4, 28 2020-07-16 18:30:24 /dev/tty28
crw--w---- 1 root tty     4, 29 2020-07-16 18:30:24 /dev/tty29
crw--w---- 1 root tty     4,  3 2020-07-16 18:30:24 /dev/tty3
crw--w---- 1 root tty     4, 30 2020-07-16 18:30:24 /dev/tty30
crw--w---- 1 root tty     4, 31 2020-07-16 18:30:24 /dev/tty31
crw--w---- 1 root tty     4, 32 2020-07-16 18:30:24 /dev/tty32
crw--w---- 1 root tty     4, 33 2020-07-16 18:30:24 /dev/tty33
crw--w---- 1 root tty     4, 34 2020-07-16 18:30:24 /dev/tty34
crw--w---- 1 root tty     4, 35 2020-07-16 18:30:24 /dev/tty35
crw--w---- 1 root tty     4, 36 2020-07-16 18:30:24 /dev/tty36
crw--w---- 1 root tty     4, 37 2020-07-16 18:30:24 /dev/tty37
crw--w---- 1 root tty     4, 38 2020-07-16 18:30:24 /dev/tty38
crw--w---- 1 root tty     4, 39 2020-07-16 18:30:24 /dev/tty39
crw--w---- 1 root tty     4,  4 2020-07-16 18:30:24 /dev/tty4
crw--w---- 1 root tty     4, 40 2020-07-16 18:30:24 /dev/tty40
crw--w---- 1 root tty     4, 41 2020-07-16 18:30:24 /dev/tty41
crw--w---- 1 root tty     4, 42 2020-07-16 18:30:24 /dev/tty42
crw--w---- 1 root tty     4, 43 2020-07-16 18:30:24 /dev/tty43
crw--w---- 1 root tty     4, 44 2020-07-16 18:30:24 /dev/tty44
crw--w---- 1 root tty     4, 45 2020-07-16 18:30:24 /dev/tty45
crw--w---- 1 root tty     4, 46 2020-07-16 18:30:24 /dev/tty46
crw--w---- 1 root tty     4, 47 2020-07-16 18:30:24 /dev/tty47
crw--w---- 1 root tty     4, 48 2020-07-16 18:30:24 /dev/tty48
crw--w---- 1 root tty     4, 49 2020-07-16 18:30:24 /dev/tty49
crw--w---- 1 root tty     4,  5 2020-07-16 18:30:24 /dev/tty5
crw--w---- 1 root tty     4, 50 2020-07-16 18:30:24 /dev/tty50
crw--w---- 1 root tty     4, 51 2020-07-16 18:30:24 /dev/tty51
crw--w---- 1 root tty     4, 52 2020-07-16 18:30:24 /dev/tty52
crw--w---- 1 root tty     4, 53 2020-07-16 18:30:24 /dev/tty53
crw--w---- 1 root tty     4, 54 2020-07-16 18:30:24 /dev/tty54
crw--w---- 1 root tty     4, 55 2020-07-16 18:30:24 /dev/tty55
crw--w---- 1 root tty     4, 56 2020-07-16 18:30:24 /dev/tty56
crw--w---- 1 root tty     4, 57 2020-07-16 18:30:24 /dev/tty57
crw--w---- 1 root tty     4, 58 2020-07-16 18:30:24 /dev/tty58
crw--w---- 1 root tty     4, 59 2020-07-16 18:30:24 /dev/tty59
crw--w---- 1 root tty     4,  6 2020-07-16 18:30:24 /dev/tty6
crw--w---- 1 root tty     4, 60 2020-07-16 18:30:24 /dev/tty60
crw--w---- 1 root tty     4, 61 2020-07-16 18:30:24 /dev/tty61
crw--w---- 1 root tty     4, 62 2020-07-16 18:30:24 /dev/tty62
crw--w---- 1 root tty     4, 63 2020-07-16 18:30:24 /dev/tty63
crw--w---- 1 root tty     4,  7 2020-07-16 18:30:24 /dev/tty7
crw--w---- 1 root tty     4,  8 2020-07-16 18:30:24 /dev/tty8
crw--w---- 1 root tty     4,  9 2020-07-16 18:30:24 /dev/tty9
crw--w---- 1 root tty     4, 64 2020-07-16 18:30:32 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 2020-07-16 18:30:23 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 2020-07-16 18:30:23 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 2020-07-16 18:30:23 /dev/ttyS3

ttyS * ist root: dialout. Ansonsten root: tty. Die Nummer scheint fest zu sein.

Die erste virtuelle Konsole war / dev / tty0. / Dev / ttyS0 war für Rs-232C. Historisch gesehen war alles für den Anschluss von Terminals. Wurde Unix verwendet, um 64 Teile physisch zu verbinden?

Als ich dachte, dass etwas nicht stimmt, war mein SSH anders

$ tty
/dev/pts/1

Es gab eine Gerätedatei, deren Anzahl sich je nach Anzahl der Verbindungen änderte

$ ll /dev/pts/*
crw--w---- 1 usera tty  136, 0 2020-11-04 23:09:36 /dev/pts/0
crw--w---- 1 usera tty  136, 1 2020-11-04 23:09:44 /dev/pts/1
crw--w---- 1 root     tty  136, 2 2020-11-04 22:43:36 /dev/pts/2
c--------- 1 root     root   5, 2 2020-07-16 18:30:22 /dev/pts/ptmx

Tastatur-> (Eingabe des Kernels) -> Terminal-Treiber-> (Verlassen des Kernels) -> -> Prozess

Das Terminal wird zu einer Datei, nur zu einem Gerät, zu einem Prozess als Stream, der für das Dateisystem sichtbar klingelt

Die Shell ist wahrscheinlich nur ein Stream, der einen Stream vom Terminal (Tastatur) empfängt und ausführt. Gibt $ oder etwas nur zurück, wenn der Stream mit dem Terminal verbunden ist

finished chapter 4

Recommended Posts

Versuchen Sie es mit normaler Linux-Programmierung Teil 7
Versuchen Sie es mit normaler Linux-Programmierung Teil 3
Versuchen Sie es mit normaler Linux-Programmierung Teil 4
Versuchen Sie es mit normaler Linux-Programmierung Teil 6
Versuch einer normalen Linux-Programmierung Teil 1
Lesen Sie die normale Linux-Programmierung (nur Teil 1).
[Für Memo] Linux Teil 2
Linux Standard Lehrbuch Teil 5
Linux Standard Lehrbuch Teil 4
Versuchen Sie, mit einer Shell zu programmieren!
Linux Standard Lehrbuch Memo 1 Teil 2
Verstärkungslernen 5 Versuchen Sie, CartPole zu programmieren?
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 2)
Ton erzeugen durch Programmieren von Teil 2
Linux Standard Lehrbuch Memo Teil 6
[Linux Convenience-Befehl] Versuchen Sie, exa einzufügen
Versuchen Sie es mit Pillow auf iPython (Teil 1)
[Für Memo] Linux Part 1 vi Editor
Versuchen Sie, OpenAM unter Amazon Linux zu installieren
Versuchen Sie es mit Pillow auf iPython (Teil 2)
Versuchen Sie es mit TensorFlow Part 2
Probieren Sie den Linux-Kernel-Sperrmechanismus aus
[Linux Convenience-Befehl] Versuchen Sie, csview einzufügen
Versuchen Sie es mit Pillow auf iPython (Teil 3).
[Bequemer Linux-Befehl] Versuchen Sie, bat einzufügen
Versuchen Sie, Linux-Befehle zu kompilieren (Cross-Compilation-Praxis)