Я думаю, что Вы имеете в виду бит "SGID" файла, который не является тем же как его GID.
Вот типичный файл на моем компьютере (вывод ls-l):
-rw-r----- 1 bristol users 16 2012-07-23 11:36 file.txt
abbbcccddd <-- See explanation below.
Если Вы смотрите на первые 10 символов,
(a)-: Это - просто простой файл (в противоположность каталогу, символьной ссылке, канал и т.д....)
(b) rw-: владелец может считать и записать этот файл, но не выполнить его. Владельцем является "Бристоль", как Вы видите позже в строке.
(c) r-: члены группы, этот файл принадлежит ("пользователи" в примере) кроме владельца, могут читать, но не записать или выполнить этот файл.
(d)---: Кто-либо еще не может получить доступ к этому файлу вообще (кроме корня, конечно).
Поле GID является тем, которое говорит Вам, которые группируются, этот файл принадлежит - в этом случае "пользователи".
Поле, которое Вы, вероятно, имели в виду, на основе Вашего описания, является SGID, укусил и здесь лучшее объяснение, чем я мог придумать:
http://www.codecoffee.com/tipsforlinux/articles/028.html
Короткая версия: если исполняемый файл имеет набор битов SGID, то любой, кто не находится в группе, но может выполнить этот файл временно, получает права этой группы, в то время как программа выполняется.
Например, если Вы сделали, чтобы группа "буферизовала", который может считать и записать файлы в каталоге спулера печати, Вы не хотите просто, чтобы любой смешал с этим каталогом, но Вы действительно хотите, чтобы они смогли распечатать файлы, можно сделать некоторую программу печати, или сценарий сделали, чтобы группа "буферизовала" и установила бит SGID и когда любой запускает эту программу, программа может теперь записать в каталог спулера без человека, выполняющего его получающий полный доступ.
chmod
: биты режима файла измененияИспользование (восьмеричный режим):
chmod <octal-mode> files...
Использование (символьный режим):
chmod <references><operator><modes> files..
references
комбинация букв ugoa
, которые указывают который доступ пользователя к files
будет изменен:
u
пользователь, который владеет им g
другие пользователи в file
'S Groupo
другие пользователи не в группе файлаa
все пользователи
Если опущенный, это принимает значение по умолчанию всем пользователям, но только полномочиям, позволенным umask
изменяются.
operator
один из символов +-=
:
+
добавьте указанные биты режима файла к существующим битам режима файла каждого file
-
удаляет указанные биты режима файла к существующим битам режима файла каждого file
=
добавляют указанные биты и удаляют неуказанные биты, кроме setuid
и setgid
набор битов для каталогов, если явно не указано.mode
состоит из комбинации букв rwxXst
, которые указывают, какой бит полномочий должен быть изменен:
r
читать w
записать x
выполнитесь (или ищите каталоги),X
выполняйтесь/ищите, только если файл является каталогом или уже имеет, выполняют набор битов для некоторого пользователяs
setuid или setgid (в зависимости от указанного references
)t
ограниченный флаг удаления или липкий битС другой стороны, mode
может состоять из одной из букв ugo
, в этом случае случитесь, режим соответствует разрешениям, в настоящее время даваемым владельцу (u
), член file
'S Group (g
) или полномочия пользователей ни в одной из предыдущих категорий (o
).
chmod
объясненный:setfacl
) rwx
— читайте (r), запишите (w) и выполнитесь/пересеките (x) полномочия. #!
), и другие исполняемые файлы.s
и t
— липкий бит (т) и setgid (s) на каталогах s
— setuid, setgid, на исполняемых файлах. setcap
для более современного способа сделать это.chown
chgrp
:chattr
: измените атрибуты файлаИспользование:
chattr <operator><attribute> files...
operator
один из символов +-=
: * +
добавляют выбранные атрибуты, чтобы быть к существующему attributes
из files
* -
удаляет выбранный attributes
* =
перезаписывает текущий набор атрибутов, которые файлы имеют с указанным attributes
.
attribute
комбинация букв acdeijstuADST
, которые соответствуют атрибуты:
a
добавьте только c
сжатыйd
никакой дампe
формат степениi
неизменныйj
журналирование данныхs
безопасное удалениеt
никакое слияние хвостаu
неудаляемыйA
нет atime
обновленияD
синхронные обновления каталогаS
синхронные обновленияT
вершина иерархии каталоговsetfattr
: измените расширенные атрибуты файлаИспользование (атрибут набора):
setfattr -n <name> -v <value> files...
Использование (удаляет):
setfattr -x <name> files...
name
название расширенного атрибута, чтобы установить или удалить
value
новое значение расширенного атрибута
setfacl
: измените списки управления доступом к файлуИспользование:
setfacl <option> [default:][<target>:][<param>][:<perms>] files...
option
должен включать одно из следующего:
--set
установите ACL файла или каталога, заменив предыдущий ACL-m
|--modify
измените ACL файла или каталога-x
|--remove
удалите записи ACL файла или каталога
target
одна из букв ugmo
(или более длинная форма, показанная ниже):
u
, users
разрешение именованного пользователя, идентифицированного param
, значения по умолчанию для регистрации владельца uid
если опущено
g
, group
разрешение именованной группы, определенной param
, значение по умолчанию к владению группой uid
если опущеноm
, mask
эффективная маска правo
, other
полномочия других
perms
комбинация букв rwxX
, которые соответствуют полномочиям:
r
читать
w
записатьx
выполнитьсяX
выполнитесь, только если файл является каталогом или уже имеет, выполняют разрешение для некоторого пользователя
С другой стороны, perms
может быть восьмеричная цифра (0
-7
) указание на набор полномочий.
setcap
: возможности файла измененияИспользование:
setcap <capability-clause> file
A capability-clause
состоит из разделенного запятыми списка имен возможности, сопровождаемых списком пар флага оператора.
Доступные операторы =
, +
и -
. Доступные флаги e
, i
и p
которые соответствуют Эффективным, Наследуемым и Разрешенным наборам возможности.
=
оператор повысит указанные наборы возможности и сбросит другие. Если никакие флаги не даны в сочетании с =
оператор все наборы возможности будет сброшен. +
и -
операторы повысят или понизят один или несколько указанных наборов возможности соответственно.
chcon
: файл изменения контекст защиты SELinuxИспользование:
chcon [-u <user>] [-r <role>] [-t <type>] files...
пользователь является пользователем SELinux, такой как user_u
, system_u
или root
.
роль является ролью SELinux (всегда object_r
для файлов)
тип является типом предмета SELinux
chsmack
: изменитесь ВКУС расширил атрибутыИспользование:
chsmack -a <value> file
value
маркировка ВКУСА должна быть установлена для SMACK64
расширенный атрибут файла
richacls являются функцией, которая добавит более усовершенствованный ACLs.
В настоящее время происходящая работа, таким образом, я не могу сказать Вам очень о них. Я не использовал их.
См., что также этим вопросом Является там более усовершенствованная файловая система ACLs вне традиционного 'rwx' и POSIX ACL? и страница справочника
с высокого уровня:
-rwxrwxrwx
обрабатываются chmod
,вместе с идентификаторами владельца и группы, привязанными к каждому файлу или папке в файловой системе, обрабатываемой chown
и chgrp
; все в основном знают это произведение. другие ключевые моменты:
user_xattr
, и я мог выбрать, чтобы xattr не был доступен в корневой файловой системе во время установки; я думаю, что теперь с RHEL / CentOS 7 xattr есть по умолчанию, и вы не можете его не иметь. ls
, если вы видите -rwxrwxrwx+
, что +
указывает на наличие расширенного атрибута файла в этом объекте . tar
для вещей с xattr, если он остается в этой системе, нет проблем, но если он уходит в другое место, могут быть проблемы, если важны xattr (, т.е. samba и копирование между win10 ntfs и linux ext3/4,btrfs,хфс; или туда и обратно между сетевыми устройствами хранения)xattr
s, то xattr
s теоретически может ничего не значить и быть отброшенным или удаленным, потому что в этот момент это просто дополнительный багаж. Базовый общий ресурс Samba не работает в RHEL/CentOS 7... потому что selinux по умолчанию настроен на принудительное выполнение; selinux запрещает все, пока вы не разрешите это, поэтому либо отключите selinux (bad ), либо установите разрешающий. Если вы оставите selinux в качестве принудительного, то вы должны пометить папку, которую вы хотите использовать samba, с помощью расширенного атрибута, чтобы selinux распознал и разрешил общий доступ. Поэтому, если вы оставите принудительное применение selinux, то со всеми командами selinux (, которые затем установят необходимые xattr
s):
# from centos 7.6 /etc/samba/smb.conf.example
# Turn the samba_domain_controller Boolean on to allow a Samba PDC to use the useradd and groupadd family of binaries.
# Run the following command as the root user to turn this Boolean on:
# this is an selinux command, not
setsebool -P samba_domain_controller on
# If you create a new directory, such as a new top-level directory, label it with samba_share_t
# so that SELinux allows Samba to read and write to it.
# Do not label system directories, such as /etc/ and /home/ with samba_share_t, as such directories should already have an SELinux label.
# the xattr having the name "samba_share_t" is labelled onto "/mydatashare"
# this xattr of syntax "samba_share_t" is recognized by an existing rule in selinux
# if the folder does not have the xattr "samba_share_t" then the rule in selinux (when enforced) will prevent access via samba to the folder.
chcon -t samba_share_t /mydatashare
вы также используете selinux в системе linux с этим общим ресурсом samba, чтобы применить ограничения к файлам/папкам в этом общем ресурсе samba (с использованием любого расширенного атрибута ). Поскольку эти файлы / папки являются общими, пользователь законно копирует некоторые из них на свой компьютер с Win10, а затем копирует обратно, теряя расширенный атрибут.Теперь, после этого копирования туда и обратно, в этой Linux-системе selinux ограничит доступ к указанным файлам, потому что необходимый xattr больше не присутствует, и пользователи/администраторы стучат головой, задаваясь вопросом, почему все только что работало, теперь это не... установить selinux разрешить и распознать проблему потерянных xattr
s, появляющихся в журналах аудита, но это не будет прямо указывать, что это было результатом обратной и прямой копии, потерявшей xattr. Также подумайте о резервном копировании и восстановлении данных, а также о потенциальной работе, необходимой для запоминания xattr
s в дополнение к uid/gid, если вы хотите обеспечить безопасность на основе правильных xattr
s.