AVERTISSEMENT - NE PAS EXÉCUTER LA COMMANDE MENTIONNÉE
Il semble donc que j'ai fait quelque chose d'assez stupide ici pour le dire doucement. J'essayais de changer les autorisations pour quelques fichiers dans un répertoire qui commençait tous .
à lire / écrire pour sudo / root uniquement.
Ma tentative de changer plusieurs fichiers à la fois semble avoir fait quelque chose d'assez horriblement global. Alors que dans un répertoire (n'était pas dans le répertoire racine), j'ai couru sudo chmod 600 .*
et bien, je le poste depuis mon téléphone maintenant ... J'ai toujours la fenêtre du terminal ouverte pour le moment, mais je suis sûr que si l'ordinateur portable va pour dormir j'ai complètement fini. De façon hilarante, cela signifie qu'il y a une légère urgence à cette question.
Oh, et cela semble avoir changé les autorisations presque partout, je suppose. Je ne peux même pas exécuter les commandes ls
ou cd ..
. Une tentative cd /home/brian
ou cd ~
donner l'erreur bash: cd: /home/brian: Permission Denied
et toute tentative de sudo
commande dit simplementbash: /usr/bin/sudo: Permission Denied
J'ai peur de redémarrer, aucun indice s'il y a une récupération intégrée de quelque chose d'aussi stupide, mais j'ai pensé que j'essaierais de demander ici avant d'aggraver les choses. Je suis un assez nouveau Linux car mon système d'exploitation principal se convertit et je le préconise un peu récemment, mais aïe, celui-ci pique un peu. Toute idée de choses à essayer serait grandement appréciée.
EDIT: Je voulais clarifier comment / où cette commande a été exécutée. Cela a été exécuté à partir d' /.atx $
un répertoire arbitraire, mais plus de détails ci-dessous.
Pendant que j'étais connecté en tant que nom d'utilisateur normal brian
, j'avais un terminal ouvert /.atx
qui contenait trois fichiers texte de type configuration uniquement. Chaque nom de fichier a commencé par un .
. Ce répertoire / nom / les fichiers ne font pas partie d'un package commun, juste un ensemble arbitraire de configurations que je déplaçais par programme. Les fichiers contenaient des informations sur la chaîne de connexion du serveur SQL et les voulaient simplement semi-obscurcies.
.*
dans votre commande s'est développé pour inclure ..
, le répertoire parent du répertoire dans lequel vous vous trouviez. Si vous étiez, par exemple, /home/brian
les autorisations de /home
auraient été définies sur 600 et vous n'auriez pas autorisations pour consulter le /home
répertoire. Pouvez-vous exécuter dans votre terminal ouvertls -ld /*
/root
pas à l' intérieur/
lorsque vous avez fait cela (d'après ce que je vois dans votre question), ce qui signifie que votre dossier.*
capturé glob/root
lui-même (les.
références au répertoire de travail actuel) ainsi que tous les fichiers / répertoires qui commencent par un premier point. Je ne sais pas s'il existe un moyen de le changer à partir de votre système, mais vous pourriez probablement démarrer à partir d'un USB en direct et annuler des choses à partir de là. Ne le considérez pas comme une réponse à 100%, juste une pensée.