2

So I accidentally typed: sudo chmod a-wrx /etc and since etc contains sudeors.d and many other critical stuff, I couldn't log in/out or perform any administration tasks.
I loaded GRUB and went root from there, I did:

chmod a+wrx /etc  

and finally logged to the machine, but it's now messed up (can't shutdown properly, look has changed, ...etc).

How do I restore the default permissions for etc (or any file system) that came shipped with the installation (without reinstalling the system) ?

6
  • 1
    see askubuntu.com/questions/308939/…
    – Rinzwind
    Aug 8, 2014 at 0:46
  • No Rinzwind, I did not do it recursive. And how I would reinstall it without formatting the drive ? I booted the live USB but didn't find an option to do so.
    – egy
    Aug 8, 2014 at 11:41
  • Yes I am trying it now. I bumped into these issues: 1- since I did chmod a+wrx /etc or equivalent, I can use sudo to make changes. I used sudo instead of gksudo, is it okay ? 2- last command chmod -R a+r /etc didn't work with both sudo and gksudo. sudo says: no valid sudoers sources found, quitting. gksudo says invalid option -- 'R' because somehow (I think) the command is formatted improperly.
    – egy
    Aug 8, 2014 at 12:05
  • also sudo says: sudo: /etc/sudoers is mode 0540, should be 0440 sudo: unable to initialize policy plugin
    – egy
    Aug 8, 2014 at 12:11
  • did you do 1. first? otherwise I would use a live dvd and do it from there.
    – Rinzwind
    Aug 8, 2014 at 12:39

2 Answers 2

3

