Simple TOML Name Service
sshログインした際に、ユーザーのホームディレクトリは作成されません。/etc/pam.d/sshd
に設定を行うことでホームディレクトリを自動で作成することが出来ます。
$ echo 'session required pam_mkhomedir.so skel=/etc/skel/ umask=0022' >> /etc/pam.d/sshd
Webサービスにおいて、アプリケーションをデプロイする際に、デプロイユーザーを作成し、デプロイする運用が多くあると思います。大体のケースにおいて、デプロイユーザーの~/.ssh/authorized_keys
にデプロイするユーザーの公開鍵を羅列して運用することが多いでしょう。STNSのlink_users
機能を利用すると同様のことがシンプルに実現できます。
[users.deploy]
id = 1
group_id = 1
link_users = ["example1","example2"]
[users.example1]
id = 2
group_id = 1
keys = ["ssh-rsa aaa"]
[users.example2]
id = 3
group_id = 1
keys = ["ssh-rsa bbb"]
上記の定義を行うと、deploy
というユーザー名でexampl1
とexample2
がログイン可能となります。裏の動きとしてはdeploy
というユーザー名でSSHログインを行う際に、example1とexample2の公開鍵であるssh-rsa aaa
およびssh-rsa bbb
を返却しています。
サーバのパーミッション制御を行う際に、部署単位で行いたい場合があります。例えばA課で読み取り書き込み権限を与え、A課が所属するB部では読み取り権限のみ与えると行ったケースです。STNSではこういったケースにも対応する事ができます。
[groups.department]
users = ["user1"]
link_groups = ["division"]
[groups.division]
users = ["user2"]
この例ではdepartment
グループにuser1
が所属しており、division
グループにはuser2
が所属しています。またdepartment
にはlink_groups
にdivision
を定義しております。
これによって、departmentにはdivisionも所属しているという状態になり、id
コマンドを発行すると下記のようになります。
$ id user2
uid=1001(user1) gid=1002(division) groups=1001(department),1002(division)
これによりuser2はdepartmentに所属するdivisionのユーザーということを表現できます。
起動オプションを切り替えることでLDAPプロトコルに対応できます。
$ stns --protocol ldap
AWS S3から設定ファイルを読み込むことができます。
$ stns --config s3://bucketname/config.toml
This theme is a fork of Solo.