Как да добавите потребител към файла Sudoers в Mac OS X
Съдържание:
На напредналите потребители може да се наложи да добавят потребителски акаунт към файла sudoers, който позволява на този потребител да изпълнява определени команди с root права.
За значително опростяване на това какво означава, тези нови привилегировани потребителски акаунти след това ще могат да изпълняват команди, без да получават грешки с отказан достъп или да се налага да префиксират терминална команда със sudo. Това може да е полезно (или необходимо) за някои сложни ситуации, но представлява риск за сигурността за други, следователно това не е нещо, което трябва да се променя случайно.
Общо казано, за повечето потребители е по-добре да използват администраторски акаунт, да използват sudo на базата на команда или да активират root потребител. Независимо от това, директното модифициране на sudoers има много ситуации на използване за напреднали хора със задълбочени познания за командния ред и именно за тези по-сложни ситуации ще се съсредоточим върху коригирането на sudoers файла, както е описано тук.
Файлът sudoers се намира в /etc/sudoers, но за разлика от /etc/hosts и много други системни конфигурационни файлове, не искате да насочвате общ текстов редактор към файла, за да го модифицирате. Вместо това ще искате да използвате специфична команда, наречена „visudo“, която потвърждава правилния синтаксис, преди да запазите документа.
Важно: Регулирането на sudoers не е предназначено за повечето потребители на Mac OS X. Само напреднали потребители, които имат убедителна причина да го направят, трябва да променят файла sudoers. Ако не знаете какво правите и защо го правите, не редактирайте sudoers файла и не добавяйте потребители към sudoers файла.Това може да представлява риск за сигурността или може да счупите нещо.
Добавяне на потребител към Sudoers в Mac OS X
Добавянето на потребители към sudoers изисква използването на vi, което може да бъде доста объркващо, ако не сте свикнали с него. За незапознатите ще очертаем точните клавишни командни последователности за редактиране, вмъкване и запазване на файла във vi, следвайте внимателно инструкциите.
- Стартирайте терминала и въведете следната команда:
- Използвайте клавишите със стрелки, за да отидете надолу до секцията „Спецификация на потребителските привилегии“, тя трябва да изглежда така:
- Поставете курсора на следващия празен ред под записа %admin и след това натиснете клавиша „A“, за да вмъкнете текст, след което въведете следното на нов ред, като замените „потребителско име“ с краткото потребителско име име на акаунта, на който искате да предоставите привилегия (натиснете раздела между потребителското име и ВСИЧКИ):
- Сега натиснете клавиша “ESC” (изход), за да спрете редактирането на файла
- Натиснете клавиша : (двоеточие) и след това въведете „wq“, последвано от клавиша Return, за да запазите промените и да излезете от vi
sudo visudo
Спецификация на потребителските привилегии root ALL=(ALL) ALL %admin ALL=(ALL) ALL
потребителско име ALL=(ALL) ALL
Приблизително така трябва да изглежда, примерната екранна снимка показва добавеното потребителско име „osxdaily“:
Трябва да сте готови, можете да изберете sudoers файла, за да сте сигурни, че файлът е променен:
cat /etc/sudoers
Използвайте cat с grep, за да намерите бързо потребителското име, ако не искате да сканирате целия файл:
cat /etc/sudoers | grep потребителско име
Сега, след като 'username' е добавено към sudoers файла, трябва да сте готови.
Разрешаване на грешка „/etc/sudoers зает, опитайте отново по-късно“
Ако се опитвате да промените sudoers и получите грешка „visudo: /etc/sudoers busy, try again later“, това обикновено означава, че файлът вече е отворен или от друг потребител, или от инцидент или чрез неправилно затваряне на visudo. Ако сте на машина с много потребители, не забравяйте да се консултирате с други потребители, преди да предприемете нещо допълнително, но като цяло това не трябва да се случва често на машина с един потребител. Важно е да разграничите двете, защото ако прецакате sudoers файла, може да се натъкнете на цял свят на разочарование, проблеми и евентуално възстановяване на операционната система (или sudoers файл) от архиви, чието разрешаване е извън обхвата на тази статия .
На Mac с един потребител тази грешка „sudoers busy“ може да възникне след излизане от приложението Terminal без излизане от vi, или ако терминалът или Mac OS X се сринат, или ако файлът в момента е отворен в друга сесия. Решението за последните описани случаи на машини за еднократна употреба е сравнително просто и можете да разрешите грешката, като премахнете временния файл sudoers, който служи за заключване:
sudo rm /etc/sudoers.tmp
Ще искате да направите това само ако сте сигурни, че друг потребител (или вие самите) не модифицира активно файла, локално или отдалечено. Тъй като регулирането на sudoers е доста напреднало като цяло, предполагаме, че знаете какво правите тук, но ако не можете да проследите какво или защо sudoers е отворено, можете да опитате да използвате dtrace или opensnoop, за да наблюдавате използването на файла.