Heim System-Tutorial LINUX Detaillierte Erläuterung des Shell-Funktionsprinzips und der Linux-Berechtigungen

Detaillierte Erläuterung des Shell-Funktionsprinzips und der Linux-Berechtigungen

Feb 09, 2024 pm 02:39 PM
linux linux教程 linux系统 linux命令 shell脚本 overflow eingebettetes Linux Erste Schritte mit Linux Linux-Lernen

Linux ist streng genommen der Kern eines Betriebssystems. Mit anderen Worten: Normale Benutzer können den Kern nicht direkt aufrufen. Um mit dem Kern zu kommunizieren, müssen wir das „Shell“-Programm des Kerns, auch Shell genannt, durchlaufen. Shell ist ein Befehlszeileninterpreter, der vom Benutzer eingegebene Befehle empfängt und sie in vom System ausgeführte Operationscodes umwandelt. Shell kann je nach Befehlstyp unterschiedliche Systemfunktionen aufrufen, um unterschiedliche Vorgänge auszuführen. Daher können wir Shell verwenden, um eine Vielzahl von Befehlen und Vorgängen auszuführen, um das System zu steuern und zu verwalten. Kurz gesagt fungiert die Shell als Brücke zwischen dem Benutzer und dem zugrunde liegenden Kernel.

Wie ist das zu verstehen? Warum können wir den Kernel nicht direkt verwenden?

Aus technischer Sicht umfasst die einfachste Definition von Shell: Befehlsinterpreter (Befehlsinterpreter) hauptsächlich:

将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。
Nach dem Login kopieren
shell 运行原理和 Linux 权限详解

Hinweis: Shell ist der Sammelname für alle Shell-Programme und Bash ist eine bestimmte Shell. Zum Beispiel: Centos 7-Shell: bash

  • Im Vergleich zur Windows-GUI bedienen wir beim Bedienen von Windows nicht direkt den Windows-Kernel, sondern klicken durch die grafische Oberfläche, um unsere Vorgänge abzuschließen (um beispielsweise das Laufwerk D einzugeben, doppelklicken wir normalerweise auf den Laufwerksbuchstaben D). Oder führen Sie eine Anwendung aus.
  • Die Shell hat die gleiche Funktion für Linux, hauptsächlich das Parsen unserer Anweisungen und das Parsen der Anweisungen an den Linux-Kernel. Die Feedback-Ergebnisse werden durch den Kernel geleitet und über die Shell für den Benutzer analysiert.
  • Wie Shell funktioniert
shell是做命令行解释的
对系统有危害性的命令会被阻止从而保护操作系统
其好处为子进程出现任何问题都不会影响父进程shell
Nach dem Login kopieren
  • Hilfe zum Verständnis:
  • Wenn Sie ein langweiliger und schüchterner Programmierer sind, dann ist Shell wie ein Heiratsvermittler
  • Der Betriebssystemkernel ist die hübsche Blume in Ihrem Dorf, die Ihr Herz höher schlagen lässt.
  • Sie haben sich in Xiaohua verliebt, aber es ist Ihnen zu peinlich, direkt zu gestehen. Dann lassen Sie Ihre Familie einen Heiratsvermittler finden, der Ihnen bei Ihrem Heiratsantrag hilft
  • Sie kommunizieren über alles direkt mit dem Heiratsvermittler und der Heiratsvermittler wird Xiaohua Ihre Gedanken mitteilen
  • Und wir fanden heraus, dass der Nachname der Heiratsvermittlerin Wang war, also nannten wir sie Wang Po, was dem Bash entspricht, den wir oft verwenden.
  1. Linux-Berechtigungen

2.1 Das Konzept der Berechtigungen

  • Unter Linux gibt es zwei Arten von Benutzern: Superuser (Root) und normale Benutzer.
  • Superuser: Kann alles ohne Einschränkungen unter dem Linux-System tun
  • Normale Benutzer: Führen Sie unter Linux nur begrenzte Dinge aus.
  • Die Eingabeaufforderung des Superusers lautet „#“ und die Eingabeaufforderung des normalen Benutzers lautet „$“.
shell 运行原理和 Linux 权限详解
  • Benutzerwechselbefehl

Befehl: su [Benutzername]

Funktion: Benutzer wechseln.

Um beispielsweise vom Root-Benutzer zum normalen Benutzer zu wechseln, verwenden Sie su user. Um vom normalen Benutzer zum Root-Benutzer zu wechseln, verwenden Sie suroot (root kann weggelassen werden). Zu diesem Zeitpunkt werden Sie vom System aufgefordert, das Kennwort des Root-Benutzers einzugeben.

