2023年11月10日金曜日

EC2でユーザディレクトリを開放する

 前回のブログの続きです。


1.一般ユーザを作成する
※windowsでは、PCにローカルアカウントを追加するイメージ
$ sudo useradd linux
 linuxという名前のユーザを作成します



2.ユーザのパスワードを設定する
$ sudo passwd linux
 linuxという名前のユーザのパスワードを変更します
今回はLinuxOS99@をパスワードにします。BAD PASSWORDと表示されますが、そのまま進めます。
パスワードは入力しても表示されませんので、注意してください。

3.ユーザが作成できていることを確認する
$ cat /etc/passwd
 一番下にlinuxが表示されていれば、linuxユーザが作成できています

4.ユーザディレクトリを開放
chatGPT:ユーザディレクトリとは、ある特定のユーザが自分だけが利用できるディレクトリのことです。開放とは、そのディレクトリへ許可を与えることを意味します。つまり、開放するということは、他の人も該当のディレクトリにアクセスできるように設定することを意味します
4-1.Appach(webサーバ)の設定ファイルを変更
$ sudo vi /etc/httpd/conf.d/userdir.conf 
①設定ファイルに、デフォルトとしてユーザディレクトリを開放しないと記載されています(UserDir disabled)。その部分を探して、コメントアウトすることで、ユーザディレクトリを開放します。
UserDir disabledを(17行目)
#UserDir disabledに変更

②ユーザの公開フォルダ名がデフォルトでpublic_htmlになっていますが、wwwに変更します。
#UserDir public_htmlを(24行目)
UserDir wwwに変更
<Directory "/home/*/public_html">を(31行目)
<Directory "/home/*/www">に変更
①②の変更を行い、保存する


5.webサーバを再起動して、Appach(webサーバ)の設定ファイルの変更を反映
$ sudo systemctl restart httpd.service 


6.ユーザディレクトリに移動して、公開フォルダを作成
①ユーザディレクトリに移動
$ su - linux
 パスワードの入力が求められますので、設定したパスワードを入力してください。
 無事に移動できていると、コマンドプロンプトの入力場所が
  [linux@ip-XXX-XX-XX-XXX ~]$
 に変わります。 

  豆知識
   1)su - linuxの-は、ユーザのホームディレクトリに移動するという意味になります。
   -がなくても実行ができますが、ホームディレクトリに移動しないため、この次以降の作業がしづらいです。
   2)もしlinuxユーザにいる状態で、元のユーザec2-userに戻りたい場合は、exitを実行してください

②ユーザディレクトリのパーミッションを変更
$ cd ../
 ユーザごとのディレクトリの場所に移動(/home)
 chatGPT:サーバの/homeディレクトリは、ユーザーのホームディレクトリ(ユーザーアカウントのFX以下のディレクトリ)を格納するディレクトリです。通常、ユーザーごとのプログラム、スクリプト、ドキュメントなどの個々のユーザーに関連する内容を格納します。
$ chmod 755 linux/
 chatGPT:755は、「読み取り、実行、書き込み権限を持つ所有者とグループ、および読み取り、実行権限を持つその他ユーザー」に権限を変更することを意味します。

③ユーザディレクトリに公開フォルダを作成
$ cd
 ユーザディレクトリに移動(/home/linux)
$ mkdir www
 公開フォルダwwwを作成
$ cd www/
 公開フォルダに移動

④index.phpを作成し、ユーザの公開ディレクトリが機能しているか確認
index.phpの中には<?php phpinfo();?>を記載します。
$ vi index.php


アクセスして確認
http://****ホスト名****/~linux/
 ※index.phpは省略してアクセス可能(省略前:http://****ホスト名****/~linux/index.php)

以上

0 件のコメント:

コメントを投稿