J'ai un problème pour copier des fichiers dans un répertoire sous Ubuntu 12.04. Je crée un répertoire dans le répertoire personnel de sorte que le chemin où je souhaite copier soit:
/home/sixven/camp_sms/inputs
Mais lorsque ini, exécutez la commande suivante dans le terminal pour créer un exemple de fichier comme suit:
francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make `touch' on «test_file.txt»: permission denied
Je ne peux pas copier des fichiers directement dans ce répertoire. Comment puis-je attribuer des autorisations avec les commandes chown
& chmod
pour copier les fichiers?
Je ne sais pas quel utilisateur et quel groupe utiliser.
/home/sixven
? Pourquoi n'est-ce pas dans votre répertoire personnel?francisco-vergara
, mais votre répertoire/home/sixven
est-il vraiment le domicile de l'utilisateurfrancisco-vergera
ou appartient-il à unsixven
utilisateur? Vous devriez clarifier ce que vous voulez faire exactement. Ecrire dans la maison d'un autre utilisateur? Partager ce répertoire parmi un groupe?Réponses:
Tout d'abord, vous devez savoir que l'autorisation par défaut des répertoires sous Ubuntu est 644, ce qui signifie que vous ne pouvez pas créer de fichier dans un répertoire dont vous n'êtes pas le propriétaire.
vous essayez
user:francisco-vergara
de créer un fichier dans un répertoire/home/sixven/camp_sms/inputs
appartenant àuser:sixven
.Alors, comment résoudre ceci:
Vous pouvez modifier l'autorisation du répertoire et permettre à d'autres personnes de créer des fichiers à l'intérieur.
Cette commande modifiera l'autorisation du répertoire de manière récursive et permettra à tous les autres utilisateurs de créer / modifier et supprimer des fichiers et des répertoires.
Vous pouvez changer le propriétaire de ce répertoire et en faire
user:francisco-vergara
le propriétaireMais comme cela, le
user:sixven
dossier ne peut plus écrire dans ce dossier et vous pouvez donc vous déplacer dans une boucle infinie circulaire.Je vous conseille donc d'utiliser l'option 1.
Ou si les deux utilisateurs ont accès à ce répertoire, vous pouvez utiliser l’astuce suivante:
changer la propriété de l'annuaire
user:francisco-vergara
et conserver le propriétaire du groupegroup:sixven
.Ainsi, les deux utilisateurs peuvent toujours utiliser le répertoire.
Mais comme je vous l'ai déjà dit, il est plus simple et plus efficace d' utiliser l'option 1.
la source
Pour changer la propriété du fichier, faites ceci en tant que root:
Si vous décidez de suivre la méthode chmod:
Si vous savez que l'utilisateur fait partie du groupe du fichier
Autrement:
Mais cette façon n'est pas trop sécurisée.
la source
UMASK 022 par défaut (dans Ubuntu), de sorte que les autorisations pour / home / nom d'utilisateur deviennent 755. et que vous vous êtes connecté en tant qu'utilisateur
francisco-vergara
et que vous essayez de créer des fichiers dans l'utilisateur sixyen Home: c'est-à-dire/home/sixven
. il n'a pas l'autorisation d'écriture sur les autres utilisateurs. Seul l'utilisateur / le groupesixven
a un accès en écriture.si vous voulez un accès en écriture dans ce répertoire, vous devez faire partie de Group en
sixven
utilisantusermod -G sixyen francisco-vergara
ORchmod -R 777 /home/sixven
(n'utilisez pas cette mauvaise pratique).la source