Почему я не могу chmod эти файлы, которые я мог ранее?

Я пытался добавить разрешения на выполнение для 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 . -iname '*.sh' -print0

Поэтому я создал другую находку:

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

так что я могу отменить разрешения для не-sh файлов (да, я вижу, что некоторые файлы имеют 644 perms, а не 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 permisions для каталога direc , чтобы выполнить команды в указанном каталоге.

  • предоставить разрешение в Linux
  • chmod и chown не влияют на установленный ресурс CIFS, но не испускают ошибок
  • Доступ к записи без доступа для чтения
  • разрешение на файлы
  • chmod 600 терпит неудачу
  • назначение привилегий чтения / записи для папки пользователю в CentOS 7
  • Сделать групповые разрешения такими же, как разрешения пользователя
  • Как передавать файлы по ssh, а также изменять их разрешения на удаленном сервере без необходимости входа в систему дважды
  • One Solution collect form web for “Почему я не могу chmod эти файлы, которые я мог ранее?”

    Ваш find cmd также находит текущий каталог « . ». Тогда права этого каталога будут установлены в 600 и, следовательно, вы потеряете права касаться файлов в этом каталоге.

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

     find . \! -path . \! -iname '*.sh' -print0 | xargs -0 chmod 600 
    Linux и Unix - лучшая ОС в мире.