WARNING - DO NOT RUN THE MENTIONED COMMAND
So it seems I did something pretty dumb here to put it mildly. I was attempting to change the permissions for a few files in a directory that all started with .
to read/write for sudo/root only.
My attempt at changing several files at once seems to have done something pretty horribly global. While inside a directory (wasn't at root dir) I ran sudo chmod 600 .*
and well, I'm posting this from my phone now... I still have the terminal window open at the moment, but I'm quite sure if the laptop goes to sleep I'm completely done. Hilariously that means there is a slight urgency to this question.
Oh and this seems to have changed permissions damn near everywhere I'm guessing. I can't even run the ls
or cd ..
commands. An attempt of cd /home/brian
or cd ~
give the error bash: cd: /home/brian: Permission Denied
and any attempt at a sudo
command just says bash: /usr/bin/sudo: Permission Denied
I am afraid of rebooting, no clue if there is any built in recover from something this dumb, but figured I would try to ask here before making things any worse. I'm a pretty new Linux as my main OS convert and been advocating for it a bit lately, but ouch, this one stings a bit. Any thoughts of things to try would be immensely appreciated.
EDIT: I wanted to provide clarification on how/where this command was executed. This was executed from /.atx $
, just an arbitrary directory, but more details below.
While logged in as my regular username brian
, I had a terminal open to /.atx
that contained three config type text only files. Each filename started with a .
. That directory/name/the files aren't any part of a common package, just an arbitrary set of configs I was programmatically moving around. Files contained some SQL server connection string info and just wanted them semi-obscured.
/root
not/
when you did this ( from what I see in your question) which means your.*
glob captured/root
folder itself ( the.
references to current working directory) along with all files/directories that start with leading dot. Not sure if there's a way to change it from your system, but you probably could boot from a live USB and undo things from there. Don't take it as 100% answer, though, just a thought..*
in your command expanded to include..
, the parent directory of the directory that you were in. If you were in, for example/home/brian
then the permissions of/home
would have been set to 600 and you would not have permissions to look into the/home
directory. Can you in your open terminal executels -ld /*