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

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

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

  • Опорожнение каталога, принадлежащего другому пользователю в неделю
  • Судо доступ к учетной записи другого пользователя
  • Как получить абсолютный путь от использования команды find unix
  • Как заменить строку во всех файлах в каталоге и во всех подкаталогах без изменения каких-либо скрытых каталогов / файлов?
  • Как процитировать аргументы с помощью xargs
  • Скрипт для изменения времени изменения файлов и каталогов рекурсивно
  • и выход был:

     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 , чтобы выполнить команды в указанном каталоге.

  • Найти и создать пустые файлы с тем же именем в другом месте
  • Сравнение двух команд поиска
  • Человеко-читаемые файлы с помощью printf
  • Как создать список содержимого файла каталога и подкаталогов с созданием, добавлением, изменением и последним временем открытия для каждого файла?
  • Сбой в разрешениях файлов и каталогов для акций Samba
  • Как использовать результаты «файла» (Имя приложения: Microsoft Word) для поиска определенной строки?
  • 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 - лучшая ОС в мире.