Pour changer l'autorisation de fichier, je sais que je pourrais utiliser chmod. Pour changer de propriétaire de groupe, je pourrais utiliser chgrp. Cependant, si je veux changer à la fois l'autorisation et le propriétaire, n'importe quelle commande que je pourrais utiliser sur Linux?
Par exemple, il existe un fichier avec cette autorisation et ce propriétaire:
-rw-r--r--+ 1 raymondtau staff 0 May 8 16:38 WantToChangeThisFile
Et maintenant, je veux le changer en:
---x-w--wx+ 1 raymondtau admin 0 May 8 16:38 WantToChangeThisFile
Je sais que je pourrais utiliser cette commande:, chmod 123 WantToChangeThisFile && chgrp admin WantToChangeThisFile
mais je veux savoir s'il y a une bonne façon de le faire.
ch
.Si vous souhaitez également copier le fichier quelque part (comme sa destination finale), vous pouvez consulter la
install
commande:install -m 0777 -o root $sourcefile $destinationfile
la source
Il est important d'utiliser le bon outil pour le travail dans * nix, mais en effet, répéter le même chemin dans chaque commande chaînée semble idiot. Au lieu de cela, vous devriez vraiment utiliser des variables Bash, et dans des scripts plus petits, surtout utiliser
$_
.Votre commande deviendrait:
chmod 123 WantToChangeThisFile && chgrp admin $_
ALT +. fait la même chose en tirant le dernier argument utilisé dans votre shell actuel.
la source
Rsync est utile dans ce cas:
Extrait du Fine Manual (TM)
--chown = USER: Mappage de nom d'utilisateur / nom de groupe simple GROUP
--chmod = CHMOD affecte les permissions des fichiers et / ou des répertoires
Ainsi, par exemple, vous voulez chmod / mnt / lala / lala4000 / "ugo = rX" et chown "foo.bar"
rsync --chmod = ugo = rX --chown = foo: bar -rvtpolgh / mnt / lala / lala4000 / / mnt / lala / lala4000 /
Ce serait récursivement chown et chmod le dir.
la source
Vous pourriez atteindre un tel objectif avec une longue
rsync
commandela source
Vous pouvez faire
chown username:groupname file ...
pour changer les deux simultanément. Il change deux champs dans la même structure (inode), donc sa combinaison économise deux appels système (un pour lire les valeurs actuelles et un pour définir les vaules modifiés).la source
chown
ne change que les propriétaires. Comment cela modifie-t-il les autorisations en même temps que l'OP demandé? Remarque L'exemple d'OP comprend également unchmod
.la source