回答編集履歴

1

内容の改善。

2021/09/17 05:46

投稿

ASAPBYAF
ASAPBYAF

スコア2

test CHANGED
@@ -14,128 +14,86 @@
14
14
 
15
15
 
16
16
 
17
- ###そこで/home/vagrant/anaconda3/envs/gaiaについてアクセス権確認しました。
17
+ ###そこで以下の2点見直しました。
18
18
 
19
- /(homeがあるディレクトリが/だったので)でls -laというコマンドを使って所有者とグルプ名、およびその権限を確認しました。
19
+ (1)実行ユザーは誰か?
20
+
21
+ (2)(1)で確認したユーザーは適切な権限を持っているか?
22
+
23
+ ###なぜこの2点だと考えたか
24
+
25
+ apacheを起動するのはrootだが、ブラウザからのアクセスに対応しているのは実行ユーザという者らしいと知り、実行ユーザが適切な権限を持って、レスポンスに必要なファイルおよびディレクトリにアクセスできる必要があると考えたから。(正直、正確な理解はできてないです。http://honana.com/apache/apache_22/userとhttps://qiita.com/100/items/ab31e57fcc66ac661d5cを参考にしました。)
26
+
27
+ ###(1)について
28
+
29
+ (/usr/local/apache2/conf/httpd.conf)でhttpd.confファイルの以下を確認。
30
+
31
+ ```ここに言語を入力
32
+
33
+ User daemon
34
+
35
+ Group daemon
36
+
37
+ ```
38
+
39
+ ###(2)について
40
+
41
+ **/home/vagrant/anaconda3/envs/gaia**の各ディレクトリの権限を確認。各ディレクトリの上のディレクトリでls -laを使うことで、確認しました。
20
42
 
21
43
  ```ここに言語を入力
22
44
 
23
45
  drwxr-xr-x. 3 root root 21 5月 13 2020 home
24
46
 
47
+ drwx------. 8 vagrant vagrant 258 9月 17 14:08 vagrant
48
+
49
+ drwxrwxr-x. 28 vagrant vagrant 4096 9月 15 12:11 anaconda3
50
+
51
+ drwxrwxr-x. 3 vagrant vagrant 46 9月 15 12:17 envs
52
+
53
+ drwxrwxr-x. 11 vagrant vagrant 173 9月 15 12:17 gaia
54
+
25
55
  ```
26
56
 
27
- という結果でした。これは、所有者とグループがともにrootになってことを表ています
57
+ vagrantのディレクトリアクセス権限がないことが問題のように思えま
28
58
 
29
- 見方は左側が所有者、右側がグループです。(https://qiita.com/shizen-shin/items/453e408f78483d391930を参考しました。)
59
+ (アクセス権限の見方はhttps://qiita.com/shizen-shin/items/453e408f78483d391930を参考しました。)
30
60
 
61
+ そこで、chmod o+r vagrantとchmod o+x vagrantを使って、権限を与えました。
62
+
31
- 後、vagrant/anaconda3/envs/gaiaのそれぞれのディレクトリに移動してls -laコマンド使い、すべて所有者とグループがvagrantなっていることを確認しました。
63
+ コマンド詳細はhttps://qiita.com/ntkgcj/items/6450e25c5564ccaa1b95参考にしました。
64
+
65
+ その後、homeでls -laとすると、
32
66
 
33
67
  ```ここに言語を入力
34
68
 
35
- drwxrwxrwx. 1 vagrant vagrant 0 9月 15 10:26 vagrant
69
+ drwx---r-x. 8 vagrant vagrant 258 9月 17 14:08 vagrant
36
-
37
- drwxrwxr-x. 28 vagrant vagrant 4096 9月 15 12:11 anaconda3
38
-
39
- drwxrwxr-x. 2 vagrant vagrant 12288 9月 15 12:10 bin
40
-
41
- drwxrwxr-x. 11 vagrant vagrant 173 9月 15 12:17 gaia
42
-
43
-
44
70
 
45
71
  ```
46
72
 
47
- これらのこから
73
+ なっており権限が確認されました。
48
74
 
49
- ###まず誰にアクセス権限を与えべきか考え以下の三点を確認しました。
75
+ ###再起動して実際にアクセスると、出力が返ってきました。
50
76
 
51
- (1)今のユーザー
52
-
53
- (2)今のユーザーが属するグループ
54
-
55
- (3)apacheのhttpd.confに設定されているユーザーおよびグループ
56
-
57
-
58
-
59
- (1)はwho(https://eng-entrance.com/linux-user-showを参考)
60
-
61
- (2)はcat /etc/passwdおよび cat /etc/group(https://eng-entrance.com/linux-user-showとhttps://kazmax.zpp.jp/linux_beginner/etc_group.htmlを参考)
62
-
63
- (3)はhttpd.confファイルの中
64
-
65
- を使いました
77
+ 再起動
66
-
67
- (1)の結果
68
78
 
69
79
  ```ここに言語を入力
70
80
 
71
- vagrant pts/0 2021-09-17 09:39 (10.0.2.2)
81
+ systemctl restart apache2
72
82
 
73
83
  ```
74
84
 
75
- (2)の結果はcat /etc/passwdについて(vagrantの列を抜粋)
85
+ リクエスト
76
86
 
77
- ```ここに言語を入力
87
+ ```ここに言語を入力
78
88
 
79
- vagrant:x:1000:1000:vagrant:/home/vagrant:/bin/bash
89
+ curl localhost:81/myapp/
80
90
 
81
91
  ```
82
92
 
83
- cat /etc/groupについて(vagrantの列を抜粋)
84
-
85
- ```ここに言語を入
93
+
86
-
87
- vagrant:x:1000:vagrant
88
94
 
89
95
  ```
90
96
 
91
- (3) もともと両方daemonになっていたので、(1)(2)の結果を受けて以下のように設定しなおしました。
92
-
93
- ```ここに言語を入力
94
-
95
- <IfModule unixd_module>
96
-
97
- #
98
-
99
- # If you wish httpd to run as a different user or group, you must run
100
-
101
- # httpd as root initially and it will switch.
102
-
103
- #
104
-
105
- # User/Group: The name (or #number) of the user/group to run httpd as.
106
-
107
- # It is usually good practice to create a dedicated user and group for
108
-
109
- # running httpd, as with most system services.
110
-
111
- #
112
-
113
- User vagrant
114
-
115
- Group vagrant
97
+ Hello World!
116
-
117
-
118
-
119
- </IfModule>
120
98
 
121
99
  ```
122
-
123
-
124
-
125
- これらからvagrantがapacheを動かすことになるのだろうと考え、つぎはpythonのパスに対してvagrantに権限与えることを考えました。
126
-
127
-
128
-
129
- そこで、問題はhomeのグループ名にあると考えて、それをvagrantに変更しました。
130
-
131
- コマンドは、**chown root:vagrant home**を使いました。(https://webkaru.net/linux/chown-command/を参考しました。)
132
-
133
- その後、もう一度、/でls -laというコマンドを使って所有者とグループ名、およびその権限を確認しました。すると、
134
-
135
- ```ここに言語を入力
136
-
137
- drwxr-xr-x. 3 root vagrant 21 5月 13 2020 home
138
-
139
- ```
140
-
141
- のようにグループが変更されていることが確認できました。