Опция 1 является Вашим лучшим выбором.
Предоставление доступа Общественности не является хорошей идеей. Могло иметь место, что пользователь изменит функции задания, и в той точке Вы не хотели бы, чтобы Общедоступная роль имела доступ к Вашим данным. Если не имеет место, что буквально КАЖДЫЙ человек в Вашей организации получает доступ к Вашему приложению.
Создание группы и затем присвоение ее к datareader роли являются не обязательно хорошей идеей, потому что могли бы быть данные, которые Вы не хотите, чтобы все в роли считали (таким образом Ваши "определенные объекты базы данных" спецификация).
Если Вы создаете группу и затем даете ее, ВЫБИРАТЬ/ВЫПОЛНЯТЬ/И Т.Д. доступ к рассматриваемым объектам, которые должны сделать это для Вас.
I think your problem is in /srv/rhodecode/start.sh
. It is currently starting paster
as a separate background process and then immediately exiting. This poses a problem for your init script, which expects start.sh
to itself be the long-running daemon process to be managed.
Thus, try changing the last line of /srv/rhodecode/start.sh
to read as follows:
exec paster serve production.ini 1> debug.log 2> error.log
Using exec
makes start.sh
become paster
, which is then daemonized by the daemon
command in the init script.
Вы должны указать местоположение? Не могли бы вы использовать параметр --name, чтобы дать ему имя? Это создаст для вас PID и очистит его, когда вы закончите. Это будет выглядеть так:
$NAME="rhodecode"
start_rhodecode () {
daemon --user $USER --name $NAME $CMD
RETVAL=$?
return $RETVAL
}
stop_rhodecode () {
daemon --name $NAME --stop
RETVAL=&?
return $RETVAL
}