切換自己為www-data用戶


突發奇想的想把切換為www-data用戶去看看會怎么樣.然后做了一個嘗試

由於我安裝了lamp環境,所以有www-data用戶,用它可以來執行web php ,以及安全放心的跑cli(避免權限過高執行危險命令)

所以先看看自己這個www-data用戶情況

查看組

cat /etc/group|grep www
www-data:x:33:

查看用戶

sudo cat /etc/shadow | grep www
www-data:*:18667:0:99999:7:::

好了,說明用戶和組都存在.

然后想想怎么切換過去,直接su一下發現我沒有密碼啊,那得修改密碼,先把自己切換為root,然后就可以 sudo passwd 這個用戶,重置密碼后切會正常用戶

sudo su
# sudo passwd www-data
New password: 
Retype new password: 
passwd: password updated successfully
# su my_account(我正常用的帳號)
$ whomai

之后就嘗試切換一下

su www-data
Password: 
This account is currently not available.

看來我進不去哦,這個帳號被限制了,看看是什么情況,

cat /etc/passwd|grep www
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

好吧,不讓我登錄,那我改改

改成這樣

cat /etc/passwd|grep www
www-data:x:33:33:www-data:/var/www:/bin/bash

然后再嘗試

sudo vi /etc/passwd
$ su www-data
Password: 
$ whoami
www-data

這回成功了,可以了

想切回來就 su 你的帳號 就行了

# su my_account(我正常用的帳號)
$ whomai

我覺得應該是將需要讓php執行的代碼改為www-data用戶組,然后那些用hyperf 或者swoole或者你自己寫的php cli命令行執行的腳本都改為這個www-data:www-data組,然后切換為這個www-data帳號去執行 php script.php  這樣是比較安全的.

如果沒有什么讀寫權限,你就把這個腳本文件的所有者改為www-data,這樣就有權限了,比如讀寫緩存 創建文件等等.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM