lua 读写文件 io.open 提示Permission denied 没有权限

  |   0 评论   |   0 浏览

背景

基于OpenResty中的lua脚本,读写文件

问题

执行 io.open打开文件的时候,提示没有权限‘``

io.open("/opt/lupf/aaa.txt","a+")
[lua] xxxx.lua:30: /opt/lupf/aaa.txt: Permission denied

环境

个人当前环境是通过Docker运行的OpenResty;需要进入宿主机查看,确认一下Nginx运行的用户;

查看用户

ps -ef | grep nginx

  • Docker 容器内查看用户

    docker exec -it 容器ID/容器名称 /bin/bash
    ps -ef | grep nginx
    

    发现并没有指定用户;因此,我们需要去指定一个有权限的用户;
    image-20210605171219818

修改用户

找到nginx的配置文件 nginx.conf

修改或添加user配置,设置一个有权限的用户,如:root 用户

user root

重启Nginx

nginx -t
nginx -s reload
  • docker nginx重启

    docker exec -t 容器ID/容器名称 nginx -t
    docker exec -t 容器ID/容器名称 nginx -s reload
    
  • 再次查看用户信息

    ps -ef | grep nginx
    


标题:lua 读写文件 io.open 提示Permission denied 没有权限
作者:码霸霸
地址:https://lupf.cn/articles/2021/06/05/1622884865403.html