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) ?

  • 1
    see askubuntu.com/questions/308939/… – Rinzwind Aug 8 '14 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 '14 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 '14 at 12:05
  • also sudo says: sudo: /etc/sudoers is mode 0540, should be 0440 sudo: unable to initialize policy plugin – egy Aug 8 '14 at 12:11
  • did you do 1. first? otherwise I would use a live dvd and do it from there. – Rinzwind Aug 8 '14 at 12:39
2

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
  • 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 '14 at 12:41
  • Good you got it working! :) – Rinzwind Aug 8 '14 at 13:00
0

For getting ssh running you also would need to execute

chmod 400 /etc/ssh/ssh*key

And

service ssh restart

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.