shell 运行原理和 Linux 权限详解
  • Zu Root wechseln: Verwenden Sie su -, wir können zum Root-Benutzer wechseln (geben Sie zu diesem Zeitpunkt das Root-Kontokennwort ein, das Kennwort wird nicht auf dem Bildschirm angezeigt)
  • Zurück zu einem normalen Benutzer wechseln: Verwenden Sie su – Benutzername, um zu einem normalen Benutzer zurückzukehren (zu diesem Zeitpunkt ist die Eingabe eines Passworts nicht erforderlich, wir empfehlen jedoch nicht, auf diese Weise zurückzuschalten, da bei Verwendung des Befehls su – mehr Bash-Prozesse ausgeführt werden wird erstellt)
  • Es wird empfohlen, zum normalen Benutzer zurückzukehren: Geben Sie „Exit“ ein oder drücken Sie Strg+D, um zum normalen Benutzer zurückzukehren

2.2 Berechtigungsverwaltung

  • Was sind Berechtigungen

Berechtigungen bestimmen im Wesentlichen, ob jemand etwas tun kann.

  • Für Menschen: Ich bin zum Beispiel der Eigentümer dieses Hauses, also kann ich das Haus frei betreten und verlassen
  • Zielgerichtete Dinge: Ich möchte einen Computer essen, ich möchte League of Legends auf Brot spielen und einen Film ansehen. Sie können Brot essen, aber Computer nicht. Sie können Brot essen, aber Sie können keine Computer essen.

Dateien werden von Personen beeinflusst und Dateien werden von ihren eigenen Merkmalen (Eigenschaften von Dingen) beeinflusst, also Dateiberechtigungen = Personen + Attribute von Dingen

Dateiberechtigungsattribute: r (Lesen), w (Schreiben), x (Ausführungsberechtigung)

Person (keine bestimmte Person, sondern eine Rolle): Eigentümer, Gruppe, Andere (Andere)

  • Klassifizierung der Dateibesucher (Personen)
  • Der Eigentümer der Datei und des Dateiverzeichnisses: u – Benutzer (chinesisches Zivilrecht)
  • Der Benutzer der Gruppe, zu der der Eigentümer der Datei und des Dateiverzeichnisses gehört: g – Gruppe (nicht viel zu sagen)
  • Andere Benutzer: o – Andere (Ausländer)
  • Dateitypen und Zugriffsberechtigungen (Dingeigenschaften)
shell 运行原理和 Linux 权限详解

"

Verwenden Sie den Befehl ls -l (ll), um den Dateityp anhand des Zeichens zu unterscheiden, das der ersten Spalte des angezeigten mehrspaltigen Attributs entspricht.

shell 运行原理和 Linux 权限详解

Es besteht keine Notwendigkeit, „Andere“ aufzulisten, da es sich um „Andere“ handelt, wenn es sich nicht um den Eigentümer oder die Gruppe handelt, zu der es gehört

Helfen Sie zu verstehen – Eigentümer und Gruppe

Nehmen wir ein einfaches Beispiel: Zwei Projektteams müssen die gleiche Codeaufgabe erledigen. Sie konkurrieren miteinander, aber das Unternehmen stellt ihnen nur einen Server zur Verfügung Sie haben es geschrieben. Es darf nur für Sie und Ihren Teamleiter sichtbar sein, nicht für Ihre Konkurrenzgruppe. Dadurch entsteht das Konzept der Zugehörigkeitsgruppe.

shell 运行原理和 Linux 权限详解

Dateityp

  • d: Ordner
  • -: Gewöhnliche Datei
  • l: Softlink (ähnlich der Windows-Verknüpfung)
  • b: Gerätedateien blockieren (z. B. Festplatte, optisches Laufwerk usw.)
  • p: Pipe-Datei
  • c: Zeichengerätedatei (z. B. Bildschirm und andere serielle Geräte)
  • s: Socket-Datei
shell 运行原理和 Linux 权限详解
  • Grundlegende Berechtigungen

i. Lesen (r/4): Für Dateien hat „Lesen“ die Berechtigung, den Dateiinhalt zu lesen; für Verzeichnisse hat es die Berechtigung, die Verzeichnisinformationen zu durchsuchen

ii. Schreiben (w/2): Für Dateien hat Write die Berechtigung, den Dateiinhalt zu ändern; für Verzeichnisse hat es die Berechtigung, Dateien im verschobenen Verzeichnis zu löschen

iii. Ausführen (x/1): Für Dateien hat „Ausführen“ die Berechtigung, die Datei auszuführen; für Verzeichnisse hat es die Berechtigung, das Verzeichnis zu betreten

iv. „-“ bedeutet, dass Sie nicht über die Berechtigung verfügen

shell 运行原理和 Linux 权限详解

2.3 Darstellungsmethode des Dateiberechtigungswerts

Charakterdarstellung

