開発Tips Linuxサーバー

VPSサーバーでアプリを公開するときに、調べたことのメモ。

root権限を一般ユーザーに付与

「/etc/sudoers」に権限設定が記載されている。
初期設定ではwheelグループがすべてのコマンドを実行できる権限。

[root@localhost ~]# vi /etc/sudoers

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

以下コマンドでグループに追加。

[root@localhost ~]# usermod -aG wheel normaluser

追加したらcatやviで開いて追加されていることを確認しよう。

以下参考サイト

https://ex1.m-yabe.com/archives/5233
https://qiita.com/polarbear08/items/c07fc1316a94c2ef49e8


ポート開放

CentOS系では以下のパケットフィルタ(ファイアウォールの事?)が使用されている。
公式だと以下のようになっている模様。変更しようと思えば変えられる模様。

  • iptables (CentOS6以下)
  • firewalld (CentOS7)
  • nftables (CentOS8, CentOS Stream8以降)

追記 firewalldの裏で使用されているプログラムが、「iptables 」や「nftables 」になる模様。firewalld自体はどっちでも使えるのかな?

使用しているパケットフィルタを確認

 下記はサービスの状態を確認するコマンド。「firewalld」の箇所を「iptables」「nftables」と変えて、サービスとして起動しているものを探す。(サービスとして起動していたら、それが使用されていると考えていいよね?)
自分の借りているVPSサーバーはCentOS Stream9だがfirewalldが起動していた。

systemctl status firewalld

追記 firewalldの裏で使用されているプログラムが、「iptables 」や「nftables 」になる模様。firewalld自体はどっちでも使えるのかな?


アプリを80ポートで起動するとき

1024未満のポートはwell_known_portやprivileged portと呼ばれ、一般ユーザでは使用不能。
waitressで起動する場合のコマンド(flaskr:create_appは可変)

waitress-serve –port 80 –call ‘flaskr:create_app’

上記を一般ユーザーで実行すると、以下のエラー。

PermissionError: [Errno 13] Permission denied

root権限で以下とすることで、起動できた。

sudo waitress-serve –port 80 –call ‘flaskr:create_app’

コメント

タイトルとURLをコピーしました