Я использую Ubuntu 18.04.2 LTS, и у меня новая версия transmission-daemon
. Он отлично работает как сервис Systemd. Но когда я пытаюсь запустить его в автономном режиме (с остановленной службой), я вижу:
~ ⌘ sudo -u debian-transmission transmission-daemon -f --log-error --log-info --log-debug
[2019-05-14 11:53:19.167] Couldn't read "/home/jason/.config/user-dirs.dirs": Permission denied
[2019-05-14 11:53:20.419] Couldn't create "/home/jason/.config/transmission-daemon": Permission denied (file-posix.c:189)
[2019-05-14 11:53:20.419] Couldn't create "/home/jason/.config/transmission-daemon": Permission denied (file-posix.c:189)
[2019-05-14 11:53:20.419] Couldn't create "/home/jason/.config/transmission-daemon": Permission denied (file-posix.c:189)
[2019-05-14 11:53:20.419] Transmission 2.92 (14714) started (session.c:740)
[2019-05-14 11:53:20.419] Couldn't read "/home/jason/.config/transmission-daemon/stats.json": No such file or directory (utils.c:238)
[2019-05-14 11:53:20.419] Couldn't read "/home/jason/.config/transmission-daemon/stats.benc": No such file or directory (utils.c:238)
Обратите внимание, что ~
преобразуется в /home/jason
как пользователь jason
(я). Но я запускаю его как пользователь debian-transmission
. Так почему же Transmission пытается получить доступ к "моим" пользовательским каталогам? Как я могу остановить это, делая это?
По крайней мере, в последних версиях Ubuntu, sudo
настроен для сохранения пользователя вызова HOME
среда variable1. Можно проверить это любой путем выполнения чего-то как
$ sudo -u testuser sh -c 'echo $HOME'
/home/steeldriver
или путем выполнения sudo sudo -V
и взгляд на Environment variables to preserve
раздел.
Для установки HOME
тому из целевого пользователя, можно добавить -H
(--set-home
) опция:
-H, --set-home Request that the security policy set the HOME environment variable to the home directory specified by the target user's password database entry. Depending on the policy, this may be the default behavior.
Напр.
$ sudo -Hu testuser sh -c 'echo $HOME'
/home/testuser