У меня есть Ubuntu 14.04, работающая как гость VMware на моем хосте Windows 8.1.
Я совместно использовал папку в своем Windows Host, и он смонтирован в госте 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
на сценариях узла?
Папка принадлежит различному пользователю. Только владелец папки или корня может изменить полномочия с помощью chmod
. Поэтому в моем случае, sudo
требуется, поскольку мой пользователь не владеет папкой.