1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Rootless Docker with NIS users

Posted at

背景

研究室の計算機でdockerを使いたいといわれたがdockerグループなんて設定したくないのでrootless dockerを使いたい. sshでログインすることを前提.

問題

XDG_RUNTIME_DIRがうまく設定されないせいで動かない. 調べたらを設定すればいいらしいがそんな物はなく, どうもPAMがそれを作るらしい. ローカルでログインするとPAMが叩かれるっぽいのだがなぜかsshだと動かない. sudo loginctl enable-linger <user名>で特定のuserのsshログインで/run/usr/$UIDが生成されるように設定できるっぽいのだがno such fileとかいわれる.

原因

systemdのバグ
https://bugs.launchpad.net/ubuntu/+source/nis/+bug/1934393
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1915502
要は起動時にネットワークにアクセスできないようになっているので, NISからデータが取り込めず, loginctlを叩いてもNIS上のアカウントは設定できなくなっていた.

解決策

NISサーバはIPv4の範囲にたっているので, IPv4のアクセスをとりあえず全部許可すれば解決. 上のlaunchpadでもちょっとセキュリティ的にどうなんだろうねとなっているworkaround. そのうち直るのかな......

$ sudo systemctl edit systemd-logind
(opens an editor, put in the text below and save it)

[Service]
RestrictAddressFamilies=AF_INET
IPAddressAllow=any

$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-logind

これでssh越しでもログイン時に/run/usr/$UIDが作られるようになるのでこれをXDG_RUNTIME_DIRに設定すれば良い.

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?