Как повторно смонтировать файловую систему при выходе из системы?

Одна из проблем с командой chown (но на самом деле, это связано с системным вызовом chown()) заключается в том, что в качестве меры безопасности она удаляет биты setuid и setgid в разрешениях.

Это также не распространяется на ACL.

Для работы с этим можно использовать rsync на каталоге поверх себя в режиме update и с опцией --usermap:

$ ls -ln
total 6732
-rwsr-xr-x  1 1002 1000 6888896 Nov  3 21:50 a
drwxr-xr-x+ 2 1002 1000    4096 Nov  3 21:46 x

$ getfacl -n x
# file: x
# owner: 1002
# group: 1000
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:1002:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

$ sudo rsync -rAau --usermap=1002:1000 . .

$ ls -ln
total 6732
-rwsr-xr-x  1 1000 1000 6888896 Nov  3 21:50 a
drwxr-xr-x+ 2 1000 1000    4096 Nov  3 21:46 x

$ getfacl -n x
# file: x
# owner: 1000
# group: 1000
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:1000:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

1002 изменено на 1000 как в владельцах файлов, так и в записях ACL.

Она также корректно обрабатывает сим-ссылки.

0
25.03.2015, 07:23
1 ответ

Взгляните на pam-tmpdir и pam-mount.

pam-mount mounts и размонтирует каталоги, когда сессии PAM начинаются и заканчиваются (в том числе, когда пользователи входят и выходят из системы).

pam-tmpdir создаёт пользовательскую временную директорию каждый раз, когда кто-то входит в систему, что может пригодиться, если вы пытаетесь изолировать пользователей друг от друга.

Обратите внимание, что в любом случае могут быть демоны, у которых есть файлы в /tmp, которые они ожидают хранить дольше, чем сеанс пользователя; поэтому я бы порекомендовал использовать временную директорию, специфичную для пользователя, с использованием либо pam-mount, либо pam-tmpdir.

4
28.01.2020, 02:20

Теги

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