Essayez la programmation Linux normale, partie 4

Cela semble être un livre célèbre alors je l'ai acheté <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=lespacetranb7397f2902f2397f3b3b > Programmation Linux ordinaire La voie royale de la programmation gcc qui peut être apprise du mécanisme de Linux <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! Important; margin: 0px! Important; "/> <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&tag=aaa55pacetran15 > Programmation Linux ordinaire 2ème édition: La voie royale de la programmation gcc qui peut être apprise du mécanisme de Linux <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! Important; margin: 0px! Important; "/>

Essayez la programmation Linux normale Partie 1 https://qiita.com/uturned0/items/b9ae846f2aff5865c074 Essayez la programmation Linux normale Partie 2 https://qiita.com/uturned0/items/56beac990cdd6f1059ed Essayez la programmation Linux normale Partie 3 https://qiita.com/uturned0/items/675092da8aa89c4b1ff0 Partie 4 https://qiita.com/uturned0/items/8f5765cfc0f0be8a1981 Partie 5 https://qiita.com/uturned0/items/ab97deb489c994a836da


Chapter 4

Pensez au répertoire comme "un fichier qui enregistre des informations sur d'autres fichiers"

Si le répertoire est -x, il n'est pas accessible quelles que soient les autorisations de fichier qu'il contient. Fondamentalement, dir est toujours + x Tu ne peux pas juste avoir + r

Est-ce vrai? J'ai essayé chmod 644, mais je pouvais voir la liste des fichiers dans dir normalement. Le fichier à l'intérieur ne peut rien lire. La liste des fichiers peut être visualisée avec r. Mais le contenu du fichier lui-même ne peut pas être vu sans x. Ah, c'est vrai? Alors soyez.

Accès par l'utilisateur A = Accès par le processus de l'utilisateur A. Puisque l'utilisateur A est représenté par un processus, il est appelé un certificat ou un justificatif. Je suis un certificat qui fonctionne avec l'autorisation de l'utilisateur A. Cahier de police.

J'effectue un processus lors de la connexion. Les encials de crédit sont copiés dans le processus enfant.

S'il s'agit de centos, bash démarrera à la connexion. C'est rapide à voir. Soit le nom d'utilisateur «tanuki».

$ pstree -u tanuki
git-credential-

sshd───bash───tail        <--------C'est une relation parent-enfant

bash

Ce qui est intéressant à ce sujet, c'est que sshd est démarré par root et est devenu un utilisateur enfant juste avant bash après la connexion.

$ 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

Pour le moment, peu importe ce que fait tanuki après cela, il fera essentiellement un processus avec les encaissements de crédit de tanuki.

4.2 coque / terminal

tty = Teletype = Un terminal qui peut maintenant entrer / sortir (affichage) Une époque où les ordinateurs n'ont ni moniteurs ni claviers L'entrée est une bande de papier, la sortie est imprimée sur du papier avec une imprimante Terminal de caractères = Une époque où un clavier était attaché mais l'écran ressemblait à un 8 droit d'une horloge numérique (niveau avant résolution) Ce qui est devenu comme un écran à cristaux liquides Simulation logicielle du terminal Même s'il évolue, tout tty = terminal Un terminal avec entrée de clé et écran sous forme d'ensemble

console et terminal ont presque la même signification

linux a une console virtuelle. Il peut être commuté avec ctrl + alt + F1 ~ 6.

Cependant, l'accès doit se faire à partir d'une machine physique et non à distance. Pas possible avec ssh.

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

Il y a d'autres caractères mystérieux dans le code de caractère ASCII en plus de a-z 0-9

DEL, BS, LF, TAB, etc. Utilisé pour faire fonctionner le terminal de caractères. C'est un code de caractère comme a-Z qui affiche les caractères, mais BS a effacé les caractères Bien qu'il s'agisse d'un code de caractère, il contient un code d'instruction! C'était juste un tableau de ce qu'il fallait faire quand cela arrivait. Les choses qui ne sont pas uniquement destinées aux lettres sont désormais utilisées de cette façon. Hey.

Les centos que j'utilise maintenant avaient 64 ttys et 4 ttyS.

$ 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 * est root: dialout. Sinon root: tty. Le nombre semble fixe.

La première console virtuelle était / dev / tty0. / Dev / ttyS0 était pour Rs-232C Historiquement, c'était tout pour connecter des terminaux. Unix a-t-il été utilisé dans l'image de la connexion physique de 64 pièces?

Quand je pensais que quelque chose n'allait pas, mon ssh était différent

$ tty
/dev/pts/1

Un fichier de périphérique a changé de nombre en fonction du nombre de connexions

$ 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

keyboard-> (entrant dans le noyau) -> pilote de terminal-> (sortant du noyau) -> -> process

Le terminal devient un fichier, juste un périphérique, un processus sous forme de flux, sonnant comme visible par le système de fichiers

Le shell est probablement juste un flux qui reçoit et exécute un flux depuis le terminal (clavier). Renvoie $ ou quelque chose uniquement si le flux est connecté au terminal

finished chapter 4

Recommended Posts

Essayez la programmation Linux normale, partie 7
Essayez la programmation Linux normale, partie 3
Essayez la programmation Linux normale, partie 4
Essayez la programmation Linux normale, partie 6
Essayer la programmation Linux normale Partie 1
Lire la programmation Linux normale (partie 1 uniquement)
[Pour mémoire] Linux Partie 2
Manuel standard Linux partie 5
Manuel standard Linux partie 4
Essayez de programmer avec un shell!
Mémo 1 du manuel standard Linux, partie 2
Apprentissage par renforcement 5 Essayez de programmer CartPole?
Essayez d'utiliser SQLAlchemy + MySQL (partie 2)
Faire du son en programmant la partie 2
Mémo du manuel standard Linux, partie 6
[Commande de commodité Linux] Essayez d'insérer exa
Essayez d'utiliser Pillow sur iPython (partie 1)
[Pour mémoire] Éditeur Linux Partie 1 vi
Essayez d'installer OpenAM sur Amazon Linux
Essayez d'utiliser Pillow sur iPython (partie 2)
Essayez l'apprentissage en profondeur avec TensorFlow Partie 2
Essayez le mécanisme de verrouillage du noyau Linux
[Commande de commodité Linux] Essayez d'insérer csview
Essayez d'utiliser Pillow sur iPython (partie 3)
[Commande pratique Linux] Essayez d'insérer bat
Essayez de compiler des commandes Linux (pratique de compilation croisée)