在centos中建立新帳號,限制只能使用sftp,並且只能使用指定的目錄,並保持apache可以正常運作Laravel專案。
本篇將建立新帳號blog_user,並指定只能使用sftp操作路徑 /var/www/blog 下的Laravel專案檔案
建立新群組,命名為 blog_group
sudo groupadd blog_group
建立帳號
sudo useradd blog_user -g blog_group -s /sbin/nologin
"-s /sbin/nologin" 是不讓這個帳號使用ssh連線
設定密碼
sudo passwd blog_user
修改 ssh設定檔案
sudo vi /etc/ssh/sshd_config
在最後面增加以下
Match User blog_user
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/www/blog
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
ChrootDirectory為sftp開啟時根目錄路徑
儲存後重新啟動
sudo systemctl restart sshd
權限設定
sudo chown root.root /var/www/blog
sudo chmod -R 755 /var/www/blog
sudo chown -R blog_user:blog_group /var/www/blog
資料夾到根目錄的所有資料夾擁有者都只能是root
資料夾到根目錄都不可以有群組寫入的權限
如果是laravel專案時,需將storage權限給apache
sudo chown -R apache.apache /var/www/blog/storage
sudo chmod -R 775 /var/www/blog/storage
如果有使用apache上傳檔案,也需要將路徑權限給laravel
chown -R apache.apache /var/www/blog/public/uploads
chmod -R 775 /var/www/blog/public/uploads
使用Composer update時出現Out of memory記憶體不足時解決方式
更新 composer 依然無法解決 No such file or directory 問題嗎?深入問題解決。
在Laravel 5.3版本起有了新的功能 循環變量 loop 使用foreach迴圈時可以在迴圈內使用$loop得到迴圈內的訊息
經歷了多個alpha版本後Bootstrap 5 beta版於2020年12月7日釋出
php顯示錯誤訊息Class 'ZipArchive' not found解決方式