Linux bedeutet Anleitung Linux Anleitung
r – – Nur lesen – w – Nur schreiben
– – x Nur ausführbare Datei r w – Lesbar und beschreibbar
– w x Schreibbar und ausführbar r – x Lesbar und ausführbar
r w x Lesbar, beschreibbar und ausführbar ––– Keine Erlaubnis

Wie man Oktalwerte darstellt

Berechtigungssymbol (Lesen, Schreiben, Ausführen) Oktal binär
r 4 1 0 0
w 2 0 1 0
x 1 0 0 1
r w 6 1 1 0
r x 5 1 0 1
w x 3 0 1 1
r w x 7 1 1 1
– – – 0 0 0 0
shell 运行原理和 Linux 权限详解

权限更改

$ chmod 777 text.c
$ chmod 000 text.c
$ chmod 640 text.c
Nach dem Login kopieren
shell 运行原理和 Linux 权限详解

2.4 文件访问权限的相关设置方法

chmod

  • 功能:设置文件的访问权限
  • 格式:chmod [参数] 权限 文件名
  • 常用选项:

R -> 递归修改目录文件的权限

说明:只有文件的拥有者和 root 才可以改变文件的权限

  • chmod 命令权限值得格式

① 用户表示符 +/-= 权限字符

  • +: 向权限范围增加权限代号所表示的权限
  • -: 向权限范围取消权限代号所表示的权限
  • =: 向权限范围赋予权限代号所表示的权限
    用户符号:
  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

示例:

shell 运行原理和 Linux 权限详解

注意:chmod 可以给拥有者,所属组,其他用户同时修改权限,中间用逗号隔开

如果要修改不是自己的文件的时候需要 sudo 临时权限提升或者直接切成 root 身份

  • sudo chmod 用户表示符 +/-= 权限字符 文件名

chown

功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名

实例:

$ sudo chown root test.c// 修改拥有者
$ sudo chown lighthouse test.c// 修改拥有者
$ sudo chown :lighthouse test.c// 修改所属组
$ sudo chown lighthouse:lighthouse test.c// 可以将拥有者、所属组同时修改
$ sudo chown root:root test.c// 可以将拥有者、所属组同时修改
Nach dem Login kopieren
shell 运行原理和 Linux 权限详解

chgrp

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组

实例:

$ sudo chgrp root text.c
$ sudo chgrp lighthouse text.c
Nach dem Login kopieren
shell 运行原理和 Linux 权限详解

2.4 修改文件的掩码

umask

功能:查看或修改文件掩码

语法:umask 权限值

shell 运行原理和 Linux 权限详解

新建文件夹默认权限 = 0666

新建目录默认权限 = 0777

shell 运行原理和 Linux 权限详解

但是我们观察到,新建的文件和目录并不是默认的起始权限,这里是什么原因呢?

原因就是创建文件或目录的时候还要受到 umask 的影响。假设默认权限是 mask,则实际创建的出来的文件权限是:umask & ~umask

shell 运行原理和 Linux 权限详解
  • 我们也可以通过修改文件的 umask 码值来修改文件的权限:
shell 运行原理和 Linux 权限详解

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022,普通用户默认为 0002。

2.5 file 指令

file

功能说明:辨识文件类型。

语法:file [选项] 文件或目录…

常用选项:

-c 详细显示指令执行过程,便于排错或分析程序执行的情形。

-z 尝试去解读压缩文件的内容。

shell 运行原理和 Linux 权限详解
  1. 目录权限

面试题:进入一个目录要什么权限?

  • 可读权限: 如果目录没有可读权限,则无法用 ls 等命令查看目录中的文件内容.
  • 可写权限: 如果目录没有可写权限,则无法在目录中创建文件, 也无法在目录中删除文件.
  • 可执行权限:如果没有目录可执行权限,则无法 cd 到目录中
x
r
w
Nach dem Login kopieren
  1. 粘滞位

新发现:

就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.我创建的一个文件, 凭什么被你一个外人可以删掉

shell 运行原理和 Linux 权限详解

结论

如果目录本身对 other 具有 w 权限,other 可以删掉任何目录下的东西
如果目录本身对 other 没有 w 权限,other 则不可以删除

我们的需求:other 可以在特定的目录下创建文件并写入,但是不想让任何人删除掉自己的文件

这里为了解决这个不科学的问题,Linux 引入了粘滞位的概念

粘滞位

语法:chmod +t 目录名

功能:给目录加上粘滞位

注意

Es kann nur für Verzeichnisse festgelegt werden und schränkt im Allgemeinen andere Berechtigungen ein. Bei Verzeichnissen mit gesetztem Sticky-Bit können nur der Besitzer der Datei und der Root-Benutzer sie in diesem Verzeichnis löschen, andere können sie nicht löschen

Beispiel:

shell 运行原理和 Linux 权限详解

