Подтвердить что ты не робот

Как установить системную ширину umask?

Я работаю в лаборатории, где мы работаем под управлением Linux (Debian и Ubuntu). Имена пользователей и имена групп обрабатываются NIS и yp. У нас есть некоторые общие пользователи, у всех есть доступ к этим запускам экспериментов, и тогда у каждого из нас есть свои собственные пользователи, кроме того, есть общая группа, в которой мы все являемся.

Как я могу сделать так, чтобы все файлы и каталоги на общем диске /home/ (NFS) были прочитаны/записаны (/выполнимы) пользователем/группой? В принципе, я хочу

chmod -R 664 /home
chgrp -R commongroup /home

или эквивалентно umask 0002.

Но выполнение приведенных выше команд только фиксирует текущие файлы в папках, а umask работает только для одиночных пользователей и должен запускаться каждый раз, когда пользователь регистрируется в ie. в файле .bashrc (и будет ли это работать в режиме изменений через gnome?). Есть ли системная команда или настройки, которые я мог бы использовать, чтобы убедиться, что наша коммонгруппа имеет доступ на запись к общим файлам?

4b9b3361

Ответ 1

Оба корабля Debian и Ubuntu с pam_umask. Это позволяет вам настроить umask в /etc/login.defs и применять их во всей системе, независимо от того, как пользователь входит в систему.

Чтобы включить его, вам может потребоваться добавить строку в /etc/pam.d/common-session, чтобы прочитать

session optional pam_umask.so

или он может быть включен. Затем отредактируйте /etc/login.defs и измените строку UMASK на

UMASK           002

(по умолчанию 022).

Обратите внимание, что пользователи могут по-прежнему переопределять umask в своих собственных ~/.profile или ~/.bashrc или подобных, но (по крайней мере, в новых установках Debian и Ubuntu) не должно быть переопределения umask в /etc/profile или /etc/bash.bashrc. (Если есть, просто удалите их.)

Ответ 2

Сначала убедитесь, что установлен пакет pam-modules. Это делает доступным модуль pam_umask. Затем убедитесь, что /etc/pam.d/common-session имеет строку вида

session optional pam_umask.so

чтобы pam_umask был включен.

Теперь, согласно странице pam_umask man, по умолчанию umask определяется при входе в систему, проверяя каждое из следующих мест, чтобы:

  • Жесткий системный набор по умолчанию установлен в /etc/pam.d/common-session. Чтобы установить его таким образом, замените строку из упомянутого выше файла следующим образом:

    session optional pam_umask.so umask=002
    
  • Запись в отдельном поле пользователя GECOS в /etc/passwd отменяет мягкое общесистемное значение по умолчанию для этого конкретного пользователя. Создайте эту запись, используя команду формы:

    chfn --other='umask=002' username
    
  • Строка формы UMASK=002 в /etc/defaults/login (возможно, вам потребуется создать этот файл) устанавливает мягкое системное значение по умолчанию.

  • Значение UMASK из /etc/login.defs. Это значение также используется для чего-то еще (вычисления разрешений в домашнем каталоге нового пользователя, который создается, более подробно см. Комментарии в /etc/login.defs). Поэтому лучше не полагаться на это для установки стандартного umask по умолчанию для регулярных логинов, чтобы все было в порядке.

Итак, в вашем случае вы должны настроить это либо в /etc/defaults/login, если хотите, чтобы можно было переопределить параметр для отдельных пользователей или установить его в /etc/pam.d/common-session, как описано выше, если вы хотите, чтобы он был таким же для всех пользователей.

Обратите внимание, что даже при жестком настройке по умолчанию пользователи все равно могут переопределить по умолчанию UMASK вручную, используя команду UMASK в командной строке или в .profile script.

Также обратите внимание, что традиционным способом Unix по умолчанию является добавление команды UMASK в /etc/profile, и это также будет работать. Но это не рекомендуемый способ настроить такие вещи на Ubuntu, потому что это трудно управлять надежным использованием скриптов и графических интерфейсов.

Ответ 3

Чтобы соответствовать правам группы, на сервере установленный бит gid (один из "липких битов" ) можно рассматривать как дополнительную опцию.

Если общий каталог связан с группой, запуск (с использованием root): chmod -R 2775 folder_for_the_group может быть интересным.

Для любого нового файла, созданного в папке, создателем будет владелец, но группа будет автоматически указана (пока создатель является частью группы).

сетка "p > Правка" теперь отображается как -rwxrwsr-x +