美文网首页
spring boot放在非root用户下无法创建日志和特定目录

spring boot放在非root用户下无法创建日志和特定目录

作者: 板栗炖牛肉 | 来源:发表于2022-01-11 16:52 被阅读0次

    前言

    • 环境linux centos8.2

    • spring boot日志放在运行目录的

    • 非root用户,限制了权限的

    • 非权限问题,工作环境问题。权限问题绕道(开始以为是权限问题,后来发现写有权限目录是没问题的)

    • 问题根源System.getProperty("user.dir")我是用了这个命令取的运行目录,在windows上市正常的,在linux下的root下也是正常的,但是在其他用户上只能取到/

    • 使用的ctl的.service

    解决方案

    • .service文件配置
    [Unit]
    Description=java
    After=network.target
    
    [Service]
    #Type=forking
    User=java
    Group=java
    ExecStart=/usr/bin/java -Duser.timezone=GMT+8 -Dfile.encoding=UTF-8 -jar /home/java/cloud.jar --spring.profiles.active=oss,common,sql,cache,tool,shiro,sentinel,rabbit,prod
    ExecStop=/bin/kill -s QUIT $MAINPID
    
    [Install]
    WantedBy=multi-user.target
    ~                             
    
    
    • 解决WorkingDirectory=/home/java添加一个工作目录。System.getProperty("user.dir")就能取到工作目录了。
    [Unit]
    Description=java
    After=network.target
    
    [Service]
    #Type=forking
    User=java
    Group=java
    WorkingDirectory=/home/java
    ExecStart=/usr/bin/java -Duser.timezone=GMT+8 -Dfile.encoding=UTF-8 -jar /home/java/cloud.jar --spring.profiles.active=oss,common,sql,cache,tool,shiro,sentinel,rabbit,prod
    ExecStop=/bin/kill -s QUIT $MAINPID
    
    [Install]
    WantedBy=multi-user.target
    ~                             
    
    

    相关文章

      网友评论

          本文标题:spring boot放在非root用户下无法创建日志和特定目录

          本文链接:https://www.haomeiwen.com/subject/caabcrtx.html