I'm trying to install something on my MacOS (or Linux) system and I don't have permission because I'm not the admin. So I tried using sudo
and it says that I'm not in /etc/sudoers
file. I've tried editing the sudoers
file but it won't let me, so I "googled" it. Everybody says to use visudo
to edit the file. The problem is, it won't even let me use visudo
! When I type "visudo" it just says
visudo: /etc/sudoers: Permission denied
Would appreciate some help. Thanks in advance!
EDIT: I tried switching users and then editing the sudoers file but still didn't work
You need to be root
(or have root
privileges) in order to use the visudo
command and edit the sudoers
file
If u messed up your sudoers file.You'll need to:
- Reboot into recovery mode (hit escape during boot, choose the recovery mode option on the grub screen)
- Choose the 'Enable networking' option (if you don't your filesystem will be mounted as read-only. who knew)
- Chosee the 'Drop to root shell' option
- run visudo, fix your file
- Reboot with normal grub option
source :- http://mario.net.au/content/recover-etcsudoers-ubuntu-1204
You have to be root or use sudo to edit the sudoers file.
sudo visudo
I am new to mac. Very annoyed by the time=0 for sudoer (you havew to type the password every time you use sudo). I want to increase this value to a reasonable number:
timestamp_timeout=30.
After adding the above line to the /etc/sudoers file, I could not login as su anymore because the parser fails to read the sudoers file.
This posting is to document how I fix this problem.
1. Restart your mac
2. Hold on to Command-R two keys until you see the progress bar.
3. Start a new terminal, this terminal will be the root terminal
4. Edit the invalid sudoers file. Note this file is not in /etc/sudoers when you loggedin in as root
The full path is:
/Volumes/Macintosh HD/etc
restart then you are happy again.
This method will also apply to users who are not in the sudoers list and want to add themselves to the list.
Note: if you could not find the sudoers file as root use find:
find / -name sudoers