切换自己为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,这样就有权限了,比如读写缓存 创建文件等等.

 

posted @   李照耀  阅读(2763)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示