Администраторско меню или стартиране на системни команди на Linux от под звездичка

стартиране

Мнозина са се сблъсквали с необходимостта да изпълняват системни команди на Linux от под звездичката, но тъй като звездичката се стартира с правата звездичка: звездичка, това не е толкова лесно да се направи. Тези. например има нужда да използваме някакво интерактивно администраторско меню, в което можем да презаредим звездичката, да рестартираме мрежовия интерфейс, да спрем и стартираме openvpn и т.н.

[from-internal-custom] exten ≥ 665,1,Goto (admin -menu,s,1) [admin-menu] exten ≥ s,n,Authenticate (333 ) exten ≥ s,n,WaitExten ( ) exten ≥ 1,1,System ( /usr/local/sbin/amportal restart) exten ≥ 1,n,Hangup ( ) exten ≥ 2,1,System ( /etc/init.d/network restart) exten ≥ 2,n,Hangup ( ) exten ≥ 3,1,System (sudo /etc/init.d/openvpn start) exten ≥ 3,n,Hangup ( ) exten ≥ 4,1,System (sudo / etc/init.d/openvpn stop) exten ≥ 4,n,Hangup ( )

Натискането на бутон 1 ще рестартира звездичката и всички нейни услуги Натискането на бутон 2 ще рестартира мрежовия интерфейс Чрез натискането на бутон 3 включваме услугата openvpn Чрез натискането на бутон 4 изключваме услугата openvpn

Изглежда, че всичко, което трябва да направим, е да изпълним презареждане на плана за набиране в конзолата на звездичката (ръководство за основните команди можете да намерите тук) и всичко трябва да работи, но ... Всичко ще работи, ако звездичката беше стартирана с root права. За да принудим звездичката да изпълнява някои root команди, трябва да коригираме файла /etc/sudoers, в който или напълно позволяваме на звездичката да изпълнява всички root команди (не се препоръчва) или позволяваме изпълнението само на някои. Намерете следните редове и добавете потребителската звездичка, на която присвояваме изпълнението на определени команди, без да въвеждаме парола.

Бъдете много внимателни, когато редактирате sudoers файла. Грешка или неправилнонастройката може да доведе до пробиви в сигурността.

## Позволете на root да изпълнява всякакви команди навсякъде root ALL= (ALL ) ALLзвездичка ALL= NOPASSWD:/etc/init.d/openvpn, NOPASSWD:/usr/sbin/amportal, NOPASSWD:/etc/init.d/network

Това е всичко, сега можете да изпълнявате всякакви системни команди чрез звездичката.