宝塔用户_pgzpas 发表于 2024-8-13 18:43:31

【待反馈】如何给www用户安装“用户限定运行程序”?

为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:9.1.0
系统版本:Linux version 5.14.0-80.el9.x86_64 (mockbuild@x86-05.stream.rdu2.redhat.com) (gcc (GCC) 11.2.1 20220401 (Red Hat 11.2.1-10), GNU ld version 2.35.2-19.el9) #1 SMP PREEMPT Thu Apr 21 09:50:22 UTC 2022
问题描述:一般运行网站所用的权限就是www, 但是SSH进去却是 root,而su www 却提示暂不可用,因此,安装bun(新的js执行程序,类似nodejs),安装到了/root/.bun/bin/bun,   如何安装到www?
相关截图(日志、错误):

运维技术阿闯 发表于 2024-8-14 11:38:05

您好,有些未能看懂您的问题,您这边无法使用su www,那就直接在ssh登录工具用www用户登录。其次可以做个链接将bun的可执行文件链接到www目录。

宝塔用户_pgzpas 发表于 2024-8-14 14:40:41

在 /etc/passwd文件中,www 用户为    /sbin/nologin    ,即不可登录状态,请问怎么ssh登录?而且,就算是root用户,因为此可执行程序安装在非常规全局PATH位置$HOME/.bun/bin/bun,并且他会修改.bashrc文件,让此路径加入PATH常量,但是貌似网站执行程序 (nodejs)没有读取该文件,导致就算root用户也无法找到该运行文件。

运维技术阿闯 发表于 2024-8-14 15:51:35

您好,www为不可登录,这边理解错意思,目前无法使用www身份登录ssh,

宝塔用户_pgzpas 发表于 2024-8-14 16:32:08

上述的其他问题呢? 没有读取.bashrc的问题呢?

运维技术阿闯 发表于 2024-8-14 17:05:53

宝塔用户_pgzpas 发表于 2024-8-14 16:32
上述的其他问题呢? 没有读取.bashrc的问题呢?

您好,您这个用户限定运行程序,这边查看了一下,应该是这个链接中吧
https://cloud.tencent.com/developer/article/2296608

您说的,这个.bashrc问题没有很好的理解您的问题

宝塔用户_pgzpas 发表于 2024-8-14 20:24:41

bun 安装在

$HOME/.bun/bin/bun

也就是说,如果是root用户,就会存在于 /root/.bun/bin/bun
                      如果是www用户,就会存在于/home/www/.bun/bin/bun   (当然,前提是能进入www用户进行安装操作)

到这里能理解吧?

而 这些目录都不存在于 PATH 中,也就是说,当在命令行敲击   bun代码的是后,是会提示找不到该程序的,这里应该理解吧? (并且Windows也是 PATH 全局变量这种方案)

而 bun 安装程序会在安装完成后   在该用户的.bashrc文件中添加两行代码,   

export BUN_INSTALL="$HOME/.bun"
export PATH=$BUN_INSTALL/bin:$PATH

这样之后,当该用户登录后,因为系统机制的原因,会读取.bashrc   文件,所以    /root/.bun/bin/bun   或者    /home/www/.bun/bin/bun    就会进入到全局PATH   当中,   bun    就能被查找,到这里能理解吧?

但是,在宝塔中,即使顺利在   .bashrc   中   添加    上述代码,   依然提示找不到该应用程序,那么,只有一个可能,基于某个用户运行网站的时候(nodejs),并没有加载   .bashrc


这样理解吗?

运维技术阿闯 发表于 2024-8-15 09:46:08

宝塔用户_pgzpas 发表于 2024-8-14 20:24
bun 安装在

$HOME/.bun/bin/bun


理解了,也就是在运行项目的时候,没有调取到您说的环境变量
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
您好一下是否因为环境变量写错了
其次查看一下启动程序的脚本,

宝塔用户_pgzpas 发表于 2024-8-15 15:17:16

怎么你好像什么都听不懂的呢?你是技术员吗?

运维技术阿闯 发表于 2024-8-15 16:33:00

宝塔用户_pgzpas 发表于 2024-8-15 15:17
怎么你好像什么都听不懂的呢?你是技术员吗?

您好,非常抱歉,这个我理解错了,您这边是什么身份启动的呢,是这样的,如果是root用户,是会默认添加到环境变量中的,www的话是需要手动添加环境变量,
例如:root的话就是 export PATH="$PATH:/root/.bun/bin"
如果是www的话,export PATH=$PATH:/home/www/.bun/bin

宝塔用户_pgzpas 发表于 2024-8-15 21:55:45

$HOME    变量已经指代您上述两个账户的对应位置,你觉得呢?

宝塔用户_pgzpas 发表于 2024-8-15 21:58:08

我的问题是,在“网站”一栏功能当中,“nodejs”网站,为什么会提示找不到bun 应用程序,只有一个可能,你们内核并没有加载.bashrc的变量,我说这些能不能懂

运维技术阿闯 发表于 2024-8-16 11:29:36

宝塔用户_pgzpas 发表于 2024-8-15 21:58
我的问题是,在“网站”一栏功能当中,“nodejs”网站,为什么会提示找不到bun 应用程序,只有一个可能 ...

您好,您这边是什么身份运行的,添加好变量后,您这边重启一下面板后再启动一下看是否可以

宝塔用户_pgzpas 发表于 2024-8-16 18:31:21

不如你试试安装一个   bun,
https://nuxt.com/docs/getting-started/installation
这里有bun的用法和用nuxt生成的样例,你自己试试

运维技术阿闯 发表于 2024-8-17 09:35:43

宝塔用户_pgzpas 发表于 2024-8-16 18:31
不如你试试安装一个   bun,
https://nuxt.com/docs/getting-started/installation
这里有bun的用法和用nuxt ...

您好,您是部署的项目还是说是用bun软件了,链接这边是访问不了,方便后台私信我,这边远程查看吗
页: [1] 2
查看完整版本: 【待反馈】如何给www用户安装“用户限定运行程序”?