Eine ausführbare Datei unter Linux erstellen
Voraussetzungen für die Ausführung von Dateien unter Linux
Als Unix-ähnliches Betriebssystem verwendet Linux Berechtigungen, um den Zugriff auf Dateien und Verzeichnisse zu kontrollieren. Um eine Datei unter Linux ausführen zu können, musst du über die entsprechenden Zugriffsberechtigungen verfügen. Dieser Abschnitt führt dich durch die wesentlichen Voraussetzungen für die Ausführung von Dateien unter Linux.
Dateirechte verstehen
Jede Datei und jedes Verzeichnis in Linux hat eine Reihe von Berechtigungen, die den Zugriff für drei Benutzergruppen steuern:
- Besitzer: Der Benutzer, der die Datei erstellt hat
- Gruppe: Benutzer, die der gleichen Gruppe wie der Eigentümer angehören
- Andere: Alle anderen Benutzer auf dem System
Diese Berechtigungen werden üblicherweise in einem bestimmten Format dargestellt: -rwxrwxrwx
. Jeder Buchstaben stellt eine Berechtigung dar:
-
r
(Lesen): Berechtigung zum Lesen des Inhalts der Datei -
w
(Schreiben): Berechtigung zum Ändern des Inhalts der Datei -
x
(Ausführen): Berechtigung zum Ausführen des Inhalts der Datei
Standardberechtigungen von Dateien
Wenn du eine neue Datei erstellst, erhält die Datei standardmäßig die folgenden Berechtigungen:
- Besitzer: rwx (Lesen, Schreiben, Ausführen)
- Gruppe: rw (Lesen, Schreiben)
- Andere: r (Lesen)
Das bedeutet, dass der Besitzer die Datei lesen, schreiben und ausführen kann, während Mitglieder der Gruppe sie lesen und schreiben, aber nicht ausführen können, und andere Benutzer die Datei nur lesen können.
Ausreichende Berechtigungen prüfen
Um eine Datei auszuführen, musst du über die Ausführen-Berechtigung für die Benutzergruppe verfügen, der du angehörst. Du kannst die Berechtigungen einer Datei mithilfe des ls -l
-Befehls prüfen:
$ ls -l myfile
-rw-r--r-- 1 user group 12345 Jul 8 10:09 myfile
In diesem Beispiel hat der Besitzer (user) die Berechtigungen rwx, die Gruppe (group) hat rw, und andere (Andere) haben nur r. Die erste Spalte zeigt an, dass die Datei noch keine Ausführbarkeit für Benutzer außerhalb der Gruppe und des Besitzers hat.
Für mehr Details, lies auch: Linux-Deinstallation: Schritt-für-Schritt-Anleitung zum Entfernen von Linux
chmod-Befehl: Zugriffsrechte ändern
Was ist chmod?
chmod ist ein Befehl in Linux-Systemen, mit dem du die Zugriffsrechte von Dateien und Verzeichnissen ändern kannst. Die Rechte bestimmen, wer lesen, schreiben oder eine Datei ausführen darf.
Syntax
Die Syntax von chmod lautet:
chmod [Berechtigungen] [Dateiname]
Dabei sind:
- Berechtigungen: Eine Kombination aus Buchstaben und Zahlen, die die Zugriffsrechte festlegen.
- Dateiname: Der Pfad zur Datei oder zum Verzeichnis, dessen Rechte du ändern möchtest.
Zugriffsrechte verstehen
chmod verwendet drei grundlegende Zugriffsrechte:
- r (Lesen): Ermöglicht das Lesen des Inhalts einer Datei oder das Auflisten des Inhalts eines Verzeichnisses.
- w (Schreiben): Ermöglicht das Erstellen, Ändern oder Löschen des Inhalts einer Datei oder das Erstellen neuer Dateien oder Verzeichnisse in einem Verzeichnis.
- x (Ausführen): Ermöglicht die Ausführung einer Datei oder den Zugriff auf ein Verzeichnis.
Berechtigungen festlegen
Du kannst die Zugriffsrechte für drei verschiedene Gruppen festlegen:
- Besitzer: Der Eigentümer der Datei oder des Verzeichnisses.
- Gruppe: Die Gruppe, zu der der Eigentümer gehört.
- Alle: Alle anderen Benutzer des Systems.
Um Berechtigungen für eine bestimmte Gruppe zu ändern, verwendest du folgende Syntax:
chmod [Berechtigung für Besitzer][Berechtigung für Gruppe][Berechtigung für Alle] [Dateiname]
Beispielsweise erteilt der folgende Befehl dem Besitzer Leserechte, der Gruppe Schreibrechte und allen anderen Ausführungsrechte:
chmod 464 datei.txt
Numerische Berechtigungen
Anstelle der Buchstabenberechtigungen kannst du auch numerische Berechtigungen verwenden. Jeder Gruppe wird eine Zahl zugewiesen:
- Besitzer: 4
- Gruppe: 2
- Alle: 1
Um numerische Berechtigungen festzulegen, addierst du einfach die Zahlen für die gewünschten Berechtigungen. Beispielsweise erteilt der folgende Befehl dem Besitzer alle Berechtigungen:
chmod 700 datei.txt
Tipps
- Überprüfe die aktuellen Berechtigungen einer Datei mit dem Befehl
ls -l
. - Sei vorsichtig beim Ändern der Berechtigungen, da dies Sicherheitsrisiken zur Folge haben kann.
- Verwende die Option
-R
mit chmod, um die Berechtigungen für eine Datei und alle ihre Unterverzeichnisse und -dateien rekursiv zu ändern.
./ (Punkt-Schrägstrich): Ausführbare Datei im aktuellen Verzeichnis aufrufen
Nachdem du die Zugriffsrechte geändert hast, kannst du die ausführbare Datei im aktuellen Verzeichnis aufrufen, indem du den Befehl ./
verwendest, gefolgt vom Namen der ausführbaren Datei.
Siehe auch: Linux Mint 21.2: Das erfrischende Mint-Erlebnis
Funktionsweise
Der Befehl ./
teilt dem Betriebssystem mit, dass die Datei im aktuellen Verzeichnis ausgeführt werden soll. Dies ist besonders nützlich, wenn sich die ausführbare Datei nicht in deinem $PATH
befindet, der eine Liste von Verzeichnissen enthält, in denen das System nach ausführbaren Dateien sucht.
Beispiel
Angenommen, du hast eine ausführbare Datei mit dem Namen programm.sh
in deinem aktuellen Verzeichnis. Du kannst sie mit folgendem Befehl ausführen:
./programm.sh
Tipps
- Wenn du den Befehl
./
verwendest, musst du dich im selben Verzeichnis wie die ausführbare Datei befinden. - Du kannst auch den vollständigen Pfad zur ausführbaren Datei angeben, wenn sie sich nicht im aktuellen Verzeichnis befindet.
- Wenn du die ausführbare Datei regelmäßig aufrufen musst, kannst du eine Verknüpfung erstellen, indem du den Befehl
ln -s
verwendest. Dies erspart dir die Eingabe des vollständigen Befehls jedes Mal, wenn du die Datei ausführen möchtest.
Vorbereitungen für die Ausführung von Dateien
Um ausführbare Dateien unter Linux ausführen zu können, sind einige Vorbereitungen erforderlich. Hier sind die wichtigsten Schritte, die du beachten solltest:
1. Dateitypen verstehen
Linux unterscheidet zwischen verschiedenen Dateitypen. Um eine Datei ausführen zu können, muss sie als "ausführbare Datei" gekennzeichnet sein. Dies wird durch die Dateiberechtigungen gesteuert.
2. Dateiberechtigungen prüfen
Die Dateiberechtigungen bestimmen, wer auf eine Datei zugreifen und sie ausführen darf. Du kannst sie mit dem Befehl ls -l
überprüfen. Die Ausgabe zeigt die Zugriffsrechte für den Besitzer, die Gruppe und andere Benutzer an.
3. Ausführbarkeitsflag setzen
Um eine Datei ausführbar zu machen, musst du das Ausführbarkeitsflag setzen. Dies kannst du mit dem Befehl chmod
tun. Der Befehl nimmt folgende Form an:
Für zusätzliche Informationen konsultiere: Installation und Verwendung von CS2 auf Linux
chmod +x [Dateiname]
z.B.:
chmod +x datei.sh
Dadurch wird das Ausführbarkeitsflag für den Besitzer gesetzt.
4. Verzeichnispfad hinzufügen
Wenn sich die ausführbare Datei nicht im aktuellen Verzeichnis befindet, musst du ihren Verzeichnispfad angeben, wenn du sie aufrufen möchtest. Du kannst dies tun, indem du den Befehl ./
vor den Dateinamen setzt:
./[Dateiname]
z.B.:
./dateiname.sh
5. $PATH-Variable prüfen
Wenn du eine ausführbare Datei von jedem Verzeichnis aus aufrufen möchtest, kannst du sie in die $PATH
-Variable aufnehmen. Diese Variable enthält eine Liste von Verzeichnissen, in denen das System nach ausführbaren Dateien sucht. Du kannst sie mit dem Befehl echo $PATH
prüfen.
Um eine ausführbare Datei zur $PATH
-Variable hinzuzufügen, kannst du export PATH=$PATH:[Verzeichnispfad]
verwenden:
export PATH=$PATH:/opt/bin
Dateirechte prüfen und verstehen
Bevor du eine Datei ausführbar machen kannst, musst du die aktuellen Dateirechte verstehen. Diese Rechte bestimmen, wer auf die Datei zugreifen und Änderungen vornehmen kann. Sie sind in drei Kategorien unterteilt:
Zugriffsrechte
- Benutzer: Der Eigentümer der Datei
- Gruppe: Die Gruppe, zu der der Benutzer gehört
- Andere: Alle anderen Benutzer auf dem System
Jedes Recht kann entweder lesen (r), schreiben (w) oder ausführen (x) umfassen.
So prüfst du Dateirechte
Um die Dateirechte zu prüfen, verwende den Befehl ls -l
. Dieser Befehl listet alle Dateien in einem Verzeichnis mit ihren Dateirechten auf. Die Ausgabe des Befehls sieht etwa so aus:
-rw-r--r-- 1 user group 1024 2023-03-08 12:34 datei.txt
In diesem Beispiel:
-
-rw-r--r--
sind die Dateirechte. -
1
ist die Anzahl der Hardlinks zur Datei. -
user
ist der Besitzer der Datei. -
group
ist die Gruppe, zu der der Benutzer gehört. -
1024
ist die Größe der Datei in Bytes. -
2023-03-08 12:34
ist der Zeitstempel der letzten Änderung der Datei. -
datei.txt
ist der Name der Datei.
Bedeutung der Dateirechte
Die ersten drei Zeichen der Dateirechte geben den Dateityp an:
-
-
Normale Datei -
d
Verzeichnis -
l
Symbolischer Link -
b
Blockgerät -
c
Zeichen Gerät
Die nächsten neun Zeichen geben die Zugriffsrechte an:
- Die ersten drei Zeichen geben die Zugriffsrechte des Benutzers an.
- Die nächsten drei Zeichen geben die Zugriffsrechte der Gruppe an.
- Die letzten drei Zeichen geben die Zugriffsrechte der anderen an.
Wenn ein Recht nicht gewährt ist, wird es durch einen Bindestrich (-) dargestellt.
Dateirechte ändern mit chmod
chmod (change mode) ist ein Linux-Befehl, mit dem du die Zugriffsrechte von Dateien und Verzeichnissen ändern kannst. Um chmod zu verwenden, musst du Folgendes wissen:
Mehr dazu erfährst du in: ARM Linux GNUeabihf GCC: Ausführliche Anleitung zur Verwendung
Berechtigungssystem
Dateirechte in Linux werden in drei Gruppen unterteilt:
- Besitzer (user): Der Benutzer, dem die Datei gehört.
- Gruppe (group): Die Gruppe, zu der der Benutzer gehört.
- Andere (others): Alle anderen Benutzer außer dem Besitzer und der Gruppe.
Für jede Gruppe kannst du drei Zugriffsrechte festlegen:
- Lesen (r): Die Datei oder das Verzeichnis lesen.
- Schreiben (w): Die Datei bearbeiten oder dem Verzeichnis Dateien hinzufügen.
- Ausführen (x): Die Datei ausführen (bei ausführbaren Dateien) oder das Verzeichnis eingeben.
chmod-Syntax
Die chmod-Syntax lautet:
chmod [Optionen] [Rechte] [Dateiname]
Dabei sind:
- [Optionen] sind optionale Argumente, die das Verhalten von chmod steuern.
- [Rechte] sind die Zugriffsrechte, die du festlegen möchtest.
- [Dateiname] ist der Name der Datei oder des Verzeichnisses, für das du die Rechte ändern möchtest.
Rechte festlegen
Du kannst Rechte auf zwei Arten festlegen:
- Symbolisch: Verwende Buchstaben, um Rechte festzulegen:
r: Lesen
w: Schreiben
x: Ausführen
Du kannst mehrere Rechte kombinieren, indem du sie einfach zusammenschreibst, z. B. "rwx" für Lesen, Schreiben und Ausführen.
- Numerisch: Verwende eine Oktalzahl, um Rechte festzulegen. Jede Ziffer in der Zahl repräsentiert eine Gruppe von Rechten:
1: Ausführungsrecht
2: Schreibrecht
4: Leserecht
Beispielsweise repräsentiert die Zahl 755 die Rechte "rwxr-xr-x" (Ausführung, Schreiben und Lesen für den Besitzer, Ausführung und Leseberechtigung für die Gruppe und Ausführungsrecht für andere).
Beispiele
Hier sind einige Beispiele für die Verwendung von chmod:
- Um dem Besitzer Lese- und Schreibberechtigung sowie der Gruppe und anderen nur Leseberechtigung zu erteilen, verwende:
chmod u=rw,g=r,o=r datei.txt
- Um allen Benutzern Ausführungsrecht für eine ausführbare Datei zu erteilen, verwende:
chmod a+x ausführbare_datei
- Um die Rechte einer Datei auf 755 zu setzen, verwende:
chmod 755 datei.txt
Ausführbarkeit für Besitzer, Gruppe oder Alle erteilen
Um die Ausführbarkeit für bestimmte Benutzergruppen zu erteilen, verwendest du den chmod-Befehl mit den folgenden Optionen:
/u
(Besitzer)
Um die Ausführbarkeit für den Besitzer der Datei zu erteilen, verwende die Option /u
.
chmod u+x datei
/g
(Gruppe)
Um die Ausführbarkeit für die Gruppe, zu der die Datei gehört, zu erteilen, verwende die Option /g
.
chmod g+x datei
/o
(Alle anderen)
Um die Ausführbarkeit für alle anderen Benutzer zu erteilen, verwende die Option /o
.
chmod o+x datei
/a
(Alle)
Um die Ausführbarkeit für alle oben genannten Gruppen zu erteilen, verwende die Option /a
.
chmod a+x datei
Beispiel:
Du möchtest beispielsweise die Ausführbarkeit für den Besitzer und die Gruppe einer Datei namens script.sh
erteilen:
chmod ug+x script.sh
Symbolische Links erstellen
Neben der Änderung der Dateirechte kannst du auch symbolische Links erstellen, um Dateien ausführbar zu machen. Ein symbolischer Link ist ein Zeiger auf eine andere Datei oder ein Verzeichnis.
Mehr Informationen findest du hier: Systemd: Revolutionierung der Linux-Systemverwaltung
Vorteile symbolischer Links
- Zugriff auf ausführbare Dateien in anderen Verzeichnissen: Du kannst einen symbolischen Link zu einer ausführbaren Datei in einem anderen Verzeichnis erstellen, um sie im aktuellen Verzeichnis auszuführen.
- Alternative Dateinamen: Du kannst einen symbolischen Link mit einem benutzerfreundlicheren Dateinamen erstellen, während die ursprüngliche ausführbare Datei einen komplexeren Namen hat.
So erstellst du einen symbolischen Link
Um einen symbolischen Link zu erstellen, verwende den Befehl ln
:
ln -s Quelle Ziel
Dabei gilt:
-
Quelle
ist der Pfad zur ausführbaren Datei oder dem Verzeichnis. -
Ziel
ist der Pfad zum symbolischen Link.
Beispiel
Nehmen wir an, du hast eine ausführbare Datei namens meineapp
im Verzeichnis /opt/meineanwendung
. Du möchtest einen symbolischen Link namens app
im aktuellen Verzeichnis erstellen, um meineapp
auszuführen:
ln -s /opt/meineanwendung/meineapp app
Jetzt kannst du die ausführbare Datei durch Aufrufen des symbolischen Links app
ausführen:
./app
Hinweise
- Symbolische Links funktionieren nur auf Dateien und Verzeichnisse, die bereits vorhanden sind.
- Wenn du den ursprünglichen Speicherort der ausführbaren Datei änderst, musst du den symbolischen Link entsprechend aktualisieren.
- Symbolische Links können durch Ändern der Dateirechte des ursprünglichen Speicherorts ungültig werden.
Verwandte Artikel
- Journalctl: Befehle und Tipps zur Fehlerbehebung in Linux-Protokollen
- Erstellung virtueller Maschinen unter Linux: Ein umfassender Leitfaden
- Linux from Scratch: Baue dein eigenes Linux-Betriebssystem
- Sortierung von Dateien nach Größe mit dem Befehl "ls" in Linux
- Linux IP-Adresse anzeigen: So ermitteln Sie Ihre IP sowohl im Terminal als auch grafisch
- Mounten von externen Laufwerken unter Ubuntu: Eine Schritt-für-Schritt-Anleitung
- Der Linux-Befehl time: Messung von Ausführungszeit und Ressourcenverbrauch
- Anleitung: Anzeigen von Festplatten in Ubuntu
- Linux find-Befehl: Datein und Verzeichnisse effizient suchen
- Die Macht der Linux-Konsole: Der Source-Befehl enthüllt
- Der unbekannte Hüter: SELinux erklärt
- Partitionsverwaltung in Linux: Zeige deine Speicherbelegungen an
Neue Posts
Der WPS PIN: Dein Tor zu Wi-Fi-Sicherheit und -Komfort
Cybersecurity
FRITZ!Box 7590: So beheben Sie einen defekten WLAN-Chip
Produktbewertung
Die besten Überwachungskamera-Apps: Schützen Sie Ihr Zuhause jederzeit und überall
Technologie
login.wifionice.db: Verstehen und Beheben von Verbindungsproblemen
Fehlerbehebung
Clear Linux: Ein performantes und sicheres Betriebssystem für Cloud und Desktop
Sicherheit
Asahi Linux: Debian-Distribution für Apple-Silicon-Macs
Technologie und Innovation
Du Sort By Size: Sortiere Deine Daten effektiv für bessere Entscheidungen
Effizienzsteigerung
PDF24 für Linux: Erstellen, Bearbeiten und Bearbeiten von PDFs unter Linux
Open Source
WLAN dBm-Tabelle: Signalstärke verstehen und Netzwerkprobleme beheben
Fehlerbehebung
Hoymiles HM-800: Schritt-für-Schritt-Anleitung zur WLAN-Verbindung
Fehlerbehebung
Beliebte Posts
Der WPS PIN: Dein Tor zu Wi-Fi-Sicherheit und -Komfort
Cybersecurity
FRITZ!Box 7590: So beheben Sie einen defekten WLAN-Chip
Produktbewertung
Die besten Überwachungskamera-Apps: Schützen Sie Ihr Zuhause jederzeit und überall
Technologie
login.wifionice.db: Verstehen und Beheben von Verbindungsproblemen
Fehlerbehebung
Clear Linux: Ein performantes und sicheres Betriebssystem für Cloud und Desktop
Sicherheit
Asahi Linux: Debian-Distribution für Apple-Silicon-Macs
Technologie und Innovation
Du Sort By Size: Sortiere Deine Daten effektiv für bessere Entscheidungen
Effizienzsteigerung
PDF24 für Linux: Erstellen, Bearbeiten und Bearbeiten von PDFs unter Linux
Open Source
WLAN dBm-Tabelle: Signalstärke verstehen und Netzwerkprobleme beheben
Fehlerbehebung
Hoymiles HM-800: Schritt-für-Schritt-Anleitung zur WLAN-Verbindung
Fehlerbehebung