Encontrei um problema ao instalar o yeoman em execução. Eu concluí que eu não deveria ter instalado todos os pacotes npm com o sudo, mas eu não sabia como instalá-los globalmente. Então eu peguei esse erro:
sudo yo python-generator
/usr/local/lib/node_modules/yo/node_modules/configstore/index.js:53
throw err;
^
Error: EACCES: permission denied, open '/home/me/.config/configstore/insight-yo.json'
You don't have access to this file.
at Object.fs.openSync (fs.js:584:18)
at Object.fs.readFileSync (fs.js:491:33)
at Configstore.get (/usr/local/lib/node_modules/yo/node_modules/configstore/index.js:34:26)
at Configstore (/usr/local/lib/node_modules/yo/node_modules/configstore/index.js:27:44)
at new Insight (/usr/local/lib/node_modules/yo/node_modules/insight/lib/index.js:37:34)
at Object.<anonymous> (/usr/local/lib/node_modules/yo/lib/cli.js:172:11)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
Ao verificar a propriedade dos arquivos no diretório configstore:
sudo ls -l /usr/local/lib/node_modules/configstore/
total 20
-rw-r--r-- 1 nobody me 2409 Feb 13 13:19 index.js
drwxr-xr-x 14 root root 4096 Apr 29 10:54 node_modules
-rw-r--r-- 1 nobody me 5359 Apr 29 10:54 package.json
-rw-r--r-- 1 nobody me 2178 Feb 13 13:19 readme.md
Aparentemente, eles não são de ninguém. Então eu corri sudo chown -R $USER /usr/local
. Agora só posso instalar pacotes npm globalmente "sem" sudo. O Root não pode mais instalar pacotes npm.
Eu não posso dar a propriedade de volta ao root para nenhum dos diretórios que ele possui. Que tipo de implicações isso terá? Vi alguém em outro fórum resolver o mesmo problema, mas eles criaram um novo usuário e usaram o visudo editado para conceder privilégios de superusuário. Não foi tão claro, mas parece que ele deu a propriedade de /usr/local
para esse novo usuário. Não entendi o raciocínio por trás da propriedade de um novo usuário.
A ideia é criar um novo usuário com uma senha realmente strong, transformá-lo em algo semelhante ao root, dar a propriedade desse usuário aos diretórios e nunca efetuar login novamente nesse novo usuário?
Veja o tópico completo: link
A parte ambígua é quem é esse $ USER. É matheas? Em caso afirmativo, por que ele precisa reescrever a propriedade do diretório inicial desses usuários? Estou muito confuso. Mas estou preocupado com as implicações de agora possuir todo o diretório / usr / local.