chowning каждый домашний пользователь себе рекурсивно

Хорошо, поэтому у меня около 100 каталогов в моей домашней папке, каждая из которых принадлежит самому домашнему пользователю. Иногда мне приходится вручную заменять некоторые файлы как root, поэтому разрешения нарушаются, а некоторые файлы больше не принадлежат этому пользователю. Чтобы исправить это, мне всегда нужно использовать следующую команду в домашнем каталоге:

chown -R user:user user/ 

Теперь я смотрю на некоторые ярлыки, потому что я не могу сделать это для всех 100 пользователей.

Мне интересно, что будет сделано:

 chown -R *:* * 

  • Что делать, если владелец / usr / bin / * изменяется на non-root?
  • Разрешение Chown запрещено на долю samba
  • scp и владелец файла
  • Не удается получить доступ к папке через групповые разрешения
  • Solaris - Наследование файлами права собственности пользователя на каталог
  • Создание группы и пользователя для Tomcat RHEL / CentOS
  • Как запретить изменять владельца модифицируемых файлов?
  • изменение идентификатора владельца UID для 10 пользователей в каталоге 10 + TB
  • 2 Solutions collect form web for “chowning каждый домашний пользователь себе рекурсивно”

    Полный ответ был бы

    1) Открыть файл, например vi chown_homedirs

    2) Вставьте следующий код

     #!/bin/bash cd /home && for h in * do chown -R "$h:$h" "$h"; done 

    3) Сохраните файл

    4) chmod +x chown_homedirs

    5) запустить ./chown_homedirs

    ПРИМЕЧАНИЕ. Если в каталогах пользователей есть пробелы, вам всегда нужно указывать расширение. Если вы не укажете, что расширение может потерпеть неудачу и привести вас к неожиданным результатам.

    Вы можете использовать stat, чтобы получить права пользователя и группы на файл, а затем использовать их для обновления файлов, что-то вроде

     #!/bin/bash cd /home for file in * do user=$(stat -c %U "$file") group=$(stat -c %G "$file") echo chown -R "$user":"$group" "$file" done 

    Это касается ситуации, когда каталог owner / group / не является одинаковым. Очевидно, удалите эхо, если вы проверите тесты для вас.

    Linux и Unix - лучшая ОС в мире.