Présentation
Supposons que vous venez de créer un nouveau fichier et que vous souhaitiez qu'il ait les mêmes autorisations et la même propriété qu'un ancien fichier.
Vous avez besoin de copier ou de cloner l'ancien propriétaire du fichier et les autorisations vers le nouveau fichier que vous avez créé ?
Dans ce petit guide, nous apprendrons comment cloner l'utilisateur, la propriété du groupe et les autorisations sur un fichier à partir d'un autre fichier sur le système d'exploitation Linux
- Pour changer le propriétaire du fichier et le groupe, utilisez chown commande.
- Pour modifier les autorisations de fichiers, utilisez chmod commande.
Remarque :
RFILE ci-dessous sur les articles fait référence au fichier comme référence.
Copier les autorisations de fichier vers un autre fichier
Pour copier les autorisations de fichier de l'ancien fichier vers un autre fichier, utilisez chmod commande avec la –reference .
Où reference_file est le fichier des autorisations sera copié.
$ chmod --reference=RRFILE file
$ chmod [options] --reference=RRFILE file
Par exemple :
Copier l'autorisation de fichier, mais pas les fichiers
[root@unixcop ~]# ls -l unixcop
--w-r-----. 1 root root 0 Sep 21 17:44 unixcop
[root@unixcop ~]#
[root@unixcop ~]# ls -l monitor.txt
-rw-r--r--. 1 root qadry 0 Sep 21 17:46 monitor.txt
[root@unixcop ~]# chmod --reference=unixcop monitor.txt
[root@unixcop ~]#
[root@unixcop ~]# ls -l monitor.txt
--w-r--r--. 1 root qadry 0 Sep 21 17:46 monitor.txt
[root@unixcop ~]#
Remarque :
Vous pouvez lister les permissions des deux fichiers en même temps avec :
[root@unixcop ~]# ls -l unixcop monitor.txt
--w-r-----. 1 root root 0 Sep 21 17:44 unixcop
--w-r--r--. 1 root qadry 0 Sep 21 17:46 monitor.txt
[root@unixcop ~]#
Copier la propriété du fichier vers un autre fichier
Aussi pour copier la propriété d'un autre fichier, utilisez la commande chown avec la –référence comme indiqué dans la commande ci-dessous
Où reference_file est le fichier à partir duquel le propriétaire et le groupe seront copiés.
$ chown --reference=reference_file file
Par exemple,
[root@unixcop ~]# ls -l monitor.txt
--w-r--r--. 1 root qadry 0 Sep 21 17:46 monitor.txt
[root@unixcop ~]#
[root@unixcop ~]# touch servers
[root@unixcop ~]#
[root@unixcop ~]# ls -l servers
-rw-r--r--. 1 root root 0 Sep 21 17:50 servers
[root@unixcop ~]#
[root@unixcop ~]# chown --reference=monitor.txt servers
[root@unixcop ~]#
[root@unixcop ~]# ls -l servers
-rw-r--r--. 1 root qadry 0 Sep 21 17:50 servers
[root@unixcop ~]#
Copier les autorisations de fichiers vers plusieurs fichiers
Vous pouvez également copier les autorisations et la propriété des fichiers d'un ancien fichier vers plusieurs fichiers, comme indiqué ci-dessous.
$ chmod --reference=unixcop.txt unixcop1.txt unixcop2.txt unixcop3.txt
$ chown --reference=unixcop.txt unixcop1.txt unixcop2.txt unixcop3.txt
Nous pouvons également combiner, rechercher et xargs comme suit avec la commande affichée :
$ find /path/to/dest/ -type f -print0 | xargs -O -I {} chmod --reference=/path/to/rfile.txt {}
Conclusion
Dans cet article, nous avons illustré comment copier ou cloner les autorisations et la propriété d'un fichier vers un autre fichier sous Linux en utilisant chmod et chown commandes.