Я знаю, что вы можете определить владельца каталога, выполнив:
ls -ld ~/foo | awk '{ print $3 }'
Затем вы можете сравнить его с текущим пользователем, выполнив это:
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
Но вы можете иметь права на запись, не будучи владельцем. Как вы это определяете?
shell
permissions
Tyilo
источник
источник
stat
это характерно для современных систем Linux, другие единицы могут иметь другоеstat
или не иметь вообще. Синтаксический анализ ls обычно является причиной неприятностей , но синтаксический анализ владельца, поскольку третье слово в основном работает (после этого все рушится); это все еще не идеально (некоторые системы допускают пробелы в именах пользователей).