Copier uniquement les droits d'un fichier

Copier uniquement les droits d'un fichier - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 09-01-2009 à 16:20:56    

Bonjour
j'ai fais une bourde, vous moquez pas :D
j'ai changé de disque dur donc j'ai transféré mon ancien /home sur le nouveau.  
Au reboot, je ne pouvais me loguer qu'en root, kde pretextant qu'il n'avait pas les droits en ecriture sur le home. J'ai donc voulu redéfinir les droits du home et ça a marché.
L'ennui c'est que dans la manip, j'ai donné les droits en execution à tous les fichiers du /home ...
 
Heureusement, j'ai toujours le backup du home sur l'ancien disque donc je pourrais toujours tout recopier mais ça va prendre un petit temps et j'ai des fichiers qui ont changé un peu partout depuis même si la majorité est identique entre les deux disques (en dehors des droits).
 
L'idée serait donc de n'importer que les droits des fichiers sans copier le fichier en lui-même !  
y-a-til une commande qui fait ça ? un argument ? un script quelque part qui ferait ça de manière récursive sur toute l'arborescence ?
 
 
Merci d'avance :)

Reply

Marsh Posté le 09-01-2009 à 16:20:56   

Reply

Marsh Posté le 09-01-2009 à 16:56:57    

c'est sans doute que ton nouvel uid ne correspond à ton ancien. un pauvre chmod devrait suffir.

Reply

Marsh Posté le 09-01-2009 à 16:58:08    

Taz a écrit :

c'est sans doute que ton nouvel uid ne correspond à ton ancien. un pauvre chmod devrait suffir.


chown non ?


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 09-01-2009 à 17:06:12    

hm?
comment ça ?
 
excuse moi mais j'ai pas l'impression que ça réponde à la question :/
Je veux enlever des droits en execution à certains fichiers seulement en accord avec ce qui est présent sur l'autre disque.

Reply

Marsh Posté le 09-01-2009 à 17:41:32    

o'gure a écrit :


chown non ?


oui j'ai rippé.

Reply

Marsh Posté le 09-01-2009 à 17:43:02    

Argawaen a écrit :

hm?
comment ça ?
 
excuse moi mais j'ai pas l'impression que ça réponde à la question :/
Je veux enlever des droits en execution à certains fichiers seulement en accord avec ce qui est présent sur l'autre disque.


bah je persiste à penser que c'est pas un problème de droit mais de propriétaire. sinon tapes toi un bout de perl (basé sur find2perl) pour recopier les permissions.
 
ou alors aget getfacl/setfacl.

Reply

Marsh Posté le 09-01-2009 à 18:53:07    

bon finalement je m'en suis sorti avec un find, un test pour voir quels sont les fichiers non executable sur le disque2 et un chmod pour mettre les bons droits sur le disque 1 aux bons fichiers


Message édité par Argawaen le 09-01-2009 à 19:02:07
Reply

Marsh Posté le 12-01-2009 à 17:13:25    

Sinon avec le chmod GNU il y a l'option --reference=RFILE qui permet de mettre les même permissions qu'un fichier de référence RFILE.

Reply

Marsh Posté le 13-01-2009 à 01:07:04    

pb réglé mais bon à savoir :)

Reply

Marsh Posté le 14-01-2009 à 22:26:50    

Une pensée pour les gens qui tomberons ici via http://www.gogole.com
 
A partir du system a rustiner :

Code :
  1. find /mount/backup -exec bash -c 'chmod $(stat -c '%a' $1) ${1#/mount/backup}; chown $(stat -c '%U' $1):$(stat -c '%G' $1) ${1#/mount/backup}' -- {} \;

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed