J'essaie de créer un nouvel utilisateur sur un système Centos 6.
Tout d'abord, je fais
useradd kevin
Ensuite, j'ai essayé d'exécuter des commandes en tant qu'utilisateur
su - kevin
Cependant, j'obtiens les messages d'erreur suivants
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
[kevin@gazelle ~]$
Et je ne peux pas faire grand-chose en tant qu'utilisateur.
Les autorisations sur /dev/null
sont les suivants:
-rwxr-xr-x 1 root root 9 Jul 25 17:07 null
À peu près les mêmes que sur mon Mac,
crw-rw-rw- 1 root wheel 3, 2 Jul 25 14:08 null
C'est possible, mais vraiment peu probable, que j'ai touché le dev.
En tant qu'utilisateur root, j'ai essayé d'ajouter kevin
au groupe root
:
usermod -a -G root kevin
Cependant, je reçois toujours /dev/null
permission refusée erreurs.
Pourquoi le nouvel utilisateur ne peut-il pas écrire dans /dev/null
?
De quels groupes le nouvel utilisateur devrait-il faire partie?
Ne suis-je pas en train d'usurper l'identité de l'utilisateur correctement?
Existe-t-il un guide pour les débutants sur la configuration des utilisateurs/autorisations sous Linux?
Il est évident que quelqu'un a déplacé un fichier normal vers/dev/null. Le redémarrage le recréera, ou fera
rm -f /dev/null; mknod -m 666 /dev/null c 1 3
Comme @Flow l'a noté dans un commentaire, vous devez être root
pour ce faire.
Cela devrait résoudre le problème (en tant que root):
rm /dev/null
mknod /dev/null c 1 3
chmod 666 /dev/null
Que font ces commandes:
rm
supprime le faux fichier créé parce que celui attendu était manquant;mknod
crée un périphérique de caractères nommé /dev/null
avec les nombres majeurs et mineurs appropriés pour un noyau Linux;chmod
définit les autorisations pour que tous les utilisateurs puissent lire et écrire dans /dev/null
.La solution suggérée par Mark ne fonctionnait pas sur OpenBSD. toutefois
mknod -m 666 /dev/null -c 2 2
a fait l'affaire. J'ai testé cela sur OpenBSD 5.6. Lorsque la réponse acceptée est exécutée,/dev/null bloquera et décevra très mal toute lecture de code.
Cela m'est arrivé sur les fenêtres de l'application Ubuntu, en essayant d'exécuter un script qui écrivait dans /dev/null
. Les autorisations étaient correctes pour les deux /dev
et /dev/null
.
Il s'est avéré que le problème était les sauts de ligne Windows dans le fichier de script. Fonctionnement :
dos2unix.exe c:\path\to\script.sh
Résolu le problème pour moi.
Publication de la réponse Mac OS X pour la postérité ...
Sudo su \
&& rm -rf /dev/null \
&& mknod /dev/null c 3 2 \
&& chmod 666 /dev/null