22.05.2011

Часта задаюць пытанні і Саветы па ліквідацыі няспраўнасцяў

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 (для Су "рабіць").
Аднак, альтэрнатыўныя вымаўлення, дамафон з "псеўда", з'яўляецца звычайнай з'явай.

Comments are closed.