# PaCkAgE DaTaStReAm CUsudo 1 328 # end of header 07070100007645000081a400000000000000010000000133029efa000000b9000000200000001b00000000000000000000000f00000009CUsudo/pkginfoPKG=CUsudo NAME=sudo ARCH=Solaris 2.5.1 VERSION=1.5.3 CATEGORY=application VENDOR=Courtesan Consulting EMAIL=sudo-bugs@courtesan.com PSTAMP=D.J. Gregor BASEDIR=/opt/CUsudo CLASSES=none 07070100007643000081a400000000000000010000000133029efa000002fe000000200000001b00000000000000000000000e00000009CUsudo/pkgmap: 1 328 1 d none /etc/opt/CUsudo 0755 root root 1 f none /etc/opt/CUsudo/sudoers 0440 root root 286 24263 855809762 1 f none COPYING 0444 root root 17982 28433 855809537 1 f none README 0444 root root 3086 10454 855809539 1 f none README.solaris 0644 root root 807 1308 855809328 1 d none bin 0755 root root 1 f none bin/sudo 4111 root root 55992 57727 855808832 1 d none man 0755 root root 1 d none man/man5 0755 root root 1 f none man/man5/sudoers.5 0444 root root 14748 53848 855809385 1 d none man/man8 0755 root root 1 f none man/man8/sudo.8 0444 root root 12891 62744 855808982 1 f none man/man8/visudo.8 0444 root root 7378 44856 855809015 1 i pkginfo 185 15166 855809786 1 d none sbin 0755 root root 1 f none sbin/visudo 0111 root root 36036 23215 855808836 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!07070100007645000081a400000000000000010000000133029efa000000b9000000200000001b00000000000000000000000800000009pkginfoPKG=CUsudo NAME=sudo ARCH=Solaris 2.5.1 VERSION=1.5.3 CATEGORY=application VENDOR=Courtesan Consulting EMAIL=sudo-bugs@courtesan.com PSTAMP=D.J. Gregor BASEDIR=/opt/CUsudo CLASSES=none 07070100007643000081a400000000000000010000000133029efa000002fe000000200000001b00000000000000000000000700000009pkgmap: 1 328 1 d none /etc/opt/CUsudo 0755 root root 1 f none /etc/opt/CUsudo/sudoers 0440 root root 286 24263 855809762 1 f none COPYING 0444 root root 17982 28433 855809537 1 f none README 0444 root root 3086 10454 855809539 1 f none README.solaris 0644 root root 807 1308 855809328 1 d none bin 0755 root root 1 f none bin/sudo 4111 root root 55992 57727 855808832 1 d none man 0755 root root 1 d none man/man5 0755 root root 1 f none man/man5/sudoers.5 0444 root root 14748 53848 855809385 1 d none man/man8 0755 root root 1 f none man/man8/sudo.8 0444 root root 12891 62744 855808982 1 f none man/man8/visudo.8 0444 root root 7378 44856 855809015 1 i pkginfo 185 15166 855809786 1 d none sbin 0755 root root 1 f none sbin/visudo 0111 root root 36036 23215 855808836 0707010001712d000041ed00000000000000010000000533029efc00000000000000200000001b00000000000000000000000600000009reloc0707010001712e000081a400000000000000000000000133029e010000463e000000200000001b00000000000000000000000e00000009reloc/COPYING GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. 0707010001712f000081a400000000000000000000000133029e0300000c0e000000200000001b00000000000000000000000d00000009reloc/READMEThis is the CU version of sudo, release 1.5.3 The sudo philosophy =================== Sudo is a program designed to allow a sysadmin to give limited root privileges to users and log root activity. The basic philosophy is to give as few privileges as possible but still allow people to get their work done. Where to find sudo ================== Before you try and build sudo, *please* make sure you have the current version. The latest sudo may always be gotten via anonymous ftp from ftp.courtesan.com in the directory /pub/sudo/. The distribution is cu-sudo.vM.m.tar.Z where `M' is the major version number and `m' is the minor version number. BETA versions of sudo may also be available. If you join the `sudo-workers' mailing list you will get the BETA announcements (see the `Mailing lists' section below). What's new ========== For a history of CU sudo please see the HISTORY file that came with the release. Please note that while this source is based on the Root Group's sudo 1.1, the code has been changed significantly, so please do not bother them with bugs in CU sudo. Bug reports for this sudo should be sent to sudo-bugs@courtesan.com. For a complete list of changes, see the CHANGES file. For a summary, see the web page, http://www.courtesan.com/courtesan/products/sudo/. System requirements =================== Sudo requires a machine running UN*X (most flavors of BSD, SYSV, or POSIX will do), a C compiler, and a yacc-compatible parser generator (yacc, byacc, bison). If you wish to modify the tokenizer then you will need flex version 2.5.2 or later. (sudo comes with a pre-flex'd tokenizer). You can get flex via anonymous ftp from ftp://ftp.ee.lbl.gov/pub/flex* as well as any GNU mirror. Building the release =================== Please read the installation guide in the `INSTALL' file before trying to build sudo. Things have changed quite a bit from the previous release (1.4). The `RUNSON' file contains a list of of platforms that this version of sudo is known to work on. If you can add to this list, please send mail to sudo-bugs@courtesan.com. If something goes wrong you may want to refer to the `TROUBLESHOOTING' file. Copyright ========= Sudo is distributed under the `GNU general public license.' Please refer to the `COPYING' file included with the release for a copy of the license proper. Mailing lists ============= There is a mailing list that receives announcements whenever a new version of sudo is released. You can subscribe to it by sending a message to "majordomo@cs.colorado.edu" that includes the line "subscribe sudo-announce". There is also a list for people working on and porting sudo. The command to add yourself is "subscribe sudo-workers". Web page ======== There is a sudo `web page' at http://www.courtesan.com/courtesan/products/sudo/ that contains an overview of sudo as well as pointers to BETA versions and other useful info. Bug reports =========== A list of known bugs may be found in the `BUGS' file. Please send (new) bugs, problems, comments, features, ports, etc to sudo-bugs@courtesan.com. 07070100017130000081a400000000000000000000000133029d3000000327000000200000001b00000000000000000000001500000009reloc/README.solarisThis is CU-sudo v1.5.3 compiled for Solaris 2.5.1 by D.J. Gregor, . Feel free to throw questions my way. Here is a note from the INSTALL file: > Also: Many versions of Solaris come with a broken syslogd. > If you have having problems with sudo logging you should > make sure you have the latest syslogd patch installed. > This is a problem for Solaris 2.4 and 2.5 at least. You do have all of the latest patches installed, right? Compilation notes: (1) configure was run as follows: ./configure --prefix=/opt/CUsudo --sbindir=/opt/CUsudo/sbin --sysconfdir=/etc/opt/CUsudo (2) I changed the 'LOGFAC' define in options.h to use 'LOG_AUTH'. (3) I edited the man pages to point to the right place for the sudoers file. That's all folks! - djg 07070100000059000041ed00000000000000010000000233029efb00000000000000200000001b00000000000000000000000a00000009reloc/bin0707010000005a000081ed00000000000000000000000133029b400000dab8000000200000001b00000000000000000000000f00000009reloc/bin/sudoELF!4ט4 (44X*/usr/lib/ld.so.1?BvNj<c|r,Y*2_"gi8.PTFGK96#e'@k+\Rh5()HL>oJVfpW!%3=0AC;7`1E:-MZuaxO&[w]~sQ$Dl q}4yS/d{ImbzUX^nt!    P 8pP%\DD:!tA<HĈTY}x@gҘo,,wɜ~L)h8(4axlҜ@Dg,Lp|]8T p@!b\&(/ EJTh\ʹbҠmsĔ}txØӰp[LP8PT\HÌ"\h3:@,LRX]XgҤl\t,Ҭ4ðlXLxT^]ĸ  p`X]P'. 7ü=dNVh[bp@h4ouzx„<|tÀ8%4Ҵ0D Li8'X.5yTEK0RW^ddk qy@T$$h\`X˜ ̨ Ĭa\4Ҩwd P &,,3\80E`J}xY`g!Tos\,{  [hH´k@$d~ ¨^|8`œdL h4'38@@$\L R8Tb<ltĠä{yylengsocketparse_errorset_permsyy_load_buffer_state_startyycharsigemptysetreadnetgr_matchesNewArgcyyparseyypactatoireset_aliasesrewindsetuidstrtokfreadcheck_usergetpwuidNewArgvcwdyylvalsudo_getpwuid_environ_endstrdupyy_init_bufferfork_iobuser_is_exemptreaddir__flsbuf_GLOBAL_OFFSET_TABLE_pipesigactionaliasesyychkrunas_usermkdirsigaddsetyyexcageteuidnum_interfacesstrcasecmpatexitexitttynameopenlogmallocyyrestartsprintfhostputstoplfindopendiruser_pw_entyy_delete_bufferinnetgr_inityy_create_bufferfwritefputcinit_parserumaskfputstimeyyerrflagcmndyynerrserrorlinenottyyydefgetuidnaliasesgetwdgetpwnamyylexfclosegetenvyyoutyy_scan_bytesyy_scan_bufferdup2tcsetattrwaitselectyypgostrncpynslotsyy_yysyy_flush_bufferyy_yyv_DYNAMICtzsetremove_timestampstrncmpArgcprintf__iobsetgidchownArgvfilenosudo_setenvctimestrcatcryptioctlmatchinet_addrgetgrnamreallocstrrchrpromptyytmplist_matchesbadenv_tablefnmatchyyact_exitinterfacesenvironfind_pathperroryytextcommand_matcheserrnounlinkyyinstrchrlstatputenvutimecmnd_sttgetpassfreeshostclosesudo_goodpathclosediropenyysyyvyystatestrcmpfgetsyyr1yyr2tcgetattrsudolinenoyywrapcmnd_argsvalidate_edata_PROCEDURE_LINKAGE_TABLE_fopenmemsetyypsclearaliasesyypvusergr_matchesexecvpstrcpyyyerrorinform_user_etext_lib_versionyy_switch_to_bufferfflushcloseloglog_erroryydebugmainsyslogyy_scan_stringgetspnam.udiv__filbufchmodmemcpystrlenyyvalprintmatcheslsearchgethostnamestatseteuiddumpaliases_finiload_interfacesstacksizefprintfsigprocmasksysconfaddr_matchesisattylibnsl.so.1libsocket.so.1libc.so.1L3pHIRNLP~](;4+@LXdpG|5Y,t\^B $0<HTk`l.x„Kœ¨´>7=oZj q,8DPS\:htÀÌVØEäðeüzJ|g"(*4@L'Xhdp|Ĉ!ĔCĠĬĸp)r @D# @gg @g@, @ L"@,@g@g㿐@/g/g   `    㿐㿐a,?!"a, g`@g "bP㿐 @g` @"@㿐@@g㹈 '@gahl$H@g"@ ga)!!lap @9  ga(!@gjahl$H@gb"@   gaP!@gT㻈@gE'ahl$H@g>"@@ 㿐ap  "ap! @g7*  $!h!!p* @!h@g0*`$!h!h@ 㿐 !l/#%gah, * @ "g  xg  g g!g!!@gg, @*`ah@ !@g` !l ah㿀g@f! !D@|% )3g1/-Hg!@f!@,`"* @ 9? $ (@fے!@` %` (*!@,`"@*` @fВb,`"* !@g"@f'!XP @fp " @f @fb2!@g"g"@f!@,`"@*`   !@g" @f!@,`"@*`  '!XP @fup !@ ,`"* @` @fx`!D@ g !P@!%'X,`@fvX@fr `P@ X!@fj!X$!X !D@!%'@,`$, @f[@@fW `D@ @!@fO!@$!@㿐@fL  @@ @@f'$2$g@f<"0! gb8@f@e &&&@@ &@  @f2&@g@f"0! gb8@e@eܐ    * @eܒ&㿐!h @e"!p"al㿐aP "aPaT8  "aT!PaT "aT!!X !T@e*  #$!Xg@eΐ"0! gb8@e@e !T!X@e*` $!Xg@e"0! gb8@e@e} !PaX*  "?㿐aD "aDaH?  "aH!DaH "aH!!@ !H*`" @en*  $!@g@e"0! gb8@eN@eF "!D!H* "@!@@eX*` $!@g@ej"0! gb8@e5@e- !D!@*`" * "` ""`㿐!! @eE$!"!8""P?"a, "a "a?@@AB-4-4DE-4-4-4-4FGp-4-4-4-4GI8-4-4IJ-4-4KK$KHKhK?"!X!8<@  "<!8a< "a D!8!*` *  "?9""h!4 #!L #!!P*aX 7 ,` !P*aX  ) !4 2!8!*` *   &쀢 "#!!D* "*a@  ` !D* "*a@   "" " @ 6  !8!*` *   "?""h@_! "@_!8<@Y  "<!8a< "a! T$!  , ! = : .!!@`8!!@`8!!@`8!!@`8ڰ! $ְ!!@`8ϰ! $ 8!Đ@ J? / @ ! $!@`8 !!@`8!k@[b( !! !!@`8!k@[b0 ! !k@[b@ ! !k@[ܒbP !!k@[Ӓb` !!~!!`8 @[r !İ$@ ,@ $  ?"`  " "$   @ !!Đ@4$@! $ @C "    !$@"   !$Ĕ?2: Δ   s@# n!Đ@$j!  `  @$!k@"pU㿐  !  `@k@"    aĐ" İ °  aĢ" @ , `@   $ "   "? -'%)k "   "$  *` 4 2` * $   @`$   @" $ "? 4   8  *%'@? "@@[  "   `   * &Ȁ`   *   k@L#" !  %@ @ZȀ  $  k@5#  `  @<  " $ @ "  *  ` *  "aā㿐JhgijiiN(  . P . "`" P(Pij. P . .`. P(P. . PiD(P*Ngȇ*`P   i*`P j(P iiij*`P `*`*  *`P (P *`i*`P iD(P``  㿐  , " `  @ @    @*  @8" @ ` " ` k@M#0?,"! *`" 㿐 *@J ?  `  :3*aİ"  4"    $`k@ !Đ"`?  @ !Đ"`@#P` *`"` *㿐!  @6$  @]@㿐฀   *@"` "`@"  "`` ` "!@" * 㿐@ (2& k@#x& @` & k@#x & @㿐 `""`  @ @㿐@& ` & @Y@Y 4  & & 㿐&  * *  &  & & $ 㿐` @J 2 J  @V (2k@E#& & & & & & &  & & & $\㿐N  `N 2`@㿐`@- k@#ؒ @ @ , `@& @* ,2 l@  & 㿐 l`(@XS@XK 㿐@X^㿐@X[㿐@Xh㿐@XN` "`Dl 0! D@Xx D*㿐"!"a@X7` "`Dlp 0! D D@X` D*$`㿐 H  a @@"a@X!"`H!@@a@& @a @@"a! H@Xa$ H 2l7 0 Ha  * ` @Wޒ"!㿐 !0  㿐@ @X  ?@ !T  `@%@@@W !!T@W $(!!T l`Plp@W@W !T l`lp@W "` @ ˒  ! %l')l+ /@WÒ /.@Wh 6.@Wlp  @Wc%`.   , | ? "  @ @ .  @Wh & @W "@ !+ bX @ܐ @    l p@W! l@WR "  "` @ f 㿐@Wp 㿐   @ V !   #@W_! l@W)  @WX @ ? 㿐!!T@W $(!!T l`Plp@V@V֐ !T! l`lp@V @  @W1  @  㿐 +%)'Ta!,@ "T`J@ T``@V   @W@V ll`@V؀`4T`@@  @<  @@@V 㿐! l`llHl!l@Va@V 㿐l@V!ఒ" N l!㿐@V "   " 㿐@Vϐq @Vj $2l@V!! la@VJ@VB & &  &  &  &  &  &  &  & @Vk &l@V\!! la@V'@V @VY  & l@VJ!! la@V@V  @VE & l@V6!! la@V@U @V1 & l@V"!! la@U@U 㿐  * !@V $( N"a! lb@UҖ@Uʐ @V / "l1 !@U͒@  ! g !! lb8@U!l@U"H@U @V"PQ @U ! lbX@U@U  !@U :2,L@  .L` ! @U@U # ll b@Uv@Un bp@U{@  `΢ `@ @U㿀 @U"@U| @(@Uw"" !@Uo@UT $ $l@Ui"x! lb@U4@U, @U '@U !!T $lb@U/ $ `,Ϣ [ L*`@m`mm0mHohohmmohohohohohohnoo8ohohohohohohohohohohohohohohohohohmohnn\ohohnohnnn|lb@@T" lbl}c "#\lc`l,"@TК`@y?!Tlc@Tn?l[cm`(H mZ`h!Ȁ   mm`m` `m`@TPC?mal@T;?ma(l @T 1?maPl@T! (?mahmam @@Tkb?mb@@T_"?mbP@T? 2m!@Tn $ $ !@TD"@Tf"@ ,@`,@!"`" m@T6@TX"@,@,`m"h @T  $  /m)-m@TF $@T# ;@T>#)c( L ?8L(c ,!Tp!T@Tv, `L@ 2`ͤ!Tp@T`@T_@R @hm"m"РȐ @TO \#H'̐ @TK @TL c @  '̒@T?  @T;  @T7 @T;耢 "m@SҐ"@S @T4 @T1 @S@S@T%  @S @T%b@S@S @S  mcm@S  %#`%2 LL  h2LP@S` @T` L  ! mc(P@S_$@S @SU 㿐@S 㿐 `,\#*`@tvht8t\vhvhu8uLvhvhvhvhvhvhv v@vTvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhttuu$vhvhuhvhuuu!T mc8@S0!T1 mc@S !"  @S "@S  mc@RP0l mfc na` n\`8 nW`x nR` nM` na@RҔ 0G!Ȁ  na0 naHl@R”n@R!X04 na`l@R0, nal @R 0" nal@R! 0 na@R0 n b nb8 nbp@R (2](wXwPwXwPwPwXwPwPwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwXwX  㿐 @ !n"n@Rb2@Rq" '@R: "  "`̐ @ C@Rΐ @y 2V?"P O?!8  H F !8 "@ !8* @*`@   8? "8. !8 * !8* @*`@  8  8 8 @? * @*`@   8? "8 N /2 !!̀ @R n@Ri / "`("`(`( "`(@ @R[  2 A`  n"@Q s H7`@QƐJ? /:@R: /`@Q ( [ @Qْh -!!h@O x@J `  n"@Qt < `n"@R  /`?@R`( '%!@R@QS @Q(@QI @Qh h@x`@@Q@ 㿐@Qz /!, @Qِ@Q֐ /,? #@6. !#*` @ `@ *` @Q #@6 !#*`    ` @ *` 㿐N % @Q!T @2    @Pڒ    㿐N + @Q|T  (8\ ?*[]  J  !$!@QZ" h " n! nb@P@P @P# "an#("a@`E_"*`@p88n#8@Psb`@PM @ n#P"bn#` "bn#h"b "a4"  " `@Ӑ @P ? @P?  L@ b@`H!" " @P&*  $"n@P;#p! ncx@P@O !!T `J@  @P /  "@!T`  "! nc@O@Oݐ "` "`  "@ `v @x@O `@_6`26`@O  @h ` ` @ a d L `` @O  @O @a `@"``@n@А#`@ @P @O} !̀ '!"@O͒h 6! nc@Op"n@O#@Oe !h!̀@x@!   @OT "@Ob! nc@ON@Oy"@OD? @@O; `@O#$aT @ @}aT @O'Рn@O2c'Ȑ$aTȐ !͐ !@O @O!@O $"@Oݐ  !$"!"nc@Oה  2!" $"!@O8" $"n@O)#p! ncx@N@N n#"b@O7 !@O @ 2)! @-@O @  ! o`@N @o ( (, @ `* `* `* `* `* `* `* @ ! P@O! # Po 0 0, P `* `* `* `* `* `* `* `* ` * G #L #@N `P@N .,@Nɐ`P "bTn@N#p! ncx@N@N|  ., P"bT@㿐  ! "b h`"@  " a#)'#-%+bJ@ -J`  J`  oᰐ `@@NH@  b@ bJ  vᰑ* ldDP,8\ b  b@[ b` %b  b@P b`%b?$`0$b. @ +  (  %  "    !?$b )$bᰐ o`p@M@# b o`@My@ $b `$b"    @ 㿐! o`@MW@MO㿈@My" " N #b, @Mk?? b`" "    @M[@`@ @M;!n@MP#p! ncx@M@M @M"@M>""    , @M @@M/@`@ 2,o"o!@: "n@M#p! ncx@L@L " @M" o@MF!!  $"@M" $" $"""!To!@ @ n@L#p! ncx@L@L !Tnc@Lo!(@ n@LҐ#p! ncx@L@L !Tnc@L o!8@Ӓ "on@L#p! ncx@L@Lz @L!Ho!X@ n@L#p! ncx@Lk@Lc 㿐!"@L$(! N"a!" oa`@LR@LJ "f "b!" oa@L?@L7   @ !o!@Mh @  < | /!7 !@L! $%#`oa@L! #!?@L  `oa@L!'! oa! obo@Kn@L#ؐ @9 o!@LH  g@LĔ ?o!@Lh | '<  | + /!   * 2 ) ? )? @L  @  @ 㿐 d!. @(`,@L o@KА"(@K !!T@L !T@L  o@K"8@K @Lr !o@K"(@K !T@Lj !T@Ld  }o@K"P@Kv @L[ !o@K"(@Kl "J@ #1@LU`@LJ c! obh@K^"n@K#@KS @LD" ! ob@KL"@KD @L, ! ob@K= n@Kg#@K2 @L  a! ob@K* n@KT#@K   "b@K o@KF"(@K @K o@K="@K @K  o@K4#@J 㿐@K  2   `"@`@ 2`? 2   " N  " @K&h  2 |<  I "aȰ 㿐@J@J@JȐ @2?*@  ` =*@*@` `@K ho@KM#(  @K o@J#8@J '$'0a@Ky 2 !@J.  $!o@J#@! ocH@Jn@Jf /Ȣ @%'/0?5? @  q` @K"  "k' ' ' ' ' ' ' '0a @K4 !Ȁ ~"O "L |"Io ch@J)o@JS#@J *`" 0a@KȀ * @"`*  8  " *   ? " * @"`*@@ "$@& # `!!@I*` $!o@J#! ocH@I@Iǐ @I!@J@J @J  @Jo#o@JWc p @J@I@JԨ  ?'@I`@J !N %N  u " NN  h2N@I @J N 怢 %`@I@J}`&( @I @I@I4 ,   *@?8@$?8' '$@J `,*`,  @J^   ,* , @JU  @Il?J "*  Ԑ '@Iw`@J6Ȁ @I@J2 @I @J"  p1@I1 ,㿐@/H/H\ ? ???㿐㿠㿠0>>> sudoers file: %s, line %d <<< Alias `%.*s' already definedOut of memory defining alias `%.*s'Aliases corrupted defining alias `%.*s'HOST_ALIASCMND_ALIASUSER_ALIASRUNAS_ALIAS %s You may run the following commands on this host: :, ) (root) NOPASSWD: malloc%s: cannot allocate memory! yacc stack overflowsyntax errormatching stack underflow!root%+ALL     6FJLWgXPT{Ngwtuo}|Jyztxut j tsg oncnmei)h+,#h.&ge'd+4\7WK8J;<D?3.@(CQVXZ\afbhjlO%%""(%%.."G%.%.%.%.%.%.   !"#$%%%&%%%%'( ) *+,---.----+/7U89:9:=>_7?O;7<T;V9M9?=>???????@??@=>@@@@@@@@?@@?Q\???????A??AyzAAAAAAAA?AA?4???????3CD?E|}CCCCCCCC?CC?y??????FG?HP:HHHHHHHH?HFJ>?PCP:7K[]^KKR`]aePcLFQFFFFFFFF;F?t??????Y??Y|YYYYYYYY?YY;`fhQkjl;nmoQkqsnQv{x;Q;Q1111155566;;99????BBBBNNQQPP|y~nkwurp`]igd7bGC:7Q:ZXW;:S20:I:20V,!,V88<<==!JJRRBrr"B""""""""""uu"""""""""""%zz%%%%%%%%%%--%%%%%%%%%%%''C-C..O'OSS''.W^W^.\'(\((((((((m(GmGGGGGGGGGG}}GGGGGGGGGGG_a_acdcdfgfgjljloqotqtx{x~{~{|ywvspnkiheb`][ZYXUTQPNIED;97610/& ALLHost_AliasCmnd_AliasUser_AliasRunas_Aliasfatal flex scanner internal error--no action foundfatal flex scanner internal error--end of buffer missedfatal error - scanner input buffer overflowinput in flex scanner failedflex scanner push-back overflowunexpected last match in input()out of dynamic memory in yy_create_buffer()out of dynamic memory in yy_scan_buffer()out of dynamic memory in yy_scan_bytes()bad buffer in yy_scan_bytes()%s unable to allocate memory%s: path too long: %s/%s /tmp/.odus%s/%sCannot stat() %s check_timestamp: mkdirupdate_timestamp: open%s Sorry, try again. %s %s %s %s We trust you have received the usual lecture from the local SystemAdministrator. It usually boils down to these two things: #1) Respect the privacy of others. #2) Think before you type.SHELL/bin/shmalloc%s: cannot allocate memory! %s: path too long: %s %s: %s: PATH%s: out of memory! %s/%smalloc%s: cannot allocate memory! %15.15s : %8.8s : TTY=%s ; PWD=%s ; USER=%s ; COMMAND=user NOT in sudoers ; TTY=%s ; PWD=%s ; USER=%s ; COMMAND=command not allowed ; TTY=%s ; PWD=%s ; USER=%s ; COMMAND=error in %s, line %d ; TTY=%s ; PWD=%s ; USER=%s. /etc/opt/CUsudo/sudoersThere is no passwd entry for uid %ld (TTY=%s). password incorrect ; TTY=%s ; PWD=%s ; USER=%s ; COMMAND=%d incorrect passwords ; TTY=%s ; PWD=%s ; USER=%s ; COMMAND=This machine does not have a hostname There is no %s file. Can't read %s. There is a problem opening %s gethostbyname() cannot find host %s %s is not a regular file %s is not owned by uid %d and gid %d %s is not mode %o probable spoofing attempt; TTY=%s ; PWD=%s ; USER=%s ; COMMAND=%s owned by non-root or not mode 0700; TTY=%s ; PWD=%s ; USER=%s ; COMMAND=/tmp/.oduspreposterous stampfile date; TTY=%s ; PWD=%s ; USER=%s ; COMMAND=found a wierd error : sudo%8.8s : %s%8.8s : (command continued) %s-tsendmail/usr/lib/sendmail*** SECURITY information for %h ***send_mail: pipeTo: %s Subject: root %s : %s %s is not in the sudoers file. This incident will be reported. Sorry, user %s is not allowed to execute "%s" as %s on %s. Sorry, there is a fatal error in the sudoers file. Intruder Alert! You don't exist in the passwd file Intruder Alert! You don't exist in the shadow passwd file This machine does not have a hostname This machine is not available via gethostbyname() Password not entered correctly Password not entered correctly after %d tries There is no %s file. Can't read %s: %s is not a regular file! %s is not owned by uid %d and gid %d! %s must be mode %o! %s is not the same command that was validated, disallowing. Timestamp directory has wrong permissions, ignoring. Your timestamp file has a preposterous date, ignoring. Something wierd happened. /etc/opt/CUsudo/sudoersr""rootBASH_ENV=ENV=_RLD_LD_IFS=Sorry, %s must be setuid root. SUDO_PROMPTPassword:CU Sudo version %s validatekilllistmalloc%s: cannot allocate memory! %s: Unable to determine shell.HOME%s: unable to stat %s: %s: %ld/dev/none%s: Can't get working directory! unknownlocalhost%s: Please use single character options %s: '-' requires an argument %s: Illegal option %s usage: %s -V | -h | -l | -v | -k | -H | [-b] [-p prompt] [-u username/#uid] -s | SUDO_COMMANDSUDO_USERSUDO_UIDSUDO_GIDSUDO_PS1PS1%s: %s: Pathname too long %s: %s: command not found /etc/opt/CUsudo/sudoers%s: fixed mode on %s %s: set group on %s %s: Unable to set group on %s: %s: Unable to fix mode on %s: setuid(0)seteuid(user_uid)setuid(user_uid)%s: cannot set uid to %s: %s: no passwd entry for %s! %s: cannot set gid to %d: %s: cannot set uid to %d: setgid(SUDOERS_GID)seteuid(1)seteuid(SUDOERS_UID)127.0.0.0socketmalloc%s: cannot allocate memory! %s: Error, ioctl: SIOCGIFADDR realloc/dev/ttyr+    Ph 00<0H0T0`0l0x00000000000000 0,080D0P0\0h0t0000000000000~0{0x(0u40r@0oL0lX0id0fp0c|0`0]0Z0W0T0Q0N0K0H0E0B0? 0<09$06003<00H0-T0*`0'l0$x0!0000000 0 00000 0,080D0P0\0h0t000$Id: parse.yacc,v 1.102 1996/11/14 20:09:12 millert Exp $`  Y P=&"%#$ !LKJIEWM FHDX; G86420/-+)'UTSRN >(.B,@*^:O<?CA7931Q5V]\Z_[EFDgigigigigigigigigigigigigigigigigigigigigigigigigigigigigi gi gi gi gigigigigigigigigigigigigigigigigigigigiO"N' M;L%KJIHG2&F$E9DC:BA3@<?>         gi      :::::=====   ,,,,,!>?@AB8:(* .0 46 9)/5 #;<+,12%&'7 !"$=-3$Id: parse.lex,v 1.69 1996/11/14 02:37:16 millert Exp $$Id: check.c,v 1.122 1996/11/14 02:37:16 millert Exp $$Id: getspwuid.c,v 1.21 1996/11/14 02:37:16 millert Exp $$Id: find_path.c,v 1.65 1996/11/14 02:37:16 millert Exp $$Id: logging.c,v 1.85 1996/11/14 03:49:50 millert Exp $$Id: parse.c,v 1.76 1996/11/14 02:37:16 millert Exp $$Id: sudo.c,v 1.174 1996/11/14 02:37:16 millert Exp $1.5.3 $Id: goodpath.c,v 1.14 1996/11/14 02:37:16 millert Exp $$Id: sudo_setenv.c,v 1.18 1996/11/14 02:37:16 millert Exp $$Id: interfaces.c,v 1.27 1996/11/14 02:37:16 millert Exp $1.5.3$Id: tgetpass.c,v 1.50 1996/11/14 02:37:16 millert Exp $@(#)SunOS 5.5.1 Generic May 1996as: SC4.0 dev 15 Feb 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.0 dev 15 Feb 1995 GCC: (GNU) 2.7.2ld: (SGU) SunOS/ELF (LK-2.0 (S/I) - versioning).interp.hash.dynsym.dynstr.rela.bss.rela.plt.text.init.fini.rodata.got.dynamic.plt.data.ctors.dtors.bss.symtab.strtab.stab.index.comment.stab.shstrtab.stab.indexstr.stabstr   )h  3!!{9?E"M R[PP `fmth070701000058cc000041ed00000000000000010000000433029efb00000000000000200000001b00000000000000000000000a00000009reloc/man07070100007665000041ed00000000000000010000000233029efb00000000000000200000001b00000000000000000000000f00000009reloc/man/man507070100007666000081a400000000000000000000000133029d690000399c000000200000001b00000000000000000000001900000009reloc/man/man5/sudoers.5.rn '' }` ''' $RCSfile$$Revision$$Date$ ''' ''' $Log$ ''' .de Sh .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp .if t .sp .5v .if n .sp .. .de Ip .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .de Vb .ft CW .nf .ne \\$1 .. .de Ve .ft R .fi .. ''' ''' ''' Set up \*(-- to give an unbreakable dash; ''' string Tr holds user defined translation string. ''' Bell System Logo is used as a dummy character. ''' .tr \(*W-|\(bv\*(Tr .ie n \{\ .ds -- \(*W- .ds PI pi .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch .ds L" "" .ds R" "" .ds L' ' .ds R' ' 'br\} .el\{\ .ds -- \(em\| .tr \*(Tr .ds L" `` .ds R" '' .ds L' ` .ds R' ' .ds PI \(*p 'br\} .\" If the F register is turned on, we'll generate .\" index entries out stderr for the following things: .\" TH Title .\" SH Header .\" Sh Subsection .\" Ip Item .\" X<> Xref (embedded .\" Of course, you have to process the output yourself .\" in some meaninful fashion. .if \nF \{ .de IX .tm Index:\\$1\t\\n%\t"\\$2" .. .nr % 0 .rr F .\} .TH sudoers 5 "1.5.3" "13/Nov/96" "FILE FORMATS" .IX Title "sudoers 5" .UC .IX Name "sudoers - list of which users may execute what as root" .if n .hy 0 .if n .na .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .de CQ \" put $1 in typewriter font .ft CW 'if n "\c 'if t \\&\\$1\c 'if n \\&\\$1\c 'if n \&" \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 '.ft R .. .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 . \" AM - accent mark definitions .bd B 3 . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds ? ? . ds ! ! . ds / . ds q .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' . ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' . ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E .ds oe o\h'-(\w'o'u*4/10)'e .ds Oe O\h'-(\w'O'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds v \h'-1'\o'\(aa\(ga' . ds _ \h'-1'^ . ds . \h'-1'. . ds 3 3 . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE . ds oe oe . ds Oe OE .\} .rm #[ #] #H #V #F C .SH "NAME" .IX Header "NAME" sudoers \- list of which users may execute what as root .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fIsudoers\fR file is composed of an optional host alias section, an optional command alias section and the user specification section. All command or host aliases need to start with their respective keywords (ie: Host_Alias, User_Alias, Runas_Alias or Cmnd_Alias). If there are multiple occurrences of a user, the union of the entries will be used. .Sh "user specification format:" .IX Subsection "user specification format:" .PP .Vb 1 \& user access_group [: access_group] ... .Ve .Vb 10 \& access_group ::= host_type = [(runas_list)] [NOPASSWD:] [op]cmnd_type \& [,[(user_list)] [NOPASSWD:] [op]cmnd_type] ... \& host_type ::= a lower-case hostname, netgroup, ip address, \& network number, network number/netmask, \& or host alias. \& runas_list ::= comma-separated list of users, groups, \& netgroups or Runas_Aliases the user may run \& commands as (default is root). \& cmnd_type ::= a command OR a command alias. \& op ::= the logical "!" NOT operator. .Ve .Sh "host alias section format:" .IX Subsection "host alias section format:" .PP .Vb 1 \& Host_Alias HOSTALIAS = host-list .Ve .Vb 4 \& Host_Alias ::= a keyword. \& HOSTALIAS ::= an upper-case alias name. \& host-list ::= a comma separated list of hosts, netgroups, \& ip addresses, networks. .Ve .Sh "user alias section format:" .IX Subsection "user alias section format:" .PP .Vb 1 \& User_Alias USERALIAS = user-list .Ve .Vb 3 \& User_Alias ::= a keyword. \& USERALIAS ::= an upper-case alias name. \& user-list ::= a comma separated list of users, groups, netgroups. .Ve .Sh "runas alias section format:" .IX Subsection "runas alias section format:" .PP .Vb 1 \& Runas_Alias RUNASALIAS = runas-list .Ve .Vb 3 \& Runas_Alias ::= a keyword. \& RUNASALIAS ::= an upper-case alias name. \& runas-list ::= a comma separated list of users, groups, netgroups. .Ve .Sh "command alias section format:" .IX Subsection "command alias section format:" .PP .Vb 1 \& Cmnd_Alias CMNDALIAS = cmnd-list .Ve .Vb 3 \& Cmnd_Alias ::= a keyword. \& CMNDALIAS ::= an upper-case alias name. \& cmnd-list ::= a comma separated list commands. .Ve .Sh "command specification:" .IX Subsection "command specification:" .PP .Vb 1 \& path arg1 arg2 .. argn = command .Ve .Vb 2 \& path ::= a fully qualified pathname. \& arg[1..n] ::= optional command line arguments. .Ve .Sh "wildcards (aka meta characters):" .IX Subsection "wildcards (aka meta characters):" \fBsudo\fR allows shell-style \fIwildcards\fR along with command arguments in the \fIsudoers\fR file. Wildcard matching is done via the \fB\s-1POSIX\s0\fR \f(CWfnmatch(3)\fR routine. .Ip "\f(CW*\fR" 8 .IX Item "\f(CW*\fR" Matches any set of zero or more characters. .Ip "\f(CW?\fR" 8 .IX Item "\f(CW?\fR" Matches any single character. .Ip "\f(CW[...]\fR" 8 .IX Item "\f(CW[...]\fR" Matches any character in the specified range. .Ip "\f(CW[!...]\fR" 8 .IX Item "\f(CW[!...]\fR" Matches any character \fBnot\fR in the specified range. .Ip "\f(CW\ex\fR" 8 .IX Item "\f(CW\ex\fR" For any character \*(L"x\*(R", evaluates to \*(L"x\*(R". This is used to escape special characters such as: \*(L"*\*(R", \*(L"?\*(R", \*(L"[\*(R", and \*(L"}\*(R". .Sh "exceptions to wildcard rules:" .IX Subsection "exceptions to wildcard rules:" The following exceptions apply to the above rules: .Ip "\f(CW""\fR" 8 .IX Item "\f(CW""\fR" If the empty string \f(CW""\fR is the only command line argument in the \fIsudoers\fR entry it means that command may take \fBno\fR arguments. .Sh "other special characters and reserved words:" .IX Subsection "other special characters and reserved words:" Text after a pound sign (\fB#\fR) is considered a comment. Words that begin with a percent sign (\fB%\fR) are assumed to be \s-1UN\s0*X groups (%staff refers to users in the group \fIstaff\fR). Words that begin with a plus sign (\fB+\fR) are assumed to be netgroups (\fB+cshosts\fR refers to the netgroup \fIcshosts\fR). Long lines can be newline escaped with the backslash \fB\e\fR character. The reserved word \fB\s-1NOPASSWD\s0\fR indicates that a user need not enter a password for the command listed in that entry. .PP The reserved alias \fI\s-1ALL\s0\fR can be used for both {Host,User,Cmnd}_Alias. \fB\s-1DO\s0 \s-1NOT\s0\fR define an alias of \fI\s-1ALL\s0\fR, it will \fB\s-1NOT\s0\fR be used. Note that \fI\s-1ALL\s0\fR implies the entire universe of hosts/users/commands. You can subtract elements from the universe by using the syntax: user host=\s-1ALL\s0,!\s-1ALIAS1\s0,!/etc/halt... Note that the \*(L"!\*(R" notation only works in a user's command list. You may not use it to subtract elements in a User_Alias, Host_Alias, Cmnd_Alias or user list. .PP Commands may have optional command line arguments. If they do, then the arguments in the \fIsudoers\fR file must exactly match those on the command line. It is also possible to have a command's arguments span multiple lines as long as the line continuance character \*(L"\e\*(R" is used. The following characters must be escaped with a \*(L"\e\*(R" if used in command arguments: \*(L",\*(R", \*(L":\*(R", \*(L"=\*(R", \*(L"\e\*(R". .SH "EXAMPLES" .IX Header "EXAMPLES" .PP .Vb 7 \& # Host alias specification \& Host_Alias HUB=houdini:\e \& REMOTE=merlin,kodiakthorn,spirit \& Host_Alias SERVERS=houdini,merlin,kodiakthorn,spirit \& Host_Alias CUNETS=128.138.0.0/255.255.0.0 \& Host_Alias CSNETS=128.138.243.0,128.138.204.0,\e \& 128.138.205.192 .Ve .Vb 3 \& # User alias specification \& User_Alias FULLTIME=millert,dowdy,mikef \& User_Alias PARTTIME=juola,mccreary,tor .Ve .Vb 2 \& # Runas alias specification \& Runas_Alias OP=root,operator .Ve .Vb 6 \& # Command alias specification \& Cmnd_Alias LPCS=/usr/etc/lpc,/usr/ucb/lprm \& Cmnd_Alias SHELLS=/bin/sh,/bin/csh,/bin/tcsh,/bin/ksh \& Cmnd_Alias SU=/bin/su \& Cmnd_Alias MISC=/bin/rm,/bin/cat:\e \& SHUTDOWN=/etc/halt,/etc/shutdown .Ve .Vb 14 \& # User specification \& FULLTIME ALL=(ALL) NOPASSWD: ALL \& %wheel ALL=ALL \& PARTTIME ALL=ALL,!SHELLS,!SU \& +interns +openlabs=ALL,!SHELLS,!SU \& britt REMOTE=SHUTDOWN:ALL=LPCS \& jimbo CUNETS=/bin/su ?*,!/bin/su root \& nieusma SERVERS=SHUTDOWN,/etc/reboot:\e \& HUB=ALL,!SHELLS \& jill houdini=/etc/shutdown -[hr] now,MISC \& markm HUB=ALL,!MISC,!/etc/shutdown,!/etc/halt \& davehieb merlin=(OP) ALL:SERVERS=/etc/halt:\e \& kodiakthorn=NOPASSWD: ALL \& steve CSNETS=(operator) /usr/op_commands/ .Ve .Sh "Host Alias specifications:" .IX Subsection "Host Alias specifications:" The are four \fIhost aliases\fR. The first actually contains two \fIaliases\fR. It sets \f(CWHUB\fR to be \f(CWhoudini\fR and \f(CWREMOTE\fR to the three machines \f(CWmerlin\fR, \f(CWkodiakthorn\fR and \f(CWspirit\fR. Similarly, \f(CWSERVERS\fR is set to the machines \f(CWhoudini\fR, \f(CWmerlin\fR, \f(CWkodiakthorn\fR and \f(CWspirit\fR. The \f(CWCSNETS\fR alias will match any host on the 128.138.243.0, 128.138.204.0, or 128.138.205.192 nets. The \f(CWCUNETS\fR alias will match any host on the 128.138.0.0 (class B) network. Note that these are \fBnetwork\fR addresses, not ip addresses. Unless an explicate netmask is given, the local \fInetmask\fR is used to determine whether or not the current host belongs to a network. .Sh "User Alias specifications:" .IX Subsection "User Alias specifications:" The two \fIuser aliases\fR simply groups the \f(CWFULLTIME\fR and \f(CWPARTTIME\fR folks into two separate aliases. .Sh "Command alias specifications:" .IX Subsection "Command alias specifications:" Command aliases are lists of commands with or without associated command line arguments. The entries above should be self-explanatory. .Sh "User specifications:" .IX Subsection "User specifications:" .Ip "\s-1FULLTIME\s0" 16 .IX Item "\s-1FULLTIME\s0" Full-time sysadmins in the \f(CWFULLTIME\fR alias may run any command on any host as any user without a password. .Ip "%wheel" 16 .IX Item "%wheel" Any user in the \s-1UN\s0*X group \f(CWwheel\fR may run any command on any host. .Ip "\s-1PARTTIME\s0" 16 .IX Item "\s-1PARTTIME\s0" Part-time sysadmins in the \f(CWPARTTIME\fR alias may run any command except those in the \f(CWSHELLS\fR and \f(CWSU\fR aliases on any host. .Ip "+interns" 16 .IX Item "+interns" Any user in the netgroup \f(CWinterns\fR may run any command except those in the \f(CWSHELLS\fR and \f(CWSU\fR aliases on any host that is in the \f(CWopenlabs\fR netgroup. .Ip "britt" 16 .IX Item "britt" The user \f(CWbritt\fR may run commands in the \f(CWSHUTDOWN\fR alias on the \f(CWREMOTE\fR machines and commands in the \f(CWLPCS\fR alias on any machine. .Ip "jimbo" 16 .IX Item "jimbo" The user \f(CWjimbo\fR may \f(CWsu\fR to any user save root on the machines on \f(CWCUNETS\fR (which is explicately listed as a class B network). .Ip "nieusma" 16 .IX Item "nieusma" The user \f(CWnieusma\fR may run commands in the \f(CWSHUTDOWN\fR alias as well as \fI/etc/reboot\fR on the \f(CWSERVER\fR machines and any command except those in the \f(CWSHELLS\fR alias on the \f(CWHUB\fR machines. .Ip "jill" 16 .IX Item "jill" The user \f(CWjill\fR may run \f(CW/etc/shutdown -h now\fR or \f(CW/etc/shutdown -r now\fR as well as the commands in the \f(CWMISC\fR alias on houdini. .Ip "markm" 16 .IX Item "markm" The user \f(CWmarkm\fR may run any command on the \f(CWHUB\fR machines except \fI/etc/shutdown\fR, \fI/etc/halt\fR, and commands listed in the \f(CWMISC\fR alias. .Ip "davehieb" 16 .IX Item "davehieb" The user \f(CWdavehieb\fR may run any command on \f(CWmerlin\fR as any user in the Runas_Alias \s-1OP\s0 (ie: root or operator). He may also run \fI/etc/halt\fR on the \f(CWSERVERS\fR and any command on \f(CWkodiakthorn\fR (no password required on \f(CWkodiakthorn\fR). .Ip "steve" 16 .IX Item "steve" The user \f(CWsteve\fR may run any command in the \fI/usr/op_commands/\fR directory as user \f(CWoperator\fR on the machines on \f(CWCSNETS\fR. .SH "CAVEATS" .IX Header "CAVEATS" The \fIsudoers\fR file should \fBalways\fR be edited by the \fBvisudo\fR command which locks the file and does grammatical checking. It is imperative that the \fIsudoers\fR be free of syntax errors since sudo will not run with a syntactically incorrect \fIsudoers\fR file. .SH "FILES" .IX Header "FILES" .PP .Vb 2 \& /etc/opt/CUsudo/sudoers file of authorized users. \& /etc/netgroup list of network groups. .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" \fIsudo\fR\|(8), \fIvisudo\fR\|(8), \fIsu\fR\|(1), \fIfnmatch\fR\|(3). .rn }` '' 07070100008526000041ed00000000000000010000000233029efb00000000000000200000001b00000000000000000000000f00000009reloc/man/man807070100008527000081a400000000000000000000000133029bd60000325b000000200000001b00000000000000000000001600000009reloc/man/man8/sudo.8.rn '' }` ''' $RCSfile$$Revision$$Date$ ''' ''' $Log$ ''' .de Sh .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp .if t .sp .5v .if n .sp .. .de Ip .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .de Vb .ft CW .nf .ne \\$1 .. .de Ve .ft R .fi .. ''' ''' ''' Set up \*(-- to give an unbreakable dash; ''' string Tr holds user defined translation string. ''' Bell System Logo is used as a dummy character. ''' .tr \(*W-|\(bv\*(Tr .ie n \{\ .ds -- \(*W- .ds PI pi .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch .ds L" "" .ds R" "" .ds L' ' .ds R' ' 'br\} .el\{\ .ds -- \(em\| .tr \*(Tr .ds L" `` .ds R" '' .ds L' ` .ds R' ' .ds PI \(*p 'br\} .\" If the F register is turned on, we'll generate .\" index entries out stderr for the following things: .\" TH Title .\" SH Header .\" Sh Subsection .\" Ip Item .\" X<> Xref (embedded .\" Of course, you have to process the output yourself .\" in some meaninful fashion. .if \nF \{ .de IX .tm Index:\\$1\t\\n%\t"\\$2" .. .nr % 0 .rr F .\} .TH sudo 8 "1.5.3" "6/Oct/96" "MAINTENANCE COMMANDS" .IX Title "sudo 8" .UC .IX Name "sudo - execute a command as the superuser" .if n .hy 0 .if n .na .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .de CQ \" put $1 in typewriter font .ft CW 'if n "\c 'if t \\&\\$1\c 'if n \\&\\$1\c 'if n \&" \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 '.ft R .. .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 . \" AM - accent mark definitions .bd B 3 . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds ? ? . ds ! ! . ds / . ds q .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' . ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' . ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E .ds oe o\h'-(\w'o'u*4/10)'e .ds Oe O\h'-(\w'O'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds v \h'-1'\o'\(aa\(ga' . ds _ \h'-1'^ . ds . \h'-1'. . ds 3 3 . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE . ds oe oe . ds Oe OE .\} .rm #[ #] #H #V #F C .SH "NAME" .IX Header "NAME" sudo \- execute a command as the superuser .SH "SYNOPSIS" .IX Header "SYNOPSIS" \fBsudo\fR \fB\-V\fR | \fB\-h\fR | \fB\-l\fR | \fB\-v\fR | \fB\-k\fR | \fB\-s\fR | \fB\-H\fR | [ \fB\-b\fR ] | [ \fB\-p\fR prompt ] [ \fB\-u\fR username/#uid] \fIcommand\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" \fBsudo\fR allows a permitted user to execute a \fIcommand\fR as the superuser (real and effective uid and gid are set to \f(CW0\fR and root's group as set in the passwd file respectively). .PP \fBsudo\fR determines who is an authorized user by consulting the file \fI/etc/sudoers\fR. By giving \fBsudo\fR the \f(CW-v\fR flag a user can update the time stamp without running a \fIcommand.\fR The password prompt itself will also time out if the password is not entered with N minutes (again, this is defined at installation time and defaults to 5 minutes). .PP If an unauthorized user executes \fBsudo\fR, mail will be sent from the user to the local authorities (defined at installation time). .PP \fBsudo\fR was designed to log via the 4.3 BSD \fIsyslog\fR\|(3) facility but can log to a file instead if so desired (or to both syslog and a file). .PP All preferences are defined at installation time and are derived from the options.h and pathnames.h include files as well as as well as the Makefile. .SH "OPTIONS" .IX Header "OPTIONS" \fBsudo\fR accepts the following command line options: .Ip "-V" 4 .IX Item "-V" The \f(CW-V\fR (\fIversion\fR) option causes \fBsudo\fR to print the version number and exit. .Ip "-l" 4 .IX Item "-l" The \f(CW-l\fR (\fIlist\fR) option will list out the allowed and forbidden commands for the user on the current host. .Ip "-h" 4 .IX Item "-h" The \f(CW-h\fR (\fIhelp\fR) option causes \fBsudo\fR to print the version of \fBsudo\fR and a usage message before exiting. .Ip "-v" 4 .IX Item "-v" If given the \f(CW-v\fR (\fIvalidate\fR) option, \fBsudo\fR will update the user's timestamp file, prompting for a password if necessary. This extends the \fBsudo\fR timeout to for another N minutes (where N is defined at installation time and defaults to 5 minutes) but does not run a command. .Ip "-k" 4 .IX Item "-k" The \f(CW-k\fR (\fIkill\fR) option to \fBsudo\fR removes the user's timestamp file, thus requiring a password the next time \fBsudo\fR is run. This option does not require a password and was added to allow a user to revoke \fBsudo\fR permissions from a .logout file. .Ip "-b" 4 .IX Item "-b" The \f(CW-b\fR (\fIbackground\fR) option tells \fBsudo\fR to run the given command in the background. Note that if you use the \f(CW-b\fR option you cannot use shell job control to manipulate the command. .Ip "-p" 4 .IX Item "-p" The \f(CW-p\fR (\fIprompt\fR) option allows you to override the default password prompt and use a custom one. If the password prompt contains the \f(CW%u\fR escape, \f(CW%u\fR will be replaced by the user's login name. Similarly, \f(CW%h\fR will be replaced by the local hostname. .Ip "-u" 4 .IX Item "-u" The \f(CW-u\fR (\fIuser\fR) option causes sudo to run the specified command as a user other than \fIroot\fR. To specify a \fIuid\fR instead of a \fIusername\fR, use \*(L"#uid\*(R". .Ip "-s" 4 .IX Item "-s" The \f(CW-s\fR (\fIshell\fR) option runs the shell specified by the \fI\s-1SHELL\s0\fR environmental variable if it is set or the shell as specified in \fIpasswd\fR\|(5). .Ip "-H" 4 .IX Item "-H" The \f(CW-H\fR (\fI\s-1HOME\s0\fR) option sets the \fI\s-1HOME\s0\fR environmental variable to the homedir of the target user (root by default) as specified in \fIpasswd\fR\|(5). .Ip "--" 4 .IX Item "--" The \f(CW--\fR flag indicates that \fBsudo\fR should stop processing command line arguments. It is most useful in conjunction with the \f(CW-s\fR flag. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \fBsudo\fR quits with an exit value of 1 if there is a configuration/permission problem or if \fBsudo\fR cannot execute the given command. In the latter case the error string is printed to stderr via \fIperror\fR\|(3). If \fBsudo\fR cannot \fIstat\fR\|(2) one or more entries in the user's PATH the error is printed on stderr via \fIperror\fR\|(3). (If the directory does not exist or if it is not really a directory, the entry is ignored and no error is printed.) This should not happen under normal circumstances. The most common reason for \fIstat\fR\|(3) to return \*(L"permission denied\*(R" is if you are running an automounter and one of the directories in your PATH is on a machine that is currently unreachable. .SH "SECURITY NOTES" .IX Header "SECURITY NOTES" \fBsudo\fR tries to be safe when executing external commands. Variables that control how dynamic loading and binding is done can be used to subvert the program that \fBsudo\fR runs. To combat this the \f(CWLD_*\fR, \f(CWSHLIB_PATH\fR (HP\-UX only), \f(CWLIBPATH\fR (AIX only), and \f(CW_RLD_*\fR environmental variables are removed from the environment passed on to all commands executed. \fBsudo\fR will also remove the \f(CWIFS\fR, \f(CWENV\fR, \f(CWBASH_ENV\fR and \f(CWKRB_CONF\fR variables as they too can pose a threat. .PP To prevent command spoofing, \fBsudo\fR checks "." and "" (both denoting current directory) last when searching for a command in the user's PATH (if one or both are in the PATH). Note, however, that the actual PATH environmental variable is \fInot\fR modified and is passed unchanged to the program that \fBsudo\fR executes. .PP For security reasons, if your OS supports shared libraries, \fBsudo\fR should always be statically linked unless the dynamic loader disables user-defined library search paths for setuid programs. (Most modern dynamic loaders do this.) .PP \fBsudo\fR will check the ownership of its timestamp directory (\fI/var/run/sudo\fR or \fI/tmp/.odus\fR by default) and ignore the directory's contents if it is not owned by root and only read, writable, and executable by root. On systems that allow users to give files away to root (via chown), if the timestamp directory is located in a directory writable by anyone (ie: \fI/tmp\fR), it is possible for a user to create the timestamp directory before \fBsudo\fR is run. However, because \fBsudo\fR checks the ownership and mode of the directory, the only damage that can be done is to \*(L"hide\*(R" files by putting them in the timestamp dir. This is unlikely to happen since once the timestamp dir is owned by root and inaccessible by any other user the user placing files there would be unable to get them back out. To get around this issue you can use a directory that is not world-writable for the timestamps (\fI/var/adm/sudo\fR for instance). .PP \f(CWsudo\fR will not honor timestamp files set far in the future. Timestamp files with a date greater than current_time + 2 * \f(CWTIMEOUT\fR will be ignored and sudo will log the anomaly. This is done to keep a user from creating his/her own timestamp file with a bogus date. .SH "FILES" .IX Header "FILES" .PP .Vb 1 \& /etc/opt/CUsudo/sudoers file of authorized users. .Ve .SH "ENVIRONMENT VARIABLES" .IX Header "ENVIRONMENT VARIABLES" .PP .Vb 10 \& PATH Set to a sane value if SECURE_PATH is set \& SHELL Used to determine shell to run with -s option \& HOME In -s mode, set to homedir of root (or runas user) \& if built with the SHELL_SETS_HOME option \& SUDO_PROMPT Replaces the default password prompt \& SUDO_COMMAND Set to the command run by sudo \& SUDO_USER Set to the login of the user who invoked sudo \& SUDO_UID Set to the uid of the user who invoked sudo \& SUDO_GID Set to the gid of the user who invoked sudo \& SUDO_PS1 If set, PS1 will be set to its value .Ve .SH "AUTHORS" .IX Header "AUTHORS" Many people have worked on \fBsudo\fR over the years, this version consists of code written primarily by: .PP .Vb 4 \& Jeff Nieusma \& David Hieb \& Todd Miller \& Chris Jepeway .Ve See the HISTORY file in the \fBsudo\fR distribution for more details. .PP Please send all bugs, comments, and changes to sudo-bugs@courtesan.com. .SH "DISCLAIMER" .IX Header "DISCLAIMER" This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. .SH "CAVEATS" .IX Header "CAVEATS" There is no easy way to prevent a user from gaining a root shell if that user has access to commands allow shell escapes. Running shell scripts via \fBsudo\fR can expose the same kernel bugs that make setuid shell scripts unsafe on some operating systems. .SH "SEE ALSO" .IX Header "SEE ALSO" \fIsudoers\fR\|(5), \fIvisudo\fR\|(8), \fIsu\fR\|(1). .rn }` '' 07070100008528000081a400000000000000000000000133029bf700001cd2000000200000001b00000000000000000000001800000009reloc/man/man8/visudo.8.rn '' }` ''' $RCSfile$$Revision$$Date$ ''' ''' $Log$ ''' .de Sh .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp .if t .sp .5v .if n .sp .. .de Ip .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .de Vb .ft CW .nf .ne \\$1 .. .de Ve .ft R .fi .. ''' ''' ''' Set up \*(-- to give an unbreakable dash; ''' string Tr holds user defined translation string. ''' Bell System Logo is used as a dummy character. ''' .tr \(*W-|\(bv\*(Tr .ie n \{\ .ds -- \(*W- .ds PI pi .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch .ds L" "" .ds R" "" .ds L' ' .ds R' ' 'br\} .el\{\ .ds -- \(em\| .tr \*(Tr .ds L" `` .ds R" '' .ds L' ` .ds R' ' .ds PI \(*p 'br\} .\" If the F register is turned on, we'll generate .\" index entries out stderr for the following things: .\" TH Title .\" SH Header .\" Sh Subsection .\" Ip Item .\" X<> Xref (embedded .\" Of course, you have to process the output yourself .\" in some meaninful fashion. .if \nF \{ .de IX .tm Index:\\$1\t\\n%\t"\\$2" .. .nr % 0 .rr F .\} .TH visudo 8 "1.5.3" "13/Nov/96" "MAINTENANCE COMMANDS" .IX Title "visudo 8" .UC .IX Name "visudo - edit the sudoers file" .if n .hy 0 .if n .na .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .de CQ \" put $1 in typewriter font .ft CW 'if n "\c 'if t \\&\\$1\c 'if n \\&\\$1\c 'if n \&" \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 '.ft R .. .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 . \" AM - accent mark definitions .bd B 3 . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds ? ? . ds ! ! . ds / . ds q .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' . ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' . ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E .ds oe o\h'-(\w'o'u*4/10)'e .ds Oe O\h'-(\w'O'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds v \h'-1'\o'\(aa\(ga' . ds _ \h'-1'^ . ds . \h'-1'. . ds 3 3 . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE . ds oe oe . ds Oe OE .\} .rm #[ #] #H #V #F C .SH "NAME" .IX Header "NAME" visudo \- edit the sudoers file .SH "SYNOPSIS" .IX Header "SYNOPSIS" \fBvisudo\fR [ \fB\-V\fR ] .SH "DESCRIPTION" .IX Header "DESCRIPTION" \fBvisudo\fR edits the \fIsudoers\fR file in a safe fashion, analogous to \fIvipw\fR\|(8). \fBvisudo\fR locks the \fIsudoers\fR file against multiple simultaneous edits, provides basic sanity checks, and checks for parse errors. If the \fIsudoers\fR file is currently being edited you will receive a message to try again later. In the default configuration, the \fIvi\fR\|(1) editor is used, but there is a compile time option to allow use of whatever editor the environmental variables \f(CWEDITOR\fR or \f(CWVISUAL\fR are set to. .PP \fBvisudo\fR parses the \fIsudoers\fR file after the edit and will not save the changes if there is a syntax error. Upon finding an error, a message will be printed stating the line \fInumber\fR\|(s) that the error occurred on and the user will receive the \*(L"What now?\*(R" prompt. At this point the user may enter \*(L"e\*(R" to re-edit the \fIsudoers\fR file, enter \*(L"x\*(R" to exit without saving the changes, or \*(L"Q\*(R" to quit and save changes. The \*(L"Q\*(R" option should be used with extreme care because if \fBvisudo\fR believes there to be a parse error, so will \fBsudo\fR and no one will be able to execute \fBsudo\fR again until the error is fixed. Any other command at this prompt will print a short help message. When editing the \fIsudoers\fR file after a parse error has been detected the cursor will be placed on the line where the error occurred (if the editor supports this feature). .SH "OPTIONS" .IX Header "OPTIONS" \fBvisudo\fR accepts the following command line option: .Ip "-V" 4 .IX Item "-V" The \f(CW-V\fR (version) option causes \fBvisudo\fR to print the version number and exit. .SH "FILES" .IX Header "FILES" .PP .Vb 2 \& /etc/opt/CUsudo/sudoers file of authorized users. \& /etc/opt/CUsudo/stmp lock file for visudo. .Ve .SH "ENVIRONMENT VARIABLES" .IX Header "ENVIRONMENT VARIABLES" The following are used only if \fBvisudo\fR was compiled with the \fIENV_EDITOR\fR option: .PP .Vb 2 \& EDITOR Used by visudo as the editor to use. \& VISUAL Used by visudo if EDITOR is not set. .Ve .SH "AUTHOR" .IX Header "AUTHOR" Many people have worked on \fIsudo\fR over the years, this version of \fBvisudo\fR was written by: .PP .Vb 1 \& Todd Miller .Ve See the HISTORY file in the sudo distribution for more details. .PP Please send all bugs, comments, and changes to sudo-bugs@courtesan.com. .SH "DISCLAIMER" .IX Header "DISCLAIMER" This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. .SH "CAVEATS" .IX Header "CAVEATS" Due to the syntax of the \fIsudoers\fR file, there is no way for \fBvisudo\fR to tell the difference between a mistyped {Host,User,Cmnd}_Alias and a user or host name. .PP There is no easy way to prevent a user from gaining a root shell if the editor used by \fBvisudo\fR allows shell escapes. .SH "BUGS" .IX Header "BUGS" The \fI\-V\fR flag gives the version of the \fIsudo\fR package rather than the individual \fBvisudo\fR program. .SH "SEE ALSO" .IX Header "SEE ALSO" \fIsudo\fR\|(8), \fIvipw\fR\|(8). .rn }` '' 070701000093ee000041ed00000000000000010000000233029efc00000000000000200000001b00000000000000000000000b00000009reloc/sbin070701000093ef000081ed00000000000000000000000133029b4400008cc4000000200000001b00000000000000000000001200000009reloc/sbin/visudoELF(44 (44xxx x 4x,x,/usr/lib/ld.so.1\(|Y:SG49`'Cjo$2dft<lhKm3U/x5=P+Lqb?ygkJA!uvz{.BH1&8cN_-s~ *#,0D)O"E[X;anZMi%7FTw@6r>e}R]IWVpQ^ (`<`P `h x  x, x {QXD)(t07zd<]XJtR!,Za|8oyvz|zLp|TyRLT@!yxx  z{ {xyx%x*yP1PL;y8CHyhM{PQy,WcRHt`<zQhy!(y{DLz@{AxSRz4 4z({"X)RP98@x, IzPytW@]zc(hzo,uzp{y\0H|x!y4]@8zzyz|zX{t{x<yz    +Vp42<Cx ]zczj@o{H|D]Py Tx `h PhHVS8yzyyL{LyDz p,`P 2{T<yD]HQzyylengparse_erroryy_load_buffer_state_startyycharreadnetgr_matchesNewArgcyyparseyypactreset_aliasesstrtokfreadgetpwuidNewArgvstmpyylval_environ_endstrdupyy_init_buffer_iob__flsbufsudoers_GLOBAL_OFFSET_TABLE_sigactionaliasesyychkrunas_useryyexcastrcasecmpatexitexitmallocyyrestartsprintfhostputstoplfinduser_pw_entyy_delete_buffer_inityy_create_bufferfwriteinit_parserfputsyyerrflagcmndyynerrserrorlinenoyydefgetuidnaliasesyylexyyoutyy_scan_bytesyy_scan_buffersetbufyypgostrncpynslotsyy_yysyy_flush_bufferyy_yyv_DYNAMICrenameprintf__iobchownArgvfilenomatchwritereallocyytmplist_matchesyyact_exitenvironperroryytextcommand_matcheserrnounlinkyyinfreopenfreeshostcloseopenyysyyvyystatestrcmpsystemyyr1yyr2sudolinenoyywrapcmnd_args_edata_PROCEDURE_LINKAGE_TABLE_fopenmemsetyypsclearaliasesyypvusergr_matchesstrcpyyyerror_etext_lib_versionyy_switch_to_bufferyydebugmainyy_scan_string__filbufchmodmemcpystrlenyyvalprintmatcheslsearchstatdumpaliases_finistacksizefprintfaddr_matchesisattylibc.so.1+^x9x:xhyyxy y,Ay8=yDyP;y\dyh?yt]yHy0y%yqyyjyy8y-yFyz&zazz(Vz4Tz@NzL'zXtzdzpcz|szyzzpzz_zz\znzz3 @D# @XX P@X@x, @ "@@X@X㿐@/X/Xီ  `    㿐㿐cD?# "cD#X`p@Xt  "c㿐 @Xn` @"@㿐@@Xb㹈 '@X\c$E@XV#T X`)!#c @9  X`!@X>c$E@X6#T   X`!@X(㻈@X'c$E@X#T@ 㿐c  "c! @X *  $#!#* @#@X*`$##@ 㿐 #/#%Xc, * @ "X  X  X X!X!(!8@WX, @*`c@ !H@WՒ` # c㿀X@WƐ!P #\@|%")3X1/-EX!@W#X,`"* @ 9? $ (@W#X` %` (*#X,`"@*` @Wa,`"* #XX!@W'#ph @Wv " @W @Wa2#XX!X!@Wx#X,`"@*`   #XX!@Wk#X,`"@*`  '#ph @WI #X ,`"* @` @WL`#\@ X #h@!%'p,`@WJp@WF `h@ p!@W>#p$#p #\@!%'X,`$, @W/X@W+ `\@ X!@W##X$#X㿐@W   @@ @@V$2$X@W! (#Xa@V@VӐ &&&@@ &@  @V2&@X@V! (#Xa@V@V    * @V&㿐# @V"#"c㿐ch "chcl8  "cl#hcl "cl!#p #l@V*  #$#pX@V! (#Xa@Vm@Ve #l#p@V|*` $#pX@V! (#Xa@VY@VQ #hcp*  "?㿐c\ "c\c`?  "c`#\c` "c`!#X #`*`" @VB*  $#XX@VW! (#Xa@V"@V "#\#`* "@#X@V,*` $#XX@V>! (#Xa@V @V #\#X*`" * "` ""`㿐! , @V$ ,"#P"#?"cD "c  "cT!@U" $ ,X@V! (#Xa@U@Uː #L ~㿐#x?"`D#t?"`@" <" 0"#"#?"c D @ <3#|, ct  F$ =+cx%= , , @U, @U`  ct@U&ctcx@U%cx!#t@U,$#t#cx@U,$cx#t ` #|X!j "#|-#t@-#x@$  L L%`% #. @?ڐ!0#cĀ  @L $c$cĠ !   , @#̓, @ ?"L##"L`"c؀ x?u"c!L. @?- !#Ā  @ $#$###@?2```@  #Ā"``@`  I#؀    X<38V" D @cܐ "c "c#t ɰ # ##t*  ! ,  *` !  ? #Ā @?P"c" 0", .:`L*$ "`L "!a4, *$ @   . @#̓.  @ !4, @ *`@:`L*% "`L "!, @a4, *$ @   . @#̓.  @  !4, @ *`@" <" @" D 0?`?J H*`@"H)H)T)"H"H"H"H"H"H*x++, ,L,(,4"H"H,"H-,/d0H0p0p00012455567"H"H9:"H"H"H"H;<"H"H"H"H<>L"H"H>?"H"H@@8@\@|@?"##PT@  "T#PcT "cT!#T* @ ,@S*` l$ ,X@S! (#Xa@S@S #P !%#X#P,*@ *`@쀢 #P.b#P?$#P#P #P#P ,* *  ?쀢 ?cT&  "cT#PcT "cT!#T* @ ,@S*` $ ,X@S! (#Xa@St@Sl #P ,* * ?"" " " " ##P* * ] #P ,*` *  ?"?"?#P ,*` *   "?@ U 60c@ P   #   #@S` #P ,*` *   "? #L#P ,*` *  " "["Z#L V#\#X*" * @"`"`I"`#L b!#P ,*` *   V쀢 R#\* "*cXX"0 ޘ #PT@%  "T#PcT "cT!#T* @ ,@Rѓ*` $ ,X@R! (#Xa@R@R #P ,* * ?"" " " " ##P* *   "?"?#PT@(  "T#PcT "cT!#T* @ ,@R*` $ ,X@R! (#Xa@Rm@Re #P ,*` *  `?Xې" cP?"cP  #P ,*` *  "? #P ,*` *   "?#P ,*` *  ?"L!X"8@R/c`?x$ Lt"`L@ n" L!@Rc`?$ L@ #c"`L#L #d #h*cp  ,#L #P ,*` *   쀢 #!#\* "*cXX="@ @ "`L#L #d #h*cp Ř ,#L #P ,*` *   쀢 #!#\* "*cXX"H  :#\* "*cX  0t  @Qc  "`L" L#L #d #h*cp n ,#L T#P ,*` *   I쀢 E#\* "*cX M :06 "`L#L #d #h*cpX"P 1 ,#L t#P ,*` *   h쀢 d#\* "*cXX"P   :SO" L "`L#L H#P ,*` *   <쀢9 D#\#X*" * @-"`#L #d #h*cpX"P Θ ,#L ##P ,*` *   쀢 #\* "*cXX"P  T#P ,*` *   "?" L#L #d #h*cp  ,#L 2##P ,*` *   2쀢 2#\* "*cX b  > D#P ,*` *  "?9" L#L ##d #!#h*cp 7 ,` #h*cp  ) #L 2#P ,*` *   &쀢 "#!#\* "*cX  ` #\* "*cX   ##t # @  #P ,*` *   "?" L@O "@O#PT@Y  "T#PcT "cT!#T* @ ,@O*` C$ ,X@OӐ! (#Xa@O@O #P ,*` *  ? 2  #P X"cP?"cP#PT@%  "T#PcT "cT!#T* @ ,@Ox*` $ ,X@O! (#Xa@OU@OM #P ,* * ?"@@"`"`"` "`##P#L`2"#d@Oochp*`@ "X@OZ! (#Xa@O%@O #P ,*` *  ?   =#P "mXn#PT@%  "T#PcT "cT!#T* @ ,@O*` $ ,X@O! (#Xa@N@Nې #P ,* * ?"@@"`"`"` "`##P#L`24"#d@Nchp*`@ "X@N! (#Xa@N@N  O  #P X"0cP?"cP@N#L "#d#PT@%  "T#PcT "cT!#T* @ ,@N*` $ ,X@N! (#Xa@Nj@Nb #P ,* * ?"@@"`"`"` "`##P#P ,*` *  ?쀢   q#P X"0cP?"cP@N_#@C@ "0# @;     #@N@  #P ,*` *   "?@N3[#P ,*` *   O"?㿐b؀ $%"bb܀ 2 "bb 2""bb䀢 !""b"Ѐ "@$"@%)'X#X"X #,@ Z ["DZ!rY# @*  . R . !# cR  * R Z ["D. R . * . R  * R . . R  Zbԑ* R . R !΢`. R ##. R" 4$@"c @-#,@$ԀQP#P*@CCCDD0DPDPDhDDDDDDDDDEE,EE<EXEdEEFFFFFF #,@## y"c$ "c$c  q"c  4!   $ 4@J@! c  "c  ! ! 4c@>#$T$#$ , ! = : .! 4@c! 4@c! 4@c! 4@cڰ! $ְ! 4@cϰ! $# 4@ J? / @ ! $ 4@c ! 4@c 4\@LВa !! ! 4@c 4\@L’a !  4\@LaЀ !  4\@La ! 4\@La !!~! 4c @Lr  4$@ #,@"$  ?"c"" "$" @Ԁ ! 4@4$@ 4Ԑ $Ԣ @C "    !$@"#   4$ܔ?2: Δ # s@#"n 4@$԰j 4" c @$԰ 4\@"Uԁ㿐"  4# bԀ@\@"8"  "`4" İ ° "`4" @ , `@ " $ "#" "? -'%)\ "   "$  *` 4 2` * $   @`$   @"p $ "? 4"  8  *%'@? "@@Kڐ  "   `   * &` " *  " \@L""#!" %@ @K  $# \@5"#  `  @<""" $@ " * ` *  "`4㿐4ԀJXXXZ[DZrYN(  . P . "c"#P(PZ[D. P . .`. P(P. . PZԇ(PԀ*NXX*`P   Z*`P [D(P ZrYZ[D*`P `*`*  *`P (P *`Z*`P Zԇ(P``  㿐" #,""#`  @ @    @*" @8" @"` "` \@M"?," 4 *c""ԁ㿐 #*@J ?" c :3*`4"  4"Ԁ    $b\@  4"b?# @" 4"b@"b *bԐ"b *㨁㿐!"Ѐ "@6$""@]@㿐Ѐ   #*@"`#"`@"" "c` ` " 4@""*#㿐@ (2& \@#& @` & \@# & @㿐 bЀ""b  @ @㿐@& ` & @I@I 4  & & 㿐&  * *  &  & & $"Ѐ㿐` @J 2 J  @V (2\@E#8& & & & & & &  & & & $\㿐N  `N 2`@㿐`@- \@#h @ @ , `@& @* ,2 \@# & 㿐#\c@I'@I 㿐@I2㿐@I/㿐@I<㿐@I"` "c\#!#Ȓ@IL#*㿐"#,"c(@I ` "c\p#!##Ȓ@I4#*$`㿐#̀  c, @@"c,@H#,"c#(@@c,@& @c, @@"c,!#@Hc,$#̀ 2\7##c(  * ` @H"#(㿐"#H  ] #@Hߒ  " (`]@H`0  ] 8@Hch@H} @@H@H"c#|%@Hǔ! 8   (#]`P@He@H]  (#]`@H\@H#|@z?@!#x@H  8  ] (#`@HC@Hn#x@b?` +)]'%]@H(@H(c @H&@HQ@E?@H{@Hy1%#3')@H>@H;#| ( ]`(` @H@'?c  ]]`ȔD@H#|0`ؔ@G#|@HP!S`(#|@HKh 6 ]`(`#|@Gx@? 2 `(]a#|@Gx@?b""c #|]aP@H'"%"]@H%aP%""  `(]aX#|@Gx@ѐ? c `(]a#|@Gx  &c]a@Gx@?c @* :  q xc0&c@ c g!#| @G  (#]a#| @Gj ]@G @?!#|@GВ!  (#]b0#|@GU! ]@G @s?!##|@Gcx T 8 2@'(%]bX#|@G:cx@Gb#| @G_cx@GD (]b@G(cx]@GR @F?#]b]|@G%cx@Gw   (#]b@G cx@,?@G.0 (#]c|@F#x]@G% @?     㿐 (#]c@@F@?㿐@GP#|   (#]cP@FЖ@FȐ 㿐"%" ]#p@Fߒ? $@F``$` @. :  ? $@F ` $` . :  e x Q    @  ͠ . > 㿐]@F#]@F#]@F#]@F#pА @F W!'Ԑ 'А @F  @F  @F  @Fݔ  @Fٔ  ''В@FӔ  @Fϔ  @F˔ 㿐@/F/FD ? ???㿐㿠㿠>>> sudoers file: %s, line %d <<< Alias `%.*s' already definedOut of memory defining alias `%.*s'Aliases corrupted defining alias `%.*s'HOST_ALIASCMND_ALIASUSER_ALIASRUNAS_ALIAS %s You may run the following commands on this host: :, ) (root) NOPASSWD: malloc%s: cannot allocate memory! yacc stack overflowsyntax errormatching stack underflow!root%+ALL     6FJLWgXPT{Ngwtuo}|Jyztxut j tsg oncnmei)h+,#h.&ge'd+4\7WK8J;<D?3.@(CQVXZ\afbhjlO%%""(%%.."G%.%.%.%.%.%.   !"#$%%%&%%%%'( ) *+,---.----+/7U89:9:=>_7?O;7<T;V9M9?=>???????@??@=>@@@@@@@@?@@?Q\???????A??AyzAAAAAAAA?AA?4???????3CD?E|}CCCCCCCC?CC?y??????FG?HP:HHHHHHHH?HFJ>?PCP:7K[]^KKR`]aePcLFQFFFFFFFF;F?t??????Y??Y|YYYYYYYY?YY;`fhQkjl;nmoQkqsnQv{x;Q;Q1111155566;;99????BBBBNNQQPP|y~nkwurp`]igd7bGC:7Q:ZXW;:S20:I:20V,!,V88<<==!JJRRBrr"B""""""""""uu"""""""""""%zz%%%%%%%%%%--%%%%%%%%%%%''C-C..O'OSS''.W^W^.\'(\((((((((m(GmGGGGGGGGGG}}GGGGGGGGGGG_a_acdcdfgfgjljloqotqtx{x~{~{|ywvspnkiheb`][ZYXUTQPNIED;97610/& ALLHost_AliasCmnd_AliasUser_AliasRunas_Aliasfatal flex scanner internal error--no action foundfatal flex scanner internal error--end of buffer missedfatal error - scanner input buffer overflowinput in flex scanner failedflex scanner push-back overflowunexpected last match in input()out of dynamic memory in yy_create_buffer()out of dynamic memory in yy_scan_buffer()out of dynamic memory in yy_scan_bytes()bad buffer in yy_scan_bytes()%s unable to allocate memory/etc/opt/CUsudo/sudoers/etc/opt/CUsudo/stmproot/usr/bin/vi-Vvisudo version %s %s: sudoers file busy, try again later. %s: %s: Write failed: %s: Buffer too short (line %d). %s +%d %s%s %s%s: Can't stat temporary file (%s), %s unchanged. %s: Zero length temporary file (%s), %s unchanged. r%s: Can't re-open temporary file (%s), %s unchanged. %s: Failed to parse temporary file (%s), unknown error. %s: Editor (%s) failed, %s unchanged. %s: Unable to set (uid, gid) of %s to (%d, %d): %s: Unable to change mode of %s to %o: %s: %s and %s not on the same filesystem, using mv to rename. %s: Cannot alocate memory, %s unchanged: %s %s %s/usr/bin/mv%s: Command failed: '%s', %s unchanged. %s: Error renaming %s, %s unchanged: usage: %s [-V] %s exiting, caught signal %d. What now? Options are: (e)dit sudoers file again e(x)it without saving changes to sudoers file (Q)uit and save changes to sudoers file (DANGER!) x,X `< `P b x 4 00<0H0T0`0l0x00000000000000 0,080D0P0\0h0t0000000000000~0{0x(0u40r@0o$Id: parse.yacc,v 1.102 1996/11/14 20:09:12 millert Exp $8  Y P=&"%#$ !LKJIEWM FHDX; G86420/-+)'UTSRN >(.B,@*^:O<?CA7931Q5V]\Z_[EFDgigigigigigigigigigigigigigigigigigigigigigigigigigigigigi gi gi gi gigigigigigigigigigigigigigigigigigigigiO"N' M;L%KJIHG2&F$E9DC:BA3@<?>         gi      :::::=====   ,,,,,!>?@AB8:(* .0 46 9)/5 #;<+,12%&'7 !"$=-3$Id: parse.lex,v 1.69 1996/11/14 02:37:16 millert Exp $$Id: visudo.c,v 1.80 1996/11/14 02:37:16 millert Exp $1.5.3ssttt@(#)SunOS 5.5.1 Generic May 1996as: SC4.0 dev 15 Feb 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.2 dev 30 Nov 1995 GCC: (GNU) 2.7.2as: SC4.0 dev 15 Feb 1995 GCC: (GNU) 2.7.2ld: (SGU) SunOS/ELF (LK-2.0 (S/I) - versioning).interp.hash.dynsym.dynstr.rela.bss.rela.plt.text.init.fini.rodata.got.dynamic.plt.data.ctors.dtors.bss.symtab.strtab.stab.index.comment.stab.shstrtab.stab.indexstr.stabstr   b )    3((J9`<`<?`P`PE`h`hMx x Rx,x,[xxP `{{ fmt307070100007664000041ed00000000000000010000000333029efa00000000000000200000001b00000000000000000000000500000009root07070100011882000041ed00000000000000010000000333029efb00000000000000200000001b00000000000000000000000900000009root/etc0707010001364d000041ed00000000000000010000000333029efb00000000000000200000001b00000000000000000000000d00000009root/etc/opt07070100016266000041ed00000000000000010000000233029efb00000000000000200000001b00000000000000000000001400000009root/etc/opt/CUsudo07070100016267000081a400000000000000000000000133029ee20000011e000000200000001b00000000000000000000001c00000009root/etc/opt/CUsudo/sudoers# sudoers file. # # This file MUST be edited with the 'visudo' command as root. # # See the man page for the details on how to write a sudoers file. # # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!