Linux以www(无登录权限)身份执行命令

2020年6月5日10:39:40 发表评论 350
摘要

服务器上运行程序,考虑到安全问题,通常不会以root身份运行,最常见的就是web服务器,同事上面装的web服务器中间件(比如Nginx、PHP等)都会新建www用户(不给登录权限),然后以www用户身份运行web服务程序。本文将介绍如何使用无登录权限的www用户启动程序。

Linux以www(无登录权限)身份执行命令

0x01 前言

服务器上运行程序,考虑到安全问题,通常不会以root身份运行,最常见的就是web服务器,同事上面装的web服务器中间件(比如Nginx、PHP等)都会新建www用户(不给登录权限),然后以www用户身份运行web服务程序。

如上面的www用户,配置了nologin,所以是无法直接登录的,那怎么使用www用户身份执行程序呢?下面揭晓。

0x02 su命令的-s选项

先看下su命令的帮助

su www命令允许我们暂时以www用户登录,但是当www用户无登录权限的时候会直接爆出以下错误:

因为我们对www设置的shll是/sbin/nologin,但是这个shell是不存在的,所以找不到。

su命令的-s选项允许我们指定一个shell路径,而不是用配置中的默认值,所以我们只要执行以下命令就可以给www用户一个shell权限:

可以看到此时身份已经变成了www用户

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: