Получение пароля после редактирования файла sudoers в cent OS 7?

Часть моих строк файлов sudoers, начинающих с mukesh, редактируется:

## Allow root to run any commands anywhere root ALL=(ALL) ALL mukesh ALL=(ALL) SOFTWARE,DRIVERS mukesh ALL=(root) NOPASSWD: /home/mukesh/Desktop/connect.sh 

разрешений connect.sh

PWD

 /home/mukesh/Desktop 

ls -lrt connect.sh

 -rwsr-xr-x. 1 root root 47 Apr 4 20:07 connect.sh 

cat connect.sh

 #!/bin/bash sudo pppoe-start 

Я просто хочу запустить connect.sh как root без каких-либо подсказок

РЕДАКТИРОВАТЬ :

 [mukesh@centos Desktop]$ ./connect.sh pppoe-start: You must be root to run this script [mukesh@centos Desktop]$ sudo ./connect.sh [sudo] password for mukesh: [mukesh@centos Desktop]$ su - Password: Last login: Mon Apr 4 10:27:09 IST 2016 on pts/0 [root@centos ~]# pwd /root [root@centos ~]# cd /home/mukesh [root@centos mukesh]# cd Desktop [root@centos Desktop]# ./connect.sh . Connected! [root@centos Desktop]# [mukesh@centos Desktop]$ cat connect.sh #!/bin/bash pppoe-start [mukesh@centos Desktop]$ sudo /home/mukesh/Desktop/connect.sh [sudo] password for mukesh: . Connected! 

Вот мой полный файл sudoers

Попробовал удалить разрешения с помощью sudo chmod ox connect.sh

 -rwxr-xr--. 1 root root 97 Apr 5 09:30 connect.sh [mukesh@centos Desktop]$ [mukesh@centos Desktop]$ sudo /home/mukesh/Desktop/connect.sh [sudo] password for mukesh: . Connected! 

EDIT2:

 [mukesh@centos Desktop]$ sestatus SELinux status: disabled 

Вы установили NOPASSWD для скрипта /home/mukesh/Desktop/connect.sh , а не что-то внутри него, для которого требуется пароль sudo .

Вам нужно запустить скрипт с помощью sudo :

 sudo /home/mukesh/Desktop/connect.sh 

а затем удалить sudo из скрипта:

 #!/bin/bash pppoe-start 

Это всего лишь одна команда, тогда вы можете просто добавить эту команду вместо sudoers (нет необходимости в отдельном скрипте):

 mukesh ALL=(root) NOPASSWD: /path/to/pppoe-start 

Также обратите внимание, что установка бита SETUID в скрипте (интерпретируемые исполняемые файлы) не будет работать.


У вас также есть еще одна проблема: у вас есть исполняемый бит, установленный для других, то есть любой пользователь может выполнить файл, поэтому вас спрашивают пароль sudo поскольку общим разрешениям будут предшествовать специальные, такие как sudo .

Таким образом, вы можете удалить разрешения на выполнение для других:

 sudo chmod ox /home/mukesh/Desktop/connect.sh 

и теперь sudo не должен запрашивать пароль.