Autorisation `cp` refusée lors de la copie dun fichier appartenant à` root`

Jai un dossier udp_folder2

d------r-T 41 root root 4096 Apr 26 21:17 udp_folder2 

quand je « m avec un utilisateur autre que root, je peux » t cp -r dans un nouveau dossier, il dit: Autorisation refusée

pourquoi? et comment puis-je le copier avec un utilisateur autre que root

Réponse

Eh bien,

Ce serait parce que la façon dont vos autorisations actuelles sont définies, personne ne peut déplacer ce fichier. (Autre que root, car root ne suit pas les mêmes règles.)

Vous devrez soit changer le propriétaire du fichier (chown), soit ajouter lautre utilisateur au groupe « root » et chmod pour que le groupe puisse sexécuter sur le répertoire, OU permettre à tout le monde dexécuter le fichier.

Donc, une solution rapide serait:

chmod -R o+rwx udp_folder2 

Cela donnera à chacun la possibilité de lire, écrire et exécuter sur ce répertoire.

Aussi … si vous « essayez de copier » udp_folder2 « dans le même répertoire quil se trouve maintenant , vous aurez également besoin de la permission « w » sur ce répertoire. Par exemple:

/ foo / udp_folder2 – vous « aurez besoin de » w « sur / foo pour copier ce répertoire dans / foo

Je suggère dapprendre les autorisations de fichiers Linux: Tutoriel sur les autorisations de fichiers Linux

Commentaires

  • Je pense que la copie est simplement une autorisation r, il y a évidemment une autorisation r pour un autre utilisateur, vous voyez, là je sa r
  • Je veux dire dans d------r-T, le r est pour un autre utilisateur
  • Vous avez également besoin dune autorisation dexécution pour copier un répertoire. Je ' ne sais pas ce que T est désinvolte.
  • Vous ' ll aura besoin du ' w ' sur le répertoire que vous ' essayez de copier à … par exemple, si vous ' copiez / home / foo vers / etc / foo vous ' aurez besoin du ' w ' permission dans / etc /
  • @Swiss – Le ' T ' est un bit fixe, qui est une autorisation ' spéciale '. Pour tout savoir sur les sticky bits, cliquez ici: en.wikipedia.org/wiki/Sticky_bit

Réponse

Le répertoire na pas de permission x, donc dautres (cest-à-dire, dans ce cas nimporte quel utilisateur) peuvent utiliser le répertoire pour accéder aux fichiers à lintérieur. Le T signifie quil est collant (seul le propriétaire dun fichier peut le supprimer). Avec à la fois lautorisation x et le bit collant, vous verriez un t minuscule; la majuscule T dit « pas de permission daccès mais un bit collant, ce qui est une combinaison étrange ».

Renseignez-vous sur les permissions des fichiers / répertoires Unix. Ce nest pas trop difficile, et vous en aurez besoin.

Réponse

Vous nen avez pas  » t vouloir donner à tout le monde rwx sur le répertoire parce que vous « d créeriez un risque de sécurité. Et vous ne voudriez pas -R le chmod car cela écrirait les changements de manière récursive.

Juste chmod 755 "filename" et vous « allez bien.

Voici » une ventilation des nombres:

  • Read = 4
  • Write = 2
  • Execute = 1

Ensuite, vous avez 3 groupes:

  • Propriétaire.
  • Ceux qui appartiennent au groupe.
  • Tous les autres.

Donc, si vous souhaite donner au propriétaire rwx, à ceux qui appartiennent au groupe rw et à tous les autres rw il vous suffit dajouter les autorisations: rwx = 7, car r + w + x vaut 4 + 2 + 1 et rw = 6 car r + w = 4 + 2.

Commentaires

  • Doù mon terme ' Donc, une solution rapide serait ' et je lui envoie un lien pour en savoir plus sur les autorisations. Il na ' pas mentionné un souci de sécurité ou quoi que ce soit de ce genre. Il vient de dire quil souhaite copier le répertoire.
  • De plus, nous ' aurons besoin du ' w ' autorisation sur le répertoire dans lequel ' tente de le copier.
  • Don ' ne sois pas un haineux Tillman.

Réponse

Pour copier le dossier là où le propriétaire ne le fait pas » t avez la permission, vous devez changer ces permissions.

Si le dossier est restreint même pour le propriétaire, il y a une raison à cela et donner les autorisations à tout le monde (o) nest « pas une bonne solution ( comme indiqué dans la première réponse).

Pour que le dossier soit accessible par le propriétaire, il doit avoir lu (r) et exécuter / rechercher des bits (X) défini. Si vous avez des dossiers dans les dossiers, chacun doit suivre les mêmes règles. Pour les fichiers, seul le bit de lecture (r) est suffisant.

Donc, fondamentalement, pour donner les autorisations de lecture au dossier de manière récursive, vous devez exécuter:

chmod -vR u+rX folder/ 

Si vous « exécutez la commande ci-dessus en tant quutilisateur, préfixez avec sudo (si vous avez des privilèges de superutilisateur), sinon exécutez en tant que root.

Si certains fichiers du dossier ne sont pas la propriété de root, modifiez-les récursivement par:

sudo chown -vR root folder/ 

Puis copiez-le comme dhabitude ou utilisez rsync comme suit:

rsync -vuar src/ dst/ 

Pour plus dexplications sur les commandes ci-dessus, vérifiez: man chmod et man chown.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *