首頁 > os > linux > > 正文

前端文件自動上傳linux服務器,nginx文件權限設置—linux操作手

發布人:zhoulujun    點擊:

前端打包,使用webpack-sftp-client自動上傳打包文件,如果不使用nginx用戶上傳,默認是403沒有權限訪問,除非設置nginx用戶為root,否則就要用nginx用戶上傳,但是默認nginx用戶是沒有登錄,上傳權限。

前端打包,使用webpack-sftp-client自動上傳打包文件,配置如下

new WebpackSftpClient({
    port: '22',
    host: 'zhoulujun.cn',
    username: 'zhou',
    password: '*******',
    path: './dist/',//本地上傳目錄
    remotePath: '/home/wwwroot/site/',//服務器目標目錄
    verbose: true
  })

但是,nginx使用nginx用戶再跑,而上傳文件不是nginx用戶,所以肯定訪問不到,在內網中測試,直接把nginx改為root用戶跑就好,

#user nginx;

user root;

nginx用戶,一般安裝nginx或者環境自己已經內置,比如新增nginx

useradd: user 'nginx' already exists

但是,如果用nginx登錄,會發現

This account is currently not available nginx

修改/etc/passwd 文件,

# cat /etc/passwd | grep nginx

發現它的shell是“/sbin /nologin”,需要將起改成“/bin/bash

nginx:x:997:994:Nginx web server:/var/lib/nginx:/bin/bash

然后,發現nginx可以登錄,修改nginx密碼

passwd nginx

設置密碼后,發現用nginx登錄,無法上傳文件

所以可以修改nginx的文件訪問權限

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

## Allow root to run any commands anywhere

root    ALL=(ALL)     ALL

nginx  ALL=(ALL)     ALL

或許把nginx加入root用戶組

vim /etc/group




下一篇:Last page