Как интерпретировать разрешение группы?

Этот встроенный терминал очень прост; он не предлагает таких возможностей, как выделение цветом. Если вы этого хотите, вам нужно либо использовать терминал Vim, либо запустить внешнюю команду в отдельном окне терминала:

:!gnome-terminal -x sh -c 'git diff file.c'
0
11.08.2018, 15:45
2 ответа

Когда создается новый файл, у него есть один пользователь (владелец )и одна связанная с ним группа. Даже если пользователь А входит в несколько групп, файл может быть связан только с одной из этих групп. Вы можете подтвердить это простым ls -l. Для любого файла существует один пользователь и одна группа.

Следовательно, даже если пользователь A добавлен в новую группу, эта новая группа не может получить доступ к файлу и, таким образом, не влияет на его разрешения.Единственный способ, которым новый пользователь может получить к нему доступ, — это добавить его в первоначальную группу владельцев G… и если у него есть уровень доступа, необходимый для этого, то он все равно сможет получить доступ к файлу другими способами.

0
28.01.2020, 02:23

В большинстве систем Linux, по крайней мере, по умолчанию, основная группа пользователя совпадает с его именем пользователя, так что это не будет проблемой, поскольку групповое владение новым файлом будет принадлежать группе, которая никто никогда не будет внутри.

Когда серверы настроены так, чтобы у новых пользователей была общая основная группа, у нас есть переменная окружения umaskдля предотвращения каких-либо проблем. Это то, что устанавливает разрешения по умолчанию для новых файлов и может быть установлено для каждого пользователя. Таким образом, пользователь А может установить для своего umaskзначение 077, и тогда любые новые файлы, которые он создаст, будут иметь права доступа 700, что означает, что члены группы не смогут ничего с ним сделать.

Чтобы немного расширить это, ваш umask обычно устанавливается как часть вашего сценария инициализации -, то есть сценариев, которые запускаются, когда вы входите в учетную запись пользователя. У вас есть два набора -ваш глобальный сценарий профиля, который чаще всего /etc/profileили /etc/bashrc, и ваш локальный, которые хранятся в вашем домашнем каталоге как .bashrcили.profile(фактические используемые сценарии зависят от вашего shell, они просто распространены для bash ). Когда вы входите в систему, сначала запускается соответствующий глобальный сценарий, затем запускается локальный сценарий, который может переопределить все, что сделано глобальным. Таким образом, в.bashrc(или эквивалентном )вам просто нужно добавить к сценарию umask 077, чтобы установить значение 077. Вы также можете просто запустить umask 077, чтобы установить umask только для текущего сеанса.

1
28.01.2020, 02:23

Теги

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