LINUX.ORG.RU

[arch] su -

 


0

1

Есть инитскрипт. Он выполняет команду от имени юзера, используя

su - $username -c "$command"

Команда - java с параметрами.

В дебиане скрипт работал замечательно. А в арче ругается, что не может найти команду java. Если делать то же самое, но

su $username
вместо
su - $username
, то вроде бы все работает, но: от рута команда срабатывает, а запускаемая по крону - нет.

★★★★★

Последнее исправление: vurdalak (всего исправлений: 1)

тире вместо -l? Можно попробовать явно писать -l.

А чтобы наверняка команда запускалась, нужно полный путь указывать.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от vurdalak

Ничего подобного. В некоторых дистрибутивах у юзера нет путей /sbin, /usr/sbin. В большинстве систем ни у рута, ни у юзера нет путей /usr/local/bin и /usr/local/sbin, и уж тем паче /opt/...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Ничего подобного. В некоторых дистрибутивах у юзера нет путей /sbin, /usr/sbin. В большинстве систем ни у рута, ни у юзера нет путей /usr/local/bin и /usr/local/sbin, и уж тем паче /opt/...

Ну просто от рута, без su команда работает. Как и просто от юзера.

vurdalak ★★★★★
() автор топика
Ответ на: комментарий от uzbl

env рута и рута в инитскриптах арча отличается, пиши, как советуют, с полными путями.

Ок. Написал полный путь. Проверю, когда будет плановый рестарт. Всем спасибо.

vurdalak ★★★★★
() автор топика
Ответ на: комментарий от vurdalak

Даже с -l?

Тогда можно, как вариант, в /etc/profile.d профильные пути расширить до нужных.

Eddy_Em ☆☆☆☆☆
()

Пиши в кроне полный путь до бинарника, тут все правильно про пути написали.

pekmop1024 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.