Назад | Перейти на главную страницу

umask, похоже, зависит от пользователя

У меня есть система разработки Ubuntu, для которой у меня есть несколько пользователей: я (с полным sudo) и около 5 других пользователей. (Я настроил систему, так что все в этом отношении все еще по умолчанию)

Я пытаюсь настроить систему так, чтобы несколько человек могли сотрудничать в одном каталоге с помощью группировки, и я хочу, чтобы разрешения по умолчанию были 664. Однако, когда некоторые пользователи редактировали файлы, разрешения были 644.

После долгих исследований у большинства пользователей есть umask (проверяется в приглашении) 0002, и когда они создают файлы, они имеют 664 (как и ожидалось), но есть 2 (я и еще один), у которых есть umask 0022 (поэтому файлы, которые приходят их 644, и никто не может им писать).

Я искал везде, но не могу понять, почему пара пользователей заканчивают с другой маской, например. нет ничего .bash_profile или что-то в этом роде)

Есть идеи относительно источника несоответствия?

/ и т.д. / bashrc

if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
   umask 002
else
   umask 022
fi

/ etc / profile

if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi

РЕДАКТИРОВАТЬ:

Мой (плохой) ~ / .bashrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# User specific aliases and functions


export LANG=en_US.utf8

Другой пользователь (хороший) .bashrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# User specific aliases and functions

Судя по файлам, которые вы предоставили, тестовый оператор в / etc / bashrc кажется истинным для большинства пользователей, но ложным для вас и другого «плохого» пользователя. На это может быть 2 возможных причины:

  • У вас и другой "плохой" учетной записи UID ниже 200
  • Вы и другая «плохая» учетная запись, кажется, находитесь в группе по умолчанию, имя которой отличается от вашего имени пользователя.

Вы можете проверить это, посмотрев на результат следующих действий:

  • вывод команды "id -u" (ваш идентификатор пользователя) и проверьте, не ниже ли вывод 200
  • вывод «id -un» (ваше имя пользователя) и «id -gn» (имя вашей группы) и проверьте, отличаются ли они

Вероятно, маска устанавливается на

/ и т.д. / bashrc

или

/ etc / profile