Wenn mehrere Personen anwesend sind oder das System über viele temporäre Daten verfügt, werden alle temporären Dateien im /tmp-Verzeichnis des Systems abgelegt. Alle Berechtigungen müssen freigegeben werden, aber wenn Sie möchten, dass der Dateieigentümer nur seine eigenen Dateien löscht, müssen Sie das Sticky-Bit setzen

  1. Zusammenfassung
  • Die ausführbaren Berechtigungen eines Verzeichnisses geben an, ob Sie Befehle in dem Verzeichnis ausführen können.
  • Wenn das Verzeichnis nicht über – )
  • verfügt
  • Und wenn das Verzeichnis über -x-Berechtigungen, aber nicht über -r-Berechtigungen verfügt, kann der Benutzer Befehle ausführen und in das Verzeichnis wechseln. Aber weil es keine Leseberechtigung für das Verzeichnis gibt
  • Selbst wenn Sie den Befehl ls im Verzeichnis ausführen können, verfügen Sie daher immer noch nicht über die Berechtigung, die Dokumente im Verzeichnis zu lesen.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Shell-Funktionsprinzips und der Linux-Berechtigungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Feb 19, 2025 pm 04:54 PM

Deepseek ist ein leistungsstarkes Intelligent -Such- und Analyse -Tool, das zwei Zugriffsmethoden bietet: Webversion und offizielle Website. Die Webversion ist bequem und effizient und kann ohne Installation verwendet werden. Unabhängig davon, ob Einzelpersonen oder Unternehmensnutzer, können sie massive Daten über Deepseek problemlos erhalten und analysieren, um die Arbeitseffizienz zu verbessern, die Entscheidungsfindung zu unterstützen und Innovationen zu fördern.

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Feb 21, 2025 pm 08:42 PM

Bitget ist eine Kryptowährungsbörse, die eine Vielzahl von Handelsdienstleistungen anbietet, darunter Spot -Handel, Vertragshandel und Derivate. Der 2018 gegründete Austausch hat seinen Hauptsitz in Singapur und verpflichtet sich, den Benutzern eine sichere und zuverlässige Handelsplattform zu bieten. Bitget bietet eine Vielzahl von Handelspaaren, einschließlich BTC/USDT, ETH/USDT und XRP/USDT. Darüber hinaus hat der Austausch einen Ruf für Sicherheit und Liquidität und bietet eine Vielzahl von Funktionen wie Premium -Bestellarten, gehebelter Handel und Kundenunterstützung rund um die Uhr.

Holen Sie sich das Installationspaket Gate.io kostenlos Holen Sie sich das Installationspaket Gate.io kostenlos Feb 21, 2025 pm 08:21 PM

Gate.io ist ein beliebter Kryptowährungsaustausch, den Benutzer verwenden können, indem sie sein Installationspaket herunterladen und auf ihren Geräten installieren. Die Schritte zum Abholen des Installationspakets sind wie folgt: Besuchen Sie die offizielle Website von Gate.io, klicken Sie auf "Download", wählen Sie das entsprechende Betriebssystem (Windows, Mac oder Linux) und laden Sie das Installationspaket auf Ihren Computer herunter. Es wird empfohlen, die Antiviren -Software oder -Firewall während der Installation vorübergehend zu deaktivieren, um eine reibungslose Installation zu gewährleisten. Nach Abschluss muss der Benutzer ein Gate.io -Konto erstellen, um es zu verwenden.

Ouyi OKX Installationspaket ist direkt enthalten Ouyi OKX Installationspaket ist direkt enthalten Feb 21, 2025 pm 08:00 PM

Ouyi Okx, die weltweit führende digitale Asset Exchange, hat jetzt ein offizielles Installationspaket gestartet, um ein sicheres und bequemes Handelserlebnis zu bieten. Auf das OKX -Installationspaket von Ouyi muss nicht über einen Browser zugegriffen werden. Der Installationsprozess ist einfach und einfach zu verstehen.

Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Mar 31, 2025 pm 11:54 PM

So setzen Sie die Berechtigungen von Unixsocket automatisch nach dem Neustart des Systems. Jedes Mal, wenn das System neu startet, müssen wir den folgenden Befehl ausführen, um die Berechtigungen von Unixsocket: sudo ...

Ouyi Exchange Download Official Portal Ouyi Exchange Download Official Portal Feb 21, 2025 pm 07:51 PM

Ouyi, auch bekannt als OKX, ist eine weltweit führende Kryptowährungsplattform. Der Artikel enthält ein Download -Portal für das offizielle Installationspaket von Ouyi, mit dem Benutzer den Ouyi -Client auf verschiedenen Geräten installiert werden können. Dieses Installationspaket unterstützt Windows, Mac, Android und iOS -Systeme. Nach Abschluss der Installation können sich Benutzer registrieren oder sich beim Ouyi -Konto anmelden, Kryptowährungen mit dem Handel mit den von der Plattform erbrachten Diensten anmelden.

See all articles