0

guys!

This is my first post here and, unfortunately, and it's being made in very ugly circumstances! I'm running Debian Jessie x64 and an hour ago I installed some fonts for figlet into the /usr/share/figlet directory. I couldn't use them because I was unzipping them with sudo and they didn't have the proper permissions. Without giving it much thought I ran sudo chmod 644 .* Now nothing works(the browser, even Terminator can't find its icons, etc). I read a few minutes ago that the sudo working directory is the root's home and now I'm frankly panicking!

I have two questions: what exactly did I do(did I change all the permissions on everything on my system to 644?) and how do I revert it barring a full backup restore?

I ran two searches looking for files and directories that were modified in the last hour, but that wasn't very productive. I googled for answers, but couldn't find an answer pertaining to the exact command that I ran, hence I'm posting a dedicated question-I want to know exactly what happened.

I'm very curious about what I did because the newly-unpacked figlet fonts themselves were left with their permissions unchanged!

Thank you very much in advance!

6
  • What is the directory that you run the command from ? Commented Dec 6, 2016 at 7:25
  • It was run from the /usr/share/figlet directory. But it was run with sudo and that changes the working directory to root's, hence the question.
    – Max
    Commented Dec 6, 2016 at 7:30
  • 1
    it did not. sudo doesn't change the directory Commented Dec 6, 2016 at 7:33
  • @WissamAl-Roujoulah Hey man, your tip totally worked! It was the share directory's permissions that got screwed up. Why did you remove your comment? I'd like to thank you separately-can I +1 or +rep you somehow? I'm just not very familiar with how this works here!
    – Max
    Commented Dec 6, 2016 at 8:04
  • 1
    @Max welcome to Unix.SE! Wissam deleted his answer which wasn't quite correct (chmod 755 /usr/share/* wouldn't restore the permissions on /usr/share itself), so you can't reward him directly. Commented Dec 6, 2016 at 8:11

1 Answer 1

6

Assuming you're running Bash (with typical settings), running

sudo chmod 644 .*

from /usr/share/figlet would end up running

sudo chmod 644 . ..

(echo .* will display . ..).

This is equivalent to

sudo chmod 644 /usr/share/figlet /usr/share

Fixing your system is straightforward:

sudo chmod 755 /usr/share /usr/share/figlet
1
  • Thank you, this exhaustively answers both of my questions! Now I know exactly what the command does with the arguments that I've used! But I kind of went on the tip of the other guy who answered here first-is there a way I can rep him somehow? I'm very new to how this whole dealio works here. And a huge thanks to you, again!
    – Max
    Commented Dec 6, 2016 at 8:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .