突发奇想的想把切换为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,这样就有权限了,比如读写缓存 创建文件等等.

切换自己为www-data用户的更多相关文章

  1. linux普通帐号可以临时切换到root(添加用户到sudoers中)

    一般,进入terminal之后,默认是普通账户能操作的功能,能访问的目录有限,需要临时切换到root账户 那么此时就需要配置sudoers文件,可以让普通用户通过sudo命令临时切换到root账户 首 ...

  2. linux 下切换Python版本(某用户,共存,替换)

    当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.你可以按照以下方法使用 ls 命令来查看你的系 ...

  3. mac os 下如何清除/切换svn eclipse插件的用户

    以mac os x为例(Unix/Linux类似), 1.打开命令行窗口,即用户的根目录(用户的home目录) $ ls -al ... drwxr-xr-x   6 linxyz  staff   ...

  4. CentOS6.9切换root用户su root输入正确密码后一直提示Incorrect password,如何解决?

    su是切换用户命令,su root时,输入正确的root命令,却提示Incorrect password,当前用户为普通用户,遇到此问题该如何解决呢? 如果设置了wheel组,使用su root命令是 ...

  5. linux系统切换用户

    无权限上传文件解决办法 1.当前登录的普通用户:user1/password1 2.切换到管理员(user2)用户: sudo su - user2 输入user2用户的密码:password2 或者 ...

  6. Linux基础命令---切换用户su

    su 临时切换身份到另外一个用户,使用su切换用户之后,不会改变当前的工作目录,但是会改变一些环境变量. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUS ...

  7. cpu与寄存器,内核态与用户态及如何切换

    cpu:相当于计算机的大脑负责运算和发送命令: 寄存器:寄存器是cpu当中的一个有限存储部件,cpu从内存调用数据时,寄存器会将从内存调用的数据进行更新在寄存器中以一个字或变量进行存储. 寄存器总共分 ...

  8. Linux普通到root用户切换-转

    1.Linux中的用户切换:su和su - 的区别 大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户,Linu ...

  9. 四十四.Linux基本防护 用户切换与提权 SSH访问控制 SELinux安全 、SSH访问控制 SELinux安全

     1.Linux基本防护措施 与用户相关的配置文件 /etc/passwd   /etc/shadow  /etc/group /etc/gshadow  /etc/login.defs /etc/s ...

  10. LINUX使用 su 命令临时切换用户身份

    1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root ...

随机推荐

  1. k8s-使用Network Policies实现网络隔离

    一.需求 Kubernetes 的命名空间主要用于组织和隔离资源,但默认情况下,不同命名空间中的 Pod 之间是可以相互通信的.为了实现更严格的网络隔离,同一套k8s需要根据不同的命名空间进行网络环境 ...

  2. Cloud Studio:颠覆传统的云端开发与学习解决方案

    Cloud Studio Cloud Studio(云端 IDE)是一款基于浏览器的集成开发环境,它为开发者提供了一个高效.稳定的云端工作站.用户在使用 Cloud Studio 时,无需进行任何本地 ...

  3. Visual Studio Code 重置“不再询问”选项

    有一次使用 VS Code 重命名一个 Python 文件时,VS Code 询问"扩展'Python'希望通过移动此文件来进行重构更改".当时没有多想,选中"不再提问& ...

  4. fluent python-chap3-1

    class collections.OrderedDict([items]) 返回一个 dict 子类的实例,它具有专门用于重新排列字典顺序的方法. """ move_t ...

  5. ZEGO 自研客户端配置管理系统 —— 云控

    一.常规客户端配置的弊端 客户端配置信息通常会通过一个静态文件进行管理,或存放在本地或者通过远程获取.存在本地最大的问题是不易更新,所以通常做法是通过远程获取. 我们通过两种常见的场景来看看静态文件管 ...

  6. 常见的 HTTP Status Codes

    前言 网页开发做久了, 自然而且会接触到许多 status code. 这篇列出一些常见的 status code. 初学者可以把它们学上来. 真的很常见哦. 参考 Wikipedia – List ...

  7. 深入理解JNDI注入—RMI/LDAP攻击

    目录 前言 JNDI 注入简单理解 透过Weblogic漏洞深入理解 RMI与LDAP的区别 JNDI+RMI 漏洞代码触发链 lookup触发链 JNDI+LDAP 前言 本篇文章初衷是在研究log ...

  8. 使用Navicat Premium 将数据库导入、导出方法

    数据库导出 1.双击要导出的数据库,右键选转储SQL文件-,选择要保存的文件夹. 2.点击开始后,开始导出. 数据库导入 1.新建数据库,数据库的名字必须和导入的数据库文件一致. 2.在新建的数据库右 ...

  9. SpringMVC——SSM整合-异常处理器

    异常处理器 出现异常的常见位置与常见诱因: 框架内部抛出的异常:因使用不合规导致 数据层抛出异常:因外部服务器故障导致(例如:服务器访问超时) 业务层抛出的异常:因业务逻辑书写错误导致(例如:遍历业务 ...

  10. HeaderFile (1.2-1.6) 中 hct.h 使用教程

    下载 HeaderFile 1.2 HCT 是干什么的 辅助数据生成 主干框架 你需要包含必须的头文件 hct.h 此外,你需要实现如下函数: void create() 数据生成函数 void so ...