Почему я не могу изменить права доступа к этим файлам, хотя раньше мог?

Почему я не могу изменить права доступа к этим файлам, хотя раньше мог?

Я пытался добавить права на выполнение sh-файлов в папке. Для этого я по ошибке использовал:

find . -print0 -iname '*.sh' | xargs -0 chmod -v 744

и вывод был:

mode of `.' changed from 0755 (rwxr-xr-x) to 0744 (rwxr--r--)
mode of `./codis.sh' changed from 0644 (rw-r--r--) to 0744 (rwxr--r--)
mode of `./ne fil.sw' changed from 0644 (rw-r--r--) to 0744 (rwxr--r--)
mode of `./.whois1.sh.swo' changed from 0644 (rw-r--r--) to 0744 (rwxr--r--)
mode of `./new file' changed from 0644 (rw-r--r--) to 0744 (rwxr--r--)
mode of `./ezik.sh' changed from 0644 (rw-r--r--) to 0744 (rwxr--r--)
mode of `./.whois1.sh.swp' changed from 0600 (rw-------) to 0744 (rwxr--r--)
mode of `./whois1.sh' retained as 0744 (rwxr--r--)

Теперь я знаю, что правильное использование части find было

find . -iname '*.sh' -print0

Поэтому я создал еще одну находку, вот такую:

find . \! -iname '*.sh' -print0 | xargs -0 chmod 600

чтобы я мог вернуть права доступа для файлов, не относящихся к sh (да, я вижу, что некоторые файлы имеют права 644, а не 600, но сейчас это не имеет значения). Вывод этой команды:

chmod: cannot access `./ne fil.sw': Permission denied
chmod: cannot access `./.whois1.sh.swo': Permission denied
chmod: cannot access `./new file': Permission denied
chmod: cannot access `./.whois1.sh.swp': Permission denied

Я тоже пользовался sudo, но все равно ничего...

Видимо, я не совсем понимаю права доступа... Если я правильно понял, мне нужны xправа доступа и для каталога, direcчтобы выполнять команды в этом каталоге.

решение1

Ваш findcmd также находит текущий каталог " .". Права этого каталога будут установлены на 600и, следовательно, вы потеряете права на доступ к файлам в этом каталоге.

Итак cd .., chmod 700укажите каталог, а затем выполните откат find, который теперь исключает текущий каталог, например так:

find . \! -path . \! -iname '*.sh' -print0 | xargs -0 chmod 600

Связанный контент