Bits d’autorisation
-rwxr-xr-- 1 user group filename
├─┤├─┤├─┤
│ │ └── Other users (other)
│ └───── Group (group)
└───────── Owner (user/owner)| Caractère | Numéro | Signification |
|---|---|---|
r | 4 | Lire |
w | 2 | Écrire |
x | 1 | Exécuter (entrer pour les répertoires) |
- | 0 | Aucune autorisation |
Numéros d’autorisation courants
| Numéro | Autorisation | Descriptif |
|---|---|---|
777 | rwxrwxrwx | Autorisations complètes pour tout le monde (à utiliser avec prudence) |
755 | rwxr-xr-x | Complet pour le propriétaire, lecture+exécution pour les autres |
750 | rwxr-x --- | Complet pour le propriétaire, lecture+exécution pour le groupe |
700 | rwx------ | Complet pour le propriétaire seulement |
644 | rw-r—r— | Lecture+écriture pour le propriétaire, lecture seule pour les autres |
640 | rw-r----- | Lecture+écriture pour le propriétaire, lecture seule pour le groupe |
600 | rw------- | Lecture+écriture pour le propriétaire uniquement |
555 | r-xr-xr-x | Lire+exécuter pour tout le monde |
444 | r—r—r— | En lecture seule pour tout le monde |
Commande chmod
Mode numérique
chmod 755 filename
chmod 644 filename
chmod -R 755 directory # RecursiveMode symbolique
# Add permissions
chmod u+x file # Add execute for owner
chmod g+w file # Add write for group
chmod o-r file # Remove read for others
chmod a+r file # Add read for everyone
# Set exact permissions
chmod u=rwx,g=rx,o=r file
# Common combinations
chmod +x script.sh # Add execute permission
chmod -w file.txt # Remove write permissionCibles : u=propriétaire, g=groupe, o=autres, a=tous
Opérations : +=ajouter, -=supprimer, ==set
Commande chown
# Change owner
sudo chown username filename
# Change owner and group
sudo chown username:groupname filename
# Change group only
sudo chown :groupname filename
# Or use chgrp
chgrp groupname filename
# Recursive
sudo chown -R username:groupname directoryBits d’autorisation spéciaux
SUID (Définir l’ID utilisateur) - 4xxx
Le fichier s’exécute en tant que propriétaire et non en tant qu’utilisateur qui l’exécute.
chmod u+s file
chmod 4755 file
# Example: passwd command uses SUID
ls -la /usr/bin/passwd
# -rwsr-xr-x 1 root root ...SGID (Définir l’ID de groupe) - 2xxx
Les nouveaux fichiers créés dans le répertoire héritent du groupe du répertoire.
chmod g+s directory
chmod 2755 directoryBit collant - 1xxx
Seul le propriétaire d’un fichier peut le supprimer dans le répertoire (par exemple, /tmp).
chmod +t directory
chmod 1777 directory
ls -la /tmp
# drwxrwxrwt ... # Note the trailing tAutorisations par défaut (umask)
# Check current umask
umask
# Common value: 0022
# umask calculation:
# File default permissions = 666 - umask = 644
# Directory default permissions = 777 - umask = 755
# Temporary change
umask 027 # Files 640, directories 750
# Permanent change: add to ~/.bashrc
echo "umask 027" >> ~/.bashrcAutorisations étendues ACL
Lorsque les autorisations de base ne sont pas assez flexibles :
# Install ACL tools
sudo apt install acl
# Set permissions for a specific user
setfacl -m u:username:rwx filename
# Set permissions for a specific group
setfacl -m g:groupname:rx filename
# Set default ACL (new files auto-inherit)
setfacl -d -m u:username:rwx directory
# View ACL
getfacl filename
# Remove all ACL
setfacl -b filenameGestion des utilisateurs et des groupes
# Check current user info
id
# Check user's groups
groups username
# Add user to a group
sudo usermod -aG groupname username
# Create a new group
sudo groupadd groupname
# Common system groups
# sudo - Administrator privileges
# docker - Docker operations
# video - Camera/GPU access
# audio - Audio devices
# dialout - Serial port devices
# plugdev - Pluggable devicesParamètres d’autorisation de scénario courants
# Web directory
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
# SSH keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
# Shared directory (group read+write)
sudo mkdir /shared
sudo chown :shared-group /shared
sudo chmod 2775 /shared
# Script files
chmod 755 script.sh # Everyone can execute
chmod 700 script.sh # Only owner can execute