Мне была предоставлена задача сделать исходные файлы приложения Rails недоступными для чтения, не предоставляя пароль (пароль пользователя root), поэтому клиент не сможет заглянуть внутрь приложения (которое будет работать на машине, которая будет храниться в серверной комнате на клиенте).Запустить Rails-приложение как пользователь без полномочий root, но попросить пароль root для доступа к файлам
Я попытался сменить владельца всей папки приложения (и файлов, а также подпапок и т. Д.) На root и установить разрешения для выполнения только для «других» пользователей ... Но безрезультатно: -прозрачность файлов для пользователя без полномочий root, но также было невозможно запустить приложение.
Запуск sudo rails ...
не работал ни с этими разрешениями.
Станок работает Ubuntu 14.04. Приложение основано на Rails 4.2 и Ruby v2.2.1p85 и фактически работает за nginx и использует единорог (+ тонкий как интегрированный веб-сервер) ... Если это когда-либо имеет значение. Машина настроена на запуск и автоматический вход в систему только для пользователя, не являющегося пользователем root (скажем company
) без запроса пароля и немедленного запуска единорога.
Одна вещь, которую я до сих пор не пробовал, потому что я думаю, что это может быть слишком инвазивным для операции, создает новую учетную запись пользователя, скажем client
, и попросите авторизовать эту новую учетную запись. Оставляя company
владельцем файлов и папок приложения, я бы установил Ubuntu для запуска единорога как другого пользователя из зарегистрированного в одном (то есть company
против client
), и было бы невозможно открыть файл в читателе.
Как я могу достичь своей цели, если это возможно?
Может быть приемлемой идеей, но я даже не могу запустить приложение, когда я 'unicorn_rails -c config/unicorn.conf.rb'. Любой способ установить владельца папки приложения другому пользователю ('www-data',' rails', независимо от того, что работает ...), а затем запустить приложение в качестве этого пользователя, все еще регистрируясь в 'company' при загрузке? –