D'une manière ou d'une autre, j'ai réussi à chmod et à chown mon ~ dans l'oubli.
Lorsque je tente de me connecter via le shell, je reçois
bash: ~/.bashrc : Permission denied
Même après (en tant que root) j'ai exécuté
chown -hR nroach44 /home/nroach44
et
chmod -R 666 /home/nroach44
ou (comme nroach44)
chmod -R 644 /home/nroach44
Aucune de ces commandes ne renvoie d'erreur.
Également:
ls -la /home/nroach44
Retourne beaucoup de
drw-rw-rw- 1 nroach44 nroach44 4096 --date-- ti:me foldername
De l'aide?
chmod -R 666 /home/nroach44
ou
chmod -R 644 /home/nroach44
Cela rendra tous les fichiers de votre répertoire personnel non exécutables. Ce n'était pas une bonne idée;)
Je ne sais pas comment nettoyer ce gâchis, comme solution de contournement rapide, vous pouvez essayer de le faire en tant que root:
chmod -R 755 /home/nroach44
Cette commande donnera des autorisations d'exécution sur tous les fichiers de votre dossier personnel. Cela devrait résoudre vos problèmes immédiats, mais cela pourrait être un cauchemar de sécurité.
La meilleure solution consiste à ouvrir un autre compte utilisateur et à lui transférer les fichiers et les paramètres un par un.
Les répertoires doivent avoir le bit d'exécution défini pour vous permettre de descendre dans le répertoire. Plain 666
est simplement faux, même si vous exécutez en tant que root. Il donne à tout le monde des autorisations d'écriture.
Pour rendre les fichiers plus sécurisés, exécutez:
chmod -R 640 /home/nroach44
Pour rendre les dossiers de nouveau descendables, exécutez:
find /home/nroach44 -type d -exec chmod 750 \;
Remarque: j'ai choisi xx0 car certains fichiers peuvent être sensibles et ne pas être lus par d'autres. Juste pour être sauvegardé, supprimez les permissions de lecture/écriture/exécution du monde.
Comme vous semblez disposer d’autorisations suffisantes sur ~, vous avez besoin de /home
pour avoir l’autorisation x pour les autres (Sudo chmod +rx /home
) et vérifier si les autorisations sont correctes pour le fichier /home/nroach44/.bashrc
.
Un autre point, les répertoires devraient avoir les permissions x pour permettre de les entrer, donc pour les corriger tous, vous devez exécuter Sudo chmod -R +X /home/nroach44
.
En effet, vous avez gâché les autorisations de tous les fichiers de votre dossier HOME. S'il vous plaît soyez très prudent lorsque vous jouez avec les autorisations de fichiers, utilisez chmod et chown très attentivement ou vous pourriez vous retrouver avec un désordre.
bash: ~/.bashrc : Permission denied
Je pense que vous avez modifié les autorisations de tous les fichiers de votre répertoire personnel. L’autorisation de bashrc a également été modifiée.
Les autorisations par défaut du script ~/.bashrc sont
-rw-r--r-- 1 user1 user1 3353 2012-01-09 12:05 .bashrc
Pour l'expliquer, vous devez disposer des autorisations de lecture et d'écriture sur le fichier, les autres utilisateurs du groupe d'utilisateurs doivent pouvoir le lire et tous les autres peuvent également le lire.
Alors maintenant, changez les permissions du script bashrc en utilisant chmod en 644
chmod 644 ~/.bashrc
si les commandes ci-dessus donnent l'autorisation refusée. puis
lancez chown d'abord comme Sudo
Sudo chown user1:usergrp ~/.bashrc
remplacez user1 par votre nom d'utilisateur et usergrp par votre groupe d'utilisateurs par défaut.
Maintenant encore
chmod 644 ~/.bashrc
maintenant vous aurez les permissions pour le script basrc, essayez maintenant de vous connecter et vérifiez si vous obtenez d'autres erreurs :)
Les répertoires doivent ouvrir x bits (pour les répertoires, ce bit est considéré comme un bit de recherche) pour pouvoir être ouverts. J'utilise donc tree pour que je puisse obtenir uniquement le jeu de dossiers et éviter le cauchemar de tous les fichiers en tant qu'exécutables (l'option pour tree est -d List directories only.
):
Sudo tree -faid /home/nroach44 | xargs -L1 -I{} Sudo chmod 755 "{}"
Attention !!! vous devriez avoir ceci en considérations:
utiliser chmod ou chown récursif sur le répertoire racine /
ou les répertoires système détruira votre système d'exploitation (en réalité, tout ce qui est récursif sur le répertoire /
ou les répertoires système est dangereux)
ce n'est pas une bonne pratique de sécurité pour définir le volume des autorisations comme ça