Je sais que vous pouvez déterminer le propriétaire du répertoire en faisant:
ls -ld ~/foo | awk '{ print $3 }'
Vous pouvez ensuite le comparer à l'utilisateur actuel en procédant comme suit:
if [[ $(ls -ld ~/foo | awk '{ print $3 }') == "$USER" ]] # or $(id -u -n ) instead of $USER
then
echo "You are the owner"
else
echo "You are NOT the owner"
fi
Mais vous pouvez avoir des autorisations pour écrire sans en être le propriétaire. Comment déterminez-vous cela?
shell
permissions
Tyilo
la source
la source
stat
c'est spécifique aux systèmes Linux modernes, d'autres unités peuvent avoir un différentstat
ou aucun. Analyser ls est généralement une recette pour des problèmes , mais analyser le propriétaire comme le troisième mot fonctionne principalement (les choses se décomposent ensuite); ce n'est toujours pas parfait (certains systèmes autorisent les espaces dans les noms d'utilisateurs).