У меня есть коллега с очень странной проблемой.
Мы используем сценарий, который автоматически помещает нас в рабочий каталог, а затем все файлы, которые мы создаем, принадлежат к определенной группе, частью которой мы являемся (я не знаю код и мне не разрешено делиться им, но это не проблема Кстати). Это всегда хорошо работало до 3 недель назад. Проблема в том, что при создании файла становится ясно, что парень является владельцем файла, и каждый (включая его), который является частью группы, может получить к нему доступ. Но если он затем использует « su
» для своего собственного имени пользователя и больше не считается членом группы, он больше не сможет получить доступ к своим файлам, даже если он все еще является владельцем (это относится к каждому файлу, расположенному в рабочем каталоге ). Даже с chmod 777
. Как это вообще возможно ?
(Другая информация: selinux отключен, у нас установлены те же переменные окружения)
Дополнительная информация: Вот что getfacl
делает с моим файлом:
$ getfacl 01_EP_Tool_CB65RHS_Douglas.dat
# file: 01_EP_Tool_CB65RHS_Douglas.dat
# owner: my_username
# group: gr-st_name
user::rw-
group::rw-
other::---
Вот то же самое с другим файлом:
$ getfacl resultat_001.xls
# file: resultat_001.xls
# owner: other_username
# group: gr-st_name
user::rwx
group::rwx
other::---
Теперь ls -ld
:
$ ll -ld 01_EP_Tool_CB65RHS_Douglas.dat
-rw-rw---- 1 my_username gr-st_name 2957222 Jul 27 11:28 01_EP_Tool_CB65RHS_Douglas.dat
$ ls -ld resultat_001.xls
-rwxrwx--- 1 other_username gr-st_name 3014 Jul 27 16:50 resultat_001.xls
Теперь при подключении, вот результат id
& groups
:
$ id
uid=47910(other_username) gid=147910(pgr-other_username) groups=1605(other_group8),2657(other_group9),2999(other_group1),3002(other_group2),3148(other_group3),3161(other_group4),3185(other_group5),3586(other_group6),3588(other_group7),3589(other_group10),3590(other_group11),3591(other_group12),3595(other_group1_d),3792(other_group13),3818(other_group14),3837(other_group14-2),3931(other_group13_s),**3972(gr-st_name)**,4007(other_group15),60419(other_group16),61055(other_group17),61115(other_group18),61123(other_group19),61127(other_group20),147910(pgr-other_username)
$ groups
pgr-other_username other_group8 other_group9 other_group1 other_group2 other_group3 other_group4 other_group5 other_group6 other_group7 other_group10 other_group11 other_group12 other_group1_d other_group13 other_group14 other_group14-2 other_group13_s **gr-st_name** other_group15 other_group16 other_group17 other_group18 other_group19 other_group20
Затем после входа в рабочую среду:
$ id
uid=47910(other_username) **gid=3972(gr-st_name)** groups=1605(other_group8),2657(other_group9),2999(other_group1),3002(other_group2),3148(other_group3),3161(other_group4),3185(other_group5),3586(other_group6),3588(other_group7),3589(other_group10),3590(other_group11),3591(other_group12),3595(other_group1_d),3792(other_group13),3818(other_group14),3837(other_group14-2),3931(other_group13_s),3972(gr-st_name),4007(other_group15),60419(other_group16),61055(other_group17),61115(other_group18),61123(other_group19),61127(other_group20),147910(pgr-other_username)
$ groups
**gr-st_name** other_group8 other_group9 other_group1 other_group2 other_group3 other_group4 other_group5 other_group6 other_group7 other_group10 other_group11 other_group12 other_group1_d other_group13 other_group14 other_group14-2 other_group13_s other_group15 other_group16 other_group17 other_group18 other_group19 other_group20 pgr-other_username
Затем после su other_username
:
$ id
uid=47910(other_username) gid=147910(pgr-other_username) groups=1605(other_group8),2657(other_group9),2999(other_group1),3002(other_group2),3148(other_group3),3161(other_group4),3185(other_group5),3586(other_group6),3588(other_group7),3589(other_group10),3590(other_group11),3591(other_group12),3595(other_group1_d),3792(other_group13),3818(other_group14),3837(other_group14-2),3931(other_group13_s),**3972(gr-st_name)**,4007(other_group15),60419(other_group16),61055(other_group17),61115(other_group18),61123(other_group19),61127(other_group20),147910(pgr-other_username)
$ groups
pgr-other_username other_group8 other_group9 other_group1 other_group2 other_group3 other_group4 other_group5 other_group6 other_group7 other_group10 other_group11 other_group12 other_group1_d other_group13 other_group14 other_group14-2 other_group13_s **gr-st_name** other_group15 other_group16 other_group17 other_group18 other_group19 other_group20
Что касается SELinux, у него есть:
$ cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
Что касается того, почему он делает su со своим собственным именем, это просто способ выйти из группы и остаться в том же месте.
Некоторая новая и, возможно, интересная информация. Несмотря на то, что пользователь всегда использует логин other_username , существует еще одна учетная запись, которая также принадлежит ему: still_another_username. Если я finger
на них пальцем , оба предоставят одинаковую информацию (как если бы они были синхронизированы):
$ finger other_username
Login: other_username Name: some_email_address
Directory: /home/other_username Shell: /bin/bash
On since Fri Jul 28 10:34 (CEST) on pts/36 from some_machine
48 minutes 30 seconds idle
On since Fri Jul 28 09:36 (CEST) on pts/82 from some_other_machine
19 minutes 49 seconds idle
On since Fri Jul 28 10:35 (CEST) on pts/150 from localhost:28.0
47 minutes 53 seconds idle
On since Fri Jul 28 10:39 (CEST) on pts/170 from localhost:28.0
44 minutes 25 seconds idle
(messages off)
No mail.
No Plan.
$ finger yet_another_username
Login: other_username Name: some_email_address
Directory: /home/other_username Shell: /bin/bash
On since Fri Jul 28 10:34 (CEST) on pts/36 from some_machine
48 minutes 46 seconds idle
On since Fri Jul 28 09:36 (CEST) on pts/82 from some_other_machine
20 minutes 5 seconds idle
On since Fri Jul 28 10:35 (CEST) on pts/150 from localhost:28.0
48 minutes 9 seconds idle
On since Fri Jul 28 10:39 (CEST) on pts/170 from localhost:28.0
44 minutes 41 seconds idle
(messages off)
No mail.
No Plan.