У меня есть система разработки 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 возможных причины:
Вы можете проверить это, посмотрев на результат следующих действий:
Вероятно, маска устанавливается на
/ и т.д. / bashrc
или
/ etc / profile