Memo

メモ > サーバ > 構築: Webサーバ設定 > FTPDの設定(所有者と権限の設定例)

■FTPDの設定(所有者と権限の設定例)
※実際にWordPressなど複雑なプログラムを設置し、問題ないかを確認する 複数人で作業することを想定して、所有者と権限を調整する また、FTPソフトで作成したファイルとApache(PHP)で作成したファイルを、相互に編集できるようにする ■変更前の挙動 username1(FTPソフト)が作成したファイルは以下となる 所有者 ... username1:username1 権限 ... 644 username1(FTPソフト)が作成したディレクトリは以下となる 所有者 ... username1:username1 権限 ... 755 username2(FTPソフト)が作成したファイルは以下となる 所有者 ... username2:username2 権限 ... 644 username2(FTPソフト)が作成したディレクトリは以下となる 所有者 ... username2:username2 権限 ... 755 Apache(PHP)が作成したファイルは以下となる 所有者 ... apache:apache 権限 ... 644 Apache(PHP)が作成したディレクトリは以下となる 所有者 ... apache:apache 権限 ... 755(作成時に指定する) ■変更後の挙動 username1(FTPソフト)が作成したファイルは以下となる 所有者 ... username1:apache 権限 ... 664 username1(FTPソフト)が作成したディレクトリは以下となる 所有者 ... username1:apache 権限 ... 775 username2(FTPソフト)が作成したファイルは以下となる 所有者 ... username2:apache 権限 ... 664 username2(FTPソフト)が作成したディレクトリは以下となる 所有者 ... username2:apache 権限 ... 775 Apache(PHP)が作成したファイルは以下となる 所有者 ... apache:apache 権限 ... 664 Apache(PHP)が作成したディレクトリは以下となる 所有者 ... apache:apache 権限 ... 775(作成時に指定する) ■具体的な設定 FTPソフトで作成する際の、ファイルの権限を変更する (VSFTPDの設定ファイルを編集する)
# vi /etc/vsftpd/vsftpd.conf
local_umask=022 ↓ local_umask=002
# systemctl restart vsftpd
Apache(PHP)で作成する際の、ファイルの権限を変更する (ファイルを新規に作成し、umaskの設定を記述する)
# vi /etc/systemd/system/httpd.service
.include /lib/systemd/system/httpd.service [Service] UMask=002
# systemctl --system daemon-reload # systemctl restart httpd
ディレクトリにsetgidを設定し、上位ディレクトリのグループを引き継ぐようにする
# chmod g+s /var/www # chmod g+s /var/www/html
これで「変更後の挙動」になる ただ、例えばFTP経由でディレクトリを作成し、パーミッションの変更画面を開き、何も変更せずにOKとすると drwxrwsr-x ↓ drwxrwxr-x のようにパーミッションが変更されてしまう(「s」が無くなる) 問題になることは少ないかもしれないが、良い解決方法があるか引き続き確認したい

Advertisement