Jenkins无法访问Java:localhost jenkins[807]:启动Jenkins bash:/usr/bin/java:拒绝许可

csga3l58  于 2023-05-22  发布在  Jenkins
关注(0)|答案(3)|浏览(331)

我已经在centos 7上安装并配置了jenkins。我已经在文件**/etc/init.d/jenkins中添加了有效的java路径**,即“/usr/bin/java”。
下面是java路径的详细信息:

lrwxrwxrwx. 1 root root 22 Dec 24  2015 java -> /etc/alternatives/java

现在,从root用户运行“service jenkins start”命令时,我得到以下错误。

● jenkins.service - LSB: Jenkins Continuous Integration Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins)
   Active: failed (Result: exit-code) since Wed 2016-07-13 18:25:51 IST; 5s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 807 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)

Jul 13 18:25:51 localhost systemd[1]: Starting LSB: Jenkins Continuous Integration Server...
Jul 13 18:25:51 localhost runuser[812]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Jul 13 18:25:51 localhost jenkins[807]: Starting Jenkins bash: /usr/bin/java: Permission denied
Jul 13 18:25:51 localhost runuser[812]: pam_unix(runuser:session): session closed for user jenkins
Jul 13 18:25:51 localhost jenkins[807]: [FAILED]
Jul 13 18:25:51 localhost systemd[1]: jenkins.service: control process exited, code=exited status=1
Jul 13 18:25:51 localhost systemd[1]: Failed to start LSB: Jenkins Continuous Integration Server.
Jul 13 18:25:51 localhost systemd[1]: Unit jenkins.service entered failed state.
Jul 13 18:25:51 localhost systemd[1]: jenkins.service failed.

我不明白为什么它给我的权限被拒绝,即使每个用户都可以访问java路径。

运行“journalctl -xe”命令时,日志下方显示:

Jul 13 18:45:33 localhost systemd[1]: Unit jenkins.service entered failed state.
Jul 13 18:45:33 localhost systemd[1]: jenkins.service failed.
Jul 13 18:45:33 localhost polkitd[20151]: Unregistered Authentication Agent for unix-process:27889:3161602 (system bus name :1.303, object path /org/freedesktop/PolicyKit1/AuthenticationAgen

Jenkins服务是否没有访问java路径的权限?如果不是,为什么它给出这个错误?

i86rm4rw

i86rm4rw1#

你有两个选择来解决这个问题。

  1. Jenkins服务由Jenkins用户启动。错误提示jenkins用户没有运行java的权限。所以检查原始的java路径,并给予执行权限授予其他用户。
    1.在jenkins.service单元文件中,更改服务的所有者。将User=jenkins替换为User=root
dkqlctbz

dkqlctbz2#

服务jenkins的默认用户是“jenkins”。因此,“jenkins”可能不具有访问服务“java”的权限。所以我们需要改变jenkins服务的使用。从jenkins服务提升脚本“/etc/init.d/jenkins”。我们可以得到配置文件路径,比如“/etc/sysconfig/jenkins”

inkz8wg9

inkz8wg93#

尝试更改文件,/etc/init.d/jenkins具体查找JENKINS_USER密钥,并尝试将jenkins替换为root。
这在RHEL上对我很有效。

相关问题