web-dev-qa-db-fra.com

cp - impossible de créer un fichier normal: autorisation refusée

Je veux copier à /lib/udev mais donne une erreur

cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev

cp:cannot create regular file /lib/udev/ok_pcscd_hotplug : Permission denied

Je suis root, mais je ne peux pas comprendre. Que puis-je faire ?

18
user278122

Vérifiez si vous êtes vraiment super-utilisateur avec:

whoami

si la sortie est root, vous êtes alors superutilisateur et vous pouvez effectuer la copie du fichier avec:

cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev/.

sinon, vous devez utiliser Sudo:

Sudo cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev/.

Si vous ne parvenez toujours pas à écrire dans le répertoire, il est possible que:

  1. l'indicateur immuable est activé dans l'annuaire. vérifier avec lsattr.
  2. le répertoire est monté avec des permissions en lecture seule: tapez terminal:

    cat /proc/mounts (ou mount ou cat /etc/mtab)

    et vérifiez la sortie si le répertoire est monté en lecture seule.

Si vous êtes dans le premier cas, changez les attributs du répertoire avec chattr;

  • supprime l'indicateur immuable du fichier ou du répertoire chattr -i <file/dir>
  • ajout d'un drapeau immuable sur le fichier ou le répertoire à nouveau chattr +i <file/dir>

Si vous êtes dans le dernier cas, éditez le fichier /etc/fstab.

22
girardengo

Ce n'est pas nécessaire chaque fois que vous devez être root pour cela. Donc si vous voulez le faire avec l'utilisateur root, c'est bien, mais si vous voulez le faire sans root, vous avez 2 options:

  1. Vérifiez les autorisations du fichier. Vous devez avoir des autorisations de lecture pour cela
  2. Vérifiez que le fichier ou le lien portant le même nom n'est pas présent dans le répertoire de destination. Parce que s'il y a un lien avec le même nom dans le répertoire de destination, cela ne vous permettra pas de le faire et ne vous avertira pas non plus qu'un lien avec le même nom est présent
3
Kailas Andhale

Vous devez d'abord créer un répertoire si /lib/udev n'existe pas

mkdir -p /lib/udev
1
Farid Movsumov

Essayez cp /tmp/ok_pcscd_hotplug.sh /lib/udev/ dans l'utilisateur root.

1
Sambit

Commencez par faire "ls -l" et vérifiez les permissions pour ce répertoire. Si vous voyez quelque chose comme -rw-r - r--, cela signifie que Owner peut lire/écrire, le groupe d'utilisateurs ne peut que lire, World ne peut que lire. Tapez la commande suivante si c'est le cas: "chmod 766". Cela vous permettra d'effectuer des opérations de lecture-écriture sur ce fichier. Maintenant, essayez de copier ce fichier de la même manière. Ça devrait marcher

0
passerBy