usermin を利用してSSH無しでcronを設定できるようにする

linux

状況説明

共用サーバはファイルを置くだけの権限で十分なので、SFTP限定にしているが、cron登録したいとの要望があるので、SSH接続させずにcron登録ができるようにさせたいというのが今回のケース。

userminをインストールしてWEBブラウザから操作ができるにした。(補足:webminはサーバ管理用なので、今回のケースには不適合)

設定方法

  • RHEL8(Red Hat Enterprise Linux)

インストール

最新版の指定などは以下から探す
http://download.webmin.com/download/yum/

$ dnf install http://download.webmin.com/download/yum/usermin-1.860-1.noarch.rpm

動作しない場合は必要に応じて以下をインストール

$ dnf --enablerepo=epel install perl-Net-SSLeay perl-Authen-PAM

config修正

rootログイン禁止の情報を追記

$ vi /etc/usermin/miniserv.conf
=========================
denyusers=root
=========================

利用できる機能を必要最低限に限定

$ vi /etc/usermin/webmin.acl
=========================
user: at changepass chfn commands cron cshrc fetchmail file filemin filter forward gnupg htaccess-htpasswd htaccess language mailbox mailcap man mysql plan postgresql proc procmail quota schedule shell spam ssh telnet theme tunnel twofactor updown usermount
↓
user: cron
=========================

変更を反映するために再起動

$ systemctl restart usermin.service

通信許可

firewalldでの通信許可(※miniserv.conf内でport番号を変えている場合は、port番号を変更する)

$ firewall-cmd --add-port=20000/tcp --zone=public --permanent
$ firewall-cmd --reload

動作確認

ポート番号を指定してhttpsでのアクセス。rootユーザーは拒否される。

左:トップ画面 、 右:rootログイン拒否画面

使える機能を制限した場合のメニュー画面、cronしか使えないことを確認。

コメント