【问题标题】:Can't CD to directory inside of root无法 CD 到根目录内的目录
【发布时间】: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


【解决方案1】:

你说目录本身有权限770,归用户所有,但是它的父目录呢?我相信cd 命令至少需要对父目录进行读取访问(并可能执行)。

【讨论】:

  • 我拥有所有子目录的权限,同样的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-16
  • 1970-01-01
  • 1970-01-01
  • 2015-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多