Часта задаюць пытанні і Саветы па ліквідацыі няспраўнасцяў
Original on http://www.sudo.ws/sudo/troubleshooting.html
Савета па ліквідацыі непаладак І частая задаюць пытанні для Sudo ===================================== Q) Калі я запускаюць наладзіць, ён кажа: "З кампілятар не можа ствараць выкананыя файлы". А) Як правіла, гэта азначае, што вы альбо не маюць працоўны кампілятар. Гэта можа быць звязана з адсутнасцю ліцэнзіі або, што некаторыя кампаненты Compiler Suite не можа быць знойдзена. Праверце config.log для зразумець, чаму гэта адбываецца. У многіх сістэмах, кампілятар кампаненты знаходзяцца ў / USR / CCS / бен якія не могуць быць у вашай зменнай асяроддзя PATH. Q) Калі я запускаюць наладзіць, ён кажа "Суда патрабуе ўтыліту" AR "пабудаваць". А) У рамках працэсу зборкі, Sudo стварае часовыя бібліятэку, якая змяшчае аб'екты, якія з'яўляюцца агульнымі сярод розных выкананых Суда. У сістэмах Unix, "АР" утыліта для гэтага выкарыстоўвалі. Гэтая памылка паказвае, што "АР" адсутнічае ў вашай сістэме. У сістэмах Solaris, магчыма, спатрэбіцца ўсталяваць пакет SUNWbtool. На іншых сістэмах "АР" могуць быць уключаныя ў пакет GNU Binutils. Q) Sudo кампілюецца, але калі я запускаюць яе я атрымліваю паведамленне "На жаль, Sudo павінны быць SETUID корань". Sudo і завяршае працу. ) Sudo павінны быць SETUID корань рабіць сваю працу. Вы павінны зрабіць што-то вроде "CHMOD 4111 / USR / мясцовае / BIN / Судо. Акрамя таго, Sudo файлавая сістэма знаходзіцца на павінна * не * быць усталяваны (або вывозяцца) з опцыяй nosuid або Суда не будзе ў стане працаваць. Іншая магчымасць складаецца ў вы, магчыма, '.' у $ PATH да каталога, які змяшчае Суда. Калі вы збіраецеся мець '.' на вашым шляху вы павінны пераканацца, што ён у канцы. Q) Sudo ніколі не дае мне шанец увайсці пароль з дапамогай PAM, ён проста кажа: "На жаль, паспрабуйце яшчэ раз." тры разы і выхады. А) Вы не ўстаноўкі PAM для працы з Судо. На Redhat Linux або Fedora Core Як правіла, гэта азначае ўстаноўку sample.pam як / і г.д. / pam.d / Суда. Глядзіце sample.pam файл намёкі на тое, што выкарыстоўваць для іншых сістэм Linux. Q) Sudo кажа: "Рахунак мінуў або PAM канфігурацыі не хапае" рахунак "для Суда, звярніцеся да сістэмнага адміністратара "і выходзіць, але я ведаю, што мой рахунак не мінуў. ) PAM канфігурацыйных не хапае "рахунак" спецыфікацыі. У Linux гэта звычайна азначае, вам не хапае радок: account required pam_unix.so in /etc/pam.d/sudo. Q) Sudo настроены для ўваходу праз часопіс (3), але я не атрымліваю паведамленні часопіса. А) Калі ласка, пераканайцеся, што ў вас ёсць запіс у файле syslog.conf, каб захаваць Sudo паведамленні (гл. sample.syslog.conf файл). Аб'екта па змаўчанні часопіс authpriv (зменная праз настройкі або ў sudoers). Не забудзьцеся адправіць SIGHUP вашаму Syslogd так, каб ён перачытвае яго канфігурацыйны файл. Акрамя таго, памятайце, што Syslogd * не * ствараць файлы часопіса, неабходна стварыць файл перад Syslogd будуць уваходзіць да яе (гэта значыць: Touch / VAR / Часопіс / Sudo). Заўвага: аб'ект (напрыклад, "auth.debug") павінны быць аддзеленыя ад прызначэння (напрыклад, "/ VAR / Часопіс / аўтарызацыі" ці "@ loghost") па вакенцамі, * не * прасторы. Гэта распаўсюджаная памылка. Q) Калі Sudo пытае мяне, для майго пароля ён ніколі не прымае тое, што я ўваходжу, хаця я ведаю, што я ўвёў свой пароль. А) Калі ваша сістэма выкарыстоўвае Прыхаваныя паролі, цалкам магчыма, што Sudo не выявіць гэта. Паглядзіце на згенераваны файл config.h і пераканайцеся, што функцыя З выкарыстоўваецца для пошуку ценявых пароляў была выяўленая. Напрыклад, для SVR4 стылі паролі цень, HAVE_GETSPNAM павінны быць вызначаны (вы можаце знайсці радок "паролі цень" у config.h з рэдактарам). Звярніце ўвагу, што не існуе вызначыць для 4.4BSD аснове пароляў цень так, што проста выкарыстоўвае стандартны getpw * працэдур. Q) Я не хачу sudoers файл у / і г.д., як я магу паказаць, дзе яна павінна ісці? A) Use the --sysconfdir option to configure. Ie: configure --sysconfdir=/dir/you/want/sudoers/in У) Ці магу я паклаў sudoers файла ў NIS / NIS + або я павінны мець копіі на кожнай машыне? А) Існуе няма падтрымкі для прыняцця NIS / NIS + карта / табліцы з файла sudoers ў гэты час. Добры спосаб для распаўсюджвання sudoers файла праз Rdist (1). Гэта таксама можна мантаваць NFS-sudoers файла. У) Я не запускаць Sendmail на маёй машыне. Ці азначае гэта, што я не магу выкарыстоўваць Sudo? А) Не, вы проста трэба запусціць выкарыстанне - без аргументаў Sendmail для наладкі ці дадаць "mailerpath!", Каб па змоўчванні радок у / і г.д. / sudoers. Q) Калі я запускаюць visudo ён выкарыстоўвае VI, як рэдактар, і я ненавіджу VI. Як я магу зрабіць гэта выкарыстоўваць іншы рэдактар? А) Ваш лепшы выбар для запуску наладкі з - з перамыкачом-ENV-рэдактар. Гэта дазволіць зрабіць visudo выкарыстоўваць рэдактар, зададзены зменнай асяроддзі рэдактар ??карыстальніка. Акрамя таго, вы можаце запусціць наладу з - з-рэдактар ??= / шлях / да / іншы / рэдактара. Q) Судо відаць, выдаліць некаторыя зменныя з майго акружэння, то чаму? ) Sudo выдаляе наступныя "небяспечных" зменныя асяроддзя для абароны ад агульных бібліятэк спуфинга, абалонкі вуду, і Kerberos сервер спуфинга. IFS LOCALDOMAIN RES_OPTIONS HOSTALIASES NLSPATH PATH_LOCALE TERMINFO TERMINFO_DIRS TERMPATH TERMCAP ENV BASH_ENV LC_ (if it contains a '/' or '%') LANG (if it contains a '/' or '%') LANGUAGE (if it contains a '/' or '%') LD_* _RLD_* SHLIB_PATH (HP-UX only) LIBPATH (AIX only) KRB_CONF (kerb4 only) KRBCONFDIR (kerb4 only) KRBTKFILE (kerb4 only) KRB5_CONFIG (kerb5 only) VAR_ACE (SecurID only) USR_ACE (SecurID only) DLC_ACE (SecurID only) Q) Як мне захаваць Sudo запытваць пароль? А) Каб паказаць гэта на кожнага карыстальніка (і за каманду) аснове, выкарыстанне тэга права "NOPASSWD 'перад спіс каманд у sudoers. Глядзіце старонку sudoers чалавека і sample.sudoers падрабязней. Каб адключыць цалкам пароляў, выканайце наладкі з - без-пароль варыянт ці дадаць змаўчанні радок у / і г.д. / sudoers "сапраўднасць!". Вы таксама можаце адключыць праверку сапраўднасці на кожнага карыстальніка ці кожнай прымаючага аснове з выкарыстаннем карыстальніка або прымаючага канкрэтныя Па змоўчаньні ў sudoers. Q) Калі я запускаюць наладзіць, ён памірае з-за памылкі: "не прымальна CC знайсці ў $ PATH". А) / USR / UCB / CC быў толькі кампілятар C, што налады могуць знайсці. Вы павінны сказаць наладзіць шлях да "рэальнай" C кампілятар з дапамогай - з опцыяй-СС. У Solaris, шляхі, верагодна, нешта накшталт "/ opt/SUNWspro/SC4.0/bin/cc". Калі ў вас ёсць GCC, якія таксама будуць працаваць. Q) Калі я запускаюць наладзіць, ён памірае з-за памылкі: Fatal Error: config.cache існуе з іншай платформе! Калі ласка, выдаліце ??яго і паўторна запусціць налады. ) Наладзіць кэш вынікі яе выпрабаванняў у файл з імем config.cache зрабіць паўторны запуск наладзіць хутка. Аднак, калі вы будуеце Sudo для розных платформаў вынікі ў config.cache будзе не так, вам неабходна выдаліць config.cache. Вы можаце зрабіць гэта, "RM config.cache" або "зрабіць realclean". Звярніце ўвагу, што "зрабіць realclean" будзе таксама выдаліць усе аб'ектныя файлы і наладзіць часовыя файлы, якія закласці вакол, а таксама. Q) Я пабудаваў Sudo на Solaris> = 2,6 машыне, але ў выніку бінарнай не працуе на Solaris <= 2.5.1. Чаму? ) Пачынаючы з Solaris 2.6, snprintf (3) уваходзіць у стандартную бібліятэку C. Каб пабудаваць версію Sudo на> = 2,6 машыну, якая будзе працаваць на <= 2.5.1 машыны, рэдагаваць config.h і закомментируйте радкі: #define HAVE_SNPRINTF 1 #define HAVE_VSNPRINTF 1 і запусціць зрабіць. Q) Калі я запускаюць "visudo" ён кажа: "sudoers файл заняты, паспрабуйце яшчэ раз пазней." і нічога не робіць. ) Хто-то ў цяперашні час рэдагавання sudoers файл з visudo. Q) Калі я спрабую выкарыстоўваць "CD" з Sudo ён кажа: "CD: каманда не знойдзена". ) "CD" з'яўляецца абалонкай убудаваная каманда, вы не можаце запусціць яго як каманду, так як дачэрні працэс (Суда) не можа паўплываць на бягучы рабочы каталог бацькi або мацi (абалонкі). Q) Калі я спрабую выкарыстоўваць "CD" з Sudo каманды завяршаецца без памылак, але нічога не адбываецца. ) Хаця "CD" з'яўляецца абалонкай убудаваная каманда, некаторыя аперацыйныя сістэмы ўключаюць у / USR / BIN / CD каманды па некаторых прычынах. Аўтаномныя "CD" каманда цалкам бескарысныя, так як дачэрні працэс (CD) не можа паўплываць на бягучы рабочы каталог бацькi або мацi (абалонкі). Такім чынам, "Суда кд / Foo" пачнецца даччынага працэсу, змены каталогаў і адразу ж выйсці, не робячы нічога карыснага. Q) Калі я запускаюць Sudo ён кажа, што я не дазволена запускаць каманду як корань, але я не хачу, каб запусціць яго, як корань, я хачу, каб запусціць яго ў якасці іншага карыстальніка. Мой sudoers запіс у файле выглядае наступным чынам: Боб ALL = (Oracle) УСЕ ) Sudo змаўчанні карыстач спрабуе запусціць рэчы, як заўсёды корань, нават калі прымяненне карыстальнік можа працаваць толькі каманды, як адзіны, канкрэтны карыстальнік. Гэта можа змяніцца ў будучыні, але ў цяперашні час у вас ёсць, каб абысці гэта, выкарыстоўваючы опцыю "runas_default ў sudoers. Напрыклад: Defaults:bob runas_default=oracleдазволіць дасягнуць жаданага выніку OFR папярэдняга фрагмента sudoers. Q) Калі я спрабую запусціць Sudo праз SSH, я атрымліваю памылку: Суда: не TTY прысутных і не askpass праграму, указаную ) SSH не вылучае тэрмінала па змаўчанні пры запуску выдаленай каманды. Без TTY, Sudo не могуць адключыць рэха, калі запыт на ўвод пароля. Вы можаце выкарыстоўваць "-T" опцыю SSH, каб прымусіць яго перадаць тэрмінала. Таксама калі вы не пярэчыць пароль знаходзіць адлюстраванне на экране, вы можаце выкарыстоўваць "visiblepw" sudoers параметр, каб дазволіць гэта. Q) Як вы прамаўляеце `Sudo? ) Афіцыйны вымаўленне Су-Doo (для Су "рабіць"). Аднак, альтэрнатыўныя вымаўлення, дамафон з "псеўда", з'яўляецца звычайнай з'явай.
