Почему для доступа к моему общему ресурсу windows для node.js требуются права администратора, хотя для общего ресурса указано 0777

У меня Ubuntu 14.04 работает в качестве гостя VMware на моем хосте Windows 8.1.

У меня есть общая папка на моем хосте Windows, и она запускается в гостевой системе Ubuntu при запуске, используя эту запись в fstab:

//myhost/work /work cifs credentials=/home/user/.smbcredentials,noserverino,nounix,uid=user,gid=user,file_mode=0777,dir_mode=0777 0 0

Почему при использовании узла во взаимодействии с общим ресурсом, sudo необходимо?

Например, если я использую npm установить что-то (npm install --no-bin-links) на долю без sudoЯ получаю кучу chmod ошибки:

npm ERR! Error: EPERM, chmod '/work/project/src/node_modules/webpack/package.json'
npm ERR!  { [Error: EPERM, chmod '/work/project/src/node_modules/webpack/package.json']
npm ERR!   errno: 50,
npm ERR!   code: 'EPERM',
npm ERR!   path: '/work/project/src/node_modules/webpack/package.json',
npm ERR!   fstream_finish_call: 'chmod',
npm ERR!   fstream_type: 'File',
npm ERR!   fstream_path: '/work/project/src/node_modules/webpack/package.json',
npm ERR!   fstream_class: 'FileWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/lib/node_modules/npm/node_modules/fstream/lib/writer.js:308:19',
npm ERR!      'Object.oncomplete (evalmachine.<anonymous>:107:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /work/project/src/npm-debug.log

Если я установлю его с помощью sudo npm install --no-bin-linksвсе работает нормально.

Та же проблема возникает при использовании gulp посмотреть и построить мой проект: gulp watch результаты в том же chmod ошибки при сборке, но sudo gulp watch работает отлично.

Поскольку доля установлена 0777каждый может читать и писать на него. Почему мне нужно использовать sudo на узлах скриптов?

1 ответ

Решение

Папка принадлежит другому пользователю. Только владелец папки или root может изменять разрешения с помощью chmod, Поэтому в моем случае sudo требуется, поскольку мой пользователь не является владельцем папки.

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