In the link I posted in comments there is a command to create a file with permissions. I executed it on my machine and got this.

  1. 1st do this: https://askubuntu.com/a/309031/15811
  2. Then add these commands to a script (copy/paste; name it restoreetc.sh, make it executable (chmod 775 restoreetc.sh) and execute it (gksudo restoreetc.sh):

chmod a+x /etc/grub.d/20_linux_xen
chmod a+x /etc/grub.d/41_custom
chmod a+x /etc/grub.d/20_memtest86+
chmod a+x /etc/grub.d/00_header
chmod a+x /etc/grub.d/30_uefi-firmware
chmod a+x /etc/grub.d/10_linux
chmod a+x /etc/grub.d/40_custom
chmod a+x /etc/grub.d/05_debian_theme
chmod a+x /etc/grub.d/30_os-prober
chmod a+x /etc/gtk-3.0/settings.ini
chmod a+x /etc/brltty/latex-access.ctb
chmod a+x /etc/security/namespace.init
chmod a+x /etc/dhcp/dhclient-exit-hooks.d/zzz_avahi-autoipd
chmod a+x /etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd
chmod a+x /etc/dhcp/dhclient-enter-hooks.d/samba
chmod a+x /etc/resolvconf/update-libc.d/avahi-daemon
chmod a+x /etc/resolvconf/update.d/libc
chmod a+x /etc/resolvconf/update.d/dnscache
chmod a+x /etc/mysql/debian-start
chmod a+x /etc/X11/xinit/xserverrc
chmod a+x /etc/X11/Xreset
chmod a+x /etc/X11/Xsession
chmod a+x /etc/dkms/template-dkms-mkdeb/debian/prerm
chmod a+x /etc/dkms/template-dkms-mkdeb/debian/postinst
chmod a+x /etc/dkms/template-dkms-mkdeb/debian/rules
chmod a+x /etc/wpa_supplicant/ifupdown.sh
chmod a+x /etc/wpa_supplicant/functions.sh
chmod a+x /etc/wpa_supplicant/action_wpa.sh
chmod a+x /etc/acpi/thinkpad-radiosw.sh
chmod a+x /etc/acpi/powerbtn.sh
chmod a+x /etc/acpi/fglrx-powermode.sh
chmod a+x /etc/acpi/asus-keyboard-backlight.sh
chmod a+x /etc/acpi/asus-wireless.sh
chmod a+x /etc/acpi/tosh-wireless.sh
chmod a+x /etc/acpi/ibm-wireless.sh
chmod a+x /etc/acpi/undock.sh
chmod a+x /etc/network/if-post-down.d/wireless-tools
chmod a+x /etc/network/if-pre-up.d/wireless-tools
chmod a+x /etc/network/if-pre-up.d/ethtool
chmod a+x /etc/network/if-up.d/avahi-autoipd
chmod a+x /etc/network/if-up.d/upstart
chmod a+x /etc/network/if-up.d/avahi-daemon
chmod a+x /etc/network/if-up.d/ethtool
chmod a+x /etc/network/if-up.d/000resolvconf
chmod a+x /etc/network/if-up.d/ntpdate
chmod a+x /etc/network/if-down.d/resolvconf
chmod a+x /etc/network/if-down.d/avahi-autoipd
chmod a+x /etc/network/if-down.d/upstart
chmod a+x /etc/smartd_warning.sh
chmod a+x /etc/init.d/sudo
chmod a+x /etc/init.d/dbus
chmod a+x /etc/init.d/brltty
chmod a+x /etc/init.d/cpufreqd
chmod a+x /etc/init.d/rcS
chmod a+x /etc/init.d/umountroot
chmod a+x /etc/init.d/saned
chmod a+x /etc/init.d/console-setup
chmod a+x /etc/init.d/unattended-upgrades
chmod a+x /etc/init.d/resolvconf
chmod a+x /etc/init.d/mysql
chmod a+x /etc/init.d/vboxautostart-service
chmod a+x /etc/init.d/single
chmod a+x /etc/init.d/loadcpufreq
chmod a+x /etc/init.d/rsync
chmod a+x /etc/init.d/apport
chmod a+x /etc/init.d/udev
chmod a+x /etc/init.d/urandom
chmod a+x /etc/init.d/dns-clean
chmod a+x /etc/init.d/bluetooth
chmod a+x /etc/init.d/vboxweb-service
chmod a+x /etc/init.d/killprocs
chmod a+x /etc/init.d/apparmor
chmod a+x /etc/init.d/lightdm
chmod a+x /etc/init.d/cups
chmod a+x /etc/init.d/rc
chmod a+x /etc/init.d/kmod
chmod a+x /etc/init.d/grub-common
chmod a+x /etc/init.d/vboxdrv
chmod a+x /etc/init.d/atieventsd
chmod a+x /etc/init.d/umountnfs.sh
chmod a+x /etc/init.d/rc.local
chmod a+x /etc/init.d/rsyslog
chmod a+x /etc/init.d/smartmontools
chmod a+x /etc/init.d/avahi-daemon
chmod a+x /etc/init.d/networking
chmod a+x /etc/init.d/bootchart
chmod a+x /etc/init.d/pulseaudio
chmod a+x /etc/init.d/pppd-dns
chmod a+x /etc/init.d/procps
chmod a+x /etc/init.d/tlp
chmod a+x /etc/init.d/halt
chmod a+x /etc/init.d/speech-dispatcher
chmod a+x /etc/init.d/anacron
chmod a+x /etc/init.d/umountfs
chmod a+x /etc/init.d/cpufrequtils
chmod a+x /etc/init.d/sendsigs
chmod a+x /etc/init.d/reboot
chmod a+x /etc/init.d/ondemand
chmod a+x /etc/init.d/x11-common
chmod a+x /etc/init.d/vboxballoonctrl-service
chmod a+x /etc/init.d/acpid
chmod a+x /etc/init.d/irqbalance
chmod a+x /etc/init.d/cups-browsed
chmod a+x /etc/init.d/kerneloops
chmod a+x /etc/pm/sleep.d/10_grub-common
chmod a+x /etc/pm/sleep.d/10_unattended-upgrades-hibernate
chmod a+x /etc/pm/sleep.d/novatel_3g_suspend
chmod a+x /etc/ppp/ipv6-down
chmod a+x /etc/ppp/ip-up.d/0dns-up
chmod a+x /etc/ppp/ip-up.d/0000usepeerdns
chmod a+x /etc/ppp/ip-up.d/000resolvconf
chmod a+x /etc/ppp/ip-down.d/0000usepeerdns
chmod a+x /etc/ppp/ip-down.d/0dns-down
chmod a+x /etc/ppp/ip-down.d/000resolvconf
chmod a+x /etc/ppp/ip-down
chmod a+x /etc/ppp/pppoe_on_boot
chmod a+x /etc/ppp/ipv6-up
chmod a+x /etc/ppp/ip-up
chmod a+x /etc/rmt
chmod a+x /etc/rc.local
chmod a+x /etc/cron.daily/0anacron
chmod a+x /etc/cron.daily/man-db
chmod a+x /etc/cron.daily/upstart
chmod a+x /etc/cron.daily/apport
chmod a+x /etc/cron.daily/update-notifier-common
chmod a+x /etc/cron.daily/cracklib-runtime
chmod a+x /etc/cron.daily/passwd
chmod a+x /etc/cron.daily/mlocate
chmod a+x /etc/cron.daily/bsdmainutils
chmod a+x /etc/cron.daily/popularity-contest
chmod a+x /etc/cron.daily/dpkg
chmod a+x /etc/cron.daily/apt
chmod a+x /etc/cron.daily/logrotate
chmod a+x /etc/smartmontools/run.d/10mail
chmod a+x /etc/smartmontools/run.d/10powersave-notify
chmod a+x /etc/NetworkManager/dispatcher.d/99tlp-rdw-nm
chmod a+x /etc/NetworkManager/dispatcher.d/01ifupdown
chmod a+x /etc/apm/event.d/20hdparm
chmod a+x /etc/apm/event.d/anacron
chmod a+x /etc/apm/scripts.d/alsa
chmod a+x /etc/update-motd.d/91-release-upgrade
chmod a+x /etc/update-motd.d/98-fsck-at-reboot
chmod a+x /etc/update-motd.d/10-help-text
chmod a+x /etc/update-motd.d/98-reboot-required
chmod a+x /etc/update-motd.d/00-header
chmod a+x /etc/update-motd.d/90-updates-available
chmod a+x /etc/cron.weekly/0anacron
chmod a+x /etc/cron.weekly/man-db
chmod a+x /etc/cron.weekly/fstrim
chmod a+x /etc/cron.weekly/update-notifier-common
chmod a+x /etc/cron.weekly/apt-xapian-index
chmod a+x /etc/avahi/avahi-autoipd.action
chmod a+x /etc/cron.monthly/0anacron
chmod a+x /etc/kernel/postinst.d/zz-update-grub
chmod a+x /etc/kernel/postinst.d/dkms
chmod a+x /etc/kernel/postinst.d/pm-utils
chmod a+x /etc/kernel/postinst.d/apt-auto-removal
chmod a+x /etc/kernel/postinst.d/initramfs-tools
chmod a+x /etc/kernel/header_postinst.d/dkms
chmod a+x /etc/kernel/postrm.d/zz-update-grub
chmod a+x /etc/kernel/postrm.d/initramfs-tools
chmod a+x /etc/kernel/prerm.d/dkms
chmod a+x /etc/pcmcia/comedi
chmod a+x /etc/ca-certificates/update.d/jks-keystore
2
  • I went to recovery mode and made the permissions mentioned here (askubuntu.com/a/309031/15811) then applied your answer. I guess it's all okay now since you received these permissions from a fresh install. Thanks.
    – egy
    Aug 8, 2014 at 12:41
  • Good you got it working! :)
    – Rinzwind
    Aug 8, 2014 at 13:00
1

For getting ssh running you also would need to execute

chmod 400 /etc/ssh/ssh*key

And

service ssh restart

You must log in to answer this question.

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