Как установить umask в масштабе всей системы?

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

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

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

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

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

62
задан 19 August 2015 в 22:47

2 ответа

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

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

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

сетка Прав теперь появляется как-rwxrwsr-x +

0
ответ дан 31 October 2019 в 13:58

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

session optional pam_umask.so

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

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

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

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

    chfn --other='umask=002' username
    
  3. строка формы UMASK=002 в [1 111] (Вы, возможно, должны создать тот файл) устанавливает мягкое значение по умолчанию в масштабе всей системы.

  4. Эти UMASK значение от [1 113]. То значение также используется для чего-то еще (вычисления полномочий на корневом каталоге нового пользователя, который создается; см. комментарии в [1 114] для получения дополнительной информации). Так лучше стараться не полагаться на это для установки значения по умолчанию umask для регулярных логинов, разделять вещи.

Так в Вашем случае, необходимо настроить это или в [1 115], если Вы хотите, чтобы он был возможен переопределить установку для отдельных пользователей или установить его в [1 116], как описано выше, если Вы хотите, чтобы он был тем же для всех пользователей.

Примечание, что даже с трудной настройкой по умолчанию, пользователи могут все еще переопределить значение по умолчанию umask вручную при помощи эти umask команда при приглашении оболочки или в их .profile сценарий.

Также примечание, что традиционный Unix способ установить это значение по умолчанию путем добавления umask команда к [1 121], и это также все еще работало бы. Но это не рекомендуемый способ настроить вещи как это на Ubuntu, потому что это твердо управлять надежно сценариями использования и графический интерфейсами пользователя.

Примечание, к сожалению, это прекратило работать на любое приложение, которое было преобразовано для запуска через [1 122] .

23
ответ дан 31 October 2019 в 13:58

Другие вопросы по тегам:

Похожие вопросы: