crest-cassia / oacis_docker

Dockerfile for OACIS
5 stars 3 forks source link

change uid and gid instead of chown #68

Closed yohm closed 6 years ago

yohm commented 6 years ago

fixed #66

テスト方法

takeshi-uchitane commented 6 years ago

ubuntuでテストした時の問題点 ログイン(docker exec -it -u oacis test bash -l)すると,docker run直後は,uid=1001, gid=1000となってしまう. 結果として,/home/oacisのパーミッションが1001:1000となる.

ログオフし,数分後,再ログインすると,uid=1001,gid=1001となる. しかし,/home/oacisのパーミッションは10001:1000のまま.

yohm commented 6 years ago

groupmodは$HOME以下のuid,gidを変更しないのが問題でした。usermodとは違う挙動です。 usermodで-gオプションを指定してgroupを変更するとHOME以下を変更してくれるので、

  1. usermodを呼ぶ前にgroupmodを呼んでgidを変更
  2. usermod実行時に -u だけでなく -g も追加

という修正を入れました。

またbundleがインストールされなかったのは /usr/local/bundle のownerが更新されていないのが原因でした。usermodは$HOME以下しか変更しないので、/usr/local/bundle を明示的にchownで変更しました。 これで setup_ns_model.sh も実行できるはずです。

yohm commented 6 years ago

@takeshi-uchitane ありがとうございます。自分では気づけない箇所でした