У меня есть каталог (названный сервером), где полномочия так или иначе были испорчены, таким образом, я должен возвратить все полномочия. Моя текущая команда
sudo chmod -R -c a+w *
Но chmod просто говорит chmod: cannot access '*': No such file or directory
Что я делаю неправильно здесь? Я пропускаю что-то очевидное?
Эта ошибка только происходит, если у Вас нет файла на текущей папке. Выполните команду ls для проверки его.
Возможно, Вы завинтили полномочия".
"(текущий каталог) или"..
"(родительский каталог).
/bin/ls -ld . ..
должен показать что-то как
walt@bat:~(0)$ /bin/ls -ld . ..
drwx------ 255 walt walt 282624 Dec 2 13:50 .
drwxr-xr-x 7 root root 36864 Sep 10 12:08 ..
walt@bat:~(0)$ cd tmp
walt@bat:~/tmp(0)$ /bin/ls -ld . ..
drwx------ 51 walt walt 12288 Oct 31 01:27 .
drwx------ 255 walt walt 282624 Dec 2 13:50 ..
walt@bat:~/tmp(0)$
Читать man -a chmod
.
* подстановочный знак файла автоматически не разворачивает файлы, начинающиеся с точки (.), любые такие файлы не будут включены, и если все файлы/каталоги начнутся с точки, то ни один не будет, производя Ваше сообщение об ошибке.
Сначала подтвердите, что у Вас есть правильное имя каталога путем списка файлов в нем:
ls /server/*
Затем, если имена появляются, используют команду:
sudo chmod -R -c a+w /server/*
В Вашем вопросе Вы не использовали server
в команде, и при этом Вы не изменялись на каталог прежде, чем ввести команду.
Я зафиксировал его! Оказалось, что так или иначе я имел server
папка, принадлежавшая корню, и что средний chmod не мог видеть его. Я использовал chown
переключать полномочия мне.