Les fichiers et dossiers sous Linux appartiennent à un utilisateur et à un groupe, cela peut affecter les utilisateurs qui peuvent accéder aux fichiers et peut constituer un élément important de la sécurité. La commande pour changer la propriété d'un fichier est appelée de manière créative "chown", abréviation de "changer de propriétaire".
Lorsqu'un compte est créé, un groupe principal lui est attribué. Par défaut, un nouveau groupe est créé avec le même nom que l'utilisateur, bien qu'il soit également possible de le définir manuellement sur un groupe existant. Chaque compte peut ensuite être ajouté à plusieurs groupes secondaires. Lorsqu'un utilisateur crée un document, il appartient à lui et à son groupe principal. Les autorisations d'accès aux fichiers et dossiers peuvent être définies pour le propriétaire, le groupe et globalement.
Si vous souhaitez configurer qui peut accéder à un fichier ou un dossier, vous devrez peut-être changer le propriétaire et/ou le groupe propriétaire. La commande chown vous permet de changer de propriétaire ou de groupe propriétaire ou les deux en même temps.
La structure de la commande « chown »
La commande chown prend la forme « chown [flags] [User][:[Group]] File[s] ». Les drapeaux désignent les drapeaux de commande qui modifient le comportement de la commande et sont entièrement facultatifs. Au moins un nom d'utilisateur ou de groupe doit être spécifié bien que les deux puissent l'être. Un ou plusieurs fichiers et dossiers doivent être nommés.
En règle générale, vous n'aurez pas besoin d'utiliser de drapeaux, mais il y en a quelques-uns qui pourraient être utiles de temps en temps. L'indicateur « -R » fonctionne de manière récursive sur les fichiers et les dossiers. L'indicateur "–from=[propriétaire actuel][:[groupe actuel]" est utilisé pour appliquer la commande uniquement aux fichiers et dossiers actuellement détenus par l'utilisateur ou le groupe spécifié. Le drapeau « –help » imprime la page d'aide.
Si seul un nom d'utilisateur est fourni, le propriétaire du fichier est remplacé par cet utilisateur. Si un deux-points « : » est également spécifié après le nom d'utilisateur, un nom de groupe peut également être spécifié. Si le nom du groupe est laissé vide, le groupe propriétaire du fichier est remplacé par le groupe principal de l'utilisateur spécifié ; si un nom de groupe est spécifié, la propriété du groupe est alors modifiée pour ce groupe, même si l'utilisateur spécifié ne fait pas partie de ce groupe. Si le nom d'utilisateur est omis et que deux points et un nom de groupe sont fournis, le groupe propriétaire est modifié tandis que l'utilisateur propriétaire reste le même.
Remarque : Les utilisateurs et groupes propriétaires peuvent être spécifiés soit par les noms d'utilisateur et de groupe, soit par les ID associés.
Par exemple, le fichier file.txt peut être modifié en user2 et group en group2 avec la commande « chown user2:group2 filt.txt ». Si le nouveau propriétaire ou le nouveau groupe était omis, ce paramètre resterait inchangé. Le moyen le plus simple de voir l'utilisateur et le groupe propriétaire d'un ensemble de fichiers est d'utiliser la commande "ls -l" qui affiche la liste de répertoires au format long, y compris le nom du propriétaire et le nom du groupe propriétaire.
Pourquoi la propriété des fichiers et des dossiers est-elle importante
La propriété des fichiers et des dossiers permet de restreindre l'accès aux fichiers. Par exemple, un utilisateur peut accéder à son répertoire utilisateur car il en est le propriétaire, mais il ne peut pas accéder au répertoire personnel d'un autre utilisateur car il n'en est pas le propriétaire.
La propriété est particulièrement importante pour les services Internet tels que les serveurs Web. En vous assurant que le serveur Web n'est propriétaire que des fichiers dont il a besoin pour exécuter et afficher des sites Web, vous pouvez protéger le serveur des failles de sécurité où les pirates tentent de tromper le serveur Web pour qu'il affiche d'autres fichiers. C'est la principale raison pour laquelle les services Web ne doivent pas être exécutés en tant que root mais en tant que leur propre utilisateur.
Astuce : les services tels que les serveurs Web et les bases de données ont leurs propres comptes d'utilisateurs et peuvent se voir attribuer la propriété de fichiers et de dossiers.