2015-04-16 4 views
0
Rails 3.2.18 
Ruby 2.15 

Я унаследовал приложение Rails, которое я пытаюсь расшифровать. В средах/production.rb, у меня есть:Доступ к файлам в Rails

config.logger = Logger.new(config.paths['log'].first, 100, 10485760) 
config.log_tags = [ lambda {|r| DateTime.now } ] 

, который собирается создать файл журнала в папке журнала, и когда она достигает 10MB оно века он и держит 100 в папке.

Когда я смотрю на папку, я вижу, что владельцем этих файлов является root. Как я могу убедиться, что владелец является пользователем, а не root? Например, если приложение развернуто в/home/myapp, я хочу, чтобы владелец был пользователем myapp. Реальная проблема, с которой я сталкиваюсь, заключается в том, что если я зарегистрирован как пользователь myapp и попытаюсь прекомпилировать активы, он не работает, потому что файл журнала принадлежит root.

+0

Является ли приложение запущенным как root? –

+0

Приложение не запускается с правами root. Он запускается в домашнем каталоге приложения – EastsideDeveloper

+0

Где это не имеет значения - как вы его используете? –

ответ

1

Права доступа - это всегда боль. Скорее всего, вы хотите, чтобы запустить что-то вроде этого:

sudo chown -R myapp_user /home/myapp 

или

sudo chown -R myapp_user:myapp_user /home/myapp 

, если вы хотите, чтобы группа быть также установлен. Для этого требуется, чтобы пользователь, с которым вы работаете, имеет разрешения sudo. Если у вас нет разрешений sudo, вам нужно будет войти в систему с правами администратора и выполнить приведенную выше команду.

+0

Я делаю это, но потом он автоматически изменяет право собственности на production.log на root. Некоторые из задач Capistrano перестают работать как следствие – EastsideDeveloper

+0

Что изменит его на root? Когда? Rails автоматически не изменяет права собственности на файл, поэтому некоторый процесс, выполняемый с правами root, управляет файлом журнала. Вы должны либо запускать все как root, либо находить процесс, выполняемый как root, и настраивать его, чтобы он не выполнялся с правами root или не изменял права собственности на файл журнала. –

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