Eu sei que você pode determinar o proprietário do diretório fazendo:
ls -ld ~/foo | awk '{ print $3 }'
Você pode compará-lo ao usuário atual fazendo o seguinte:
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
Mas você pode ter permissões para escrever sem ser o proprietário. Como você determina isso?
shell
permissions
Tyilo
fonte
fonte
stat
é específico dos sistemas Linux modernos, outros departamentos podem ter um diferentestat
ou nenhum. Analisar ls geralmente é receita para problemas , mas analisar o proprietário como a terceira palavra geralmente funciona (as coisas quebram depois); ainda não é perfeito (alguns sistemas permitem espaços nos nomes de usuário).