Невозможно редактировать файл через разрешение группы

есть система с двумя пользователями: и . Оба они принадлежат к группе с именем . Однако, когда один из них создает файл (в /tmp) и меняет свою групповую принадлежность на , с rwгрупповое разрешение, другой все еще не может записать этот файл... Ниже история в терминале:

      codera@vbox:/tmp$ touch file_a
codera@vbox:/tmp$ chown codera:firma file_a
codera@vbox:/tmp$ ls -al file_a
-rw-rw-r-- 1 codera firma 0 úno 14 20:12 file_a

Так что, если я так понимаю, оба владельца файла ( codera) и участники группы firma должен иметь возможность читать/записывать этот файл. Давайте попробуем это во втором окне терминала:

      pb@vbox:~$ sudo su - coderb # (then password typed)
coderb@vbox:~$ cd /tmp
coderb@vbox:/tmp$ ls -al file_a
-rw-rw-r-- 1 codera firma 0 úno 14 20:12 file_a
coderb@vbox:/tmp$ id # lets check groups one more time
uid=1002(coderb) gid=1002(coderb) groups=1002(coderb),27(sudo),1005(firma),1006(cpp)
coderb@vbox:/tmp$ echo hello > file_a
-bash: file_a: Permission denied

Согласно с man acl, после проверки того, является ли пользователь (соответственно процесс) владельцем, если действующий GID или любой из дополнительных идентификаторов группы соответствует файловой группе, тогда следует применить эти разрешения rw- .

Я старался newgrp - firmaтоже... Он успешно изменил gid, но не помог получить доступ к файлу. Не помогла ни перезагрузка машины (способ принудительного выхода из системы/входа в систему), ни вход в систему графически, как coderb.

Может ли кто-нибудь объяснить мне, что я сделал неправильно или что я пропустил, пожалуйста?

Ниже информация об ОС. Он работает в VirtualBox:

      coderb@vbox:/tmp$ uname --all
Linux vbox 5.8.0-41-generic #46~20.04.1-Ubuntu SMP Mon Jan 18 17:52:23 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Спасибо всем за любую помощь.

1 ответ

Если вы сделаете:

      $ ls -lad /tmp
drwxrwxrwt 28 root root 36864 Feb 14 22:26 /tmp

Вы увидите, что у него есть липкий бит ( t) установлен. Это не позволяет пользователям удалять или переименовывать файлы других пользователей. Недавний Linux также пошел дальше, представив fs.protected_regularsysctl , который также предотвращает запись в файлы других пользователей в таких каталогах.

Вы можете делать то, что хотите, в каталоге, который не закреплен, или если он просто пишет, вы можете отключить этот sysctl (для всей системы).

Другие вопросы по тегам