Linux Can';将CD发送到根目录中的目录
我目前正在创建一个需要独立用户运行重复程序的应用程序。由于安全原因,它们无法在root下运行,因此它们是由我正在开发的Java应用程序启动的,我使用runuser-l启动它们。但是,我无法将cd刻录到目录中,即使该目录归用户所有,并且用户在该文件夹中拥有770个权限 以下是我正在运行的:Linux Can';将CD发送到根目录中的目录,linux,permissions,chmod,cd,chown,Linux,Permissions,Chmod,Cd,Chown,我目前正在创建一个需要独立用户运行重复程序的应用程序。由于安全原因,它们无法在root下运行,因此它们是由我正在开发的Java应用程序启动的,我使用runuser-l启动它们。但是,我无法将cd刻录到目录中,即使该目录归用户所有,并且用户在该文件夹中拥有770个权限 以下是我正在运行的: runuser -l lp1 -c 'java \-jar /root/Desktop/workspace/LitePanel/servers/server1/server.jar \-Xms1024M nog
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
有人知道为什么会这样吗?用户似乎拥有执行此操作所需的权限。您已经说过目录本身具有权限
770
,并且由用户拥有,但是它的父目录呢?我相信cd
命令至少需要对父目录进行读取访问(并可能执行)。您确定java应用程序正在以lp1运行吗?也许可以尝试在java应用程序中执行“whoami”,以确保它作为user@Xeli我确信它是以lp1的形式运行的,因为如果我在终端上运行它,我也会得到同样的结果。我对所有子目录都有权限,同样的问题。