Skip to Content

Häufige Berechtigungsfehler

„Erlaubnis verweigert“

# View file permissions ls -la /path/to/file # View current user and groups id

„Betrieb nicht erlaubt“

Erfordert normalerweise Root-Rechte – verwenden Sie sudo:

sudo COMMAND

Grundlagen der Dateiberechtigung

-rwxr-xr-- 1 user group 4096 Mar 24 10:00 file.txt |---|---|---| | | | +-- Other users: r-- (read) | | +----- Group: r-x (read+execute) | +--------- Owner: rwx (read+write+execute) +------------- File type (- regular file, d directory, l symlink)

Häufige Szenario-Korrekturen

Konfigurationsdateien können nicht bearbeitet werden

# Files in /etc belong to root sudo nano /etc/xxx/config.conf # Or temporarily change permissions (not recommended for system files) sudo chmod 666 /path/to/file

Ein Skript kann nicht ausgeführt werden

# Add execute permission chmod +x script.sh # Owner only can execute chmod u+x script.sh

Berechtigungen für das Webserververzeichnis

# Typical web directory permission setup sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html sudo chmod -R 644 /var/www/html/*.html

Auf das bereitgestellte Laufwerk kann nicht geschrieben werden

NTFS- oder FAT32-Partitionsberechtigungen werden durch Mount-Optionen gesteuert:

# View current mounts mount | grep /dev/sd # Remount NTFS as writable sudo mount -o rw,uid=$(id -u),gid=$(id -g) /dev/sdX1 /mnt/data # Configure in /etc/fstab # UUID=xxx /mnt/data ntfs-3g defaults,uid=1000,gid=1000 0 0

SSH-Schlüsselberechtigungen

SSH stellt strenge Anforderungen an Schlüsseldateiberechtigungen:

chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub chmod 600 ~/.ssh/authorized_keys chmod 644 ~/.ssh/config

Die Berechtigungen für das Home-Verzeichnis wurden geändert

# Restore home directory permissions sudo chown -R $USER:$USER ~/ chmod 755 ~/

Sudo-bezogene Probleme

Benutzer nicht in der Sudo-Gruppe

# Need to log in as root or use recovery mode su - root usermod -aG sudo USERNAME # User needs to log out and log back in

Sudo-Passwort vergessen

Wenn Sie Ihr Passwort vergessen haben, setzen Sie es im Wiederherstellungsmodus zurück:

  1. GRUB-Menü > Erweiterte Optionen > Wiederherstellungsmodus
  2. Wählen Sie die Root-Befehlszeile aus
  3. Führen Sie Folgendes aus: passwd USERNAME

/etc/sudoers-Syntaxfehler, der zum Abbruch von sudo führt

# Use pkexec to fix (no sudo needed) pkexec visudo # Or fix from recovery mode # Make sure /etc/sudoers contains: # %sudo ALL=(ALL:ALL) ALL

Sonderberechtigungen

SUID/SGID/Sticky Bit

# Set SUID (execute as file owner) chmod u+s /path/to/file # Set SGID (new files inherit the directory's group) chmod g+s /path/to/directory # Set Sticky Bit (only owner can delete files in the directory) chmod +t /path/to/directory

Erweiterte ACL-Berechtigungen

# Install ACL tools sudo apt install acl # Set permissions for a specific user setfacl -m u:USERNAME:rwx /path/to/file # View ACL getfacl /path/to/file # Remove ACL setfacl -b /path/to/file

AppArmor-Einschränkungen

Ubuntu verwendet AppArmor für die obligatorische Zugriffskontrolle:

# View AppArmor status sudo aa-status # Temporarily set a program to complain mode sudo aa-complain /usr/bin/PROGRAM_NAME # Disable a profile sudo aa-disable /etc/apparmor.d/PROFILE_NAME

Zusammenfassung der Fehlerbehebung

  1. Verwenden Sie ls -la, um die Eigentümer-, Gruppen- und Berechtigungsbits der Datei zu überprüfen
  2. Verwenden Sie id, um die aktuelle Benutzeridentität zu bestätigen
  3. Überprüfen Sie, ob der Benutzer zur erforderlichen Gruppe gehört: groups USERNAME
  4. Überprüfen Sie, ob für AppArmor oder SELinux Einschränkungen gelten
  5. Überprüfen Sie die Mount-Optionen (insbesondere für externe Partitionen).