Si un utilisateur A possède le fichier file.txt, l'utilisateur A peut-il modifier la propriété du fichier en utilisateur B sans accès root? Lorsque je lance un fichier chown B.txt en tant qu'utilisateur A, j'obtiens une erreur d'opération non autorisée. Il me semble que, puisque l'utilisateur A est propriétaire du fichier, il devrait pouvoir changer de propriétaire, mais je ne vois pas comment le faire. Merci pour l'aide!
Si l'utilisateur A possède file.txt
, il ne peut pas changer la propriété du file.txt
sans le droit d'accès root/l'autorisation Sudo. Ceci est une fonctionnalité et non un bug. Et l'une des nombreuses raisons pour lesquelles les anciens ont choisi d'intégrer cette fonctionnalité a été expliquée dans un commentaire à votre question par roadmr
Conclusion: Vous pouvez modifier les autorisations du fichier à l'aide de chmod
si vous êtes le propriétaire de ce fichier sans autorisations root/Sudo, mais vous ne pouvez pas modifier le fichier. propriété, utilisateur ou groupe (en utilisant chown
ou chgrp
), d'un fichier même si vous êtes le propriétaire du fichier sans les autorisations root/Sudo. Ceci est une fonctionnalité et non un bug.
Non, vous ne pouvez pas modifier le propriétaire d'un fichier sans accès, mais si vous êtes propriétaire du fichier, vous pouvez modifier les autorisations du fichier avec chmod
et modifier le groupe avec chgrp
en un autre groupe dont vous êtes membre.
Question connexe: le chown est autorisé pour un utilisateur non root?
si vous avez accès à l'utilisateur B, vous pouvez simplement copier le fichier alors que vous êtes connecté en tant que B. Si vous avez également accès à l'utilisateur A, vous pouvez ensuite vous connecter et supprimer le fichier d'origine. Enfin, renommez le fichier copié en lui attribuant le nom d'origine (à nouveau B), vous laissant ainsi essentiellement le même fichier, appartenant à un autre utilisateur.
De toute évidence, ce n’est pas le même fichier, mais si vous ne vous souciez que du contenu du fichier, cela ne pose aucun problème.
Vous pouvez modifier la propriété d'un fichier ou d'un dossier sans Sudo, à condition que vous disposiez d'autorisations de lecture/écriture sur l'objet et que vous ne puissiez en changer le propriétaire que VOUS, et non d'un utilisateur arbitraire. L'astuce consiste simplement à copier quoi que ce soit, à supprimer l'original, puis à déplacer votre copie à sa place. Malheureusement, cela implique de faire une copie complète de tout, mais que faites-vous.
par exemple. chuser.sh:
#!/bin/bash
TMP="some_temporary_filename_this_is_dumb"
RECURSIVE=""
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-r|--recursive)
RECURSIVE="-r"
shift # past argument
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
cp -d --preserve=all $RECURSIVE $1 $TMP || exit 1
rm $RECURSIVE $1
mv $TMP $1