【发布时间】:2014-02-25 12:23:49
【问题描述】:
我目前正在创建一个需要单独用户运行重复程序的应用程序。由于安全原因,它们无法在 root 下运行,因此它们是由我正在开发的 Java 应用程序启动的,我使用 runuser -l 启动它们。但是,我无法 cd 进入目录,即使它归用户所有,并且用户在该文件夹中拥有 770 权限。
这是我正在运行的:
runuser -l lp1 -c 'java \-jar /root/Desktop/workspace/LitePanel/servers/server1/server.jar \-Xms1024M nogui'
这个的输出是:
runuser: warning: cannot change directory to /root/Desktop/workspace/LitePanel/bin/servers/server1/: Permission denied
这是一个 ls -all:
drwxr-xr-x. 3 root root 4096 Jan 30 14:03 .
drwxr-xr-x. 7 root root 4096 Jan 30 14:02 ..
drwxrwx---. 2 lp1 lp1 4096 Jan 31 03:07 server1
目录内:
drwxrwx---. 2 lp1 lp1 4096 Jan 31 03:07 .
drwxr-xr-x. 3 root root 4096 Jan 30 14:03 ..
-rwxrwx---. 1 lp1 lp1 9170551 Jan 31 03:07 server.jar
这里是 /etc/passwd:
lp1:x:501:501::/root/Desktop/workspace/LitePanel/bin/servers/server1/:/bin/false
有人知道为什么会这样吗?用户似乎拥有执行此操作所需的权限。
【问题讨论】:
-
您确定 java 应用程序作为 lp1 运行吗?也许尝试在 java 应用程序中执行“whoami”以确保它以用户身份运行
-
@Xeli 我确定它作为 lp1 运行,因为如果我在终端中运行它也会得到相同的结果。
标签: linux permissions chmod cd chown