SailsJS шкипер, загружающий файлы как root, как мне загрузить его как владельца приложения?

Я использую шкипер для загрузки изображений, и изображения продолжают загружаться как принадлежащие пользователю root, а не желаемый результат. Приложение sails находится в подпапке домашнего каталога пользователя X, в которой все файлы принадлежат пользователю X. Я запускаю "sudo sails lift", чтобы запустить приложение, поэтому, возможно, sudo как-то с этим связана.

Вот код для загрузки:

req.file('images').upload(function ( error, files ) {

    if ( error ) {
        return res.serverError( error );
    }

    return res.json({
        message: files.length + ' file(s) uploaded successfully!',
        files: files
    });

});

Как я могу убедиться, что файлы загружены как пользователь X?

1 ответ

Решение

Паруса, а точнее Node.js, как и любой веб-сервер, загружают файл с владельцем, который запустил сервер. Вы начинаете паруса с sudo, вот почему. Если вы хотите изменить это поведение, у вас есть 2 варианта: либо запустить паруса с нужным пользователем, либо сменить владельца после загрузки с помощью функции chown узла fs.

Другие вопросы по тегам