Si vous utilisez Linux depuis longtemps, vous saurez à quel point les autorisations de fichiers Linux sont importantes. Mais qu'en est-il des autorisations lorsque vous créez de nouveaux fichiers? Un utilitaire appelé umask vous permet de définir des autorisations de fichier par défaut pour les nouveaux fichiers sous Linux.

Qu'est-ce qu'umask ?

Un umask est un "masque de bits" qui définit les bits d'autorisation sur les nouveaux fichiers. Sur les systèmes Linux, il s'agit d'une commande autonome, bien que les shells modernes tels que Bash ou Zsh l'incluent en tant que commande intégrée.

Un umask définit les autorisations qui seront supprimées sur les nouveaux fichiers. Il utilise le système d'autorisation octal numérique similaire à celui de la commande chmod. Vous pouvez considérer un umask comme soustrayant les autorisations de certaines classes d'utilisateurs sur de nouveaux fichiers.

Un umask par défaut commun est 022. Cela laissera les autorisations du propriétaire du fichier tout en supprimant les autorisations d'écriture pour les membres du groupe et les autres utilisateurs.

instagram viewer

Un umask est plus important sur les systèmes multi-utilisateurs tels que les serveurs, car il permet de sécuriser le système en limitant les autorisations sur les nouveaux fichiers par défaut. Si un administrateur crée un nouveau fichier en tant que root, vous ne voulez pas que les utilisateurs ordinaires puissent y écrire.

Pour voir le umask actuel, tapez umask à la coquille. Vous pouvez le voir symboliquement avec le -S option.

umask -S

Définition d'umask pour un utilisateur

Vous pouvez définir un umask pour une session avec la commande umask :

umask 022

Vous pouvez le mettre dans votre fichier de démarrage du shell, tel que votre .bashrc ou .zshrc, selon le shell que vous utilisez.

Définition d'un umask à l'échelle du système

Si vous exécutez un serveur multi-utilisateurs, c'est une bonne idée de définir un bon umask à l'échelle du système. Vous pouvez le faire en plaçant un paramètre umask dans les fichiers de démarrage du shell global pour tous les shells installés sur le système.

Par exemple, vous pouvez mettre le paramètre umask dans /etc/profile, car il sera lu à la fois par Bash et Zsh au démarrage. csh et tcsh lisent le /etc/csh.cshrc et /etc/csh.login fichiers, ce dernier pour les shells de connexion.

Vous disposez maintenant des autorisations appropriées pour les nouveaux fichiers Linux

Avec umask, vous pouvez maintenant vous assurer que vous disposez des autorisations appropriées sur les nouveaux fichiers du système. Mais cela ne va pas assez loin. Si vous souhaitez une plus grande sécurité, vous pouvez protéger par mot de passe certains fichiers sous Linux. Il existe plusieurs façons de procéder, et elles sont faciles à mettre en œuvre.