3 votes

Installer des choses en tant que root et accéder à ces choses en tant qu'utilisateurs normaux

Je suis nouveau sur Ubuntu et j'utilise maintenant la version 14.04 comme une partition séparée de Windows.

Pour installer des choses, je dois exécuter sudo apt-get parce que j'obtiens des erreurs de permission autrement. Ainsi, j'utilise sudo -s pour exécuter la plupart des commandes d'installation.

Le problème maintenant est que tout ce que j'installe en tant que root ne fonctionne pas sans accès root. Des choses comme node , meteor , ipython etc. obtiendront des erreurs en accédant à divers dossiers.

Cela m'oblige à utiliser l'accès root pour tout, et je ne comprends pas pourquoi c'est le cas. Est-ce que je fais quelque chose de mal ici ?

EDIT : Par exemple, en essayant d'exécuter node Je comprends :

$ node> node.js:148
          throw err;
          ^

Error: EACCES: permission denied, open '/home/pewpew/.node_repl_history'
at Error (native)

Exécution de stat sur /home/pewpew/.node_repl_history j'obtiens :

 ~$ stat /home/pewpew/.node_repl_history 
 File: ‘/home/pewpew/.node_repl_history’

 Size: 6            Blocks: 8          IO Block: 4096   regular file
Device: 808h/2056d  Inode: 1714569     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-11-24 09:39:11.687765710 +0800
Modify: 2015-11-24 10:19:45.959716037 +0800
Change: 2015-11-24 10:19:45.959716037 +0800
 Birth: -

Meteor obtient une erreur similaire lors de l'accès à ~/.meteor et j'ai utilisé chown pour changer le propriétaire du dossier à l'utilisateur non-root.

2voto

muru Points 180007

Premièrement : utiliser sudo de la manière dont il doit être utilisé dans Ubuntu : pour chaque commande qui le requiert, pas plus. N'utilisez pas sudo pour exécuter une commande, à moins qu'il ne soit nécessaire d'être root. Par exemple, la plupart des utilisateurs n'ont besoin que de sudo pour installer des choses.

Deuxièmement : utiliser sudo -i si vous avez besoin d'une racine Shell. H ce billet sur Unix & Linux pour voir l'effet des différentes manières d'obtenir une racine Shell. En particulier, sudo -i y sudo su - qui fournissent tous deux des shells de connexion, offrent l'environnement le plus propre.

Enfin, reprenez la propriété de votre répertoire personnel :

sudo chown -R $USER:$USER ~

~ est un raccourci pour votre répertoire personnel. Utilisez -R afin que tout ce qui se trouve dans votre répertoire personnel soit chown à vous.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X