LoginSignup
0
1

apacheサーバー接続のオーナー名の変更についての参考例 - あくまでも実験でやってます。ご注意ください\(_ _)/(一応、これも玄人編)FUKUTAKA編)

Last updated at Posted at 2024-02-02

ここをクリックすると他の技術投稿の目次に行きます

apacheサーバー接続のオーナー名の変更についての参考例 - あくまでも実験でやってます。(_ _)/(一応、これも玄人向けです)(FUKUTAKA編)

先日apacheサーバーとSQLite3 のWebブラウザでのアクセス方法を書きましたが、

中には、オーナー名を変えたい方がいるかもしれませんので、記述します。

なので、試しに仮想サーバなどで試されてください。
そのサーバーには貴重なデータなどは入れておかないかバックアップをしておいてください。

apacheサーバーの設定ファイルのhttpd.conf(Ubuntuならapache2.conf)

を変更するのだが、項目に

User apache
Group apache

という項目があると思います。これを変更すればよいのですが、
ただ、変更して httpd(apache2)を再起動してもエラーが返されます。

では、どうするのかですが、

例としてapache_userというユーザ名でやります。

2通りあります。

① apache というユーザ名とgroup名を変更して、apacheサーバの変更をする
② 新たに追加ユーザをして、設定する

①つ目:apache というユーザ名とgroup名を変更して、apacheサーバの変更をする

# usermod -l apache_user apache
# groupmod -n apache_user apache
で、変更をかけ、

httpd.conf(Ubuntuならapache2.conf)を

User apache_user
Group apache_user

に変更し

apacheサーバーの再起動をする

あとは、前回の「Alma Linux 9/Rocky Linux 9 、apacheサーバーで、sqlite3のDBファイルのネットワークで使うためのコツ(一応、玄人向けです。) [FUKUTAKA編]」

をしておく

通常はここまででしておいた方が安全だと思います。

すみません。先にここから先が思いついてしまいました(_ _)/
一応、載せておきます

②つ目:新たに追加ユーザをして、設定する
apacheオーナーを残して追加でやりたいなら

新たにユーザを追加してパスワード無し(実験では有りでもなりました。)にしておくのです。
例として、

# useradd apache_user

そして、そのまま
httpd.conf(apache2.conf)の

User apache
Group apache

User apache_user
Group apache_user

に編集して、httpd(apache2)を再起動してください

そして、前回の

「Alma Linux 9/Rocky Linux 9 、apacheサーバーで、sqlite3のDBファイルのネットワークで使うためのコツ(一応、玄人向けです。) [FUKUTAKA編]」

と同じやり方で、ディレクトリとDBファイルのオーナー名を変えてください。

ただし、ユーザのホームディレクトリやユーザシェルなどで、支障がでるかもしれませんので、これも変えます。

では変え方ですが、

# cat /etc/passwd で中を見て、
apache の項目をみていただくと、

ユーザーホームディレクトリが
/usr/share/httpd

ユーザシェルが、
/sbin/nologin

になってると思いますので、これに変えるのです。

つまり、ここまでしなくてよいのでは、思うかもしれませんが、
apache項目とほぼ同じ項目にするということですね。

では、ここから特に注意

コマンドは

# usermod -d /usr/share/httpd apache_user(新しいapacheユーザー名)
で、ユーザホームディレクトリを変える
# usermod -s /sbin/nologin apache_user(新しいapacheユーザー名)
で、ユーザシェルを変えます。

ちなみに/etc/passwd のapacheの項目に
Apache とあると思いますが、これはコメントだそうです。

では、確認です
# cat /etc/passwd

/etc/shadow
の手動編集します。

# vi /etc/shadow

変えるのは、

第1フィールド:ユーザ名
第2フィールド:パスワード
第3フィールド:パスワードを最後に変更した日
第4フィールド:変更可能最短期間
第5フィールド:未変更可能最長期間
第6フィールド:未変更時警告日
第7フィールド:ログインしない場合に無効になる日数
第8フィールド:アカウントが失効になるまでの日数
第9フィールド:フラグ

第1フィールド:ユーザ名
第2フィールド:パスワード
第3フィールド:パスワードを最後に変更した日

以外の
::間を空欄にする

例 apache_user:!!:19755::::::というふうに
※ 「:」の数を間違えないでください。

そして、httpd(apache2)の再起動して、確認をしてください。

もしかしたら、ここまでのことはしなくて良いかもしれませんが、
あくまでも一例として載せています。

大げさだなぁと思うかもしれませんが、
何かあっても責任は負いかねませんので、ご了承ください。

なので、試しに仮想サーバなどで、されてみてください。
そのサーバーには貴重なデータなどは入れておかないかバックアップをしておいてください。

ここをクリックすると他の技術投稿の目次に行きます

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1