Может немного ошибся разделом, но мне кажется это ближе к программированию, нежели к администрированию.
Так вот.
Такая проблема.
Есть тачка с линуксом, на ней томкат, проект на яве и скрипт на баше.
Проект - некая система контоля успеваемости студентов.
Как часть проекта - выделение студентам своей БД в mysql, фтп папка, etc.
Фтп на базе vsftpd и авторизацией через mysql сервер.
Проблема в следующем:
есть скрипт, который добавляет имя пользователя и пасс в базу фтп, создает для него папку и отдельный файл конфигурации с указанимем разрешенных действий с фтп и путем к домашней папке. Скрипт написан на баше и естественно должен выполняться от рута, так как есть chown и chmod. Для этого пользователю tomcat6 в sudoers разрешено выполнять скрипт,/bin/chmod,/bin/chown,/usr/bin/tee от рута и без паса, а в скрите эти команды выглядят типа: /bin/chown vsftpd:nogroup /home/ftp/...
и если выполнять из консоли типа: sudo -u tomcat /bin/bash -c '/etc/vsftpd.conf.d/add_user.sh username pass', то скрипт отрабатывает на ура и пароль не спрашивает, но если вызывать в java через Runtime.GetRuntime().exec("/bin/bash -c '...'");(имхо так, уже точно не помню), то ничего не отрабатывает, хотя ошибки никакой не возникает.
Так вот вопрос: где может быть подвох?
Есть подозрение, что скрипт вызывается не от имени tomcat6, а ява-машиной. И если так, то как быть?
Конечно, создать папку, файл, запись в БД можно и в яве, но вот chown и chmod там нету.
Вот думаю на счет питона.