2014-02-01 3 views
0

В настоящее время я создаю приложение, которое требует, чтобы отдельные пользователи запускали дубликаты программ. Они не могут запускаться под root из-за соображений безопасности, поэтому они инициируются Java-приложением, над которым я работаю, и я запускаю их с помощью runuser -l. Однако я не могу записывать в каталог, даже если он принадлежит пользователю, а у пользователя есть 770 разрешений в папке.Невозможно записать CD в каталог внутри корня

Вот что я бегу:

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 -все:

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 

А вот/и т.д./пароль:

lp1:x:501:501::/root/Desktop/workspace/LitePanel/bin/servers/server1/:/bin/false 

Каждый знает, почему это происходит? Похоже, у пользователя есть необходимые разрешения для этого.

+0

Вы уверены, что приложение java работает как lp1? возможно, попробуйте выполнить «whoami» в приложении java, чтобы убедиться, что он запущен как пользователь. – Xeli

+0

@Xeli. Я уверен, что он работает как lp1, потому что я получаю то же самое, если я запускаю его и в терминале. – user3261318

ответ

0

Вы сказали, что сама директория имеет разрешения 770 и принадлежит пользователю, но как насчет ее родителей? Я считаю, что команде cd потребуется как минимум доступ для чтения (и, возможно, выполнение) в родительских каталогах.

+0

У меня есть разрешения для всех подкаталогов, одна и та же проблема. – user3261318

Смежные вопросы