LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Тестирую вручную: после запуска логинюсь в tty как root. Делаю bcache unlock.
В systemd v234 от nixos ключ попадает в keyring _uid.0, keyctl show кажет keyring _ses, где его нет. При попытке mount ключ не находится.

Т. е. bcache unlock кладёт ключ в _uid.0, а mount берёт ключ из _ses? Надо подумать, насколько это похоже на то, что происходит в cryptsetup. Получается, что в результате именно процесс mount должен иметь доступ к _uid.0 (т. е. шарить _ses с _uid.0). Ну, это жопа, PR 6832 тебе никак не поможет, потому что mount может быть запущен из совершенно любого юнита, хоть из своего, хоть из юзерской сессии (т. е. по транзитивности из юнита той программы, которая тебя залогинила, каковой может быть совершенно любая программа). Кажется, таки нужно писать Кенту и просить его о том, чтобы mount явно забирал ключ из _uid.0.

Исправление intelfx, :

Тестирую вручную: после запуска логинюсь в tty как root. Делаю bcache unlock.
В systemd v234 от nixos ключ попадает в keyring _uid.0, keyctl show кажет keyring _ses, где его нет. При попытке mount ключ не находится.

Т. е. bcache unlock кладёт ключ в _uid.0, а mount берёт ключ из _ses? Надо подумать, насколько это похоже на то, что происходит в cryptsetup. Получается, что в результате именно процесс mount должен иметь доступ к _uid.0 (т. е. шарить _ses с _uid.0). Ну, это жопа, PR 6832 тебе никак не поможет, потому что mount может быть запущен из совершенно любого юнита, хоть из своего, хоть из юзерской сессии (т. е. по транзитивности из юнита той программы, которая тебя залогинила, каковой может быть совершенно любая программа). Кажется, таки нужно писать Кенту и просить его о том, чтобы mount забирал ключ из _uid.0.

Исправление intelfx, :

Тестирую вручную: после запуска логинюсь в tty как root. Делаю bcache unlock.
В systemd v234 от nixos ключ попадает в keyring _uid.0, keyctl show кажет keyring _ses, где его нет. При попытке mount ключ не находится.

Т. е. bcache unlock кладёт ключ в _uid.0, а mount берёт ключ из _ses? Надо подумать, насколько это похоже на то, что происходит в cryptsetup. Получается, что в результате именно процесс mount должен иметь доступ к _uid.0 (т. е. шарить _ses с _uid.0). Ну, это жопа, PR 6832 тебе никак не поможет, потому что mount может быть запущен из совершенно любого юнита, хоть из своего, хоть из юзерской сессии. Кажется, таки нужно писать Кенту и просить его о том, чтобы mount забирал ключ из _uid.0.

Исправление intelfx, :

Тестирую вручную: после запуска логинюсь в tty как root. Делаю bcache unlock.
В systemd v234 от nixos ключ попадает в keyring _uid.0, keyctl show кажет keyring _ses, где его нет. При попытке mount ключ не находится.

Т. е. bcache unlock кладёт ключ в _uid.0, а mount берёт ключ из _ses? Надо подумать, насколько это похоже на то, что происходит в cryptsetup. Получается, что в результате именно процесс mount должен иметь доступ к _uid.0 (т. е. шарить _ses с _uid.0). Ну, это жопа, PR 6832 тебе никак не поможет, потому что mount может быть запущен из совершенно любого юнита. Кажется, таки нужно писать Кенту и просить его о том, чтобы mount забирал ключ из _uid.0.

Исправление intelfx, :

Тестирую вручную: после запуска логинюсь в tty как root. Делаю bcache unlock.
В systemd v234 от nixos ключ попадает в keyring _uid.0, keyctl show кажет keyring _ses, где его нет. При попытке mount ключ не находится.

Т. е. bcache unlock кладёт ключ в _uid.0, а mount берёт ключ из _ses? Надо подумать, насколько это похоже на то, что происходит в cryptsetup. Получается, что в результате именно процесс mount должен иметь доступ к _uid.0 (т. е. шарить _ses с _uid.0). Ну, это жопа, PR 6832 тебе никак не поможет. Кажется, таки нужно писать Кенту и просить его о том, чтобы mount забирал ключ из _uid.0.

Исправление intelfx, :

Тестирую вручную: после запуска логинюсь в tty как root. Делаю bcache unlock.
В systemd v234 от nixos ключ попадает в keyring _uid.0, keyctl show кажет keyring _ses, где его нет. При попытке mount ключ не находится.

Т. е. bcache unlock кладёт ключ в _uid.0, а mount берёт ключ из _ses? Надо подумать, насколько это похоже на то, что происходит в cryptsetup. Получается, что в результате именно процесс mount должен шарить keyring с _uid.0. Ну, это жопа, PR 6832 тебе никак не поможет. Кажется, таки нужно писать Кенту и просить его о том, чтобы mount забирал ключ из _uid.0.

Исправление intelfx, :

Тестирую вручную: после запуска логинюсь в tty как root. Делаю bcache unlock.
В systemd v234 от nixos ключ попадает в keyring _uid.0, keyctl show кажет keyring _ses, где его нет. При попытке mount ключ не находится.

Т. е. bcache unlock кладёт ключ в _uid.0, а mount берёт ключ из _ses? Надо подумать, насколько это похоже на то, что происходит в cryptsetup. Получается, что в результате любой процесс mount должен шарить keyring с _uid.0. Ну, это жопа, PR 6832 тебе никак не поможет. Кажется, таки нужно писать Кенту и просить его о том, чтобы mount забирал ключ из _uid.0.

Исправление intelfx, :

Тестирую вручную: после запуска логинюсь в tty как root. Делаю bcache unlock.
В systemd v234 от nixos ключ попадает в keyring _uid.0, keyctl show кажет keyring _ses, где его нет. При попытке mount ключ не находится.

Т. е. bcache unlock кладёт ключ в _uid.0, а mount берёт ключ из _ses? Надо подумать, насколько это похоже на то, что происходит в cryptsetup.

Исходная версия intelfx, :

Тестирую вручную: после запуска логинюсь в tty как root. Делаю bcache unlock.
В systemd v234 от nixos ключ попадает в keyring _uid.0, keyctl show кажет keyring _ses, где его нет. При попытке mount ключ не находится.

Т. е. bcache unlock кладёт ключ в _uid.0, а mount берёт ключ из _ses?