跳到主要內容區塊
:::
首頁 文章分享列表 文章分享

CentOS 設定 SFTP 教學

在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

 

這篇文章是否對您有幫助?
Line線上詢價 線上詢價
電子郵件
電話
聯繫我們