個人でdockerサーバ(オンプレ)を運営してるのですが、
元々CoreOSインストール時にデフォルトでcoreユーザを使っており、
個人的に統一したく、CoreOSならではのユーザ作成ハマったのでブログします。(主にsudoers権限)
■Adding users
https://coreos.com/os/docs/latest/adding-users.html
useraddは可能ですが、sudoers設定はvisudoできず、直編集からの強制保存ができないので
/etc/sudoers.dに各ユーザファイルをぶち込んで管理するしかないようです。バグとも言ってるw
ちなみにCoreOSのバージョンは以下。
1 2 3 4 5 6 7 8 9 10 |
adachin-docker ~ # cat /etc/os-release NAME="Container Linux by CoreOS" ID=coreos VERSION=1353.8.0 VERSION_ID=1353.8.0 BUILD_ID=2017-05-30-2322 PRETTY_NAME="Container Linux by CoreOS 1353.8.0 (Ladybug)" ANSI_COLOR="38;5;75" HOME_URL="https://coreos.com/" BUG_REPORT_URL="https://issues.coreos.com" |
■Research
ちなみにvisudoで編集すると…
1 2 |
adachin-docker ~ # visudo visudo: /usr/share/baselayout/sudoers: Read-only file system |
リードオンリーだからダメと怒られ..
直接編集してみると…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
## Pass LESSCHARSET through for systemd commands run through sudo that call less. ## See https://github.com/coreos/bugs/issues/365. Defaults env_keep += "LESSCHARSET" ## enable root and wheel root ALL=(ALL) ALL %wheel ALL=(ALL) ALL ## enable passwordless access for sudo %sudo ALL=(ALL) NOPASSWD: ALL ## the core user has no password by default core ALL=(ALL) NOPASSWD: ALL ## Read drop-in files from /etc/sudoers.d ## (the '#' here does not indicate a comment) #includedir /etc/sudoers.d ~ ~ ~ ~ ~ ~ ~ "/usr/share/baselayout/sudoers" "/usr/share/baselayout/sudoers" E212: Can't open file for writing Press ENTER or type command to continue |
vimで:w!強制保存してるのになんかエラー出る。
ちなみに18行目にはinclude出来ないようにコメントされてる…..
sudoersファイルを権限変更したらまたリードオンリーだからダメとブチ切れられた。
■公式通りにユーザを追加してみる
ユーザ作成は問題なし。
1 2 3 4 5 |
adachin-docker ~ # useradd adachin adachin-docker ~ # passwd adachin Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully |
ここからが鬼門。
1 2 3 4 5 6 7 8 9 10 |
adachin-docker ~ # visudo -f /etc/sudoers.d/adachin visudo: no editor found (editor path = /usr/libexec/editor) adachin-docker ~ # ls /etc/sudoers.d/ adachin adachin-docker ~ # vim /etc/sudoers.d/adachin adachin-docker ~ # cat /etc/sudoers.d/adachin adachin ALL=(ALL) NOPASSWD: ALL adachin@adachin-docker ~ $ sudo -s adachin-docker adachin # |
できたあああ
■まとめ
バグなのかセキュアなのかわからんw
includeコメントアウトしてるのに使えるからやっぱバグかなw
とりあえずこれでrootにもなれるしsshログインできるからOK!
0件のコメント