diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..960696cd --- /dev/null +++ b/.gitignore @@ -0,0 +1,48 @@ +*~ +lib*.a +*.o +*.lo +*.la +*.gmo +.deps +.libs + +*.patch +*.rej +*.orig + +Makefile +Makefile.in + +/ABOUT-NLS +/aclocal.m4 +/autom4te.cache +/compile +/config.guess +/config.h +/config.h.in +/config.log +/config.rpath +/config.status +/config.sub +/configure +/depcomp +/install-sh +/libtool +/ltmain.sh +/m4 +/missing +/stamp-h1 +/ylwrap + +/po/*.header +/po/*.sed +/po/*.sin +/po/Makefile.in.in +/po/Makevars.template +/po/POTFILES +/po/Rules-quot +/po/stamp-po + +/shadow.spec +/libmisc/getdate.c diff --git a/ABOUT-NLS b/ABOUT-NLS deleted file mode 100644 index ec20977e..00000000 --- a/ABOUT-NLS +++ /dev/null @@ -1,1101 +0,0 @@ -1 Notes on the Free Translation Project -*************************************** - -Free software is going international! The Free Translation Project is -a way to get maintainers of free software, translators, and users all -together, so that free software will gradually become able to speak many -languages. A few packages already provide translations for their -messages. - - If you found this `ABOUT-NLS' file inside a distribution, you may -assume that the distributed package does use GNU `gettext' internally, -itself available at your nearest GNU archive site. But you do _not_ -need to install GNU `gettext' prior to configuring, installing or using -this package with messages translated. - - Installers will find here some useful hints. These notes also -explain how users should proceed for getting the programs to use the -available translations. They tell how people wanting to contribute and -work on translations can contact the appropriate team. - - When reporting bugs in the `intl/' directory or bugs which may be -related to internationalization, you should tell about the version of -`gettext' which is used. The information can be found in the -`intl/VERSION' file, in internationalized packages. - -1.1 Quick configuration advice -============================== - -If you want to exploit the full power of internationalization, you -should configure it using - - ./configure --with-included-gettext - -to force usage of internationalizing routines provided within this -package, despite the existence of internationalizing capabilities in the -operating system where this package is being installed. So far, only -the `gettext' implementation in the GNU C library version 2 provides as -many features (such as locale alias, message inheritance, automatic -charset conversion or plural form handling) as the implementation here. -It is also not possible to offer this additional functionality on top -of a `catgets' implementation. Future versions of GNU `gettext' will -very likely convey even more functionality. So it might be a good idea -to change to GNU `gettext' as soon as possible. - - So you need _not_ provide this option if you are using GNU libc 2 or -you have installed a recent copy of the GNU gettext package with the -included `libintl'. - -1.2 INSTALL Matters -=================== - -Some packages are "localizable" when properly installed; the programs -they contain can be made to speak your own native language. Most such -packages use GNU `gettext'. Other packages have their own ways to -internationalization, predating GNU `gettext'. - - By default, this package will be installed to allow translation of -messages. It will automatically detect whether the system already -provides the GNU `gettext' functions. If not, the included GNU -`gettext' library will be used. This library is wholly contained -within this package, usually in the `intl/' subdirectory, so prior -installation of the GNU `gettext' package is _not_ required. -Installers may use special options at configuration time for changing -the default behaviour. The commands: - - ./configure --with-included-gettext - ./configure --disable-nls - -will, respectively, bypass any pre-existing `gettext' to use the -internationalizing routines provided within this package, or else, -_totally_ disable translation of messages. - - When you already have GNU `gettext' installed on your system and run -configure without an option for your new package, `configure' will -probably detect the previously built and installed `libintl.a' file and -will decide to use this. This might not be desirable. You should use -the more recent version of the GNU `gettext' library. I.e. if the file -`intl/VERSION' shows that the library which comes with this package is -more recent, you should use - - ./configure --with-included-gettext - -to prevent auto-detection. - - The configuration process will not test for the `catgets' function -and therefore it will not be used. The reason is that even an -emulation of `gettext' on top of `catgets' could not provide all the -extensions of the GNU `gettext' library. - - Internationalized packages usually have many `po/LL.po' files, where -LL gives an ISO 639 two-letter code identifying the language. Unless -translations have been forbidden at `configure' time by using the -`--disable-nls' switch, all available translations are installed -together with the package. However, the environment variable `LINGUAS' -may be set, prior to configuration, to limit the installed set. -`LINGUAS' should then contain a space separated list of two-letter -codes, stating which languages are allowed. - -1.3 Using This Package -====================== - -As a user, if your language has been installed for this package, you -only have to set the `LANG' environment variable to the appropriate -`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, -and `CC' is an ISO 3166 two-letter country code. For example, let's -suppose that you speak German and live in Germany. At the shell -prompt, merely execute `setenv LANG de_DE' (in `csh'), -`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). -This can be done from your `.login' or `.profile' file, once and for -all. - - You might think that the country code specification is redundant. -But in fact, some languages have dialects in different countries. For -example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The -country code serves to distinguish the dialects. - - The locale naming convention of `LL_CC', with `LL' denoting the -language and `CC' denoting the country, is the one use on systems based -on GNU libc. On other systems, some variations of this scheme are -used, such as `LL' or `LL_CC.ENCODING'. You can get the list of -locales supported by your system for your language by running the -command `locale -a | grep '^LL''. - - Not all programs have translations for all languages. By default, an -English message is shown in place of a nonexistent translation. If you -understand other languages, you can set up a priority list of languages. -This is done through a different environment variable, called -`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' -for the purpose of message handling, but you still need to have `LANG' -set to the primary language; this is required by other parts of the -system libraries. For example, some Swedish users who would rather -read translations in German than English for when Swedish is not -available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. - - Special advice for Norwegian users: The language code for Norwegian -bokma*l changed from `no' to `nb' recently (in 2003). During the -transition period, while some message catalogs for this language are -installed under `nb' and some older ones under `no', it's recommended -for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and -older translations are used. - - In the `LANGUAGE' environment variable, but not in the `LANG' -environment variable, `LL_CC' combinations can be abbreviated as `LL' -to denote the language's main dialect. For example, `de' is equivalent -to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' -(Portuguese as spoken in Portugal) in this context. - -1.4 Translating Teams -===================== - -For the Free Translation Project to be a success, we need interested -people who like their own language and write it well, and who are also -able to synergize with other translators speaking the same language. -Each translation team has its own mailing list. The up-to-date list of -teams can be found at the Free Translation Project's homepage, -`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" -area. - - If you'd like to volunteer to _work_ at translating messages, you -should become a member of the translating team for your own language. -The subscribing address is _not_ the same as the list itself, it has -`-request' appended. For example, speakers of Swedish can send a -message to `sv-request@li.org', having this message body: - - subscribe - - Keep in mind that team members are expected to participate -_actively_ in translations, or at solving translational difficulties, -rather than merely lurking around. If your team does not exist yet and -you want to start one, or if you are unsure about what to do or how to -get started, please write to `translation@iro.umontreal.ca' to reach the -coordinator for all translator teams. - - The English team is special. It works at improving and uniformizing -the terminology in use. Proven linguistic skills are praised more than -programming skills, here. - -1.5 Available Packages -====================== - -Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of October -2006. The matrix shows, in regard of each package, for which languages -PO files have been submitted to translation coordination, with a -translation percentage of at least 50%. - - Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo - +----------------------------------------------------+ - GNUnet | [] | - a2ps | [] [] [] [] [] | - aegis | () | - ant-phone | () | - anubis | [] | - ap-utils | | - aspell | [] [] [] [] [] | - bash | [] [] [] | - batchelor | [] | - bfd | | - bibshelf | [] | - binutils | [] | - bison | [] [] | - bison-runtime | | - bluez-pin | [] [] [] [] [] | - cflow | [] | - clisp | [] [] | - console-tools | [] [] | - coreutils | [] [] [] | - cpio | | - cpplib | [] [] [] | - cryptonit | [] | - darkstat | [] () [] | - dialog | [] [] [] [] [] [] | - diffutils | [] [] [] [] [] [] | - doodle | [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] | - error | [] [] [] [] | - fetchmail | [] [] () [] | - fileutils | [] [] | - findutils | [] [] [] | - flex | [] [] [] | - fslint | [] | - gas | | - gawk | [] [] [] | - gbiff | [] | - gcal | [] | - gcc | [] | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] | - gettext-tools | [] [] | - gimp-print | [] [] [] [] | - gip | [] | - gliv | [] | - glunarclock | [] | - gmult | [] [] | - gnubiff | () | - gnucash | () () [] | - gnucash-glossary | [] () | - gnuedu | | - gnulib | [] [] [] [] [] [] | - gnunet-gtk | | - gnutls | | - gpe-aerial | [] [] | - gpe-beam | [] [] | - gpe-calendar | | - gpe-clock | [] [] | - gpe-conf | [] [] | - gpe-contacts | | - gpe-edit | [] | - gpe-filemanager | | - gpe-go | [] | - gpe-login | [] [] | - gpe-ownerinfo | [] [] | - gpe-package | | - gpe-sketchbook | [] [] | - gpe-su | [] [] | - gpe-taskmanager | [] [] | - gpe-timesheet | [] | - gpe-today | [] [] | - gpe-todo | | - gphoto2 | [] [] [] [] | - gprof | [] [] | - gpsdrive | () () | - gramadoir | [] [] | - grep | [] [] [] [] [] [] | - gretl | | - gsasl | | - gss | | - gst-plugins | [] [] [] [] | - gst-plugins-base | [] [] [] | - gst-plugins-good | [] [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | () | - gtkam | [] [] [] | - gtkorphan | [] [] | - gtkspell | [] [] [] [] | - gutenprint | [] | - hello | [] [] [] [] [] | - id-utils | [] [] | - impost | | - indent | [] [] [] | - iso_3166 | [] [] | - iso_3166_2 | | - iso_4217 | [] | - iso_639 | [] [] | - jpilot | [] | - jtag | | - jwhois | | - kbd | [] [] [] [] | - keytouch | | - keytouch-editor | | - keytouch-keyboa... | | - latrine | () | - ld | [] | - leafpad | [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] | - libextractor | [] | - libgpewidget | [] [] [] | - libgpg-error | [] | - libgphoto2 | [] [] | - libgphoto2_port | [] [] | - libgsasl | | - libiconv | [] [] | - libidn | [] [] | - lifelines | [] () | - lilypond | [] | - lingoteach | | - lynx | [] [] [] [] | - m4 | [] [] [] [] | - mailutils | [] | - make | [] [] | - man-db | [] () [] [] | - minicom | [] [] [] | - mysecretdiary | [] [] | - nano | [] [] [] | - nano_1_0 | [] () [] [] | - opcodes | [] | - parted | | - pilot-qof | [] | - psmisc | [] | - pwdutils | | - python | | - qof | | - radius | [] | - recode | [] [] [] [] [] [] | - rpm | [] [] | - screem | | - scrollkeeper | [] [] [] [] [] [] [] [] | - sed | [] [] [] | - sh-utils | [] [] | - shared-mime-info | [] [] [] [] | - sharutils | [] [] [] [] [] [] | - shishi | | - silky | | - skencil | [] () | - sketch | [] () | - solfege | | - soundtracker | [] [] | - sp | [] | - stardict | [] | - system-tools-ba... | [] [] [] [] [] [] [] [] [] | - tar | [] | - texinfo | [] [] [] | - textutils | [] [] [] | - tin | () () | - tp-robot | [] | - tuxpaint | [] [] [] [] [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux | [] [] [] [] | - vorbis-tools | [] [] [] [] | - wastesedge | () | - wdiff | [] [] [] [] | - wget | [] [] | - xchat | [] [] [] [] [] [] | - xkeyboard-config | | - xpad | [] [] | - +----------------------------------------------------+ - af am ar az be bg bs ca cs cy da de el en en_GB eo - 10 0 1 2 9 22 1 42 41 2 60 95 16 1 17 16 - - es et eu fa fi fr ga gl gu he hi hr hu id is it - +--------------------------------------------------+ - GNUnet | | - a2ps | [] [] [] () | - aegis | | - ant-phone | [] | - anubis | [] | - ap-utils | [] [] | - aspell | [] [] [] | - bash | [] [] [] | - batchelor | [] [] | - bfd | [] | - bibshelf | [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] [] [] | - bison-runtime | [] [] [] [] [] | - bluez-pin | [] [] [] [] [] | - cflow | [] | - clisp | [] [] | - console-tools | | - coreutils | [] [] [] [] [] [] | - cpio | [] [] [] | - cpplib | [] [] | - cryptonit | [] | - darkstat | [] () [] [] [] | - dialog | [] [] [] [] [] [] [] [] | - diffutils | [] [] [] [] [] [] [] [] [] | - doodle | [] [] | - e2fsprogs | [] [] [] | - enscript | [] [] [] | - error | [] [] [] [] [] | - fetchmail | [] | - fileutils | [] [] [] [] [] [] | - findutils | [] [] [] [] | - flex | [] [] [] | - fslint | [] | - gas | [] [] | - gawk | [] [] [] [] | - gbiff | [] | - gcal | [] [] | - gcc | [] | - gettext-examples | [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] | - gettext-tools | [] [] [] | - gimp-print | [] [] | - gip | [] [] [] | - gliv | () | - glunarclock | [] [] [] | - gmult | [] [] [] | - gnubiff | () () | - gnucash | () () () | - gnucash-glossary | [] [] | - gnuedu | [] | - gnulib | [] [] [] [] [] [] [] [] | - gnunet-gtk | | - gnutls | | - gpe-aerial | [] [] | - gpe-beam | [] [] | - gpe-calendar | | - gpe-clock | [] [] [] [] | - gpe-conf | [] | - gpe-contacts | [] [] | - gpe-edit | [] [] [] [] | - gpe-filemanager | [] | - gpe-go | [] [] [] | - gpe-login | [] [] [] | - gpe-ownerinfo | [] [] [] [] [] | - gpe-package | [] | - gpe-sketchbook | [] [] | - gpe-su | [] [] [] [] | - gpe-taskmanager | [] [] [] | - gpe-timesheet | [] [] [] [] | - gpe-today | [] [] [] [] | - gpe-todo | [] | - gphoto2 | [] [] [] [] [] | - gprof | [] [] [] [] | - gpsdrive | () () [] () | - gramadoir | [] [] | - grep | [] [] [] [] [] [] [] [] [] [] [] [] | - gretl | [] [] [] | - gsasl | [] [] | - gss | [] | - gst-plugins | [] [] [] | - gst-plugins-base | [] [] | - gst-plugins-good | [] [] [] | - gstreamer | [] [] [] | - gtick | [] | - gtkam | [] [] [] [] | - gtkorphan | [] [] | - gtkspell | [] [] [] [] [] [] | - gutenprint | [] | - hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | - id-utils | [] [] [] [] [] | - impost | [] [] | - indent | [] [] [] [] [] [] [] [] [] [] | - iso_3166 | [] [] [] | - iso_3166_2 | [] | - iso_4217 | [] [] [] [] | - iso_639 | [] [] [] [] [] | - jpilot | [] [] | - jtag | [] | - jwhois | [] [] [] [] [] | - kbd | [] [] | - keytouch | [] | - keytouch-editor | [] | - keytouch-keyboa... | [] | - latrine | [] [] [] | - ld | [] [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] | - libextractor | [] | - libgpewidget | [] [] [] [] [] | - libgpg-error | | - libgphoto2 | [] [] [] | - libgphoto2_port | [] [] | - libgsasl | [] [] | - libiconv | [] [] | - libidn | [] [] | - lifelines | () | - lilypond | [] | - lingoteach | [] [] [] | - lynx | [] [] [] | - m4 | [] [] [] [] | - mailutils | [] [] | - make | [] [] [] [] [] [] [] [] | - man-db | () | - minicom | [] [] [] [] | - mysecretdiary | [] [] [] | - nano | [] [] [] [] [] [] | - nano_1_0 | [] [] [] [] [] | - opcodes | [] [] [] [] | - parted | [] [] [] [] | - pilot-qof | | - psmisc | [] [] [] | - pwdutils | | - python | | - qof | [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] [] | - rpm | [] [] | - screem | | - scrollkeeper | [] [] [] | - sed | [] [] [] [] [] | - sh-utils | [] [] [] [] [] [] [] | - shared-mime-info | [] [] [] [] [] [] | - sharutils | [] [] [] [] [] [] [] [] | - shishi | | - silky | [] | - skencil | [] [] | - sketch | [] [] | - solfege | [] | - soundtracker | [] [] [] | - sp | [] | - stardict | [] | - system-tools-ba... | [] [] [] [] [] [] [] [] | - tar | [] [] [] [] [] [] [] | - texinfo | [] [] | - textutils | [] [] [] [] [] | - tin | [] () | - tp-robot | [] [] [] [] | - tuxpaint | [] [] | - unicode-han-tra... | | - unicode-transla... | [] [] | - util-linux | [] [] [] [] [] [] [] | - vorbis-tools | [] [] | - wastesedge | () | - wdiff | [] [] [] [] [] [] [] [] | - wget | [] [] [] [] [] [] [] [] | - xchat | [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - xpad | [] [] [] | - +--------------------------------------------------+ - es et eu fa fi fr ga gl gu he hi hr hu id is it - 88 22 14 2 40 115 61 14 1 8 1 6 59 31 0 52 - - ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no - +-------------------------------------------------+ - GNUnet | | - a2ps | () [] [] () | - aegis | () | - ant-phone | [] | - anubis | [] [] [] | - ap-utils | [] | - aspell | [] [] | - bash | [] | - batchelor | [] [] | - bfd | | - bibshelf | [] | - binutils | | - bison | [] [] [] | - bison-runtime | [] [] [] | - bluez-pin | [] [] [] | - cflow | | - clisp | [] | - console-tools | | - coreutils | [] | - cpio | | - cpplib | [] | - cryptonit | [] | - darkstat | [] [] | - dialog | [] [] | - diffutils | [] [] [] | - doodle | | - e2fsprogs | [] | - enscript | [] | - error | [] | - fetchmail | [] [] | - fileutils | [] [] | - findutils | [] | - flex | [] [] | - fslint | [] [] | - gas | | - gawk | [] [] | - gbiff | [] | - gcal | | - gcc | | - gettext-examples | [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] [] | - gimp-print | [] [] | - gip | [] [] | - gliv | [] | - glunarclock | [] [] | - gmult | [] [] | - gnubiff | | - gnucash | () () | - gnucash-glossary | [] | - gnuedu | | - gnulib | [] [] [] [] | - gnunet-gtk | | - gnutls | | - gpe-aerial | [] | - gpe-beam | [] | - gpe-calendar | [] | - gpe-clock | [] [] [] | - gpe-conf | [] [] | - gpe-contacts | [] | - gpe-edit | [] [] [] | - gpe-filemanager | [] [] | - gpe-go | [] [] [] | - gpe-login | [] [] [] | - gpe-ownerinfo | [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] | - gpe-su | [] [] [] | - gpe-taskmanager | [] [] [] [] | - gpe-timesheet | [] | - gpe-today | [] [] | - gpe-todo | [] | - gphoto2 | [] [] | - gprof | | - gpsdrive | () () () | - gramadoir | () | - grep | [] [] [] [] | - gretl | | - gsasl | [] | - gss | | - gst-plugins | [] | - gst-plugins-base | | - gst-plugins-good | [] | - gstreamer | [] | - gtick | | - gtkam | [] | - gtkorphan | [] | - gtkspell | [] [] | - gutenprint | | - hello | [] [] [] [] [] [] | - id-utils | [] | - impost | | - indent | [] [] | - iso_3166 | [] | - iso_3166_2 | [] | - iso_4217 | [] [] [] | - iso_639 | [] [] | - jpilot | () () () | - jtag | | - jwhois | [] | - kbd | [] | - keytouch | [] | - keytouch-editor | | - keytouch-keyboa... | | - latrine | [] | - ld | | - leafpad | [] [] | - libc | [] [] [] [] [] | - libexif | | - libextractor | | - libgpewidget | [] | - libgpg-error | | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | [] | - libiconv | | - libidn | [] [] | - lifelines | [] | - lilypond | | - lingoteach | [] | - lynx | [] [] | - m4 | [] [] | - mailutils | | - make | [] [] [] | - man-db | () | - minicom | [] | - mysecretdiary | [] | - nano | [] [] [] | - nano_1_0 | [] [] [] | - opcodes | [] | - parted | [] [] | - pilot-qof | | - psmisc | [] [] [] | - pwdutils | | - python | | - qof | | - radius | | - recode | [] | - rpm | [] [] | - screem | [] | - scrollkeeper | [] [] [] [] | - sed | [] [] | - sh-utils | [] [] | - shared-mime-info | [] [] [] [] [] | - sharutils | [] [] | - shishi | | - silky | [] | - skencil | | - sketch | | - solfege | | - soundtracker | | - sp | () | - stardict | [] [] | - system-tools-ba... | [] [] [] [] | - tar | [] [] [] | - texinfo | [] [] [] | - textutils | [] [] [] | - tin | | - tp-robot | [] | - tuxpaint | [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux | [] [] | - vorbis-tools | [] | - wastesedge | [] | - wdiff | [] [] | - wget | [] [] | - xchat | [] [] [] [] | - xkeyboard-config | [] | - xpad | [] [] [] | - +-------------------------------------------------+ - ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no - 52 24 2 2 1 3 0 2 3 21 0 15 1 97 5 1 - - nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta - +------------------------------------------------------+ - GNUnet | | - a2ps | () [] [] [] [] [] [] | - aegis | () () | - ant-phone | [] [] | - anubis | [] [] [] | - ap-utils | () | - aspell | [] [] | - bash | [] [] [] | - batchelor | [] [] | - bfd | | - bibshelf | [] | - binutils | [] [] | - bison | [] [] [] [] [] | - bison-runtime | [] [] [] [] | - bluez-pin | [] [] [] [] [] [] [] [] [] | - cflow | [] | - clisp | [] | - console-tools | [] | - coreutils | [] [] [] [] | - cpio | [] [] [] | - cpplib | [] | - cryptonit | [] [] | - darkstat | [] [] [] [] [] [] | - dialog | [] [] [] [] [] [] [] [] [] | - diffutils | [] [] [] [] [] [] | - doodle | [] [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] [] | - error | [] [] [] [] | - fetchmail | [] [] [] | - fileutils | [] [] [] [] [] | - findutils | [] [] [] [] [] [] | - flex | [] [] [] [] [] | - fslint | [] [] [] [] | - gas | | - gawk | [] [] [] [] | - gbiff | [] | - gcal | [] | - gcc | [] | - gettext-examples | [] [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] [] [] | - gimp-print | [] [] | - gip | [] [] [] [] | - gliv | [] [] [] [] | - glunarclock | [] [] [] [] [] [] | - gmult | [] [] [] [] | - gnubiff | () | - gnucash | () [] | - gnucash-glossary | [] [] [] | - gnuedu | | - gnulib | [] [] [] [] [] | - gnunet-gtk | [] | - gnutls | [] [] | - gpe-aerial | [] [] [] [] [] [] [] | - gpe-beam | [] [] [] [] [] [] [] | - gpe-calendar | [] | - gpe-clock | [] [] [] [] [] [] [] [] | - gpe-conf | [] [] [] [] [] [] [] | - gpe-contacts | [] [] [] [] [] | - gpe-edit | [] [] [] [] [] [] [] [] | - gpe-filemanager | [] [] | - gpe-go | [] [] [] [] [] [] | - gpe-login | [] [] [] [] [] [] [] [] | - gpe-ownerinfo | [] [] [] [] [] [] [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] [] [] [] [] [] [] | - gpe-su | [] [] [] [] [] [] [] [] | - gpe-taskmanager | [] [] [] [] [] [] [] [] | - gpe-timesheet | [] [] [] [] [] [] [] [] | - gpe-today | [] [] [] [] [] [] [] [] | - gpe-todo | [] [] [] [] | - gphoto2 | [] [] [] [] [] | - gprof | [] [] [] | - gpsdrive | [] [] [] | - gramadoir | [] [] | - grep | [] [] [] [] [] [] [] [] | - gretl | [] | - gsasl | [] [] [] | - gss | [] [] [] | - gst-plugins | [] [] [] [] | - gst-plugins-base | [] | - gst-plugins-good | [] [] [] [] | - gstreamer | [] [] [] | - gtick | [] | - gtkam | [] [] [] [] | - gtkorphan | [] | - gtkspell | [] [] [] [] [] [] [] [] | - gutenprint | [] | - hello | [] [] [] [] [] [] [] [] | - id-utils | [] [] [] [] | - impost | [] | - indent | [] [] [] [] [] [] | - iso_3166 | [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] [] [] [] | - iso_639 | [] [] [] [] | - jpilot | | - jtag | [] | - jwhois | [] [] [] [] | - kbd | [] [] [] | - keytouch | [] | - keytouch-editor | [] | - keytouch-keyboa... | [] | - latrine | [] [] | - ld | [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] | - libextractor | [] [] | - libgpewidget | [] [] [] [] [] [] [] | - libgpg-error | [] [] | - libgphoto2 | [] | - libgphoto2_port | [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] | - libidn | [] [] () | - lifelines | [] [] | - lilypond | | - lingoteach | [] | - lynx | [] [] [] | - m4 | [] [] [] [] [] | - mailutils | [] [] [] [] | - make | [] [] [] [] | - man-db | [] [] | - minicom | [] [] [] [] [] | - mysecretdiary | [] [] [] [] | - nano | [] [] [] | - nano_1_0 | [] [] [] [] | - opcodes | [] [] | - parted | [] | - pilot-qof | [] | - psmisc | [] [] | - pwdutils | [] [] | - python | | - qof | [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] | - rpm | [] [] [] [] | - screem | | - scrollkeeper | [] [] [] [] [] [] [] | - sed | [] [] [] [] [] [] [] [] [] | - sh-utils | [] [] [] | - shared-mime-info | [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] | - silky | [] | - skencil | [] [] [] | - sketch | [] [] [] | - solfege | [] | - soundtracker | [] [] | - sp | | - stardict | [] [] [] | - system-tools-ba... | [] [] [] [] [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] [] | - textutils | [] [] [] | - tin | () | - tp-robot | [] | - tuxpaint | [] [] [] [] [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux | [] [] [] [] | - vorbis-tools | [] [] | - wastesedge | | - wdiff | [] [] [] [] [] [] | - wget | [] [] [] [] | - xchat | [] [] [] [] [] [] [] | - xkeyboard-config | [] [] | - xpad | [] [] [] | - +------------------------------------------------------+ - nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta - 0 2 3 58 30 54 5 73 72 4 40 46 11 50 128 2 - - tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu - +---------------------------------------------------+ - GNUnet | [] | 2 - a2ps | [] [] [] | 19 - aegis | | 0 - ant-phone | [] [] | 6 - anubis | [] [] [] | 11 - ap-utils | () [] | 4 - aspell | [] [] [] | 15 - bash | [] | 11 - batchelor | [] [] | 9 - bfd | | 1 - bibshelf | [] | 7 - binutils | [] [] [] | 9 - bison | [] [] [] | 19 - bison-runtime | [] [] [] | 15 - bluez-pin | [] [] [] [] [] [] | 28 - cflow | [] [] | 5 - clisp | | 6 - console-tools | [] [] | 5 - coreutils | [] [] | 16 - cpio | [] [] [] | 9 - cpplib | [] [] [] [] | 11 - cryptonit | | 5 - darkstat | [] () () | 15 - dialog | [] [] [] [] [] | 30 - diffutils | [] [] [] [] | 28 - doodle | [] | 6 - e2fsprogs | [] [] | 10 - enscript | [] [] [] | 16 - error | [] [] [] [] | 18 - fetchmail | [] [] | 12 - fileutils | [] [] [] | 18 - findutils | [] [] [] | 17 - flex | [] [] | 15 - fslint | [] | 9 - gas | [] | 3 - gawk | [] [] | 15 - gbiff | [] | 5 - gcal | [] | 5 - gcc | [] [] [] | 6 - gettext-examples | [] [] [] [] [] [] | 27 - gettext-runtime | [] [] [] [] [] [] | 28 - gettext-tools | [] [] [] [] [] | 19 - gimp-print | [] [] | 12 - gip | [] [] | 12 - gliv | [] [] | 8 - glunarclock | [] [] [] | 15 - gmult | [] [] [] [] | 15 - gnubiff | [] | 1 - gnucash | () | 2 - gnucash-glossary | [] [] | 9 - gnuedu | [] | 2 - gnulib | [] [] [] [] [] | 28 - gnunet-gtk | | 1 - gnutls | | 2 - gpe-aerial | [] [] | 14 - gpe-beam | [] [] | 14 - gpe-calendar | [] | 3 - gpe-clock | [] [] [] [] | 21 - gpe-conf | [] [] | 14 - gpe-contacts | [] [] | 10 - gpe-edit | [] [] [] [] | 20 - gpe-filemanager | [] | 6 - gpe-go | [] [] | 15 - gpe-login | [] [] [] [] [] | 21 - gpe-ownerinfo | [] [] [] [] | 21 - gpe-package | [] | 6 - gpe-sketchbook | [] [] | 16 - gpe-su | [] [] [] | 20 - gpe-taskmanager | [] [] [] | 20 - gpe-timesheet | [] [] [] [] | 18 - gpe-today | [] [] [] [] [] | 21 - gpe-todo | [] | 7 - gphoto2 | [] [] [] [] | 20 - gprof | [] [] | 11 - gpsdrive | | 4 - gramadoir | [] | 7 - grep | [] [] [] [] | 34 - gretl | | 4 - gsasl | [] [] | 8 - gss | [] | 5 - gst-plugins | [] [] [] | 15 - gst-plugins-base | [] [] [] | 9 - gst-plugins-good | [] [] [] [] [] | 20 - gstreamer | [] [] [] | 17 - gtick | [] | 3 - gtkam | [] | 13 - gtkorphan | [] | 7 - gtkspell | [] [] [] [] [] [] | 26 - gutenprint | | 3 - hello | [] [] [] [] [] | 37 - id-utils | [] [] | 14 - impost | [] | 4 - indent | [] [] [] [] | 25 - iso_3166 | [] [] [] [] | 16 - iso_3166_2 | | 2 - iso_4217 | [] [] | 14 - iso_639 | [] | 14 - jpilot | [] [] [] [] | 7 - jtag | [] | 3 - jwhois | [] [] [] | 13 - kbd | [] [] | 12 - keytouch | [] | 4 - keytouch-editor | | 2 - keytouch-keyboa... | [] | 3 - latrine | [] [] | 8 - ld | [] [] [] [] | 8 - leafpad | [] [] [] [] | 23 - libc | [] [] [] | 23 - libexif | [] | 4 - libextractor | [] | 5 - libgpewidget | [] [] [] | 19 - libgpg-error | [] | 4 - libgphoto2 | [] | 8 - libgphoto2_port | [] [] [] | 11 - libgsasl | [] | 8 - libiconv | [] | 7 - libidn | [] [] | 10 - lifelines | | 4 - lilypond | | 2 - lingoteach | [] | 6 - lynx | [] [] [] | 15 - m4 | [] [] [] | 18 - mailutils | [] | 8 - make | [] [] [] | 20 - man-db | [] | 6 - minicom | [] | 14 - mysecretdiary | [] [] | 12 - nano | [] [] | 17 - nano_1_0 | [] [] [] | 18 - opcodes | [] [] | 10 - parted | [] [] [] | 10 - pilot-qof | [] | 3 - psmisc | [] | 10 - pwdutils | [] | 3 - python | | 0 - qof | [] | 4 - radius | [] | 6 - recode | [] [] [] | 25 - rpm | [] [] [] [] | 14 - screem | [] | 2 - scrollkeeper | [] [] [] [] | 26 - sed | [] [] [] | 22 - sh-utils | [] | 15 - shared-mime-info | [] [] [] [] | 24 - sharutils | [] [] [] | 23 - shishi | | 1 - silky | [] | 4 - skencil | [] | 7 - sketch | | 6 - solfege | | 2 - soundtracker | [] [] | 9 - sp | [] | 3 - stardict | [] [] [] [] | 11 - system-tools-ba... | [] [] [] [] [] [] [] | 37 - tar | [] [] [] [] | 20 - texinfo | [] [] [] | 15 - textutils | [] [] [] | 17 - tin | | 1 - tp-robot | [] [] [] | 10 - tuxpaint | [] [] [] | 16 - unicode-han-tra... | | 0 - unicode-transla... | | 2 - util-linux | [] [] [] | 20 - vorbis-tools | [] [] | 11 - wastesedge | | 1 - wdiff | [] [] | 22 - wget | [] [] [] | 19 - xchat | [] [] [] [] | 29 - xkeyboard-config | [] [] [] [] | 11 - xpad | [] [] [] | 14 - +---------------------------------------------------+ - 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu - 170 domains 0 1 1 77 39 0 136 10 1 48 5 54 0 2028 - - Some counters in the preceding matrix are higher than the number of -visible blocks let us expect. This is because a few extra PO files are -used for implementing regional variants of languages, or language -dialects. - - For a PO file in the matrix above to be effective, the package to -which it applies should also have been internationalized and -distributed as such by its maintainer. There might be an observable -lag between the mere existence a PO file and its wide availability in a -distribution. - - If October 2006 seems to be old, you may fetch a more recent copy of -this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date -matrix with full percentage details can be found at -`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. - -1.6 Using `gettext' in new packages -=================================== - -If you are writing a freely available program and want to -internationalize it you are welcome to use GNU `gettext' in your -package. Of course you have to respect the GNU Library General Public -License which covers the use of the GNU `gettext' library. This means -in particular that even non-free programs can use `libintl' as a shared -library, whereas only free software can use `libintl' as a static -library or use modified versions of `libintl'. - - Once the sources are changed appropriately and the setup can handle -the use of `gettext' the only thing missing are the translations. The -Free Translation Project is also available for packages which are not -developed inside the GNU project. Therefore the information given above -applies also for every other Free Software Project. Contact -`translation@iro.umontreal.ca' to make the `.pot' files available to -the translation teams. - diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 2ccb0ae8..00000000 --- a/Makefile.in +++ /dev/null @@ -1,852 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = man/po/Makefile shadow.spec -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(srcdir)/shadow.spec.in $(top_srcdir)/man/po/Makefile.in \ - ABOUT-NLS COPYING ChangeLog NEWS README TODO compile \ - config.guess config.rpath config.sub install-sh ltmain.sh \ - missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 -GZIP_ENV = --best -DIST_TARGETS = dist-bzip2 dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = NEWS README TODO shadow.spec.in -AUTOMAKE_OPTIONS = 1.5 dist-bzip2 foreign -SUBDIRS = po man libmisc lib src \ - contrib doc etc - -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -man/po/Makefile: $(top_builddir)/config.status $(top_srcdir)/man/po/Makefile.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -shadow.spec: $(top_builddir)/config.status $(srcdir)/shadow.spec.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__post_remove_distdir) -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile config.h -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) all install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-data install-data-am \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/aclocal.m4 b/aclocal.m4 deleted file mode 100644 index 266f1315..00000000 --- a/aclocal.m4 +++ /dev/null @@ -1,12674 +0,0 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. - -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# gettext.m4 serial 67 (gettext-0.19.6) -dnl Copyright (C) 1995-2014 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2006, 2008-2010. - -dnl Macro to add for using GNU gettext. - -dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). -dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The -dnl default (if it is not specified or empty) is 'no-libtool'. -dnl INTLSYMBOL should be 'external' for packages with no intl directory, -dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. -dnl If INTLSYMBOL is 'use-libtool', then a libtool library -dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, -dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library -dnl $(top_builddir)/intl/libintl.a will be created. -dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext -dnl implementations (in libc or libintl) without the ngettext() function -dnl will be ignored. If NEEDSYMBOL is specified and is -dnl 'need-formatstring-macros', then GNU gettext implementations that don't -dnl support the ISO C 99 formatstring macros will be ignored. -dnl INTLDIR is used to find the intl libraries. If empty, -dnl the value '$(top_builddir)/intl/' is used. -dnl -dnl The result of the configuration is one of three cases: -dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled -dnl and used. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 2) GNU gettext has been found in the system's C library. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 3) No internationalization, always use English msgid. -dnl Catalog format: none -dnl Catalog extension: none -dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. -dnl The use of .gmo is historical (it was needed to avoid overwriting the -dnl GNU format catalogs when building on a platform with an X/Open gettext), -dnl but we keep it in order not to force irrelevant filename changes on the -dnl maintainers. -dnl -AC_DEFUN([AM_GNU_GETTEXT], -[ - dnl Argument checking. - ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , - [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT -])])])])]) - ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], - [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) - ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , - [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT -])])])]) - define([gt_included_intl], - ifelse([$1], [external], - ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), - [yes])) - define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) - gt_NEEDS_INIT - AM_GNU_GETTEXT_NEED([$2]) - - AC_REQUIRE([AM_PO_SUBDIRS])dnl - ifelse(gt_included_intl, yes, [ - AC_REQUIRE([AM_INTL_SUBDIR])dnl - ]) - - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Sometimes libintl requires libiconv, so first search for libiconv. - dnl Ideally we would do this search only after the - dnl if test "$USE_NLS" = "yes"; then - dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT - dnl the configure script would need to contain the same shell code - dnl again, outside any 'if'. There are two solutions: - dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. - dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. - dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not - dnl documented, we avoid it. - ifelse(gt_included_intl, yes, , [ - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - ]) - - dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. - gt_INTL_MACOSX - - dnl Set USE_NLS. - AC_REQUIRE([AM_NLS]) - - ifelse(gt_included_intl, yes, [ - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - ]) - LIBINTL= - LTLIBINTL= - POSUB= - - dnl Add a version number to the cache macros. - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - ifelse(gt_included_intl, yes, [ - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH([included-gettext], - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - ]) - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If GNU gettext is available we use this. Else we have - dnl to fall back to GNU NLS library. - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -changequote(,)dnl -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -changequote([,])dnl -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], - [AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings - ]])], - [eval "$gt_func_gnugettext_libc=yes"], - [eval "$gt_func_gnugettext_libc=no"])]) - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl Sometimes libintl requires libiconv, so first search for libiconv. - ifelse(gt_included_intl, yes, , [ - AM_ICONV_LINK - ]) - dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL - dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) - dnl because that would add "-liconv" to LIBINTL and LTLIBINTL - dnl even if libiconv doesn't exist. - AC_LIB_LINKFLAGS_BODY([intl]) - AC_CACHE_CHECK([for GNU gettext in libintl], - [$gt_func_gnugettext_libintl], - [gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - dnl Now see whether libintl exists and does not depend on libiconv. - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ]])], - [eval "$gt_func_gnugettext_libintl=yes"], - [eval "$gt_func_gnugettext_libintl=no"]) - dnl Now see whether libintl exists and depends on libiconv. - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ]])], - [LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - ]) - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS"]) - fi - - dnl If an already present or preinstalled GNU gettext() is found, - dnl use it. But if this macro is used in GNU gettext, and GNU - dnl gettext is already preinstalled in libintl, we update this - dnl libintl. (Cf. the install rule in intl/Makefile.in.) - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - dnl Reset the values set by searching for libintl. - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - ifelse(gt_included_intl, yes, [ - if test "$gt_use_preinstalled_gnugettext" != "yes"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on included GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" - LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - fi - - CATOBJEXT= - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions to use GNU gettext tools. - CATOBJEXT=.gmo - fi - ]) - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Some extra flags are needed during linking. - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - AC_DEFINE([ENABLE_NLS], [1], - [Define to 1 if translation of program messages to the user's native language - is requested.]) - else - USE_NLS=no - fi - fi - - AC_MSG_CHECKING([whether to use NLS]) - AC_MSG_RESULT([$USE_NLS]) - if test "$USE_NLS" = "yes"; then - AC_MSG_CHECKING([where the gettext function comes from]) - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - AC_MSG_RESULT([$gt_source]) - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - AC_MSG_CHECKING([how to link with libintl]) - AC_MSG_RESULT([$LIBINTL]) - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) - fi - - dnl For backward compatibility. Some packages may be using this. - AC_DEFINE([HAVE_GETTEXT], [1], - [Define if the GNU gettext() function is already present or preinstalled.]) - AC_DEFINE([HAVE_DCGETTEXT], [1], - [Define if the GNU dcgettext() function is already present or preinstalled.]) - fi - - dnl We need to process the po/ directory. - POSUB=po - fi - - ifelse(gt_included_intl, yes, [ - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then - BUILD_INCLUDED_LIBINTL=yes - fi - - dnl Make all variables we use known to autoconf. - AC_SUBST([BUILD_INCLUDED_LIBINTL]) - AC_SUBST([USE_INCLUDED_LIBINTL]) - AC_SUBST([CATOBJEXT]) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST([DATADIRNAME]) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST([INSTOBJEXT]) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST([GENCAT]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLOBJS= - if test "$USE_INCLUDED_LIBINTL" = yes; then - INTLOBJS="\$(GETTOBJS)" - fi - AC_SUBST([INTLOBJS]) - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix - AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) - ]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLLIBS="$LIBINTL" - AC_SUBST([INTLLIBS]) - - dnl Make all documented variables known to autoconf. - AC_SUBST([LIBINTL]) - AC_SUBST([LTLIBINTL]) - AC_SUBST([POSUB]) -]) - - -dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. -m4_define([gt_NEEDS_INIT], -[ - m4_divert_text([DEFAULTS], [gt_needs=]) - m4_define([gt_NEEDS_INIT], []) -]) - - -dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) -AC_DEFUN([AM_GNU_GETTEXT_NEED], -[ - m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) -]) - - -dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) -AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) - - -dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version]) -AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], []) - -# iconv.m4 serial 19 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], -[ - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([iconv]) -]) - -AC_DEFUN([AM_ICONV_LINK], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - - dnl Add $INCICONV to CPPFLAGS before performing the following checks, - dnl because if the user has installed libiconv and not disabled its use - dnl via --without-libiconv-prefix, he wants to use it. The first - dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. - am_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) - - AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - ]], - [[iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);]])], - [am_cv_func_iconv=yes]) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - ]], - [[iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);]])], - [am_cv_lib_iconv=yes] - [am_cv_func_iconv=yes]) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ - dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, - dnl Solaris 10. - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - am_cv_func_iconv_works=no - for ac_iconv_const in '' 'const'; do - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - -#ifndef ICONV_CONST -# define ICONV_CONST $ac_iconv_const -#endif - ]], - [[int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 1; - iconv_close (cd_utf8_to_88591); - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\263"; - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 2; - iconv_close (cd_ascii_to_88591); - } - } - /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - ICONV_CONST char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) - result |= 4; - iconv_close (cd_88591_to_utf8); - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - result |= 8; - iconv_close (cd_88591_to_utf8); - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; - return result; -]])], - [am_cv_func_iconv_works=yes], , - [case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac]) - test "$am_cv_func_iconv_works" = no || break - done - LIBS="$am_save_LIBS" - ]) - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - AC_DEFINE([HAVE_ICONV], [1], - [Define if you have the iconv() function and it works.]) - fi - if test "$am_cv_lib_iconv" = yes; then - AC_MSG_CHECKING([how to link with libiconv]) - AC_MSG_RESULT([$LIBICONV]) - else - dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV - dnl either. - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - AC_SUBST([LIBICONV]) - AC_SUBST([LTLIBICONV]) -]) - -dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to -dnl avoid warnings like -dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". -dnl This is tricky because of the way 'aclocal' is implemented: -dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. -dnl Otherwise aclocal's initial scan pass would miss the macro definition. -dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. -dnl Otherwise aclocal would emit many "Use of uninitialized value $1" -dnl warnings. -m4_define([gl_iconv_AC_DEFUN], - m4_version_prereq([2.64], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [m4_ifdef([gl_00GNULIB], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [[AC_DEFUN( - [$1], [$2])]])])) -gl_iconv_AC_DEFUN([AM_ICONV], -[ - AM_ICONV_LINK - if test "$am_cv_func_iconv" = yes; then - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL([am_cv_proto_iconv], [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - ]], - [[]])], - [am_cv_proto_iconv_arg1=""], - [am_cv_proto_iconv_arg1="const"]) - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([ - $am_cv_proto_iconv]) - AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], - [Define as const if the declaration of iconv() needs const.]) - dnl Also substitute ICONV_CONST in the gnulib generated . - m4_ifdef([gl_ICONV_H_DEFAULTS], - [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) - if test -n "$am_cv_proto_iconv_arg1"; then - ICONV_CONST="const" - fi - ]) - fi -]) - -# intlmacosx.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2004-2014 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Checks for special options needed on Mac OS X. -dnl Defines INTL_MACOSX_LIBS. -AC_DEFUN([gt_INTL_MACOSX], -[ - dnl Check for API introduced in Mac OS X 10.2. - AC_CACHE_CHECK([for CFPreferencesCopyAppValue], - [gt_cv_func_CFPreferencesCopyAppValue], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[CFPreferencesCopyAppValue(NULL, NULL)]])], - [gt_cv_func_CFPreferencesCopyAppValue=yes], - [gt_cv_func_CFPreferencesCopyAppValue=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], - [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) - fi - dnl Check for API introduced in Mac OS X 10.3. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[CFLocaleCopyCurrent();]])], - [gt_cv_func_CFLocaleCopyCurrent=yes], - [gt_cv_func_CFLocaleCopyCurrent=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], - [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - AC_SUBST([INTL_MACOSX_LIBS]) -]) - -# lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2015 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Subroutines of libtool.m4, -dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid -dnl collision with libtool.m4. - -dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], -[# I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 /dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL([acl_cv_path_LD], -[if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 = 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE([rpath], - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) - -dnl AC_LIB_FROMPACKAGE(name, package) -dnl declares that libname comes from the given package. The configure file -dnl will then not have a --with-libname-prefix option but a -dnl --with-package-prefix option. Several libraries can come from the same -dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar -dnl macro call that searches for libname. -AC_DEFUN([AC_LIB_FROMPACKAGE], -[ - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - define([acl_frompackage_]NAME, [$2]) - popdef([NAME]) - pushdef([PACK],[$2]) - pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - define([acl_libsinpackage_]PACKUP, - m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) - popdef([PACKUP]) - popdef([PACK]) -]) - -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) - pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - LIB[]NAME[]_PREFIX= - dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been - dnl computed. So it has to be reset here. - HAVE_LIB[]NAME= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$acl_hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi - popdef([P_A_C_K]) - popdef([PACKLIBS]) - popdef([PACKUP]) - popdef([PACK]) - popdef([NAME]) -]) - -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) - -dnl For those cases where a variable contains several -L and -l options -dnl referring to unknown libraries and directories, this macro determines the -dnl necessary additional linker options for the runtime path. -dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -dnl otherwise linking without libtool is assumed. -AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -[ - AC_REQUIRE([AC_LIB_RPATH]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - $1= - if test "$enable_rpath" != no; then - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode directories into the resulting - dnl binary. - rpathdirs= - next= - for opt in $2; do - if test -n "$next"; then - dir="$next" - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= - else - case $opt in - -L) next=yes ;; - -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= ;; - *) next= ;; - esac - fi - done - if test "X$rpathdirs" != "X"; then - if test -n ""$3""; then - dnl libtool is used for linking. Use -R options. - for dir in $rpathdirs; do - $1="${$1}${$1:+ }-R$dir" - done - else - dnl The linker is used for linking directly. - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user - dnl must pass all path elements in one option. - alldirs= - for dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="$flag" - else - dnl The -rpath options are cumulative. - for dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="${$1}${$1:+ }$flag" - done - fi - fi - fi - fi - fi - AC_SUBST([$1]) -]) - -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2015 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi - fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi - fi - fi - fi -]) - -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_PREPARE_MULTILIB creates -dnl - a variable acl_libdirstem, containing the basename of the libdir, either -dnl "lib" or "lib64" or "lib/64", -dnl - a variable acl_libdirstem2, as a secondary possible value for -dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or -dnl "lib/amd64". -AC_DEFUN([AC_LIB_PREPARE_MULTILIB], -[ - dnl There is no formal standard regarding lib and lib64. - dnl On glibc systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine - dnl the compiler's default mode by looking at the compiler's library search - dnl path. If at least one of its elements ends in /lib64 or points to a - dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. - dnl Otherwise we use the default, namely "lib". - dnl On Solaris systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or - dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. - AC_REQUIRE([AC_CANONICAL_HOST]) - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl . - dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." - dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the - dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" -]) - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool 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 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool 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, see . -]) - -# serial 58 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_PREPARE_CC_BASENAME -# ----------------------- -m4_defun([_LT_PREPARE_CC_BASENAME], [ -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} -])# _LT_PREPARE_CC_BASENAME - - -# _LT_CC_BASENAME(CC) -# ------------------- -# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, -# but that macro is also expanded into generated libtool script, which -# arranges for $SED and $ECHO to be set by different means. -m4_defun([_LT_CC_BASENAME], -[m4_require([_LT_PREPARE_CC_BASENAME])dnl -AC_REQUIRE([_LT_DECL_SED])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl -func_cc_basename $1 -cc_basename=$func_cc_basename_result -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl -m4_require([_LT_CMD_TRUNCATE])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from 'configure', and 'config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# 'config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain=$ac_aux_dir/ltmain.sh -])# _LT_PROG_LTMAIN - - - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the 'libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to 'config.status' so that its -# declaration there will have the same value as in 'configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags='_LT_TAGS'dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into 'config.status', and then the shell code to quote escape them in -# for loops in 'config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# '#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test 0 = "$lt_write_fail" && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -'$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test 0 != $[#] -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try '$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try '$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test yes = "$silent" && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -_LT_COPYING -_LT_LIBTOOL_TAGS - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -_LT_PREPARE_MUNGE_PATH_LIST -_LT_PREPARE_CC_BASENAME - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS=$save_LDFLAGS - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[[012]][[,.]]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test yes = "$lt_cv_ld_force_load"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" - m4_if([$1], [CXX], -[ if test yes != "$lt_cv_apple_cc_single_mod"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script that will find a shell with a builtin -# printf (that we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case $ECHO in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], - [Search for dependent libraries within DIR (or the compiler's sysroot - if not specified).])], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([$with_sysroot]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and where our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - emul=elf - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test yes = "[$]$2"; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS -]) - -if test yes = "[$]$2"; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n "$lt_cv_sys_max_cmd_len"; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test yes = "$cross_compiling"; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen=shl_load], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen=dlopen], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links=nottested -if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test no = "$hard_links"; then - AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", - [Define to the sub-directory where libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then - - # We can hardcode non-existent directories. - if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && - test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || - test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_PREPARE_MUNGE_PATH_LIST -# --------------------------- -# Make sure func_munge_path_list() is defined correctly. -m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], -[[# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} -]])# _LT_PREPARE_PATH_LIST - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -AC_ARG_VAR([LT_SYS_LIBRARY_PATH], -[User-defined run-time library search path.]) - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a[(]lib.so.V[)]' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], - [Detected run-time system search path for libraries]) -_LT_DECL([], [configure_time_lt_sys_library_path], [2], - [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program that can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$1"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac]) -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program that can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test no = "$withval" || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], -[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi]) -rm -f conftest.i conftest2.i conftest.out]) -])# _LT_PATH_DD - - -# _LT_CMD_TRUNCATE -# ---------------- -# find command to truncate a binary pipe -m4_defun([_LT_CMD_TRUNCATE], -[m4_require([_LT_PATH_DD]) -AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], -[printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) -_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], - [Command to truncate a binary pipe]) -])# _LT_CMD_TRUNCATE - - -# _LT_CHECK_MAGIC_METHOD -# ---------------------- -# how to check for library dependencies -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_MAGIC_METHOD], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -AC_CACHE_CHECK([how to recognize dependent libraries], -lt_cv_deplibs_check_method, -[lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[[4-9]]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[[45]]*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi]) -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# _LT_DLL_DEF_P([FILE]) -# --------------------- -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with func_dll_def_p in the libtool script -AC_DEFUN([_LT_DLL_DEF_P], -[dnl - test DEF = "`$SED -n dnl - -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace - -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments - -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl - -e q dnl Only consider the first "real" line - $1`" dnl -])# _LT_DLL_DEF_P - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM=-lm) - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], - [Transform the output of nm into a list of symbols to manually relocate]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], - [The name lister interface]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - if test ia64 != "$host_cpu"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64, which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test yes = "$GCC"; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS=$save_LDFLAGS]) - if test yes = "$lt_cv_irix_exported_symbol"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' - fi - _LT_TAGVAR(link_all_deplibs, $1)=no - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - _LT_TAGVAR(ld_shlibs, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - osf3*) - if test yes = "$GCC"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting $shlibpath_var if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC=$CC -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report what library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC=$lt_save_CC -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_caught_CXX_error"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test yes = "$GXX"; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test yes = "$GXX"; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test yes = "$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='$wl' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - ;; - esac - - if test yes = "$GXX"; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test yes,no = "$GXX,$with_gnu_ld"; then - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no - - _LT_TAGVAR(GCC, $1)=$GXX - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test yes != "$_lt_caught_CXX_error" - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case @S|@2 in - .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; - *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)=$prev$p - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)=$p - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)=$p - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test no = "$F77"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_F77"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)=$G77 - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_F77" - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test no = "$FC"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_FC"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_FC" - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)=$LD -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)=$LD -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code=$lt_simple_compile_test_code - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f "$lt_ac_sed" && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test 10 -lt "$lt_ac_count" && break - lt_ac_count=`expr $lt_ac_count + 1` - if test "$lt_ac_count" -gt "$lt_ac_max"; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine what file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS - -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 8 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option '$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl 'shared' nor 'disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], - [_LT_WITH_AIX_SONAME([aix])]) - ]) -])# _LT_SET_OPTIONS - - - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the 'shared' and -# 'disable-shared' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the 'static' and -# 'disable-static' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the 'fast-install' -# and 'disable-fast-install' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_AIX_SONAME([DEFAULT]) -# ---------------------------------- -# implement the --with-aix-soname flag, and support the `aix-soname=aix' -# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT -# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. -m4_define([_LT_WITH_AIX_SONAME], -[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl -shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[[5-9]]*,yes) - AC_MSG_CHECKING([which variant of shared library versioning to provide]) - AC_ARG_WITH([aix-soname], - [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], - [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], - [case $withval in - aix|svr4|both) - ;; - *) - AC_MSG_ERROR([Unknown argument to --with-aix-soname]) - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname], - [AC_CACHE_VAL([lt_cv_with_aix_soname], - [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) - with_aix_soname=$lt_cv_with_aix_soname]) - AC_MSG_RESULT([$with_aix_soname]) - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - -_LT_DECL([], [shared_archive_member_spec], [0], - [Shared archive member basename, for filename based shared library versioning on AIX])dnl -])# _LT_WITH_AIX_SONAME - -LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) -LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) -LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' -# LT_INIT options. -# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [pic_mode=m4_default([$1], [default])]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) - -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59, which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) - -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 4179 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.6]) -m4_define([LT_PACKAGE_REVISION], [2.4.6]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.6' -macro_revision='2.4.6' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) - -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software -# Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) - -# nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014 Free Software Foundation, -dnl Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.50]) - -AC_DEFUN([AM_NLS], -[ - AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE([nls], - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT([$USE_NLS]) - AC_SUBST([USE_NLS]) -]) - -# po.m4 serial 24 (gettext-0.19) -dnl Copyright (C) 1995-2014 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.60]) - -dnl Checks for all prerequisites of the po subdirectory. -AC_DEFUN([AM_PO_SUBDIRS], -[ - AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AC_PROG_MKDIR_P])dnl - AC_REQUIRE([AC_PROG_SED])dnl - AC_REQUIRE([AM_NLS])dnl - - dnl Release version of the gettext macros. This is used to ensure that - dnl the gettext macros and po/Makefile.in.in are in sync. - AC_SUBST([GETTEXT_MACRO_VERSION], [0.19]) - - dnl Perform the following tests also if --disable-nls has been given, - dnl because they are needed for "make dist" to work. - - dnl Search for GNU msgfmt in the PATH. - dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. - dnl The second test excludes FreeBSD msgfmt. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) - - dnl Test whether it is GNU msgfmt >= 0.15. -changequote(,)dnl - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([MSGFMT_015]) -changequote(,)dnl - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([GMSGFMT_015]) - - dnl Search for GNU xgettext 0.12 or newer in the PATH. - dnl The first test excludes Solaris xgettext and early GNU xgettext versions. - dnl The second test excludes FreeBSD xgettext. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - dnl Remove leftover from FreeBSD xgettext call. - rm -f messages.po - - dnl Test whether it is GNU xgettext >= 0.15. -changequote(,)dnl - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac -changequote([,])dnl - AC_SUBST([XGETTEXT_015]) - - dnl Search for GNU msgmerge 0.11 or newer in the PATH. - AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, - [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) - - dnl Installation directories. - dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we - dnl have to define it here, so that it can be used in po/Makefile. - test -n "$localedir" || localedir='${datadir}/locale' - AC_SUBST([localedir]) - - dnl Support for AM_XGETTEXT_OPTION. - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) - - AC_CONFIG_COMMANDS([po-directories], [[ - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - gt_tab=`printf '\t'` - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done]], - [# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - ]) -]) - -dnl Postprocesses a Makefile in a directory containing PO files. -AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], -[ - # When this code is run, in config.status, two variables have already been - # set: - # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, - # - LINGUAS is the value of the environment variable LINGUAS at configure - # time. - -changequote(,)dnl - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - # Find a way to echo strings without interpreting backslash. - if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='echo' - else - if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='printf %s\n' - else - echo_func () { - cat < "$ac_file.tmp" - tab=`printf '\t'` - if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` - cat >> "$ac_file.tmp" < /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` - cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. - -AC_PREREQ([2.50]) - -# Search path for a program which passes the given test. - -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([AM_PATH_PROG_WITH_TEST], -[ -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL([ac_cv_path_$1], -[case "[$]$1" in - [[\\/]]* | ?:[[\\/]]*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in ifelse([$5], , $PATH, [$5]); do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then - AC_MSG_RESULT([$][$1]) -else - AC_MSG_RESULT([no]) -fi -AC_SUBST([$1])dnl -]) - -# Copyright (C) 2002-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.15' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- -# From Jim Meyering - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAINTAINER_MODE([DEFAULT-MODE]) -# ---------------------------------- -# Control maintainer-specific portions of Makefiles. -# Default is to disable them, unless 'enable' is passed literally. -# For symmetry, 'disable' may be passed as well. Anyway, the user -# can override the default with the --enable/--disable switch. -AC_DEFUN([AM_MAINTAINER_MODE], -[m4_case(m4_default([$1], [disable]), - [enable], [m4_define([am_maintainer_other], [disable])], - [disable], [m4_define([am_maintainer_other], [enable])], - [m4_define([am_maintainer_other], [enable]) - m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) -AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode's default is 'disable' unless 'enable' is passed - AC_ARG_ENABLE([maintainer-mode], - [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], - am_maintainer_other[ make rules and dependencies not useful - (and sometimes confusing) to the casual installer])], - [USE_MAINTAINER_MODE=$enableval], - [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) - AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST([MAINT])dnl -] -) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it is modern enough. -# If it is, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor 'install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in "make install-strip", and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004-2014 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -# -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([acinclude.m4]) diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 00000000..336463c9 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +autoreconf -v -f --install || exit 1 + +./configure \ + CFLAGS="-O2 -Wall" \ + --enable-man \ + --enable-maintainer-mode \ + --disable-shared \ + --without-libpam \ + --with-selinux \ + "$@" diff --git a/compile b/compile deleted file mode 100755 index a85b723c..00000000 --- a/compile +++ /dev/null @@ -1,347 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2012-10-14.11; # UTC - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# 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, 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, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/config.guess b/config.guess deleted file mode 100755 index 16592509..00000000 --- a/config.guess +++ /dev/null @@ -1,1441 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2015 Free Software Foundation, Inc. - -timestamp='2015-08-20' - -# This file 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 3 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, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2015 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "${UNAME_SYSTEM}" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval $set_cc_for_build - cat <<-EOF > $dummy.c - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ - echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown - ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; -esac - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/config.h.in b/config.h.in deleted file mode 100644 index 57367f0d..00000000 --- a/config.h.in +++ /dev/null @@ -1,603 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if account management tools should be installed setuid and - authenticate the callers */ -#undef ACCT_TOOLS_SETUID - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -#undef ENABLE_NLS - -/* Define to support the subordinate IDs. */ -#undef ENABLE_SUBIDS - -/* Path for faillog file. */ -#undef FAILLOG_FILE - -/* Define to the type of elements in the array set by `getgroups'. Usually - this is either `int' or `gid_t'. */ -#undef GETGROUPS_T - -/* max group name length */ -#undef GROUP_NAME_MAX_LENGTH - -/* Define to 1 if you have the declaration of 'pam_fail_delay' */ -#undef HAS_PAM_FAIL_DELAY - -/* Define to 1 if you have the header file. */ -#undef HAVE_ACL_LIBACL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_ATTR_ERROR_CONTEXT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_ATTR_LIBATTR_H - -/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the - CoreFoundation framework. */ -#undef HAVE_CFLOCALECOPYCURRENT - -/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in - the CoreFoundation framework. */ -#undef HAVE_CFPREFERENCESCOPYAPPVALUE - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#undef HAVE_DCGETTEXT - -/* Define to 1 if you have the declaration of `PAM_DATA_SILENT', and to 0 if - you don't. */ -#undef HAVE_DECL_PAM_DATA_SILENT - -/* Define to 1 if you have the declaration of `PAM_DELETE_CRED', and to 0 if - you don't. */ -#undef HAVE_DECL_PAM_DELETE_CRED - -/* Define to 1 if you have the declaration of `PAM_ESTABLISH_CRED', and to 0 - if you don't. */ -#undef HAVE_DECL_PAM_ESTABLISH_CRED - -/* Define to 1 if you have the declaration of `PAM_NEW_AUTHTOK_REQD', and to 0 - if you don't. */ -#undef HAVE_DECL_PAM_NEW_AUTHTOK_REQD - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_DIRENT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_ERRNO_H - -/* Define to 1 if you have the `fchmod' function. */ -#undef HAVE_FCHMOD - -/* Define to 1 if you have the `fchown' function. */ -#undef HAVE_FCHOWN - -/* Define to 1 if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the `fsync' function. */ -#undef HAVE_FSYNC - -/* Define to 1 if you have the `futimes' function. */ -#undef HAVE_FUTIMES - -/* Define to 1 if you have the `getaddrinfo' function. */ -#undef HAVE_GETADDRINFO - -/* Define to 1 if you have the `getgrgid_r' function. */ -#undef HAVE_GETGRGID_R - -/* Define to 1 if you have the `getgrnam_r' function. */ -#undef HAVE_GETGRNAM_R - -/* Define to 1 if you have the `getgroups' function. */ -#undef HAVE_GETGROUPS - -/* Define to 1 if you have the `gethostname' function. */ -#undef HAVE_GETHOSTNAME - -/* Define to 1 if you have the `getpwnam_r' function. */ -#undef HAVE_GETPWNAM_R - -/* Define to 1 if you have the `getpwuid_r' function. */ -#undef HAVE_GETPWUID_R - -/* Define to 1 if you have the `getspnam' function. */ -#undef HAVE_GETSPNAM - -/* Define to 1 if you have the `getspnam_r' function. */ -#undef HAVE_GETSPNAM_R - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#undef HAVE_GETTEXT - -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - -/* Define to 1 if you have the `getusershell' function. */ -#undef HAVE_GETUSERSHELL - -/* Define to 1 if you have the `getutent' function. */ -#undef HAVE_GETUTENT - -/* Define to 1 if you have the header file. */ -#undef HAVE_GSHADOW_H - -/* Define if you have the iconv() function and it works. */ -#undef HAVE_ICONV - -/* Define to 1 if you have the `initgroups' function. */ -#undef HAVE_INITGROUPS - -/* Define to 1 if you have the `innetgr' function. */ -#undef HAVE_INNETGR - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the `l64a' function. */ -#undef HAVE_L64A - -/* Define to 1 if you have the header file. */ -#undef HAVE_LASTLOG_H - -/* Define to 1 if you have the `lchown' function. */ -#undef HAVE_LCHOWN - -/* Define to 1 if you have the `lckpwdf' function. */ -#undef HAVE_LCKPWDF - -/* Defined if you have libcrack. */ -#undef HAVE_LIBCRACK - -/* Defined if you have the ts&szs cracklib. */ -#undef HAVE_LIBCRACK_HIST - -/* Defined if it includes *Pw functions. */ -#undef HAVE_LIBCRACK_PW - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define if struct lastlog has ll_host */ -#undef HAVE_LL_HOST - -/* Define to 1 if you have the header file. */ -#undef HAVE_LOCALE_H - -/* Define to 1 if you have the `lstat' function. */ -#undef HAVE_LSTAT - -/* Define to 1 if you have the `lutimes' function. */ -#undef HAVE_LUTIMES - -/* Define to 1 if you have the `memcpy' function. */ -#undef HAVE_MEMCPY - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - -/* Define to 1 if you have the `mkdir' function. */ -#undef HAVE_MKDIR - -/* Define to 1 if you have the header file, and it defines `DIR'. */ -#undef HAVE_NDIR_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_NETDB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_PATHS_H - -/* Define to 1 if you have the `putgrent' function. */ -#undef HAVE_PUTGRENT - -/* Define to 1 if you have the `putpwent' function. */ -#undef HAVE_PUTPWENT - -/* Define to 1 if you have the `putspent' function. */ -#undef HAVE_PUTSPENT - -/* Define to 1 if you have the `rename' function. */ -#undef HAVE_RENAME - -/* Define to 1 if you have the `rmdir' function. */ -#undef HAVE_RMDIR - -/* Define to 1 if you have the header file. */ -#undef HAVE_RPC_KEY_PROT_H - -/* Define to 1 if you have the `ruserok' function. */ -#undef HAVE_RUSEROK - -/* Define to 1 if you have the header file. */ -#undef HAVE_SECURITY_OPENPAM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SECURITY_PAM_MISC_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SELINUX_SELINUX_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SEMANAGE_SEMANAGE_H - -/* Define to 1 if you have the `setgroups' function. */ -#undef HAVE_SETGROUPS - -/* Define to 1 if you have the `sgetgrent' function. */ -#undef HAVE_SGETGRENT - -/* Define to 1 if you have the `sgetpwent' function. */ -#undef HAVE_SGETPWENT - -/* Define to 1 if you have the `sgetspent' function. */ -#undef HAVE_SGETSPENT - -/* Define to 1 if you have the header file. */ -#undef HAVE_SGTTY_H - -/* Have working shadow group support in libc */ -#undef HAVE_SHADOWGRP - -/* Define to 1 if you have the `sigaction' function. */ -#undef HAVE_SIGACTION - -/* Define to 1 if you have the `snprintf' function. */ -#undef HAVE_SNPRINTF - -/* Define to 1 if stdbool.h conforms to C99. */ -#undef HAVE_STDBOOL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP - -/* Define to 1 if you have the `strchr' function. */ -#undef HAVE_STRCHR - -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR - -/* Define to 1 if you have the `strftime' function. */ -#undef HAVE_STRFTIME - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if `st_atim' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIM - -/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIMENSEC - -/* Define to 1 if `st_mtim' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_MTIM - -/* Define to 1 if `st_mtimensec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_MTIMENSEC - -/* Define to 1 if `st_rdev' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_RDEV - -/* Define to 1 if `ut_addr' is a member of `struct utmpx'. */ -#undef HAVE_STRUCT_UTMPX_UT_ADDR - -/* Define to 1 if `ut_addr_v6' is a member of `struct utmpx'. */ -#undef HAVE_STRUCT_UTMPX_UT_ADDR_V6 - -/* Define to 1 if `ut_host' is a member of `struct utmpx'. */ -#undef HAVE_STRUCT_UTMPX_UT_HOST - -/* Define to 1 if `ut_name' is a member of `struct utmpx'. */ -#undef HAVE_STRUCT_UTMPX_UT_NAME - -/* Define to 1 if `ut_syslen' is a member of `struct utmpx'. */ -#undef HAVE_STRUCT_UTMPX_UT_SYSLEN - -/* Define to 1 if `ut_time' is a member of `struct utmpx'. */ -#undef HAVE_STRUCT_UTMPX_UT_TIME - -/* Define to 1 if `ut_xtime' is a member of `struct utmpx'. */ -#undef HAVE_STRUCT_UTMPX_UT_XTIME - -/* Define to 1 if `ut_addr' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_ADDR - -/* Define to 1 if `ut_addr_v6' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_ADDR_V6 - -/* Define to 1 if `ut_host' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_HOST - -/* Define to 1 if `ut_id' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_ID - -/* Define to 1 if `ut_name' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_NAME - -/* Define to 1 if `ut_syslen' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_SYSLEN - -/* Define to 1 if `ut_time' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_TIME - -/* Define to 1 if `ut_tv' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_TV - -/* Define to 1 if `ut_type' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_TYPE - -/* Define to 1 if `ut_user' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_USER - -/* Define to 1 if `ut_xtime' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_XTIME - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYSLOG_H - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_SYS_DIR_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IOCTL_H - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_SYS_NDIR_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have that is POSIX.1 compatible. */ -#undef HAVE_SYS_WAIT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_TCB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_TERMIOS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_TERMIO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_ULIMIT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `updwtmp' function. */ -#undef HAVE_UPDWTMP - -/* Define to 1 if you have the `updwtmpx' function. */ -#undef HAVE_UPDWTMPX - -/* Define to 1 if you have the header file. */ -#undef HAVE_UTIME_H - -/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */ -#undef HAVE_UTIME_NULL - -/* Define to 1 if you have the header file. */ -#undef HAVE_UTMPX_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UTMP_H - -/* Define to 1 if the system has the type `_Bool'. */ -#undef HAVE__BOOL - -/* Path for lastlog file. */ -#undef LASTLOG_FILE - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#undef LT_OBJDIR - -/* Location of system mail spool directory. */ -#undef MAIL_SPOOL_DIR - -/* Name of user's mail spool file if stored in user's home directory. */ -#undef MAIL_SPOOL_FILE - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Path to passwd program. */ -#undef PASSWD_PROGRAM - -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - -/* Define if login should support the -r flag for rlogind. */ -#undef RLOGIN - -/* Define to the ruserok() "success" return value (0 or 1). */ -#undef RUSEROK - -/* Define to support the shadow group file. */ -#undef SHADOWGRP - -/* PAM converstation to use */ -#undef SHADOW_PAM_CONVERSATION - -/* The default shell. */ -#undef SHELL - -/* The size of `gid_t', as computed by sizeof. */ -#undef SIZEOF_GID_T - -/* The size of `uid_t', as computed by sizeof. */ -#undef SIZEOF_UID_T - -/* Define to support S/Key logins. */ -#undef SKEY - -/* Define to support newer BSD S/Key API */ -#undef SKEY_BSD_STYLE - -/* Define to 1 if the `S_IS*' macros in do not work properly. */ -#undef STAT_MACROS_BROKEN - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to support /etc/suauth su access control. */ -#undef SU_ACCESS - -/* Define to 1 if you can safely include both and . */ -#undef TIME_WITH_SYS_TIME - -/* Define to 1 if your declares `struct tm'. */ -#undef TM_IN_SYS_TIME - -/* Define to support flushing of nscd caches */ -#undef USE_NSCD - -/* Define to support Pluggable Authentication Modules */ -#undef USE_PAM - -/* Define to allow the SHA256 and SHA512 password encryption algorithms */ -#undef USE_SHA_CRYPT - -/* Define to use syslog(). */ -#undef USE_SYSLOG - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Define if utmpx should be used */ -#undef USE_UTMPX - -/* Version number of package */ -#undef VERSION - -/* Build shadow with ACL support */ -#undef WITH_ACL - -/* Build shadow with Extended Attributes support */ -#undef WITH_ATTR - -/* Define if you want to enable Audit messages */ -#undef WITH_AUDIT - -/* Build shadow with SELinux support */ -#undef WITH_SELINUX - -/* Build shadow with tcb support (incomplete) */ -#undef WITH_TCB - -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - -/* Path for utmp file. */ -#undef _UTMP_FILE - -/* Path for wtmp file. */ -#undef _WTMP_FILE - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `int' if doesn't define. */ -#undef gid_t - -/* Define to `int' if does not define. */ -#undef mode_t - -/* Define to `long int' if does not define. */ -#undef off_t - -/* Define to `int' if does not define. */ -#undef pid_t - -/* Define to `int' if doesn't define. */ -#undef uid_t diff --git a/config.rpath b/config.rpath deleted file mode 100755 index c492a93b..00000000 --- a/config.rpath +++ /dev/null @@ -1,614 +0,0 @@ -#! /bin/sh -# Output a system dependent set of variables, describing how to set the -# run time search path of shared libraries in an executable. -# -# Copyright 1996-2006 Free Software Foundation, Inc. -# Taken from GNU libtool, 2001 -# Originally by Gordon Matzigkeit , 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -# should be set by the caller. -# -# The set of defined variables is at the end of this script. - -# Known limitations: -# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -# than 256 bytes, otherwise the compiler driver will dump core. The only -# known workaround is to choose shorter directory names for the build -# directory and/or the installation directory. - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -shrext=.so - -host="$1" -host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# Code taken from libtool.m4's _LT_CC_BASENAME. - -for cc_temp in $CC""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` - -# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. - -wl= -if test "$GCC" = yes; then - wl='-Wl,' -else - case "$host_os" in - aix*) - wl='-Wl,' - ;; - darwin*) - case $cc_basename in - xlc*) - wl='-Wl,' - ;; - esac - ;; - mingw* | pw32* | os2*) - ;; - hpux9* | hpux10* | hpux11*) - wl='-Wl,' - ;; - irix5* | irix6* | nonstopux*) - wl='-Wl,' - ;; - newsos6) - ;; - linux*) - case $cc_basename in - icc* | ecc*) - wl='-Wl,' - ;; - pgcc | pgf77 | pgf90) - wl='-Wl,' - ;; - ccc*) - wl='-Wl,' - ;; - como) - wl='-lopt=' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - wl='-Wl,' - ;; - esac - ;; - esac - ;; - osf3* | osf4* | osf5*) - wl='-Wl,' - ;; - sco3.2v5*) - ;; - solaris*) - wl='-Wl,' - ;; - sunos4*) - wl='-Qoption ld ' - ;; - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - wl='-Wl,' - ;; - sysv4*MP*) - ;; - unicos*) - wl='-Wl,' - ;; - uts4*) - ;; - esac -fi - -# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. - -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no - -case "$host_os" in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - case "$host_os" in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we cannot use - # them. - ld_shlibs=no - ;; - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - cygwin* | mingw* | pw32*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - interix3*) - hardcode_direct=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - netbsd*) - ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - hardcode_direct=yes - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - hardcode_libdir_flag_spec= - fi -else - case "$host_os" in - aix3*) - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - else - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - fi - hardcode_direct=yes - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - fi - # Begin _LT_AC_SYS_LIBPATH_AIX. - echo 'int main () { return 0; }' > conftest.c - ${CC} ${LDFLAGS} conftest.c -o conftest - aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - fi - if test -z "$aix_libpath"; then - aix_libpath="/usr/lib:/lib" - fi - rm -f conftest.c conftest - # End _LT_AC_SYS_LIBPATH_AIX. - if test "$aix_use_runtimelinking" = yes; then - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - else - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - fi - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - bsdi[45]*) - ;; - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - libext=lib - ;; - darwin* | rhapsody*) - hardcode_direct=no - if test "$GCC" = yes ; then - : - else - case $cc_basename in - xlc*) - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - dgux*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - freebsd1*) - ld_shlibs=no - ;; - freebsd2.2*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - freebsd2*) - hardcode_direct=yes - hardcode_minus_L=yes - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - hpux9*) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - hpux10*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - hpux11*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - ;; - *) - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - netbsd*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - newsos6) - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - openbsd*) - hardcode_direct=yes - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - else - case "$host_os" in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - osf3*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) - if test "$GCC" = yes; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - # Both cc and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - solaris*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - sunos4*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - sysv4) - case $host_vendor in - sni) - hardcode_direct=yes # is this really true??? - ;; - siemens) - hardcode_direct=no - ;; - motorola) - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - ;; - sysv4.3*) - ;; - sysv4*MP*) - if test -d /usr/nec; then - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) - ;; - sysv5* | sco3.2v5* | sco5v6*) - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - ;; - uts4*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - *) - ld_shlibs=no - ;; - esac -fi - -# Check dynamic linker characteristics -# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. -libname_spec='lib$name' -case "$host_os" in - aix3*) - ;; - aix4* | aix5*) - ;; - amigaos*) - ;; - beos*) - ;; - bsdi[45]*) - ;; - cygwin* | mingw* | pw32*) - shrext=.dll - ;; - darwin* | rhapsody*) - shrext=.dylib - ;; - dgux*) - ;; - freebsd1*) - ;; - kfreebsd*-gnu) - ;; - freebsd* | dragonfly*) - ;; - gnu*) - ;; - hpux9* | hpux10* | hpux11*) - case $host_cpu in - ia64*) - shrext=.so - ;; - hppa*64*) - shrext=.sl - ;; - *) - shrext=.sl - ;; - esac - ;; - interix3*) - ;; - irix5* | irix6* | nonstopux*) - case "$host_os" in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; - *) libsuff= shlibsuff= ;; - esac - ;; - esac - ;; - linux*oldld* | linux*aout* | linux*coff*) - ;; - linux*) - ;; - knetbsd*-gnu) - ;; - netbsd*) - ;; - newsos6) - ;; - nto-qnx*) - ;; - openbsd*) - ;; - os2*) - libname_spec='$name' - shrext=.dll - ;; - osf3* | osf4* | osf5*) - ;; - solaris*) - ;; - sunos4*) - ;; - sysv4 | sysv4.3*) - ;; - sysv4*MP*) - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - ;; - uts4*) - ;; -esac - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` -shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - -LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2015 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/configure b/configure deleted file mode 100755 index 6705b501..00000000 --- a/configure +++ /dev/null @@ -1,21472 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69. -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= -PACKAGE_URL= - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_header_list= -gt_needs= -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -USE_NLS_FALSE -USE_NLS_TRUE -POSUB -LTLIBINTL -LIBINTL -INTLLIBS -LTLIBICONV -LIBICONV -INTL_MACOSX_LIBS -XGETTEXT_EXTRA_OPTIONS -MSGMERGE -XGETTEXT_015 -XGETTEXT -GMSGFMT_015 -MSGFMT_015 -GMSGFMT -MSGFMT -GETTEXT_MACRO_VERSION -USE_NLS -LIBMD -LIBSKEY -ACCT_TOOLS_SETUID_FALSE -ACCT_TOOLS_SETUID_TRUE -USE_PAM_FALSE -USE_PAM_TRUE -LIBPAM -WITH_TCB_FALSE -WITH_TCB_TRUE -LIBTCB -LIBSEMANAGE -LIBSELINUX -LIBCRACK -LIBAUDIT -LIBATTR -LIBACL -LIBCRYPT -ENABLE_SUBIDS_FALSE -ENABLE_SUBIDS_TRUE -ENABLE_REGENERATE_MAN_FALSE -ENABLE_REGENERATE_MAN_TRUE -XMLCATALOG -XML_CATALOG_FILE -XSLTPROC -SHADOWGRP_FALSE -SHADOWGRP_TRUE -USE_SHA_CRYPT_FALSE -USE_SHA_CRYPT_TRUE -GROUP_NAME_MAX_LENGTH -LIBOBJS -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -ac_ct_AR -AR -DLLTOOL -OBJDUMP -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -LIBTOOL -YFLAGS -YACC -LN_S -MAINT -MAINTAINER_MODE_FALSE -MAINTAINER_MODE_TRUE -EGREP -GREP -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_dependency_tracking -enable_shared -enable_static -enable_maintainer_mode -with_pic -enable_fast_install -with_aix_soname -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_largefile -enable_shadowgrp -enable_man -enable_account_tools_setuid -enable_utmpx -enable_subordinate_ids -with_audit -with_libpam -with_selinux -with_acl -with_attr -with_skey -with_tcb -with_libcrack -with_sha_crypt -with_nscd -with_group_name_max_length -with_xml_catalog -enable_nls -enable_rpath -with_libiconv_prefix -with_libintl_prefix -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -YACC -YFLAGS -LT_SYS_LIBRARY_PATH' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-shared[=PKGS] build shared libraries [default=no] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-maintainer-mode - enable make rules and dependencies not useful (and - sometimes confusing) to the casual installer - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-largefile omit support for large files - --enable-shadowgrp enable shadow group support [default=yes] - --enable-man regenerate roff man pages from Docbook [default=no] - --enable-account-tools-setuid - Install the user and group management tools setuid - and authenticate the callers. This requires - --with-pam. - --enable-utmpx enable loggin in utmpx / wtmpx [default=no] - --enable-subordinate-ids - support subordinate ids [default=yes] - --disable-nls do not use Native Language Support - --disable-rpath do not hardcode runtime library paths - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, [default=aix]. - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot[=DIR] Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - --with-audit use auditing support [default=yes if found] - --with-libpam use libpam for PAM support [default=yes if found] - --with-selinux use SELinux support [default=yes if found] - --with-acl use ACL support [default=yes if found] - --with-attr use Extended Attribute support [default=yes if - found] - --with-skey use S/Key support [default=no] - --with-tcb use tcb support (incomplete) [default=yes if found] - --with-libcrack use libcrack [default=no] - --with-sha-crypt allow the SHA256 and SHA512 password encryption - algorithms [default=yes] - --with-nscd enable support for nscd [default=yes] - --with-group-name-max-length - set max group name length [default=16] - --with-xml-catalog=CATALOG - path to xml catalog to use - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib - --without-libiconv-prefix don't search for libiconv in includedir and libdir - --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib - --without-libintl-prefix don't search for libintl in includedir and libdir - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - YACC The `Yet Another Compiler Compiler' implementation to use. - Defaults to the first program found out of: `bison -y', `byacc', - `yacc'. - YFLAGS The list of arguments that will be passed by default to $YACC. - This script will default YFLAGS to the empty string to avoid a - default value of `-d' given by some make applications. - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to the package provider. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -configure -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type - -# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES -# ---------------------------------------------------- -# Tries to find if the field MEMBER exists in type AGGR, after including -# INCLUDES, setting cache variable VAR accordingly. -ac_fn_c_check_member () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 -$as_echo_n "checking for $2.$3... " >&6; } -if eval \${$4+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (sizeof ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - eval "$4=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$4 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_member - -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 &5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_decl -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -as_fn_append ac_header_list " utime.h" -gt_needs="$gt_needs need-ngettext" -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -am__api_version='1.15' - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - - PACKAGE=shadow - VERSION=4.4 - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - -ac_config_headers="$ac_config_headers config.h" - - -test "$prefix" = "NONE" && prefix="/usr" -test "$prefix" = "/usr" && exec_prefix="" - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = xyes; then : - MINIX=yes -else - MINIX= -fi - - - if test "$MINIX" = yes; then - -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h - - -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h - - -$as_echo "#define _MINIX 1" >>confdefs.h - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if ${ac_cv_safe_to_define___extensions__+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes -else - ac_cv_safe_to_define___extensions__=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - - - - -# Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_shared=no -fi - - - - - - - - - -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then : - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } - if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' -else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= -fi - - MAINT=$MAINTAINER_MODE_TRUE - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 -$as_echo_n "checking for library containing strerror... " >&6; } -if ${ac_cv_search_strerror+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char strerror (); -int -main () -{ -return strerror (); - ; - return 0; -} -_ACEOF -for ac_lib in '' cposix; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_strerror=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_strerror+:} false; then : - break -fi -done -if ${ac_cv_search_strerror+:} false; then : - -else - ac_cv_search_strerror=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 -$as_echo "$ac_cv_search_strerror" >&6; } -ac_res=$ac_cv_search_strerror -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -for ac_prog in 'bison -y' byacc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_YACC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$YACC"; then - ac_cv_prog_YACC="$YACC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_YACC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -YACC=$ac_cv_prog_YACC -if test -n "$YACC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 -$as_echo "$YACC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$YACC" && break -done -test -n "$YACC" || YACC="yacc" - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.6' -macro_revision='2.4.6' - - - - - - - - - - - - - -ltmain=$ac_aux_dir/ltmain.sh - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test yes != "$GCC"; then - reload_cmds=false - fi - ;; - darwin*) - if test yes = "$GCC"; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -if test -z "$lt_DD"; then - ac_path_lt_DD_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_lt_DD" || continue -if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi - $ac_path_lt_DD_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_lt_DD"; then - : - fi -else - ac_cv_path_lt_DD=$lt_DD -fi - -rm -f conftest.i conftest2.i conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } - - - - - - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - emul=elf - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `/usr/bin/file conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.[012][,.]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options - - - - enable_dlopen=no - - - enable_win32_dll=no - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - pic_mode=default -fi - - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } - -# Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_with_aix_soname=aix -fi - - with_aix_soname=$lt_cv_with_aix_soname -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/${ac_tool_prefix}file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC=$CC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - lt_prog_compiler_pic='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works"; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works"; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - export_dynamic_flag_spec='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='$wl--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test no = "$ld_shlibs"; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct=no - hardcode_direct_absolute=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' $wl-bernotok' - allow_undefined_flag=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test yes = "$lt_cv_prog_compiler__b"; then - archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' - fi - link_all_deplibs=no - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs=yes - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - else - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='$wl-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='$wl-z,text' - allow_undefined_flag='$wl-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test no = "$ld_shlibs" && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([A-Za-z]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' - postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' - postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test yes = "$hardcode_automatic"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && - test no != "$hardcode_minus_L"; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test relink = "$hardcode_action" || - test yes = "$inherit_rpath"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - - -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 -$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if eval \${$as_ac_Header+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_ac_Header=yes" -else - eval "$as_ac_Header=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_ac_Header - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 -_ACEOF - -ac_header_dirent=$ac_hdr; break -fi - -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 -$as_echo_n "checking for library containing opendir... " >&6; } -if ${ac_cv_search_opendir+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dir; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_opendir=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_opendir+:} false; then : - break -fi -done -if ${ac_cv_search_opendir+:} false; then : - -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 -$as_echo "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 -$as_echo_n "checking for library containing opendir... " >&6; } -if ${ac_cv_search_opendir+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' x; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_opendir=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_opendir+:} false; then : - break -fi -done -if ${ac_cv_search_opendir+:} false; then : - -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 -$as_echo "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 -$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if ${ac_cv_header_sys_wait_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) -#endif -#ifndef WIFEXITED -# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif - -int -main () -{ - int s; - wait (&s); - s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_sys_wait_h=yes -else - ac_cv_header_sys_wait_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 -$as_echo "$ac_cv_header_sys_wait_h" >&6; } -if test $ac_cv_header_sys_wait_h = yes; then - -$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if ${ac_cv_header_stdbool_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - /* See body of main program for 'e'. */ - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; - -int -main () -{ - - bool e = &s; - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdbool_h=yes -else - ac_cv_header_stdbool_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 -$as_echo "$ac_cv_header_stdbool_h" >&6; } - ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE__BOOL 1 -_ACEOF - - -fi - - -if test $ac_cv_header_stdbool_h = yes; then - -$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h - -fi - - -for ac_header in errno.h fcntl.h limits.h unistd.h sys/time.h utmp.h \ - utmpx.h termios.h termio.h sgtty.h sys/ioctl.h syslog.h paths.h \ - utime.h ulimit.h sys/resource.h gshadow.h lastlog.h \ - locale.h rpc/key_prot.h netdb.h acl/libacl.h attr/libattr.h \ - attr/error_context.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -ac_fn_c_check_header_mongrel "$LINENO" "shadow.h" "ac_cv_header_shadow_h" "$ac_includes_default" -if test "x$ac_cv_header_shadow_h" = xyes; then : - -else - as_fn_error $? "You need a libc with shadow.h" "$LINENO" 5 -fi - - - -for ac_func in l64a fchmod fchown fsync futimes getgroups gethostname getspnam \ - gettimeofday getusershell getutent initgroups lchown lckpwdf lstat \ - lutimes memcpy memset setgroups sigaction strchr updwtmp updwtmpx innetgr \ - getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r getaddrinfo \ - ruserok -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -# Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then : - enableval=$enable_largefile; -fi - -if test "$enable_largefile" != no; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 -$as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if ${ac_cv_sys_largefile_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF - if ac_fn_c_try_compile "$LINENO"; then : - break -fi -rm -f core conftest.err conftest.$ac_objext - CC="$CC -n32" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_largefile_CC=' -n32'; break -fi -rm -f core conftest.err conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 -$as_echo "$ac_cv_sys_largefile_CC" >&6; } - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if ${ac_cv_sys_file_offset_bits+:} false; then : - $as_echo_n "(cached) " >&6 -else - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_file_offset_bits=no; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _FILE_OFFSET_BITS 64 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_file_offset_bits=64; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_sys_file_offset_bits=unknown - break -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 -$as_echo "$ac_cv_sys_file_offset_bits" >&6; } -case $ac_cv_sys_file_offset_bits in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -_ACEOF -;; -esac -rm -rf conftest* - if test $ac_cv_sys_file_offset_bits = unknown; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 -$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if ${ac_cv_sys_large_files+:} false; then : - $as_echo_n "(cached) " >&6 -else - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_large_files=no; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _LARGE_FILES 1 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_large_files=1; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_sys_large_files=unknown - break -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 -$as_echo "$ac_cv_sys_large_files" >&6; } -case $ac_cv_sys_large_files in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _LARGE_FILES $ac_cv_sys_large_files -_ACEOF -;; -esac -rm -rf conftest* - fi - - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - -#ifndef __cplusplus - /* Ultrix mips cc rejects this sort of thing. */ - typedef int charset[2]; - const charset cs = { 0, 0 }; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this sort of thing. */ - char tx; - char *t = &tx; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; } bx; - struct s *b = &bx; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_const=yes -else - ac_cv_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -$as_echo "#define const /**/" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 -$as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if ${ac_cv_type_uid_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1; then : - ac_cv_type_uid_t=yes -else - ac_cv_type_uid_t=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 -$as_echo "$ac_cv_type_uid_t" >&6; } -if test $ac_cv_type_uid_t = no; then - -$as_echo "#define uid_t int" >>confdefs.h - - -$as_echo "#define gid_t int" >>confdefs.h - -fi - -ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define off_t long int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define pid_t int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" -if test "x$ac_cv_type_mode_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define mode_t int -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 -$as_echo_n "checking whether stat file-mode macros are broken... " >&6; } -if ${ac_cv_header_stat_broken+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -#if defined S_ISBLK && defined S_IFDIR -extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; -#endif - -#if defined S_ISBLK && defined S_IFCHR -extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; -#endif - -#if defined S_ISLNK && defined S_IFREG -extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; -#endif - -#if defined S_ISSOCK && defined S_IFREG -extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stat_broken=no -else - ac_cv_header_stat_broken=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 -$as_echo "$ac_cv_header_stat_broken" >&6; } -if test $ac_cv_header_stat_broken = yes; then - -$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h - -fi - -ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_RDEV 1 -_ACEOF - - -fi - -ac_fn_c_check_member "$LINENO" "struct stat" "st_atim" "ac_cv_member_struct_stat_st_atim" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_atim" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIM 1 -_ACEOF - - -fi - -ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 -_ACEOF - - -fi - -ac_fn_c_check_member "$LINENO" "struct stat" "st_mtim" "ac_cv_member_struct_stat_st_mtim" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_mtim" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_MTIM 1 -_ACEOF - - -fi - -ac_fn_c_check_member "$LINENO" "struct stat" "st_mtimensec" "ac_cv_member_struct_stat_st_mtimensec" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_mtimensec" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_MTIMENSEC 1 -_ACEOF - - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 -$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if ${ac_cv_header_time+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include - -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_time=yes -else - ac_cv_header_time=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 -$as_echo "$ac_cv_header_time" >&6; } -if test $ac_cv_header_time = yes; then - -$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if ${ac_cv_struct_tm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_tm=time.h -else - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - - -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_type" "ac_cv_member_struct_utmp_ut_type" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_type" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_TYPE 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_id" "ac_cv_member_struct_utmp_ut_id" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_id" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_ID 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_name" "ac_cv_member_struct_utmp_ut_name" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_name" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_NAME 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_user" "ac_cv_member_struct_utmp_ut_user" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_user" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_USER 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_host" "ac_cv_member_struct_utmp_ut_host" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_host" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_HOST 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_syslen" "ac_cv_member_struct_utmp_ut_syslen" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_syslen" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_SYSLEN 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_addr" "ac_cv_member_struct_utmp_ut_addr" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_addr" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_ADDR 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_addr_v6" "ac_cv_member_struct_utmp_ut_addr_v6" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_addr_v6" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_ADDR_V6 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_time" "ac_cv_member_struct_utmp_ut_time" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_time" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_TIME 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_xtime" "ac_cv_member_struct_utmp_ut_xtime" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_xtime" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_XTIME 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_tv" "ac_cv_member_struct_utmp_ut_tv" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_tv" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMP_UT_TV 1 -_ACEOF - - -fi - -if test "$ac_cv_header_utmpx_h" = "yes" && - test "$ac_cv_member_struct_utmp_ut_id" != "yes"; then - as_fn_error $? "Systems with UTMPX and no ut_id field in the utmp structure are not supported" "$LINENO" 5 -fi - -ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_name" "ac_cv_member_struct_utmpx_ut_name" "#include -" -if test "x$ac_cv_member_struct_utmpx_ut_name" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMPX_UT_NAME 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_host" "ac_cv_member_struct_utmpx_ut_host" "#include -" -if test "x$ac_cv_member_struct_utmpx_ut_host" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMPX_UT_HOST 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_syslen" "ac_cv_member_struct_utmpx_ut_syslen" "#include -" -if test "x$ac_cv_member_struct_utmpx_ut_syslen" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMPX_UT_SYSLEN 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_addr" "ac_cv_member_struct_utmpx_ut_addr" "#include -" -if test "x$ac_cv_member_struct_utmpx_ut_addr" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMPX_UT_ADDR 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_addr_v6" "ac_cv_member_struct_utmpx_ut_addr_v6" "#include -" -if test "x$ac_cv_member_struct_utmpx_ut_addr_v6" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMPX_UT_ADDR_V6 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_time" "ac_cv_member_struct_utmpx_ut_time" "#include -" -if test "x$ac_cv_member_struct_utmpx_ut_time" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMPX_UT_TIME 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_xtime" "ac_cv_member_struct_utmpx_ut_xtime" "#include -" -if test "x$ac_cv_member_struct_utmpx_ut_xtime" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_UTMPX_UT_XTIME 1 -_ACEOF - - -fi - - -if test "$ac_cv_header_lastlog_h" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ll_host in struct lastlog" >&5 -$as_echo_n "checking for ll_host in struct lastlog... " >&6; } -if ${ac_cv_struct_lastlog_ll_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -struct lastlog ll; char *cp = ll.ll_host; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_lastlog_ll_host=yes -else - ac_cv_struct_lastlog_ll_host=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_lastlog_ll_host" >&5 -$as_echo "$ac_cv_struct_lastlog_ll_host" >&6; } - - if test "$ac_cv_struct_lastlog_ll_host" = "yes"; then - -$as_echo "#define HAVE_LL_HOST 1" >>confdefs.h - - fi -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking type of array argument to getgroups" >&5 -$as_echo_n "checking type of array argument to getgroups... " >&6; } -if ${ac_cv_type_getgroups+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_type_getgroups=cross -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Thanks to Mike Rendell for this test. */ -$ac_includes_default -#define NGID 256 -#undef MAX -#define MAX(x, y) ((x) > (y) ? (x) : (y)) - -int -main () -{ - gid_t gidset[NGID]; - int i, n; - union { gid_t gval; long int lval; } val; - - val.lval = -1; - for (i = 0; i < NGID; i++) - gidset[i] = val.gval; - n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1, - gidset); - /* Exit non-zero if getgroups seems to require an array of ints. This - happens when gid_t is short int but getgroups modifies an array - of ints. */ - return n > 0 && gidset[n] != val.gval; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_type_getgroups=gid_t -else - ac_cv_type_getgroups=int -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -if test $ac_cv_type_getgroups = cross; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then : - ac_cv_type_getgroups=gid_t -else - ac_cv_type_getgroups=int -fi -rm -f conftest* - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_getgroups" >&5 -$as_echo "$ac_cv_type_getgroups" >&6; } - -cat >>confdefs.h <<_ACEOF -#define GETGROUPS_T $ac_cv_type_getgroups -_ACEOF - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 -$as_echo_n "checking return type of signal handlers... " >&6; } -if ${ac_cv_type_signal+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -return *(signal (0, 0)) (0) == 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_type_signal=int -else - ac_cv_type_signal=void -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 -$as_echo "$ac_cv_type_signal" >&6; } - -cat >>confdefs.h <<_ACEOF -#define RETSIGTYPE $ac_cv_type_signal -_ACEOF - - - - - - for ac_header in $ac_header_list -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether utime accepts a null argument" >&5 -$as_echo_n "checking whether utime accepts a null argument... " >&6; } -if ${ac_cv_func_utime_null+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest.data; >conftest.data -# Sequent interprets utime(file, 0) to mean use start of epoch. Wrong. -if test "$cross_compiling" = yes; then : - ac_cv_func_utime_null='guessing yes' -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default - #ifdef HAVE_UTIME_H - # include - #endif -int -main () -{ -struct stat s, t; - return ! (stat ("conftest.data", &s) == 0 - && utime ("conftest.data", 0) == 0 - && stat ("conftest.data", &t) == 0 - && t.st_mtime >= s.st_mtime - && t.st_mtime - s.st_mtime < 120); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_utime_null=yes -else - ac_cv_func_utime_null=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_utime_null" >&5 -$as_echo "$ac_cv_func_utime_null" >&6; } -if test "x$ac_cv_func_utime_null" != xno; then - ac_cv_func_utime_null=yes - -$as_echo "#define HAVE_UTIME_NULL 1" >>confdefs.h - -fi -rm -f conftest.data - -for ac_func in strftime -do : - ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime" -if test "x$ac_cv_func_strftime" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRFTIME 1 -_ACEOF - -else - # strftime is in -lintl on SCO UNIX. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5 -$as_echo_n "checking for strftime in -lintl... " >&6; } -if ${ac_cv_lib_intl_strftime+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lintl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char strftime (); -int -main () -{ -return strftime (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_intl_strftime=yes -else - ac_cv_lib_intl_strftime=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5 -$as_echo "$ac_cv_lib_intl_strftime" >&6; } -if test "x$ac_cv_lib_intl_strftime" = xyes; then : - $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h - -LIBS="-lintl $LIBS" -fi - -fi -done - -ac_fn_c_check_func "$LINENO" "mkdir" "ac_cv_func_mkdir" -if test "x$ac_cv_func_mkdir" = xyes; then : - $as_echo "#define HAVE_MKDIR 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" mkdir.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS mkdir.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "putgrent" "ac_cv_func_putgrent" -if test "x$ac_cv_func_putgrent" = xyes; then : - $as_echo "#define HAVE_PUTGRENT 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" putgrent.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS putgrent.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "putpwent" "ac_cv_func_putpwent" -if test "x$ac_cv_func_putpwent" = xyes; then : - $as_echo "#define HAVE_PUTPWENT 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" putpwent.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS putpwent.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "putspent" "ac_cv_func_putspent" -if test "x$ac_cv_func_putspent" = xyes; then : - $as_echo "#define HAVE_PUTSPENT 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" putspent.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS putspent.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "rename" "ac_cv_func_rename" -if test "x$ac_cv_func_rename" = xyes; then : - $as_echo "#define HAVE_RENAME 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" rename.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS rename.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "rmdir" "ac_cv_func_rmdir" -if test "x$ac_cv_func_rmdir" = xyes; then : - $as_echo "#define HAVE_RMDIR 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" rmdir.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS rmdir.$ac_objext" - ;; -esac - -fi - - -ac_fn_c_check_func "$LINENO" "sgetgrent" "ac_cv_func_sgetgrent" -if test "x$ac_cv_func_sgetgrent" = xyes; then : - $as_echo "#define HAVE_SGETGRENT 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" sgetgrent.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS sgetgrent.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "sgetpwent" "ac_cv_func_sgetpwent" -if test "x$ac_cv_func_sgetpwent" = xyes; then : - $as_echo "#define HAVE_SGETPWENT 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" sgetpwent.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS sgetpwent.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "sgetspent" "ac_cv_func_sgetspent" -if test "x$ac_cv_func_sgetspent" = xyes; then : - $as_echo "#define HAVE_SGETSPENT 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" sgetspent.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS sgetspent.$ac_objext" - ;; -esac - -fi - - -ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" -if test "x$ac_cv_func_snprintf" = xyes; then : - $as_echo "#define HAVE_SNPRINTF 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" snprintf.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS snprintf.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp" -if test "x$ac_cv_func_strcasecmp" = xyes; then : - $as_echo "#define HAVE_STRCASECMP 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" strcasecmp.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strcasecmp.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup" -if test "x$ac_cv_func_strdup" = xyes; then : - $as_echo "#define HAVE_STRDUP 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" strdup.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strdup.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror" -if test "x$ac_cv_func_strerror" = xyes; then : - $as_echo "#define HAVE_STRERROR 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" strerror.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strerror.$ac_objext" - ;; -esac - -fi - -ac_fn_c_check_func "$LINENO" "strstr" "ac_cv_func_strstr" -if test "x$ac_cv_func_strstr" = xyes; then : - $as_echo "#define HAVE_STRSTR 1" >>confdefs.h - -else - case " $LIBOBJS " in - *" strstr.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strstr.$ac_objext" - ;; -esac - -fi - - - -ac_fn_c_check_func "$LINENO" "setpgrp" "ac_cv_func_setpgrp" -if test "x$ac_cv_func_setpgrp" = xyes; then : - -fi - - -if test "$ac_cv_header_shadow_h" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working shadow group support" >&5 -$as_echo_n "checking for working shadow group support... " >&6; } -if ${ac_cv_libc_shadowgrp+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_libc_shadowgrp=no - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - main() - { - struct sgrp *sg = sgetsgent("test:x::"); - /* NYS libc on Red Hat 3.0.3 has broken shadow group support */ - return !sg || !sg->sg_adm || !sg->sg_mem; - } - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_libc_shadowgrp=yes -else - ac_cv_libc_shadowgrp=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_shadowgrp" >&5 -$as_echo "$ac_cv_libc_shadowgrp" >&6; } - - if test "$ac_cv_libc_shadowgrp" = "yes"; then - -$as_echo "#define HAVE_SHADOWGRP 1" >>confdefs.h - - fi -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of shared mail directory" >&5 -$as_echo_n "checking location of shared mail directory... " >&6; } -if ${shadow_cv_maildir+:} false; then : - $as_echo_n "(cached) " >&6 -else - for shadow_cv_maildir in /var/mail /var/spool/mail /usr/spool/mail /usr/mail none; do - if test -d $shadow_cv_maildir; then - break - fi -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $shadow_cv_maildir" >&5 -$as_echo "$shadow_cv_maildir" >&6; } -if test $shadow_cv_maildir != none; then - -cat >>confdefs.h <<_ACEOF -#define MAIL_SPOOL_DIR "$shadow_cv_maildir" -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of user mail file" >&5 -$as_echo_n "checking location of user mail file... " >&6; } -if ${shadow_cv_mailfile+:} false; then : - $as_echo_n "(cached) " >&6 -else - for shadow_cv_mailfile in Mailbox mailbox Mail mail .mail none; do - if test -f $HOME/$shadow_cv_mailfile; then - break - fi -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $shadow_cv_mailfile" >&5 -$as_echo "$shadow_cv_mailfile" >&6; } -if test $shadow_cv_mailfile != none; then - -cat >>confdefs.h <<_ACEOF -#define MAIL_SPOOL_FILE "$shadow_cv_mailfile" -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of utmp" >&5 -$as_echo_n "checking location of utmp... " >&6; } -if ${shadow_cv_utmpdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - for shadow_cv_utmpdir in /var/run /var/adm /usr/adm /etc none; do - if test -f $shadow_cv_utmpdir/utmp; then - break - fi -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $shadow_cv_utmpdir" >&5 -$as_echo "$shadow_cv_utmpdir" >&6; } -if test "$shadow_cv_utmpdir" = "none"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: utmp file not found" >&5 -$as_echo "$as_me: WARNING: utmp file not found" >&2;} -fi - -cat >>confdefs.h <<_ACEOF -#define _UTMP_FILE "$shadow_cv_utmpdir/utmp" -_ACEOF - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of faillog/lastlog/wtmp" >&5 -$as_echo_n "checking location of faillog/lastlog/wtmp... " >&6; } -if ${shadow_cv_logdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - for shadow_cv_logdir in /var/log /var/adm /usr/adm /etc; do - if test -d $shadow_cv_logdir; then - break - fi -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $shadow_cv_logdir" >&5 -$as_echo "$shadow_cv_logdir" >&6; } - -cat >>confdefs.h <<_ACEOF -#define _WTMP_FILE "$shadow_cv_logdir/wtmp" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define LASTLOG_FILE "$shadow_cv_logdir/lastlog" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define FAILLOG_FILE "$shadow_cv_logdir/faillog" -_ACEOF - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of the passwd program" >&5 -$as_echo_n "checking location of the passwd program... " >&6; } -if ${shadow_cv_passwd_dir+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -f /usr/bin/passwd; then - shadow_cv_passwd_dir=/usr/bin -else - shadow_cv_passwd_dir=/bin -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $shadow_cv_passwd_dir" >&5 -$as_echo "$shadow_cv_passwd_dir" >&6; } - -cat >>confdefs.h <<_ACEOF -#define PASSWD_PROGRAM "$shadow_cv_passwd_dir/passwd" -_ACEOF - - - -$as_echo "#define USE_SYSLOG 1" >>confdefs.h - -if test "$ac_cv_func_ruserok" = "yes"; then - -$as_echo "#define RLOGIN 1" >>confdefs.h - - -$as_echo "#define RUSEROK 0" >>confdefs.h - -fi - -# Check whether --enable-shadowgrp was given. -if test "${enable_shadowgrp+set}" = set; then : - enableval=$enable_shadowgrp; case "${enableval}" in - yes) enable_shadowgrp="yes" ;; - no) enable_shadowgrp="no" ;; - *) as_fn_error $? "bad value ${enableval} for --enable-shadowgrp" "$LINENO" 5 ;; - esac -else - enable_shadowgrp="yes" - -fi - - -# Check whether --enable-man was given. -if test "${enable_man+set}" = set; then : - enableval=$enable_man; enable_man="${enableval}" -else - enable_man="no" - -fi - - -# Check whether --enable-account-tools-setuid was given. -if test "${enable_account_tools_setuid+set}" = set; then : - enableval=$enable_account_tools_setuid; case "${enableval}" in - yes) enable_acct_tools_setuid="yes" ;; - no) enable_acct_tools_setuid="no" ;; - *) as_fn_error $? "bad value ${enableval} for --enable-account-tools-setuid" "$LINENO" 5 - ;; - esac -else - enable_acct_tools_setuid="maybe" - -fi - - -# Check whether --enable-utmpx was given. -if test "${enable_utmpx+set}" = set; then : - enableval=$enable_utmpx; case "${enableval}" in - yes) enable_utmpx="yes" ;; - no) enable_utmpx="no" ;; - *) as_fn_error $? "bad value ${enableval} for --enable-utmpx" "$LINENO" 5 ;; - esac -else - enable_utmpx="no" - -fi - - -# Check whether --enable-subordinate-ids was given. -if test "${enable_subordinate_ids+set}" = set; then : - enableval=$enable_subordinate_ids; enable_subids="${enableval}" -else - enable_subids="maybe" - -fi - - - -# Check whether --with-audit was given. -if test "${with_audit+set}" = set; then : - withval=$with_audit; with_audit=$withval -else - with_audit=maybe -fi - - -# Check whether --with-libpam was given. -if test "${with_libpam+set}" = set; then : - withval=$with_libpam; with_libpam=$withval -else - with_libpam=maybe -fi - - -# Check whether --with-selinux was given. -if test "${with_selinux+set}" = set; then : - withval=$with_selinux; with_selinux=$withval -else - with_selinux=maybe -fi - - -# Check whether --with-acl was given. -if test "${with_acl+set}" = set; then : - withval=$with_acl; with_acl=$withval -else - with_acl=maybe -fi - - -# Check whether --with-attr was given. -if test "${with_attr+set}" = set; then : - withval=$with_attr; with_attr=$withval -else - with_attr=maybe -fi - - -# Check whether --with-skey was given. -if test "${with_skey+set}" = set; then : - withval=$with_skey; with_skey=$withval -else - with_skey=no -fi - - -# Check whether --with-tcb was given. -if test "${with_tcb+set}" = set; then : - withval=$with_tcb; with_tcb=$withval -else - with_tcb=maybe -fi - - -# Check whether --with-libcrack was given. -if test "${with_libcrack+set}" = set; then : - withval=$with_libcrack; with_libcrack=$withval -else - with_libcrack=no -fi - - -# Check whether --with-sha-crypt was given. -if test "${with_sha_crypt+set}" = set; then : - withval=$with_sha_crypt; with_sha_crypt=$withval -else - with_sha_crypt=yes -fi - - -# Check whether --with-nscd was given. -if test "${with_nscd+set}" = set; then : - withval=$with_nscd; with_nscd=$withval -else - with_nscd=yes -fi - - -# Check whether --with-group-name-max-length was given. -if test "${with_group_name_max_length+set}" = set; then : - withval=$with_group_name_max_length; with_group_name_max_length=$withval -else - with_group_name_max_length=yes -fi - - -if test "$with_group_name_max_length" = "no" ; then - with_group_name_max_length=0 -elif test "$with_group_name_max_length" = "yes" ; then - with_group_name_max_length=16 -fi - -cat >>confdefs.h <<_ACEOF -#define GROUP_NAME_MAX_LENGTH $with_group_name_max_length -_ACEOF - - -GROUP_NAME_MAX_LENGTH="$with_group_name_max_length" - - if test "x$with_sha_crypt" = "xyes"; then - USE_SHA_CRYPT_TRUE= - USE_SHA_CRYPT_FALSE='#' -else - USE_SHA_CRYPT_TRUE='#' - USE_SHA_CRYPT_FALSE= -fi - -if test "$with_sha_crypt" = "yes"; then - -$as_echo "#define USE_SHA_CRYPT 1" >>confdefs.h - -fi - -if test "$with_nscd" = "yes"; then - ac_fn_c_check_func "$LINENO" "posix_spawn" "ac_cv_func_posix_spawn" -if test "x$ac_cv_func_posix_spawn" = xyes; then : - -$as_echo "#define USE_NSCD 1" >>confdefs.h - -else - as_fn_error $? "posix_spawn is needed for nscd support" "$LINENO" 5 -fi - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntoa" >&5 -$as_echo_n "checking for library containing inet_ntoa... " >&6; } -if ${ac_cv_search_inet_ntoa+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char inet_ntoa (); -int -main () -{ -return inet_ntoa (); - ; - return 0; -} -_ACEOF -for ac_lib in '' inet; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_inet_ntoa=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_inet_ntoa+:} false; then : - break -fi -done -if ${ac_cv_search_inet_ntoa+:} false; then : - -else - ac_cv_search_inet_ntoa=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntoa" >&5 -$as_echo "$ac_cv_search_inet_ntoa" >&6; } -ac_res=$ac_cv_search_inet_ntoa -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5 -$as_echo_n "checking for library containing socket... " >&6; } -if ${ac_cv_search_socket+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char socket (); -int -main () -{ -return socket (); - ; - return 0; -} -_ACEOF -for ac_lib in '' socket; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_socket=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_socket+:} false; then : - break -fi -done -if ${ac_cv_search_socket+:} false; then : - -else - ac_cv_search_socket=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5 -$as_echo "$ac_cv_search_socket" >&6; } -ac_res=$ac_cv_search_socket -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 -$as_echo_n "checking for library containing gethostbyname... " >&6; } -if ${ac_cv_search_gethostbyname+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostbyname (); -int -main () -{ -return gethostbyname (); - ; - return 0; -} -_ACEOF -for ac_lib in '' nsl; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_gethostbyname=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_gethostbyname+:} false; then : - break -fi -done -if ${ac_cv_search_gethostbyname+:} false; then : - -else - ac_cv_search_gethostbyname=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 -$as_echo "$ac_cv_search_gethostbyname" >&6; } -ac_res=$ac_cv_search_gethostbyname -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - - -if test "$enable_shadowgrp" = "yes"; then - -$as_echo "#define SHADOWGRP 1" >>confdefs.h - -fi - if test "x$enable_shadowgrp" = "xyes"; then - SHADOWGRP_TRUE= - SHADOWGRP_FALSE='#' -else - SHADOWGRP_TRUE='#' - SHADOWGRP_FALSE= -fi - - -if test "$enable_man" = "yes"; then - # Extract the first word of "xsltproc", so it can be a program name with args. -set dummy xsltproc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XSLTPROC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $XSLTPROC in - [\\/]* | ?:[\\/]*) - ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -XSLTPROC=$ac_cv_path_XSLTPROC -if test -n "$XSLTPROC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5 -$as_echo "$XSLTPROC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test -z "$XSLTPROC"; then - enable_man=no - fi - - - # check for the presence of the XML catalog - -# Check whether --with-xml-catalog was given. -if test "${with_xml_catalog+set}" = set; then : - withval=$with_xml_catalog; -else - with_xml_catalog=/etc/xml/catalog -fi - - jh_found_xmlcatalog=true - XML_CATALOG_FILE="$with_xml_catalog" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML catalog ($XML_CATALOG_FILE)" >&5 -$as_echo_n "checking for XML catalog ($XML_CATALOG_FILE)... " >&6; } - if test -f "$XML_CATALOG_FILE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 -$as_echo "found" >&6; } - else - jh_found_xmlcatalog=false - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } - fi - - # check for the xmlcatalog program - # Extract the first word of "xmlcatalog", so it can be a program name with args. -set dummy xmlcatalog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XMLCATALOG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $XMLCATALOG in - [\\/]* | ?:[\\/]*) - ac_cv_path_XMLCATALOG="$XMLCATALOG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_XMLCATALOG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_XMLCATALOG" && ac_cv_path_XMLCATALOG="no" - ;; -esac -fi -XMLCATALOG=$ac_cv_path_XMLCATALOG -if test -n "$XMLCATALOG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLCATALOG" >&5 -$as_echo "$XMLCATALOG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "x$XMLCATALOG" = xno; then - jh_found_xmlcatalog=false - fi - - if $jh_found_xmlcatalog; then - : - else - : - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DocBook XML DTD V4.1.2 in XML catalog" >&5 -$as_echo_n "checking for DocBook XML DTD V4.1.2 in XML catalog... " >&6; } - if $jh_found_xmlcatalog && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$XMLCATALOG --noout \"\$XML_CATALOG_FILE\" \"-//OASIS//DTD DocBook XML V4.1.2//EN\" >&2"; } >&5 - ($XMLCATALOG --noout "$XML_CATALOG_FILE" "-//OASIS//DTD DocBook XML V4.1.2//EN" >&2) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 -$as_echo "found" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } - enable_man=no - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DocBook XSL Stylesheets >= 1.70.1 in XML catalog" >&5 -$as_echo_n "checking for DocBook XSL Stylesheets >= 1.70.1 in XML catalog... " >&6; } - if $jh_found_xmlcatalog && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$XMLCATALOG --noout \"\$XML_CATALOG_FILE\" \"http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\" >&2"; } >&5 - ($XMLCATALOG --noout "$XML_CATALOG_FILE" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" >&2) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 -$as_echo "found" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } - enable_man=no - fi - -fi - if test "x$enable_man" != "xno"; then - ENABLE_REGENERATE_MAN_TRUE= - ENABLE_REGENERATE_MAN_FALSE='#' -else - ENABLE_REGENERATE_MAN_TRUE='#' - ENABLE_REGENERATE_MAN_FALSE= -fi - - -if test "$enable_subids" != "no"; then - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of uid_t" >&5 -$as_echo_n "checking size of uid_t... " >&6; } -if ${ac_cv_sizeof_uid_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (uid_t))" "ac_cv_sizeof_uid_t" "#include \"sys/types.h\" -"; then : - -else - if test "$ac_cv_type_uid_t" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (uid_t) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_uid_t=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_uid_t" >&5 -$as_echo "$ac_cv_sizeof_uid_t" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UID_T $ac_cv_sizeof_uid_t -_ACEOF - - - # The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of gid_t" >&5 -$as_echo_n "checking size of gid_t... " >&6; } -if ${ac_cv_sizeof_gid_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (gid_t))" "ac_cv_sizeof_gid_t" "#include \"sys/types.h\" -"; then : - -else - if test "$ac_cv_type_gid_t" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (gid_t) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_gid_t=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_gid_t" >&5 -$as_echo "$ac_cv_sizeof_gid_t" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_GID_T $ac_cv_sizeof_gid_t -_ACEOF - - - - if test "$ac_cv_sizeof_uid_t" -ge 4 && test "$ac_cv_sizeof_gid_t" -ge 4; then - -$as_echo "#define ENABLE_SUBIDS 1" >>confdefs.h - - enable_subids="yes" - else - if test "x$enable_subids" = "xyes"; then - as_fn_error $? "Cannot enable support the subordinate IDs on systems where gid_t or uid_t has less than 32 bits" "$LINENO" 5 - fi - enable_subids="no" - fi -fi - if test "x$enable_subids" != "xno"; then - ENABLE_SUBIDS_TRUE= - ENABLE_SUBIDS_FALSE='#' -else - ENABLE_SUBIDS_TRUE='#' - ENABLE_SUBIDS_FALSE= -fi - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 -$as_echo_n "checking for crypt in -lcrypt... " >&6; } -if ${ac_cv_lib_crypt_crypt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrypt $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char crypt (); -int -main () -{ -return crypt (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_crypt_crypt=yes -else - ac_cv_lib_crypt_crypt=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5 -$as_echo "$ac_cv_lib_crypt_crypt" >&6; } -if test "x$ac_cv_lib_crypt_crypt" = xyes; then : - LIBCRYPT=-lcrypt -else - as_fn_error $? "crypt() not found" "$LINENO" 5 -fi - - - -if test "$with_acl" != "no"; then - for ac_header in acl/libacl.h attr/error_context.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - acl_header="yes" -else - acl_header="no" -fi - -done - - if test "$acl_header$with_acl" = "noyes" ; then - as_fn_error $? "acl/libacl.h or attr/error_context.h is missing" "$LINENO" 5 - elif test "$acl_header" = "yes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perm_copy_file in -lacl" >&5 -$as_echo_n "checking for perm_copy_file in -lacl... " >&6; } -if ${ac_cv_lib_acl_perm_copy_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lacl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char perm_copy_file (); -int -main () -{ -return perm_copy_file (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_acl_perm_copy_file=yes -else - ac_cv_lib_acl_perm_copy_file=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_acl_perm_copy_file" >&5 -$as_echo "$ac_cv_lib_acl_perm_copy_file" >&6; } -if test "x$ac_cv_lib_acl_perm_copy_file" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perm_copy_fd in -lacl" >&5 -$as_echo_n "checking for perm_copy_fd in -lacl... " >&6; } -if ${ac_cv_lib_acl_perm_copy_fd+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lacl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char perm_copy_fd (); -int -main () -{ -return perm_copy_fd (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_acl_perm_copy_fd=yes -else - ac_cv_lib_acl_perm_copy_fd=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_acl_perm_copy_fd" >&5 -$as_echo "$ac_cv_lib_acl_perm_copy_fd" >&6; } -if test "x$ac_cv_lib_acl_perm_copy_fd" = xyes; then : - acl_lib="yes" -else - acl_lib="no" -fi - -else - acl_lib="no" -fi - - if test "$acl_lib$with_acl" = "noyes" ; then - as_fn_error $? "libacl not found" "$LINENO" 5 - elif test "$acl_lib" = "no" ; then - with_acl="no" - else - -$as_echo "#define WITH_ACL 1" >>confdefs.h - - LIBACL="-lacl" - with_acl="yes" - fi - else - with_acl="no" - fi -fi - - -if test "$with_attr" != "no"; then - for ac_header in attr/libattr.h attr/error_context.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - attr_header="yes" -else - attr_header="no" -fi - -done - - if test "$attr_header$with_attr" = "noyes" ; then - as_fn_error $? "attr/libattr.h or attr/error_context.h is missing" "$LINENO" 5 - elif test "$attr_header" = "yes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for attr_copy_file in -lattr" >&5 -$as_echo_n "checking for attr_copy_file in -lattr... " >&6; } -if ${ac_cv_lib_attr_attr_copy_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lattr $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char attr_copy_file (); -int -main () -{ -return attr_copy_file (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_attr_attr_copy_file=yes -else - ac_cv_lib_attr_attr_copy_file=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_attr_copy_file" >&5 -$as_echo "$ac_cv_lib_attr_attr_copy_file" >&6; } -if test "x$ac_cv_lib_attr_attr_copy_file" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for attr_copy_fd in -lattr" >&5 -$as_echo_n "checking for attr_copy_fd in -lattr... " >&6; } -if ${ac_cv_lib_attr_attr_copy_fd+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lattr $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char attr_copy_fd (); -int -main () -{ -return attr_copy_fd (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_attr_attr_copy_fd=yes -else - ac_cv_lib_attr_attr_copy_fd=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_attr_copy_fd" >&5 -$as_echo "$ac_cv_lib_attr_attr_copy_fd" >&6; } -if test "x$ac_cv_lib_attr_attr_copy_fd" = xyes; then : - attr_lib="yes" -else - attr_lib="no" -fi - -else - attr_lib="no" -fi - - if test "$attr_lib$with_attr" = "noyes" ; then - as_fn_error $? "libattr not found" "$LINENO" 5 - elif test "$attr_lib" = "no" ; then - with_attr="no" - else - -$as_echo "#define WITH_ATTR 1" >>confdefs.h - - LIBATTR="-lattr" - with_attr="yes" - fi - else - with_attr="no" - fi -fi - - -if test "$with_audit" != "no"; then - ac_fn_c_check_header_mongrel "$LINENO" "libaudit.h" "ac_cv_header_libaudit_h" "$ac_includes_default" -if test "x$ac_cv_header_libaudit_h" = xyes; then : - audit_header="yes" -else - audit_header="no" -fi - - - if test "$audit_header$with_audit" = "noyes" ; then - as_fn_error $? "libaudit.h is missing" "$LINENO" 5 - elif test "$audit_header" = "yes"; then - ac_fn_c_check_decl "$LINENO" "AUDIT_ADD_USER" "ac_cv_have_decl_AUDIT_ADD_USER" "#include -" -if test "x$ac_cv_have_decl_AUDIT_ADD_USER" = xyes; then : - -else - audit_header="no" -fi - - ac_fn_c_check_decl "$LINENO" "AUDIT_DEL_USER" "ac_cv_have_decl_AUDIT_DEL_USER" "#include -" -if test "x$ac_cv_have_decl_AUDIT_DEL_USER" = xyes; then : - -else - audit_header="no" -fi - - ac_fn_c_check_decl "$LINENO" "AUDIT_ADD_GROUP" "ac_cv_have_decl_AUDIT_ADD_GROUP" "#include -" -if test "x$ac_cv_have_decl_AUDIT_ADD_GROUP" = xyes; then : - -else - audit_header="no" -fi - - ac_fn_c_check_decl "$LINENO" "AUDIT_DEL_GROUP" "ac_cv_have_decl_AUDIT_DEL_GROUP" "#include -" -if test "x$ac_cv_have_decl_AUDIT_DEL_GROUP" = xyes; then : - -else - audit_header="no" -fi - - if test "$audit_header$with_audit" = "noyes" ; then - as_fn_error $? "AUDIT_ADD_USER AUDIT_DEL_USER AUDIT_ADD_GROUP or AUDIT_DEL_GROUP missing from libaudit.h" "$LINENO" 5 - fi - fi - if test "$audit_header" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for audit_log_acct_message in -laudit" >&5 -$as_echo_n "checking for audit_log_acct_message in -laudit... " >&6; } -if ${ac_cv_lib_audit_audit_log_acct_message+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-laudit $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char audit_log_acct_message (); -int -main () -{ -return audit_log_acct_message (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_audit_audit_log_acct_message=yes -else - ac_cv_lib_audit_audit_log_acct_message=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_audit_audit_log_acct_message" >&5 -$as_echo "$ac_cv_lib_audit_audit_log_acct_message" >&6; } -if test "x$ac_cv_lib_audit_audit_log_acct_message" = xyes; then : - audit_lib="yes" -else - audit_lib="no" -fi - - if test "$audit_lib$with_audit" = "noyes" ; then - as_fn_error $? "libaudit not found" "$LINENO" 5 - elif test "$audit_lib" = "no" ; then - with_audit="no" - else - -$as_echo "#define WITH_AUDIT 1" >>confdefs.h - - LIBAUDIT="-laudit" - with_audit="yes" - fi - else - with_audit="no" - fi -fi - - -if test "$with_libcrack" = "yes"; then - echo "checking cracklib flavour, don't be surprised by the results" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FascistCheck in -lcrack" >&5 -$as_echo_n "checking for FascistCheck in -lcrack... " >&6; } -if ${ac_cv_lib_crack_FascistCheck+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrack $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char FascistCheck (); -int -main () -{ -return FascistCheck (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_crack_FascistCheck=yes -else - ac_cv_lib_crack_FascistCheck=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crack_FascistCheck" >&5 -$as_echo "$ac_cv_lib_crack_FascistCheck" >&6; } -if test "x$ac_cv_lib_crack_FascistCheck" = xyes; then : - LIBCRACK=-lcrack -$as_echo "#define HAVE_LIBCRACK 1" >>confdefs.h - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FascistHistory in -lcrack" >&5 -$as_echo_n "checking for FascistHistory in -lcrack... " >&6; } -if ${ac_cv_lib_crack_FascistHistory+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrack $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char FascistHistory (); -int -main () -{ -return FascistHistory (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_crack_FascistHistory=yes -else - ac_cv_lib_crack_FascistHistory=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crack_FascistHistory" >&5 -$as_echo "$ac_cv_lib_crack_FascistHistory" >&6; } -if test "x$ac_cv_lib_crack_FascistHistory" = xyes; then : - -$as_echo "#define HAVE_LIBCRACK_HIST 1" >>confdefs.h - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FascistHistoryPw in -lcrack" >&5 -$as_echo_n "checking for FascistHistoryPw in -lcrack... " >&6; } -if ${ac_cv_lib_crack_FascistHistoryPw+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrack $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char FascistHistoryPw (); -int -main () -{ -return FascistHistoryPw (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_crack_FascistHistoryPw=yes -else - ac_cv_lib_crack_FascistHistoryPw=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crack_FascistHistoryPw" >&5 -$as_echo "$ac_cv_lib_crack_FascistHistoryPw" >&6; } -if test "x$ac_cv_lib_crack_FascistHistoryPw" = xyes; then : - -$as_echo "#define HAVE_LIBCRACK_PW 1" >>confdefs.h - -fi - -fi - - - -if test "$with_selinux" != "no"; then - for ac_header in selinux/selinux.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default" -if test "x$ac_cv_header_selinux_selinux_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SELINUX_SELINUX_H 1 -_ACEOF - selinux_header="yes" -else - selinux_header="no" -fi - -done - - if test "$selinux_header$with_selinux" = "noyes" ; then - as_fn_error $? "selinux/selinux.h is missing" "$LINENO" 5 - fi - - for ac_header in semanage/semanage.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "semanage/semanage.h" "ac_cv_header_semanage_semanage_h" "$ac_includes_default" -if test "x$ac_cv_header_semanage_semanage_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SEMANAGE_SEMANAGE_H 1 -_ACEOF - semanage_header="yes" -else - semanage_header="no" -fi - -done - - if test "$semanage_header$with_selinux" = "noyes" ; then - as_fn_error $? "semanage/semanage.h is missing" "$LINENO" 5 - fi - - if test "$selinux_header$semanage_header" = "yesyes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5 -$as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; } -if ${ac_cv_lib_selinux_is_selinux_enabled+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lselinux $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char is_selinux_enabled (); -int -main () -{ -return is_selinux_enabled (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_selinux_is_selinux_enabled=yes -else - ac_cv_lib_selinux_is_selinux_enabled=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5 -$as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; } -if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then : - selinux_lib="yes" -else - selinux_lib="no" -fi - - if test "$selinux_lib$with_selinux" = "noyes" ; then - as_fn_error $? "libselinux not found" "$LINENO" 5 - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for semanage_connect in -lsemanage" >&5 -$as_echo_n "checking for semanage_connect in -lsemanage... " >&6; } -if ${ac_cv_lib_semanage_semanage_connect+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsemanage $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char semanage_connect (); -int -main () -{ -return semanage_connect (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_semanage_semanage_connect=yes -else - ac_cv_lib_semanage_semanage_connect=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_semanage_semanage_connect" >&5 -$as_echo "$ac_cv_lib_semanage_semanage_connect" >&6; } -if test "x$ac_cv_lib_semanage_semanage_connect" = xyes; then : - semanage_lib="yes" -else - semanage_lib="no" -fi - - if test "$semanage_lib$with_selinux" = "noyes" ; then - as_fn_error $? "libsemanage not found" "$LINENO" 5 - fi - - if test "$selinux_lib$semanage_lib" == "yesyes" ; then - -$as_echo "#define WITH_SELINUX 1" >>confdefs.h - - LIBSELINUX="-lselinux" - LIBSEMANAGE="-lsemanage" - with_selinux="yes" - else - with_selinux="no" - fi - else - with_selinux="no" - fi -fi - - -if test "$with_tcb" != "no"; then - for ac_header in tcb.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "tcb.h" "ac_cv_header_tcb_h" "$ac_includes_default" -if test "x$ac_cv_header_tcb_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TCB_H 1 -_ACEOF - tcb_header="yes" -else - tcb_header="no" -fi - -done - - if test "$tcb_header$with_tcb" = "noyes" ; then - as_fn_error $? "tcb.h is missing" "$LINENO" 5 - elif test "$tcb_header" = "yes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tcb_is_suspect in -ltcb" >&5 -$as_echo_n "checking for tcb_is_suspect in -ltcb... " >&6; } -if ${ac_cv_lib_tcb_tcb_is_suspect+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltcb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tcb_is_suspect (); -int -main () -{ -return tcb_is_suspect (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_tcb_tcb_is_suspect=yes -else - ac_cv_lib_tcb_tcb_is_suspect=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tcb_tcb_is_suspect" >&5 -$as_echo "$ac_cv_lib_tcb_tcb_is_suspect" >&6; } -if test "x$ac_cv_lib_tcb_tcb_is_suspect" = xyes; then : - tcb_lib="yes" -else - tcb_lib="no" -fi - - if test "$tcb_lib$with_tcb" = "noyes" ; then - as_fn_error $? "libtcb not found" "$LINENO" 5 - elif test "$tcb_lib" = "no" ; then - with_tcb="no" - else - -$as_echo "#define WITH_TCB 1" >>confdefs.h - - LIBTCB="-ltcb" - with_tcb="yes" - fi - else - with_tcb="no" - fi -fi - if test x$with_tcb = xyes; then - WITH_TCB_TRUE= - WITH_TCB_FALSE='#' -else - WITH_TCB_TRUE='#' - WITH_TCB_FALSE= -fi - - - -if test "$with_libpam" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_start in -lpam" >&5 -$as_echo_n "checking for pam_start in -lpam... " >&6; } -if ${ac_cv_lib_pam_pam_start+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpam $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pam_start (); -int -main () -{ -return pam_start (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pam_pam_start=yes -else - ac_cv_lib_pam_pam_start=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_pam_start" >&5 -$as_echo "$ac_cv_lib_pam_pam_start" >&6; } -if test "x$ac_cv_lib_pam_pam_start" = xyes; then : - pam_lib="yes" -else - pam_lib="no" -fi - - if test "$pam_lib$with_libpam" = "noyes" ; then - as_fn_error $? "libpam not found" "$LINENO" 5 - fi - - LIBPAM="-lpam" - pam_conv_function="no" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openpam_ttyconv in -lpam" >&5 -$as_echo_n "checking for openpam_ttyconv in -lpam... " >&6; } -if ${ac_cv_lib_pam_openpam_ttyconv+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpam $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char openpam_ttyconv (); -int -main () -{ -return openpam_ttyconv (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pam_openpam_ttyconv=yes -else - ac_cv_lib_pam_openpam_ttyconv=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_openpam_ttyconv" >&5 -$as_echo "$ac_cv_lib_pam_openpam_ttyconv" >&6; } -if test "x$ac_cv_lib_pam_openpam_ttyconv" = xyes; then : - pam_conv_function="openpam_ttyconv" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for misc_conv in -lpam_misc" >&5 -$as_echo_n "checking for misc_conv in -lpam_misc... " >&6; } -if ${ac_cv_lib_pam_misc_misc_conv+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpam_misc $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char misc_conv (); -int -main () -{ -return misc_conv (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pam_misc_misc_conv=yes -else - ac_cv_lib_pam_misc_misc_conv=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_misc_misc_conv" >&5 -$as_echo "$ac_cv_lib_pam_misc_misc_conv" >&6; } -if test "x$ac_cv_lib_pam_misc_misc_conv" = xyes; then : - pam_conv_function="misc_conv"; LIBPAM="$LIBPAM -lpam_misc" -fi - - -fi - - - if test "$pam_conv_function$with_libpam" = "noyes" ; then - as_fn_error $? "PAM conversation function not found" "$LINENO" 5 - fi - - pam_headers_found=no - for ac_header in security/openpam.h security/pam_misc.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " #include -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - pam_headers_found=yes ; break -fi - -done - - if test "$pam_headers_found$with_libpam" = "noyes" ; then - as_fn_error $? "PAM headers not found" "$LINENO" 5 - fi - - - if test "$pam_lib$pam_headers_found" = "yesyes" -a "$pam_conv_function" != "no" ; then - with_libpam="yes" - else - with_libpam="no" - unset LIBPAM - fi -fi -if test "$with_libpam" = "yes"; then - ac_fn_c_check_decl "$LINENO" "PAM_ESTABLISH_CRED" "ac_cv_have_decl_PAM_ESTABLISH_CRED" "#include -" -if test "x$ac_cv_have_decl_PAM_ESTABLISH_CRED" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PAM_ESTABLISH_CRED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "PAM_DELETE_CRED" "ac_cv_have_decl_PAM_DELETE_CRED" "#include -" -if test "x$ac_cv_have_decl_PAM_DELETE_CRED" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PAM_DELETE_CRED $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "PAM_NEW_AUTHTOK_REQD" "ac_cv_have_decl_PAM_NEW_AUTHTOK_REQD" "#include -" -if test "x$ac_cv_have_decl_PAM_NEW_AUTHTOK_REQD" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PAM_NEW_AUTHTOK_REQD $ac_have_decl -_ACEOF -ac_fn_c_check_decl "$LINENO" "PAM_DATA_SILENT" "ac_cv_have_decl_PAM_DATA_SILENT" "#include -" -if test "x$ac_cv_have_decl_PAM_DATA_SILENT" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PAM_DATA_SILENT $ac_have_decl -_ACEOF - - - - save_libs=$LIBS - LIBS="$LIBS $LIBPAM" - # We do not use AC_CHECK_FUNCS to avoid duplicated definition with - # Linux PAM. - ac_fn_c_check_func "$LINENO" "pam_fail_delay" "ac_cv_func_pam_fail_delay" -if test "x$ac_cv_func_pam_fail_delay" = xyes; then : - -$as_echo "#define HAS_PAM_FAIL_DELAY 1" >>confdefs.h - -fi - - LIBS=$save_libs - - -$as_echo "#define USE_PAM 1" >>confdefs.h - - -cat >>confdefs.h <<_ACEOF -#define SHADOW_PAM_CONVERSATION $pam_conv_function -_ACEOF - - if true; then - USE_PAM_TRUE= - USE_PAM_FALSE='#' -else - USE_PAM_TRUE='#' - USE_PAM_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking use login and su access checking if PAM not used" >&5 -$as_echo_n "checking use login and su access checking if PAM not used... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -else - -$as_echo "#define SU_ACCESS 1" >>confdefs.h - - if false; then - USE_PAM_TRUE= - USE_PAM_FALSE='#' -else - USE_PAM_TRUE='#' - USE_PAM_FALSE= -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking use login and su access checking if PAM not used" >&5 -$as_echo_n "checking use login and su access checking if PAM not used... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi - -if test "$enable_acct_tools_setuid" != "no"; then - if test "$with_libpam" != "yes"; then - if test "$enable_acct_tools_setuid" = "yes"; then - as_fn_error $? "PAM support is required for --enable-account-tools-setuid" "$LINENO" 5 - else - enable_acct_tools_setuid="no" - fi - else - enable_acct_tools_setuid="yes" - fi - if test "$enable_acct_tools_setuid" = "yes"; then - -$as_echo "#define ACCT_TOOLS_SETUID 1" >>confdefs.h - - fi -fi - if test "x$enable_acct_tools_setuid" = "xyes"; then - ACCT_TOOLS_SETUID_TRUE= - ACCT_TOOLS_SETUID_FALSE='#' -else - ACCT_TOOLS_SETUID_TRUE='#' - ACCT_TOOLS_SETUID_FALSE= -fi - - - - -if test "$with_skey" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MD5Init in -lmd" >&5 -$as_echo_n "checking for MD5Init in -lmd... " >&6; } -if ${ac_cv_lib_md_MD5Init+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmd $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char MD5Init (); -int -main () -{ -return MD5Init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_md_MD5Init=yes -else - ac_cv_lib_md_MD5Init=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_md_MD5Init" >&5 -$as_echo "$ac_cv_lib_md_MD5Init" >&6; } -if test "x$ac_cv_lib_md_MD5Init" = xyes; then : - LIBMD=-lmd -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for skeychallenge in -lskey" >&5 -$as_echo_n "checking for skeychallenge in -lskey... " >&6; } -if ${ac_cv_lib_skey_skeychallenge+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lskey $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char skeychallenge (); -int -main () -{ -return skeychallenge (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_skey_skeychallenge=yes -else - ac_cv_lib_skey_skeychallenge=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_skey_skeychallenge" >&5 -$as_echo "$ac_cv_lib_skey_skeychallenge" >&6; } -if test "x$ac_cv_lib_skey_skeychallenge" = xyes; then : - LIBSKEY=-lskey -else - as_fn_error $? "liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2" "$LINENO" 5 -fi - - -$as_echo "#define SKEY 1" >>confdefs.h - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - #include - -int -main () -{ - - skeychallenge((void*)0, (void*)0, (void*)0, 0); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -$as_echo "#define SKEY_BSD_STYLE 1" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -if test "$enable_utmpx" = "yes"; then - if test "$ac_cv_header_utmpx_h" != "yes"; then - as_fn_error $? "The utmpx.h header file is required for utmpx support." "$LINENO" 5 - fi - -$as_echo "#define USE_UTMPX 1" >>confdefs.h - -fi - - -cat >>confdefs.h <<_ACEOF -#define SHELL "$SHELL" -_ACEOF - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 -$as_echo_n "checking whether NLS is requested... " >&6; } - # Check whether --enable-nls was given. -if test "${enable_nls+set}" = set; then : - enableval=$enable_nls; USE_NLS=$enableval -else - USE_NLS=yes -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - - - - - GETTEXT_MACRO_VERSION=0.19 - - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGFMT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGFMT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 -$as_echo "$MSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GMSGFMT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GMSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT -if test -n "$GMSGFMT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 -$as_echo "$GMSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac - - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XGETTEXT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$XGETTEXT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 -$as_echo "$XGETTEXT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - rm -f messages.po - - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgmerge", so it can be a program name with args. -set dummy msgmerge; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGMERGE+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGMERGE" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then - ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" - ;; -esac -fi -MSGMERGE="$ac_cv_path_MSGMERGE" -if test "$MSGMERGE" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 -$as_echo "$MSGMERGE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$localedir" || localedir='${datadir}/locale' - - - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - - - ac_config_commands="$ac_config_commands po-directories" - - - - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${acl_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${acl_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if ${acl_cv_rpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - - - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if ${gl_cv_solaris_64bit+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _LP64 -sixtyfour bits -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then : - withval=$with_libiconv_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBICONV= - LTLIBICONV= - INCICONV= - LIBICONV_PREFIX= - HAVE_LIBICONV= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='iconv ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" - ;; - esac - done - fi - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" - done - fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 -$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } -if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -CFPreferencesCopyAppValue(NULL, NULL) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_CFPreferencesCopyAppValue=yes -else - gt_cv_func_CFPreferencesCopyAppValue=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 -$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - -$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h - - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 -$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } -if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -CFLocaleCopyCurrent(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_CFLocaleCopyCurrent=yes -else - gt_cv_func_CFLocaleCopyCurrent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 -$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - -$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h - - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - - - - - - - LIBINTL= - LTLIBINTL= - POSUB= - - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 -$as_echo_n "checking for GNU gettext in libc... " >&6; } -if eval \${$gt_func_gnugettext_libc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; - -int -main () -{ - -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$gt_func_gnugettext_libc=yes" -else - eval "$gt_func_gnugettext_libc=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$gt_func_gnugettext_libc - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - - - - - - am_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCICONV; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if ${am_cv_func_iconv+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_lib_iconv=yes - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } - if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 -$as_echo_n "checking for working iconv... " >&6; } -if ${am_cv_func_iconv_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - am_cv_func_iconv_works=no - for ac_iconv_const in '' 'const'; do - if test "$cross_compiling" = yes; then : - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -#ifndef ICONV_CONST -# define ICONV_CONST $ac_iconv_const -#endif - -int -main () -{ -int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 1; - iconv_close (cd_utf8_to_88591); - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\263"; - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 2; - iconv_close (cd_ascii_to_88591); - } - } - /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - ICONV_CONST char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) - result |= 4; - iconv_close (cd_88591_to_utf8); - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - result |= 8; - iconv_close (cd_88591_to_utf8); - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; - return result; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - am_cv_func_iconv_works=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - test "$am_cv_func_iconv_works" = no || break - done - LIBS="$am_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 -$as_echo "$am_cv_func_iconv_works" >&6; } - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - -$as_echo "#define HAVE_ICONV 1" >>confdefs.h - - fi - if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then : - withval=$with_libintl_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBINTL= - LTLIBINTL= - INCINTL= - LIBINTL_PREFIX= - HAVE_LIBINTL= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='intl ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'intl'; then - LIBINTL_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'intl'; then - LIBINTL_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" - ;; - esac - done - fi - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" - done - fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 -$as_echo_n "checking for GNU gettext in libintl... " >&6; } -if eval \${$gt_func_gnugettext_libintl+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); - -int -main () -{ - -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$gt_func_gnugettext_libintl=yes" -else - eval "$gt_func_gnugettext_libintl=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); - -int -main () -{ - -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -eval ac_res=\$$gt_func_gnugettext_libintl - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - fi - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - -$as_echo "#define ENABLE_NLS 1" >>confdefs.h - - else - USE_NLS=no - fi - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 -$as_echo_n "checking whether to use NLS... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - if test "$USE_NLS" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 -$as_echo_n "checking where the gettext function comes from... " >&6; } - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 -$as_echo "$gt_source" >&6; } - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 -$as_echo_n "checking how to link with libintl... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 -$as_echo "$LIBINTL" >&6; } - - for element in $INCINTL; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - fi - - -$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h - - -$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h - - fi - - POSUB=po - fi - - - - INTLLIBS="$LIBINTL" - - - - - - - if test "x$USE_NLS" = "xyes"; then - USE_NLS_TRUE= - USE_NLS_FALSE='#' -else - USE_NLS_TRUE='#' - USE_NLS_FALSE= -fi - - -ac_config_files="$ac_config_files Makefile po/Makefile.in doc/Makefile man/Makefile man/config.xml man/po/Makefile man/cs/Makefile man/da/Makefile man/de/Makefile man/es/Makefile man/fi/Makefile man/fr/Makefile man/hu/Makefile man/id/Makefile man/it/Makefile man/ja/Makefile man/ko/Makefile man/pl/Makefile man/pt_BR/Makefile man/ru/Makefile man/sv/Makefile man/tr/Makefile man/zh_CN/Makefile man/zh_TW/Makefile libmisc/Makefile lib/Makefile src/Makefile contrib/Makefile etc/Makefile etc/pam.d/Makefile shadow.spec" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${USE_SHA_CRYPT_TRUE}" && test -z "${USE_SHA_CRYPT_FALSE}"; then - as_fn_error $? "conditional \"USE_SHA_CRYPT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${SHADOWGRP_TRUE}" && test -z "${SHADOWGRP_FALSE}"; then - as_fn_error $? "conditional \"SHADOWGRP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_REGENERATE_MAN_TRUE}" && test -z "${ENABLE_REGENERATE_MAN_FALSE}"; then - as_fn_error $? "conditional \"ENABLE_REGENERATE_MAN\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_SUBIDS_TRUE}" && test -z "${ENABLE_SUBIDS_FALSE}"; then - as_fn_error $? "conditional \"ENABLE_SUBIDS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${WITH_TCB_TRUE}" && test -z "${WITH_TCB_FALSE}"; then - as_fn_error $? "conditional \"WITH_TCB\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${USE_PAM_TRUE}" && test -z "${USE_PAM_FALSE}"; then - as_fn_error $? "conditional \"USE_PAM\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${USE_PAM_TRUE}" && test -z "${USE_PAM_FALSE}"; then - as_fn_error $? "conditional \"USE_PAM\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ACCT_TOOLS_SETUID_TRUE}" && test -z "${ACCT_TOOLS_SETUID_FALSE}"; then - as_fn_error $? "conditional \"ACCT_TOOLS_SETUID\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${USE_NLS_TRUE}" && test -z "${USE_NLS_FALSE}"; then - as_fn_error $? "conditional \"USE_NLS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by $as_me, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to the package provider." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' -configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -OBJDUMP \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -DLLTOOL \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_import \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -lt_cv_nm_interface \ -nm_file_list_spec \ -lt_cv_truncate_bin \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -configure_time_dlsearch_path \ -configure_time_lt_sys_library_path; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile' - - - -# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; - "man/config.xml") CONFIG_FILES="$CONFIG_FILES man/config.xml" ;; - "man/po/Makefile") CONFIG_FILES="$CONFIG_FILES man/po/Makefile" ;; - "man/cs/Makefile") CONFIG_FILES="$CONFIG_FILES man/cs/Makefile" ;; - "man/da/Makefile") CONFIG_FILES="$CONFIG_FILES man/da/Makefile" ;; - "man/de/Makefile") CONFIG_FILES="$CONFIG_FILES man/de/Makefile" ;; - "man/es/Makefile") CONFIG_FILES="$CONFIG_FILES man/es/Makefile" ;; - "man/fi/Makefile") CONFIG_FILES="$CONFIG_FILES man/fi/Makefile" ;; - "man/fr/Makefile") CONFIG_FILES="$CONFIG_FILES man/fr/Makefile" ;; - "man/hu/Makefile") CONFIG_FILES="$CONFIG_FILES man/hu/Makefile" ;; - "man/id/Makefile") CONFIG_FILES="$CONFIG_FILES man/id/Makefile" ;; - "man/it/Makefile") CONFIG_FILES="$CONFIG_FILES man/it/Makefile" ;; - "man/ja/Makefile") CONFIG_FILES="$CONFIG_FILES man/ja/Makefile" ;; - "man/ko/Makefile") CONFIG_FILES="$CONFIG_FILES man/ko/Makefile" ;; - "man/pl/Makefile") CONFIG_FILES="$CONFIG_FILES man/pl/Makefile" ;; - "man/pt_BR/Makefile") CONFIG_FILES="$CONFIG_FILES man/pt_BR/Makefile" ;; - "man/ru/Makefile") CONFIG_FILES="$CONFIG_FILES man/ru/Makefile" ;; - "man/sv/Makefile") CONFIG_FILES="$CONFIG_FILES man/sv/Makefile" ;; - "man/tr/Makefile") CONFIG_FILES="$CONFIG_FILES man/tr/Makefile" ;; - "man/zh_CN/Makefile") CONFIG_FILES="$CONFIG_FILES man/zh_CN/Makefile" ;; - "man/zh_TW/Makefile") CONFIG_FILES="$CONFIG_FILES man/zh_TW/Makefile" ;; - "libmisc/Makefile") CONFIG_FILES="$CONFIG_FILES libmisc/Makefile" ;; - "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;; - "etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;; - "etc/pam.d/Makefile") CONFIG_FILES="$CONFIG_FILES etc/pam.d/Makefile" ;; - "shadow.spec") CONFIG_FILES="$CONFIG_FILES shadow.spec" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool 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 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool 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, see . - - -# The names of the tagged configurations supported by this script. -available_tags='' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - "po-directories":C) - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - gt_tab=`printf '\t'` - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - -echo -echo "shadow will be compiled with the following features:" -echo -echo " auditing support: $with_audit" -echo " CrackLib support: $with_libcrack" -echo " PAM support: $with_libpam" -if test "$with_libpam" = "yes"; then -echo " suid account management tools: $enable_acct_tools_setuid" -fi -echo " SELinux support: $with_selinux" -echo " ACL support: $with_acl" -echo " Extended Attributes support: $with_attr" -echo " tcb support (incomplete): $with_tcb" -echo " shadow group support: $enable_shadowgrp" -echo " S/Key support: $with_skey" -echo " SHA passwords encryption: $with_sha_crypt" -echo " nscd support: $with_nscd" -echo " subordinate IDs support: $enable_subids" -echo diff --git a/contrib/Makefile.in b/contrib/Makefile.in deleted file mode 100644 index 8d2754c9..00000000 --- a/contrib/Makefile.in +++ /dev/null @@ -1,475 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# This is a dummy Makefile.am to get automake work flawlessly, -# and also cooperate to make a distribution for `make dist' -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = contrib -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh \ - atudel groupmems.shar pwdauth.c shadow-anonftp.patch \ - udbachk.tgz - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contrib/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu contrib/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/depcomp b/depcomp deleted file mode 100755 index fc98710e..00000000 --- a/depcomp +++ /dev/null @@ -1,791 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2013-05-30.07; # UTC - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. - -# 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, 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, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by 'PROGRAMS ARGS'. - object Object file output by 'PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# Get the directory component of the given path, and save it in the -# global variables '$dir'. Note that this directory component will -# be either empty or ending with a '/' character. This is deliberate. -set_dir_from () -{ - case $1 in - */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; - *) dir=;; - esac -} - -# Get the suffix-stripped basename of the given path, and save it the -# global variable '$base'. -set_base_from () -{ - base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` -} - -# If no dependency file was actually created by the compiler invocation, -# we still have to create a dummy depfile, to avoid errors with the -# Makefile "include basename.Plo" scheme. -make_dummy_depfile () -{ - echo "#dummy" > "$depfile" -} - -# Factor out some common post-processing of the generated depfile. -# Requires the auxiliary global variable '$tmpdepfile' to be set. -aix_post_process_depfile () -{ - # If the compiler actually managed to produce a dependency file, - # post-process it. - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependency.h'. - # Do two passes, one to just change these to - # $object: dependency.h - # and one to simply output - # dependency.h: - # which is needed to avoid the deleted-header problem. - { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" - sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" - } > "$depfile" - rm -f "$tmpdepfile" - else - make_dummy_depfile - fi -} - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' -# Character ranges might be problematic outside the C locale. -# These definitions help. -upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ -lower=abcdefghijklmnopqrstuvwxyz -digits=0123456789 -alpha=${upper}${lower} - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Avoid interferences from the environment. -gccflag= dashmflag= - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp -fi - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. -## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. -## (see the conditional assignment to $gccflag above). -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). Also, it might not be -## supported by the other compilers which use the 'gcc' depmode. -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The second -e expression handles DOS-style file names with drive - # letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the "deleted header file" problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. -## Some versions of gcc put a space before the ':'. On the theory -## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like '#:fec' to the end of the - # dependency line. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ - | tr "$nl" ' ' >> "$depfile" - echo >> "$depfile" - # The second pass generates a dummy entry for each header file. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" - ;; - -xlc) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts '$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - aix_post_process_depfile - ;; - -tcc) - # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 - # FIXME: That version still under development at the moment of writing. - # Make that this statement remains true also for stable, released - # versions. - # It will wrap lines (doesn't matter whether long or short) with a - # trailing '\', as in: - # - # foo.o : \ - # foo.c \ - # foo.h \ - # - # It will put a trailing '\' even on the last line, and will use leading - # spaces rather than leading tabs (at least since its commit 0394caf7 - # "Emit spaces for -MD"). - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. - # We have to change lines of the first kind to '$object: \'. - sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" - # And for each line of the second kind, we have to emit a 'dep.h:' - # dummy dependency, to avoid the deleted-header problem. - sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -## The order of this option in the case statement is important, since the -## shell code in configure will try each of these formats in the order -## listed in this file. A plain '-MD' option would be understood by many -## compilers, so we must ensure this comes after the gcc and icc options. -pgcc) - # Portland's C compiler understands '-MD'. - # Will always output deps to 'file.d' where file is the root name of the - # source file under compilation, even if file resides in a subdirectory. - # The object file name does not affect the name of the '.d' file. - # pgcc 10.2 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\' : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - set_dir_from "$object" - # Use the source, not the object, to determine the base name, since - # that's sadly what pgcc will do too. - set_base_from "$source" - tmpdepfile=$base.d - - # For projects that build the same source file twice into different object - # files, the pgcc approach of using the *source* file root name can cause - # problems in parallel builds. Use a locking strategy to avoid stomping on - # the same $tmpdepfile. - lockdir=$base.d-lock - trap " - echo '$0: caught signal, cleaning up...' >&2 - rmdir '$lockdir' - exit 1 - " 1 2 13 15 - numtries=100 - i=$numtries - while test $i -gt 0; do - # mkdir is a portable test-and-set. - if mkdir "$lockdir" 2>/dev/null; then - # This process acquired the lock. - "$@" -MD - stat=$? - # Release the lock. - rmdir "$lockdir" - break - else - # If the lock is being held by a different process, wait - # until the winning process is done or we timeout. - while test -d "$lockdir" && test $i -gt 0; do - sleep 1 - i=`expr $i - 1` - done - fi - i=`expr $i - 1` - done - trap - 1 2 13 15 - if test $i -le 0; then - echo "$0: failed to acquire lock after $numtries attempts" >&2 - echo "$0: check lockdir '$lockdir'" >&2 - exit 1 - fi - - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in 'foo.d' instead, so we check for that too. - # Subdirectories are respected. - set_dir_from "$object" - set_base_from "$object" - - if test "$libtool" = yes; then - # Libtool generates 2 separate objects for the 2 libraries. These - # two compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir$base.o.d # libtool 1.5 - tmpdepfile2=$dir.libs/$base.o.d # Likewise. - tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - # Same post-processing that is required for AIX mode. - aix_post_process_depfile - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - echo >> "$depfile" # make sure the fragment doesn't end with a backslash - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for ':' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. - "$@" $dashmflag | - sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this sed invocation - # correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process the last invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed '1,2d' "$tmpdepfile" \ - | tr ' ' "$nl" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E \ - | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - | sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/doc/Makefile.in b/doc/Makefile.in deleted file mode 100644 index 8e7001c1..00000000 --- a/doc/Makefile.in +++ /dev/null @@ -1,474 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# This is a dummy Makefile.am to get automake work flawlessly, -# and also cooperate to make a distribution for `make dist' -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = HOWTO README.limits \ - README.platforms WISHLIST console.c.spec.txt cracklib26.diff - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/etc/Makefile.in b/etc/Makefile.in deleted file mode 100644 index a1e5ca66..00000000 --- a/etc/Makefile.in +++ /dev/null @@ -1,769 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# This is a dummy Makefile.am to get automake work flawlessly, -# and also cooperate to make a distribution for `make dist' - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = etc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(defaultdir)" "$(DESTDIR)$(nonpamdir)" \ - "$(DESTDIR)$(sysconfdir)" -DATA = $(default_DATA) $(nonpam_DATA) $(sysconf_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -sysconf_DATA = login.defs -defaultdir = $(sysconfdir)/default -default_DATA = \ - useradd - -nonpam_files = \ - limits \ - login.access - -@USE_PAM_FALSE@nonpamdir = $(sysconfdir) -@USE_PAM_FALSE@nonpam_DATA = $(nonpam_files) -EXTRA_DIST = \ - $(nonpam_files) \ - $(sysconf_DATA) \ - $(default_DATA) - -SUBDIRS = pam.d -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu etc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu etc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-defaultDATA: $(default_DATA) - @$(NORMAL_INSTALL) - @list='$(default_DATA)'; test -n "$(defaultdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(defaultdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(defaultdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(defaultdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(defaultdir)" || exit $$?; \ - done - -uninstall-defaultDATA: - @$(NORMAL_UNINSTALL) - @list='$(default_DATA)'; test -n "$(defaultdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(defaultdir)'; $(am__uninstall_files_from_dir) -install-nonpamDATA: $(nonpam_DATA) - @$(NORMAL_INSTALL) - @list='$(nonpam_DATA)'; test -n "$(nonpamdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(nonpamdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(nonpamdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(nonpamdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(nonpamdir)" || exit $$?; \ - done - -uninstall-nonpamDATA: - @$(NORMAL_UNINSTALL) - @list='$(nonpam_DATA)'; test -n "$(nonpamdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(nonpamdir)'; $(am__uninstall_files_from_dir) -install-sysconfDATA: $(sysconf_DATA) - @$(NORMAL_INSTALL) - @list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(sysconfdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(sysconfdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sysconfdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(sysconfdir)" || exit $$?; \ - done - -uninstall-sysconfDATA: - @$(NORMAL_UNINSTALL) - @list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(sysconfdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(defaultdir)" "$(DESTDIR)$(nonpamdir)" "$(DESTDIR)$(sysconfdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-defaultDATA install-nonpamDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: install-sysconfDATA - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-defaultDATA uninstall-nonpamDATA \ - uninstall-sysconfDATA - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-defaultDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-nonpamDATA install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - install-sysconfDATA installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-defaultDATA uninstall-nonpamDATA \ - uninstall-sysconfDATA - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/etc/pam.d/Makefile.in b/etc/pam.d/Makefile.in deleted file mode 100644 index 77975376..00000000 --- a/etc/pam.d/Makefile.in +++ /dev/null @@ -1,549 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# This is a dummy Makefile.am to get automake work flawlessly, -# and also cooperate to make a distribution for `make dist' - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@ACCT_TOOLS_SETUID_TRUE@@USE_PAM_TRUE@am__append_1 = $(pamd_acct_tools_files) -subdir = etc/pam.d -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(pamddir)" -DATA = $(pamd_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -pamd_files = \ - chfn \ - chsh \ - groupmems \ - login \ - passwd \ - su - -pamd_acct_tools_files = \ - chage \ - chgpasswd \ - chpasswd \ - groupadd \ - groupdel \ - groupmod \ - newusers \ - useradd \ - userdel \ - usermod - -@USE_PAM_TRUE@pamddir = $(sysconfdir)/pam.d -@USE_PAM_TRUE@pamd_DATA = $(pamd_files) $(am__append_1) -EXTRA_DIST = $(pamd_files) $(pamd_acct_tools_files) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu etc/pam.d/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu etc/pam.d/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-pamdDATA: $(pamd_DATA) - @$(NORMAL_INSTALL) - @list='$(pamd_DATA)'; test -n "$(pamddir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pamddir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pamddir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pamddir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pamddir)" || exit $$?; \ - done - -uninstall-pamdDATA: - @$(NORMAL_UNINSTALL) - @list='$(pamd_DATA)'; test -n "$(pamddir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pamddir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(pamddir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-pamdDATA - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-pamdDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pamdDATA install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags-am uninstall uninstall-am uninstall-pamdDATA - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/install-sh b/install-sh deleted file mode 100755 index 59990a10..00000000 --- a/install-sh +++ /dev/null @@ -1,508 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2014-09-12.12; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# 'make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -tab=' ' -nl=' -' -IFS=" $tab$nl" - -# Set DOITPROG to "echo" to test this script. - -doit=${DOITPROG-} -doit_exec=${doit:-exec} - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -is_target_a_directory=possibly - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) - is_target_a_directory=always - dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) is_target_a_directory=never;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -# We allow the use of options -d and -T together, by making -d -# take the precedence; this is for compatibility with GNU install. - -if test -n "$dir_arg"; then - if test -n "$dst_arg"; then - echo "$0: target directory not allowed when installing a directory." >&2 - exit 1 - fi -fi - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call 'install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - if test $# -gt 1 || test "$is_target_a_directory" = always; then - if test ! -d "$dst_arg"; then - echo "$0: $dst_arg: Is not a directory." >&2 - exit 1 - fi - fi -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for 'test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test "$is_target_a_directory" = never; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - dstdir=`dirname "$dst"` - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - # $RANDOM is not portable (e.g. dash); use it when possible to - # lower collision chance - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # As "mkdir -p" follows symlinks and we work in /tmp possibly; so - # create the $tmpdir first (and fail if unsuccessful) to make sure - # that nobody tries to guess the $tmpdir name. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - oIFS=$IFS - IFS=/ - set -f - set fnord $dstdir - shift - set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - set +f && - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/lib/Makefile.in b/lib/Makefile.in deleted file mode 100644 index b219edab..00000000 --- a/lib/Makefile.in +++ /dev/null @@ -1,686 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@WITH_TCB_TRUE@am__append_1 = tcbfuncs.c tcbfuncs.h -subdir = lib -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libshadow_la_LIBADD = -am__libshadow_la_SOURCES_DIST = commonio.c commonio.h defines.h \ - encrypt.c exitcodes.h faillog.h fields.c fputsx.c getdef.c \ - getdef.h get_gid.c getlong.c get_pid.c get_uid.c getulong.c \ - groupio.c groupmem.c groupio.h gshadow.c lockpw.c nscd.c \ - nscd.h pam_defs.h port.c port.h prototypes.h pwauth.c pwauth.h \ - pwio.c pwio.h pwmem.c subordinateio.h subordinateio.c \ - selinux.c semanage.c sgetgrent.c sgetpwent.c sgetspent.c \ - sgroupio.c sgroupio.h shadow.c shadowio.c shadowio.h \ - shadowmem.c spawn.c utent.c tcbfuncs.c tcbfuncs.h -@WITH_TCB_TRUE@am__objects_1 = tcbfuncs.lo -am_libshadow_la_OBJECTS = commonio.lo encrypt.lo fields.lo fputsx.lo \ - getdef.lo get_gid.lo getlong.lo get_pid.lo get_uid.lo \ - getulong.lo groupio.lo groupmem.lo gshadow.lo lockpw.lo \ - nscd.lo port.lo pwauth.lo pwio.lo pwmem.lo subordinateio.lo \ - selinux.lo semanage.lo sgetgrent.lo sgetpwent.lo sgetspent.lo \ - sgroupio.lo shadow.lo shadowio.lo shadowmem.lo spawn.lo \ - utent.lo $(am__objects_1) -libshadow_la_OBJECTS = $(am_libshadow_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -libshadow_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libshadow_la_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libshadow_la_SOURCES) -DIST_SOURCES = $(am__libshadow_la_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = 1.0 foreign -noinst_LTLIBRARIES = libshadow.la -libshadow_la_LDFLAGS = -version-info 0:0:0 -libshadow_la_SOURCES = commonio.c commonio.h defines.h encrypt.c \ - exitcodes.h faillog.h fields.c fputsx.c getdef.c getdef.h \ - get_gid.c getlong.c get_pid.c get_uid.c getulong.c groupio.c \ - groupmem.c groupio.h gshadow.c lockpw.c nscd.c nscd.h \ - pam_defs.h port.c port.h prototypes.h pwauth.c pwauth.h pwio.c \ - pwio.h pwmem.c subordinateio.h subordinateio.c selinux.c \ - semanage.c sgetgrent.c sgetpwent.c sgetspent.c sgroupio.c \ - sgroupio.h shadow.c shadowio.c shadowio.h shadowmem.c spawn.c \ - utent.c $(am__append_1) - -# These files are unneeded for some reason, listed in -# order of appearance: -# -# sources for dbm support (not yet used) -EXTRA_DIST = \ - .indent.pro \ - gshadow_.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign lib/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libshadow.la: $(libshadow_la_OBJECTS) $(libshadow_la_DEPENDENCIES) $(EXTRA_libshadow_la_DEPENDENCIES) - $(AM_V_CCLD)$(libshadow_la_LINK) $(libshadow_la_OBJECTS) $(libshadow_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commonio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encrypt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fields.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fputsx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get_gid.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get_pid.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get_uid.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdef.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getlong.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getulong.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupmem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gshadow.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lockpw.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nscd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/port.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwauth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwmem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selinux.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/semanage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgetgrent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgetpwent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgetspent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgroupio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadow.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowmem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spawn.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subordinateio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcbfuncs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utent.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libmisc/Makefile.in b/libmisc/Makefile.in deleted file mode 100644 index 1a772511..00000000 --- a/libmisc/Makefile.in +++ /dev/null @@ -1,781 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = libmisc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -AM_V_AR = $(am__v_AR_@AM_V@) -am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libmisc_a_AR = $(AR) $(ARFLAGS) -libmisc_a_LIBADD = -am_libmisc_a_OBJECTS = addgrps.$(OBJEXT) age.$(OBJEXT) \ - audit_help.$(OBJEXT) basename.$(OBJEXT) chkname.$(OBJEXT) \ - chowndir.$(OBJEXT) chowntty.$(OBJEXT) cleanup.$(OBJEXT) \ - cleanup_group.$(OBJEXT) cleanup_user.$(OBJEXT) \ - console.$(OBJEXT) copydir.$(OBJEXT) entry.$(OBJEXT) \ - env.$(OBJEXT) failure.$(OBJEXT) find_new_gid.$(OBJEXT) \ - find_new_uid.$(OBJEXT) find_new_sub_gids.$(OBJEXT) \ - find_new_sub_uids.$(OBJEXT) getdate.$(OBJEXT) \ - getgr_nam_gid.$(OBJEXT) getrange.$(OBJEXT) hushed.$(OBJEXT) \ - idmapping.$(OBJEXT) isexpired.$(OBJEXT) limits.$(OBJEXT) \ - list.$(OBJEXT) log.$(OBJEXT) loginprompt.$(OBJEXT) \ - mail.$(OBJEXT) motd.$(OBJEXT) myname.$(OBJEXT) \ - obscure.$(OBJEXT) pam_pass.$(OBJEXT) \ - pam_pass_non_interractive.$(OBJEXT) pwd2spwd.$(OBJEXT) \ - pwdcheck.$(OBJEXT) pwd_init.$(OBJEXT) remove_tree.$(OBJEXT) \ - rlogin.$(OBJEXT) root_flag.$(OBJEXT) salt.$(OBJEXT) \ - setugid.$(OBJEXT) setupenv.$(OBJEXT) shell.$(OBJEXT) \ - strtoday.$(OBJEXT) sub.$(OBJEXT) sulog.$(OBJEXT) \ - ttytype.$(OBJEXT) tz.$(OBJEXT) ulimit.$(OBJEXT) \ - user_busy.$(OBJEXT) utmp.$(OBJEXT) valid.$(OBJEXT) \ - xgetpwnam.$(OBJEXT) xgetpwuid.$(OBJEXT) xgetgrnam.$(OBJEXT) \ - xgetgrgid.$(OBJEXT) xgetspnam.$(OBJEXT) xmalloc.$(OBJEXT) \ - yesno.$(OBJEXT) -libmisc_a_OBJECTS = $(am_libmisc_a_OBJECTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ || -am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \ - -e s/c++$$/h++/ -e s/c$$/h/ -YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) -LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS) -AM_V_YACC = $(am__v_YACC_@AM_V@) -am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) -am__v_YACC_0 = @echo " YACC " $@; -am__v_YACC_1 = -YLWRAP = $(top_srcdir)/ylwrap -SOURCES = $(libmisc_a_SOURCES) -DIST_SOURCES = $(libmisc_a_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ - $(top_srcdir)/ylwrap getdate.c -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = .indent.pro xgetXXbyYY.c -INCLUDES = -I$(top_srcdir)/lib -noinst_LIBRARIES = libmisc.a -libmisc_a_SOURCES = \ - addgrps.c \ - age.c \ - audit_help.c \ - basename.c \ - chkname.c \ - chkname.h \ - chowndir.c \ - chowntty.c \ - cleanup.c \ - cleanup_group.c \ - cleanup_user.c \ - console.c \ - copydir.c \ - entry.c \ - env.c \ - failure.c \ - failure.h \ - find_new_gid.c \ - find_new_uid.c \ - find_new_sub_gids.c \ - find_new_sub_uids.c \ - getdate.h \ - getdate.y \ - getgr_nam_gid.c \ - getrange.c \ - hushed.c \ - idmapping.h \ - idmapping.c \ - isexpired.c \ - limits.c \ - list.c log.c \ - loginprompt.c \ - mail.c \ - motd.c \ - myname.c \ - obscure.c \ - pam_pass.c \ - pam_pass_non_interractive.c \ - pwd2spwd.c \ - pwdcheck.c \ - pwd_init.c \ - remove_tree.c \ - rlogin.c \ - root_flag.c \ - salt.c \ - setugid.c \ - setupenv.c \ - shell.c \ - strtoday.c \ - sub.c \ - sulog.c \ - ttytype.c \ - tz.c \ - ulimit.c \ - user_busy.c \ - utmp.c \ - valid.c \ - xgetpwnam.c \ - xgetpwuid.c \ - xgetgrnam.c \ - xgetgrgid.c \ - xgetspnam.c \ - xmalloc.c \ - yesno.c - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj .y -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libmisc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu libmisc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -libmisc.a: $(libmisc_a_OBJECTS) $(libmisc_a_DEPENDENCIES) $(EXTRA_libmisc_a_DEPENDENCIES) - $(AM_V_at)-rm -f libmisc.a - $(AM_V_AR)$(libmisc_a_AR) libmisc.a $(libmisc_a_OBJECTS) $(libmisc_a_LIBADD) - $(AM_V_at)$(RANLIB) libmisc.a - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addgrps.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/age.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audit_help.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkname.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowndir.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowntty.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup_group.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup_user.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/console.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copydir.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entry.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/failure.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_gid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_sub_gids.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_sub_uids.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_uid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdate.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgr_nam_gid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrange.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hushed.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idmapping.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isexpired.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/limits.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loginprompt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mail.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/motd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/myname.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obscure.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pam_pass.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pam_pass_non_interractive.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwd2spwd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwd_init.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwdcheck.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remove_tree.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rlogin.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/root_flag.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/salt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setugid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setupenv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoday.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sub.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sulog.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttytype.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tz.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ulimit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/user_busy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utmp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/valid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetgrgid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetgrnam.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetpwnam.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetpwuid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetspnam.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yesno.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -.y.c: - $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -rm -f getdate.c -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/libmisc/getdate.c b/libmisc/getdate.c deleted file mode 100644 index ce8c11e4..00000000 --- a/libmisc/getdate.c +++ /dev/null @@ -1,2666 +0,0 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ - -/* Bison implementation for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. - - 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 3 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, see . */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* C LALR(1) parser skeleton written by Richard Stallman, by - simplifying the original so-called "semantic" parser. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - -/* Identify Bison output. */ -#define YYBISON 1 - -/* Bison version. */ -#define YYBISON_VERSION "3.0.4" - -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers. */ -#define YYPURE 0 - -/* Push parsers. */ -#define YYPUSH 0 - -/* Pull parsers. */ -#define YYPULL 1 - - - - -/* Copy the first part of user declarations. */ -#line 1 "getdate.y" /* yacc.c:339 */ - -/* -** Originally written by Steven M. Bellovin while -** at the University of North Carolina at Chapel Hill. Later tweaked by -** a couple of people on Usenet. Completely overhauled by Rich $alz -** and Jim Berets in August, 1990; -** -** This grammar has 13 shift/reduce conflicts. -** -** This code is in the public domain and has no copyright. -*/ - -#ifdef HAVE_CONFIG_H -# include -# ifdef FORCE_ALLOCA_H -# include -# endif -#endif - -/* Since the code of getdate.y is not included in the Emacs executable - itself, there is no need to #define static in this file. Even if - the code were included in the Emacs executable, it probably - wouldn't do any harm to #undef it here; this will only cause - problems if we try to write to a static variable, which I don't - think this code needs to do. */ -#ifdef emacs -# undef static -#endif - -#include -#include -#include - -#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII)) -# define IN_CTYPE_DOMAIN(c) 1 -#else -# define IN_CTYPE_DOMAIN(c) isascii(c) -#endif - -#define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (c)) -#define ISALPHA(c) (IN_CTYPE_DOMAIN (c) && isalpha (c)) -#define ISUPPER(c) (IN_CTYPE_DOMAIN (c) && isupper (c)) -#define ISDIGIT_LOCALE(c) (IN_CTYPE_DOMAIN (c) && isdigit (c)) - -/* ISDIGIT differs from ISDIGIT_LOCALE, as follows: - - Its arg may be any int or unsigned int; it need not be an unsigned char. - - It's guaranteed to evaluate its argument exactly once. - - It's typically faster. - Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that - only '0' through '9' are digits. Prefer ISDIGIT to ISDIGIT_LOCALE unless - it's important to use the locale's definition of `digit' even when the - host does not conform to Posix. */ -#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9) - -#include "getdate.h" - -#if defined (STDC_HEADERS) -# include -#endif - -/* Some old versions of bison generate parsers that use bcopy. - That loses on systems that don't provide the function, so we have - to redefine it here. */ -#if !defined (HAVE_BCOPY) && defined (HAVE_MEMCPY) && !defined (bcopy) -# define bcopy(from, to, len) memcpy ((to), (from), (len)) -#endif - -/* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), - as well as gratuitiously global symbol names, so we can have multiple - yacc generated parsers in the same program. Note that these are only - the variables produced by yacc. If other parser generators (bison, - byacc, etc) produce additional global names that conflict at link time, - then those parser generators need to be fixed instead of adding those - names to this list. */ - -#define yymaxdepth gd_maxdepth -#define yyparse gd_parse -#define yylex gd_lex -#define yyerror gd_error -#define yylval gd_lval -#define yychar gd_char -#define yydebug gd_debug -#define yypact gd_pact -#define yyr1 gd_r1 -#define yyr2 gd_r2 -#define yydef gd_def -#define yychk gd_chk -#define yypgo gd_pgo -#define yyact gd_act -#define yyexca gd_exca -#define yyerrflag gd_errflag -#define yynerrs gd_nerrs -#define yyps gd_ps -#define yypv gd_pv -#define yys gd_s -#define yy_yys gd_yys -#define yystate gd_state -#define yytmp gd_tmp -#define yyv gd_v -#define yy_yyv gd_yyv -#define yyval gd_val -#define yylloc gd_lloc -#define yyreds gd_reds /* With YYDEBUG defined */ -#define yytoks gd_toks /* With YYDEBUG defined */ -#define yylhs gd_yylhs -#define yylen gd_yylen -#define yydefred gd_yydefred -#define yydgoto gd_yydgoto -#define yysindex gd_yysindex -#define yyrindex gd_yyrindex -#define yygindex gd_yygindex -#define yytable gd_yytable -#define yycheck gd_yycheck - -static int yylex (void); -static int yyerror (const char *s); - -#define EPOCH 1970 -#define HOUR(x) ((x) * 60) - -#define MAX_BUFF_LEN 128 /* size of buffer to read the date into */ - -/* -** An entry in the lexical lookup table. -*/ -typedef struct _TABLE { - const char *name; - int type; - int value; -} TABLE; - - -/* -** Meridian: am, pm, or 24-hour style. -*/ -typedef enum _MERIDIAN { - MERam, MERpm, MER24 -} MERIDIAN; - - -/* -** Global variables. We could get rid of most of these by using a good -** union as the yacc stack. (This routine was originally written before -** yacc had the %union construct.) Maybe someday; right now we only use -** the %union very rarely. -*/ -static const char *yyInput; -static int yyDayOrdinal; -static int yyDayNumber; -static int yyHaveDate; -static int yyHaveDay; -static int yyHaveRel; -static int yyHaveTime; -static int yyHaveZone; -static int yyTimezone; -static int yyDay; -static int yyHour; -static int yyMinutes; -static int yyMonth; -static int yySeconds; -static int yyYear; -static MERIDIAN yyMeridian; -static int yyRelDay; -static int yyRelHour; -static int yyRelMinutes; -static int yyRelMonth; -static int yyRelSeconds; -static int yyRelYear; - - -#line 237 "getdate.c" /* yacc.c:339 */ - -# ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr -# else -# define YY_NULLPTR 0 -# endif -# endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - - -/* Debug traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif -#if YYDEBUG -extern int yydebug; -#endif - -/* Token type. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - enum yytokentype - { - tAGO = 258, - tDAY = 259, - tDAY_UNIT = 260, - tDAYZONE = 261, - tDST = 262, - tHOUR_UNIT = 263, - tID = 264, - tMERIDIAN = 265, - tMINUTE_UNIT = 266, - tMONTH = 267, - tMONTH_UNIT = 268, - tSEC_UNIT = 269, - tSNUMBER = 270, - tUNUMBER = 271, - tYEAR_UNIT = 272, - tZONE = 273 - }; -#endif -/* Tokens. */ -#define tAGO 258 -#define tDAY 259 -#define tDAY_UNIT 260 -#define tDAYZONE 261 -#define tDST 262 -#define tHOUR_UNIT 263 -#define tID 264 -#define tMERIDIAN 265 -#define tMINUTE_UNIT 266 -#define tMONTH 267 -#define tMONTH_UNIT 268 -#define tSEC_UNIT 269 -#define tSNUMBER 270 -#define tUNUMBER 271 -#define tYEAR_UNIT 272 -#define tZONE 273 - -/* Value type. */ -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED - -union YYSTYPE -{ -#line 172 "getdate.y" /* yacc.c:355 */ - - int Number; - enum _MERIDIAN Meridian; - -#line 315 "getdate.c" /* yacc.c:355 */ -}; - -typedef union YYSTYPE YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 -# define YYSTYPE_IS_DECLARED 1 -#endif - - -extern YYSTYPE yylval; - -int yyparse (void); - - - -/* Copy the second part of user declarations. */ - -#line 332 "getdate.c" /* yacc.c:358 */ - -#ifdef short -# undef short -#endif - -#ifdef YYTYPE_UINT8 -typedef YYTYPE_UINT8 yytype_uint8; -#else -typedef unsigned char yytype_uint8; -#endif - -#ifdef YYTYPE_INT8 -typedef YYTYPE_INT8 yytype_int8; -#else -typedef signed char yytype_int8; -#endif - -#ifdef YYTYPE_UINT16 -typedef YYTYPE_UINT16 yytype_uint16; -#else -typedef unsigned short int yytype_uint16; -#endif - -#ifdef YYTYPE_INT16 -typedef YYTYPE_INT16 yytype_int16; -#else -typedef short int yytype_int16; -#endif - -#ifndef YYSIZE_T -# ifdef __SIZE_TYPE__ -# define YYSIZE_T __SIZE_TYPE__ -# elif defined size_t -# define YYSIZE_T size_t -# elif ! defined YYSIZE_T -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# else -# define YYSIZE_T unsigned int -# endif -#endif - -#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) - -#ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS -# if ENABLE_NLS -# include /* INFRINGES ON USER NAME SPACE */ -# define YY_(Msgid) dgettext ("bison-runtime", Msgid) -# endif -# endif -# ifndef YY_ -# define YY_(Msgid) Msgid -# endif -#endif - -#ifndef YY_ATTRIBUTE -# if (defined __GNUC__ \ - && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ - || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C -# define YY_ATTRIBUTE(Spec) __attribute__(Spec) -# else -# define YY_ATTRIBUTE(Spec) /* empty */ -# endif -#endif - -#ifndef YY_ATTRIBUTE_PURE -# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) -#endif - -#ifndef YY_ATTRIBUTE_UNUSED -# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) -#endif - -#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) -# endif -#endif - -/* Suppress unused-variable warnings by "using" E. */ -#if ! defined lint || defined __GNUC__ -# define YYUSE(E) ((void) (E)) -#else -# define YYUSE(E) /* empty */ -#endif - -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ -/* Suppress an incorrect diagnostic about yylval being uninitialized. */ -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ - _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") -# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ - _Pragma ("GCC diagnostic pop") -#else -# define YY_INITIAL_VALUE(Value) Value -#endif -#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_END -#endif -#ifndef YY_INITIAL_VALUE -# define YY_INITIAL_VALUE(Value) /* Nothing. */ -#endif - - -#if ! defined yyoverflow || YYERROR_VERBOSE - -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# ifdef YYSTACK_USE_ALLOCA -# if YYSTACK_USE_ALLOCA -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# elif defined __BUILTIN_VA_ARG_INCR -# include /* INFRINGES ON USER NAME SPACE */ -# elif defined _AIX -# define YYSTACK_ALLOC __alloca -# elif defined _MSC_VER -# include /* INFRINGES ON USER NAME SPACE */ -# define alloca _alloca -# else -# define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS -# include /* INFRINGES ON USER NAME SPACE */ - /* Use EXIT_SUCCESS as a witness for stdlib.h. */ -# ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 -# endif -# endif -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's 'empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) -# ifndef YYSTACK_ALLOC_MAXIMUM - /* The OS might guarantee only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - invoke alloca (N) if N exceeds 4096. Use a slightly smaller number - to allow for a few compiler-allocated temporary stack slots. */ -# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ -# endif -# else -# define YYSTACK_ALLOC YYMALLOC -# define YYSTACK_FREE YYFREE -# ifndef YYSTACK_ALLOC_MAXIMUM -# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM -# endif -# if (defined __cplusplus && ! defined EXIT_SUCCESS \ - && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 -# endif -# endif -# ifndef YYMALLOC -# define YYMALLOC malloc -# if ! defined malloc && ! defined EXIT_SUCCESS -void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# ifndef YYFREE -# define YYFREE free -# if ! defined free && ! defined EXIT_SUCCESS -void free (void *); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - - -#if (! defined yyoverflow \ - && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - yytype_int16 yyss_alloc; - YYSTYPE yyvs_alloc; -}; - -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - -# define YYCOPY_NEEDED 1 - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ - Stack = &yyptr->Stack_alloc; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (0) - -#endif - -#if defined YYCOPY_NEEDED && YYCOPY_NEEDED -/* Copy COUNT objects from SRC to DST. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(Dst, Src, Count) \ - __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) -# else -# define YYCOPY(Dst, Src, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (Dst)[yyi] = (Src)[yyi]; \ - } \ - while (0) -# endif -# endif -#endif /* !YYCOPY_NEEDED */ - -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 2 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 50 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 22 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 11 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 51 -/* YYNSTATES -- Number of states. */ -#define YYNSTATES 61 - -/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned - by yylex, with out-of-bounds checking. */ -#define YYUNDEFTOK 2 -#define YYMAXUTOK 273 - -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) - -/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM - as returned by yylex, without out-of-bounds checking. */ -static const yytype_uint8 yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 20, 2, 2, 21, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 19, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18 -}; - -#if YYDEBUG - /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ -static const yytype_uint16 yyrline[] = -{ - 0, 188, 188, 189, 192, 195, 198, 201, 204, 207, - 210, 216, 222, 231, 237, 249, 252, 256, 261, 265, - 269, 275, 279, 297, 303, 309, 313, 318, 322, 329, - 337, 340, 343, 346, 349, 352, 355, 358, 361, 364, - 367, 370, 373, 376, 379, 382, 385, 388, 391, 396, - 430, 433 -}; -#endif - -#if YYDEBUG || YYERROR_VERBOSE || 0 -/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ - "$end", "error", "$undefined", "tAGO", "tDAY", "tDAY_UNIT", "tDAYZONE", - "tDST", "tHOUR_UNIT", "tID", "tMERIDIAN", "tMINUTE_UNIT", "tMONTH", - "tMONTH_UNIT", "tSEC_UNIT", "tSNUMBER", "tUNUMBER", "tYEAR_UNIT", - "tZONE", "':'", "','", "'/'", "$accept", "spec", "item", "time", "zone", - "day", "date", "rel", "relunit", "number", "o_merid", YY_NULLPTR -}; -#endif - -# ifdef YYPRINT -/* YYTOKNUM[NUM] -- (External) token number corresponding to the - (internal) symbol number NUM (which must be that of a token). */ -static const yytype_uint16 yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 58, - 44, 47 -}; -# endif - -#define YYPACT_NINF -20 - -#define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-20))) - -#define YYTABLE_NINF -1 - -#define yytable_value_is_error(Yytable_value) \ - 0 - - /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -static const yytype_int8 yypact[] = -{ - -20, 0, -20, -19, -20, -20, -20, -20, -13, -20, - -20, 30, 15, -20, 14, -20, -20, -20, -20, -20, - -20, 19, -20, -20, 4, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -6, -20, -20, 16, - -20, 17, 23, -20, -20, 24, -20, -20, -20, 27, - 28, -20, -20, -20, 29, -20, 32, -8, -20, -20, - -20 -}; - - /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE does not specify something else to do. Zero - means the default is an error. */ -static const yytype_uint8 yydefact[] = -{ - 2, 0, 1, 18, 39, 16, 42, 45, 0, 36, - 48, 0, 49, 33, 15, 3, 4, 5, 7, 6, - 8, 30, 9, 19, 25, 38, 41, 44, 35, 47, - 32, 20, 37, 40, 10, 43, 27, 34, 46, 0, - 31, 0, 0, 17, 29, 0, 24, 28, 23, 50, - 21, 26, 51, 12, 0, 11, 0, 50, 22, 14, - 13 -}; - - /* YYPGOTO[NTERM-NUM]. */ -static const yytype_int8 yypgoto[] = -{ - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -7 -}; - - /* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int8 yydefgoto[] = -{ - -1, 1, 15, 16, 17, 18, 19, 20, 21, 22, - 55 -}; - - /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule whose - number is the opposite. If YYTABLE_NINF, syntax error. */ -static const yytype_uint8 yytable[] = -{ - 2, 23, 52, 24, 3, 4, 5, 59, 6, 46, - 47, 7, 8, 9, 10, 11, 12, 13, 14, 31, - 32, 43, 44, 33, 45, 34, 35, 36, 37, 38, - 39, 48, 40, 49, 41, 25, 42, 52, 26, 50, - 51, 27, 53, 28, 29, 57, 54, 30, 58, 56, - 60 -}; - -static const yytype_uint8 yycheck[] = -{ - 0, 20, 10, 16, 4, 5, 6, 15, 8, 15, - 16, 11, 12, 13, 14, 15, 16, 17, 18, 4, - 5, 7, 3, 8, 20, 10, 11, 12, 13, 14, - 15, 15, 17, 16, 19, 5, 21, 10, 8, 16, - 16, 11, 15, 13, 14, 16, 19, 17, 16, 21, - 57 -}; - - /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const yytype_uint8 yystos[] = -{ - 0, 23, 0, 4, 5, 6, 8, 11, 12, 13, - 14, 15, 16, 17, 18, 24, 25, 26, 27, 28, - 29, 30, 31, 20, 16, 5, 8, 11, 13, 14, - 17, 4, 5, 8, 10, 11, 12, 13, 14, 15, - 17, 19, 21, 7, 3, 20, 15, 16, 15, 16, - 16, 16, 10, 15, 19, 32, 21, 16, 16, 15, - 32 -}; - - /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint8 yyr1[] = -{ - 0, 22, 23, 23, 24, 24, 24, 24, 24, 24, - 25, 25, 25, 25, 25, 26, 26, 26, 27, 27, - 27, 28, 28, 28, 28, 28, 28, 28, 28, 29, - 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, - 32, 32 -}; - - /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = -{ - 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, - 2, 4, 4, 6, 6, 1, 1, 2, 1, 2, - 2, 3, 5, 3, 3, 2, 4, 2, 3, 2, - 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, - 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, - 0, 1 -}; - - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab - - -#define YYRECOVERING() (!!yyerrstatus) - -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (0) - -/* Error token number */ -#define YYTERROR 1 -#define YYERRCODE 256 - - - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (0) - -/* This macro is provided for backward compatibility. */ -#ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -#endif - - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Type, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (0) - - -/*----------------------------------------. -| Print this symbol's value on YYOUTPUT. | -`----------------------------------------*/ - -static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -{ - FILE *yyo = yyoutput; - YYUSE (yyo); - if (!yyvaluep) - return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# endif - YYUSE (yytype); -} - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -{ - YYFPRINTF (yyoutput, "%s %s (", - yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); - - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); -} - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included). | -`------------------------------------------------------------------*/ - -static void -yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) -{ - YYFPRINTF (stderr, "Stack now"); - for (; yybottom <= yytop; yybottom++) - { - int yybot = *yybottom; - YYFPRINTF (stderr, " %d", yybot); - } - YYFPRINTF (stderr, "\n"); -} - -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (0) - - -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ - -static void -yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) -{ - unsigned long int yylno = yyrline[yyrule]; - int yynrhs = yyr2[yyrule]; - int yyi; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); - /* The symbols being reduced. */ - for (yyi = 0; yyi < yynrhs; yyi++) - { - YYFPRINTF (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, - yystos[yyssp[yyi + 1 - yynrhs]], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); - YYFPRINTF (stderr, "\n"); - } -} - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyssp, yyvsp, Rule); \ -} while (0) - -/* Nonzero means print parse trace. It is left uninitialized so that - multiple parsers can coexist. */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ - - -/* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH -# define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only - if the built-in stack extension method is used). - - Do not make this value too large; the results are undefined if - YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) - evaluated with infinite-precision integer arithmetic. */ - -#ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 -#endif - - -#if YYERROR_VERBOSE - -# ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -static YYSIZE_T -yystrlen (const char *yystr) -{ - YYSIZE_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) - continue; - return yylen; -} -# endif -# endif - -# ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -static char * -yystpcpy (char *yydest, const char *yysrc) -{ - char *yyd = yydest; - const char *yys = yysrc; - - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYSIZE_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYSIZE_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (! yyres) - return yystrlen (yystr); - - return yystpcpy (yyres, yystr) - yyres; -} -# endif - -/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message - about the unexpected token YYTOKEN for the state stack whose top is - YYSSP. - - Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is - not large enough to hold the message. In that case, also set - *YYMSG_ALLOC to the required number of bytes. Return 2 if the - required number of bytes is too large to store. */ -static int -yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, - yytype_int16 *yyssp, int yytoken) -{ - YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); - YYSIZE_T yysize = yysize0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - /* Internationalized format string. */ - const char *yyformat = YY_NULLPTR; - /* Arguments of yyformat. */ - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - /* Number of reported tokens (one for the "unexpected", one per - "expected"). */ - int yycount = 0; - - /* There are many possibilities here to consider: - - If this state is a consistent state with a default action, then - the only way this function was invoked is if the default action - is an error action. In that case, don't check for expected - tokens because there are none. - - The only way there can be no lookahead present (in yychar) is if - this state is a consistent state with a default action. Thus, - detecting the absence of a lookahead is sufficient to determine - that there is no unexpected or expected token to report. In that - case, just report a simple "syntax error". - - Don't assume there isn't a lookahead just because this state is a - consistent state with a default action. There might have been a - previous inconsistent state, consistent state with a non-default - action, or user semantic action that manipulated yychar. - - Of course, the expected token list depends on states to have - correct lookahead information, and it depends on the parser not - to perform extra reductions after fetching a lookahead from the - scanner and before detecting a syntax error. Thus, state merging - (from LALR or IELR) and default reductions corrupt the expected - token list. However, the list is correct for canonical LR with - one exception: it will still contain any token that will not be - accepted due to an error action in a later state. - */ - if (yytoken != YYEMPTY) - { - int yyn = yypact[*yyssp]; - yyarg[yycount++] = yytname[yytoken]; - if (!yypact_value_is_default (yyn)) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. In other words, skip the first -YYN actions for - this state because they are default actions. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yyx; - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR - && !yytable_value_is_error (yytable[yyx + yyn])) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - break; - } - yyarg[yycount++] = yytname[yyx]; - { - YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; - } - } - } - } - - switch (yycount) - { -# define YYCASE_(N, S) \ - case N: \ - yyformat = S; \ - break - YYCASE_(0, YY_("syntax error")); - YYCASE_(1, YY_("syntax error, unexpected %s")); - YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); - YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); - YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); - YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); -# undef YYCASE_ - } - - { - YYSIZE_T yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; - } - - if (*yymsg_alloc < yysize) - { - *yymsg_alloc = 2 * yysize; - if (! (yysize <= *yymsg_alloc - && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) - *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; - return 1; - } - - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - { - char *yyp = *yymsg; - int yyi = 0; - while ((*yyp = *yyformat) != '\0') - if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyformat += 2; - } - else - { - yyp++; - yyformat++; - } - } - return 0; -} -#endif /* YYERROR_VERBOSE */ - -/*-----------------------------------------------. -| Release the memory associated to this symbol. | -`-----------------------------------------------*/ - -static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) -{ - YYUSE (yyvaluep); - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - - YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YYUSE (yytype); - YY_IGNORE_MAYBE_UNINITIALIZED_END -} - - - - -/* The lookahead symbol. */ -int yychar; - -/* The semantic value of the lookahead symbol. */ -YYSTYPE yylval; -/* Number of syntax errors so far. */ -int yynerrs; - - -/*----------. -| yyparse. | -`----------*/ - -int -yyparse (void) -{ - int yystate; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - - /* The stacks and their tools: - 'yyss': related to states. - 'yyvs': related to semantic values. - - Refer to the stacks through separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss; - yytype_int16 *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs; - YYSTYPE *yyvsp; - - YYSIZE_T yystacksize; - - int yyn; - int yyresult; - /* Lookahead token as an internal (translated) token number. */ - int yytoken = 0; - /* The variables used to return semantic value and location from the - action routines. */ - YYSTYPE yyval; - -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif - -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) - - /* The number of symbols on the RHS of the reduced rule. - Keep to zero when no symbol should be popped. */ - int yylen = 0; - - yyssp = yyss = yyssa; - yyvsp = yyvs = yyvsa; - yystacksize = YYINITDEPTH; - - YYDPRINTF ((stderr, "Starting parse\n")); - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | -`------------------------------------------------------------*/ - yynewstate: - /* In all cases, when you get here, the value and location stacks - have just been pushed. So pushing a state here evens the stacks. */ - yyssp++; - - yysetstate: - *yyssp = yystate; - - if (yyss + yystacksize - 1 <= yyssp) - { - /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; - -#ifdef yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - &yystacksize); - - yyss = yyss1; - yyvs = yyvs1; - } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else - /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; - yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; - - { - yytype_int16 *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss_alloc, yyss); - YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } -# endif -#endif /* no yyoverflow */ - - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; - - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); - - if (yyss + yystacksize - 1 <= yyssp) - YYABORT; - } - - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); - - if (yystate == YYFINAL) - YYACCEPT; - - goto yybackup; - -/*-----------. -| yybackup. | -`-----------*/ -yybackup: - - /* Do appropriate processing given the current state. Read a - lookahead token if we need one and don't already have one. */ - - /* First try to decide what to do without reference to lookahead token. */ - yyn = yypact[yystate]; - if (yypact_value_is_default (yyn)) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ - if (yychar == YYEMPTY) - { - YYDPRINTF ((stderr, "Reading a token: ")); - yychar = yylex (); - } - - if (yychar <= YYEOF) - { - yychar = yytoken = YYEOF; - YYDPRINTF ((stderr, "Now at end of input.\n")); - } - else - { - yytoken = YYTRANSLATE (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); - } - - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) - goto yydefault; - yyn = yytable[yyn]; - if (yyn <= 0) - { - if (yytable_value_is_error (yyn)) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus) - yyerrstatus--; - - /* Shift the lookahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the shifted token. */ - yychar = YYEMPTY; - - yystate = yyn; - YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - *++yyvsp = yylval; - YY_IGNORE_MAYBE_UNINITIALIZED_END - - goto yynewstate; - - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ -yydefault: - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - -/*-----------------------------. -| yyreduce -- Do a reduction. | -`-----------------------------*/ -yyreduce: - /* yyn is the number of a rule to reduce with. */ - yylen = yyr2[yyn]; - - /* If YYLEN is nonzero, implement the default value of the action: - '$$ = $1'. - - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. Assigning to YYVAL - unconditionally makes the parser a bit smaller, and it avoids a - GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; - - - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 4: -#line 192 "getdate.y" /* yacc.c:1646 */ - { - yyHaveTime++; - } -#line 1451 "getdate.c" /* yacc.c:1646 */ - break; - - case 5: -#line 195 "getdate.y" /* yacc.c:1646 */ - { - yyHaveZone++; - } -#line 1459 "getdate.c" /* yacc.c:1646 */ - break; - - case 6: -#line 198 "getdate.y" /* yacc.c:1646 */ - { - yyHaveDate++; - } -#line 1467 "getdate.c" /* yacc.c:1646 */ - break; - - case 7: -#line 201 "getdate.y" /* yacc.c:1646 */ - { - yyHaveDay++; - } -#line 1475 "getdate.c" /* yacc.c:1646 */ - break; - - case 8: -#line 204 "getdate.y" /* yacc.c:1646 */ - { - yyHaveRel++; - } -#line 1483 "getdate.c" /* yacc.c:1646 */ - break; - - case 10: -#line 210 "getdate.y" /* yacc.c:1646 */ - { - yyHour = (yyvsp[-1].Number); - yyMinutes = 0; - yySeconds = 0; - yyMeridian = (yyvsp[0].Meridian); - } -#line 1494 "getdate.c" /* yacc.c:1646 */ - break; - - case 11: -#line 216 "getdate.y" /* yacc.c:1646 */ - { - yyHour = (yyvsp[-3].Number); - yyMinutes = (yyvsp[-1].Number); - yySeconds = 0; - yyMeridian = (yyvsp[0].Meridian); - } -#line 1505 "getdate.c" /* yacc.c:1646 */ - break; - - case 12: -#line 222 "getdate.y" /* yacc.c:1646 */ - { - yyHour = (yyvsp[-3].Number); - yyMinutes = (yyvsp[-1].Number); - yyMeridian = MER24; - yyHaveZone++; - yyTimezone = ((yyvsp[0].Number) < 0 - ? -(yyvsp[0].Number) % 100 + (-(yyvsp[0].Number) / 100) * 60 - : - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60)); - } -#line 1519 "getdate.c" /* yacc.c:1646 */ - break; - - case 13: -#line 231 "getdate.y" /* yacc.c:1646 */ - { - yyHour = (yyvsp[-5].Number); - yyMinutes = (yyvsp[-3].Number); - yySeconds = (yyvsp[-1].Number); - yyMeridian = (yyvsp[0].Meridian); - } -#line 1530 "getdate.c" /* yacc.c:1646 */ - break; - - case 14: -#line 237 "getdate.y" /* yacc.c:1646 */ - { - yyHour = (yyvsp[-5].Number); - yyMinutes = (yyvsp[-3].Number); - yySeconds = (yyvsp[-1].Number); - yyMeridian = MER24; - yyHaveZone++; - yyTimezone = ((yyvsp[0].Number) < 0 - ? -(yyvsp[0].Number) % 100 + (-(yyvsp[0].Number) / 100) * 60 - : - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60)); - } -#line 1545 "getdate.c" /* yacc.c:1646 */ - break; - - case 15: -#line 249 "getdate.y" /* yacc.c:1646 */ - { - yyTimezone = (yyvsp[0].Number); - } -#line 1553 "getdate.c" /* yacc.c:1646 */ - break; - - case 16: -#line 252 "getdate.y" /* yacc.c:1646 */ - { - yyTimezone = (yyvsp[0].Number) - 60; - } -#line 1561 "getdate.c" /* yacc.c:1646 */ - break; - - case 17: -#line 256 "getdate.y" /* yacc.c:1646 */ - { - yyTimezone = (yyvsp[-1].Number) - 60; - } -#line 1569 "getdate.c" /* yacc.c:1646 */ - break; - - case 18: -#line 261 "getdate.y" /* yacc.c:1646 */ - { - yyDayOrdinal = 1; - yyDayNumber = (yyvsp[0].Number); - } -#line 1578 "getdate.c" /* yacc.c:1646 */ - break; - - case 19: -#line 265 "getdate.y" /* yacc.c:1646 */ - { - yyDayOrdinal = 1; - yyDayNumber = (yyvsp[-1].Number); - } -#line 1587 "getdate.c" /* yacc.c:1646 */ - break; - - case 20: -#line 269 "getdate.y" /* yacc.c:1646 */ - { - yyDayOrdinal = (yyvsp[-1].Number); - yyDayNumber = (yyvsp[0].Number); - } -#line 1596 "getdate.c" /* yacc.c:1646 */ - break; - - case 21: -#line 275 "getdate.y" /* yacc.c:1646 */ - { - yyMonth = (yyvsp[-2].Number); - yyDay = (yyvsp[0].Number); - } -#line 1605 "getdate.c" /* yacc.c:1646 */ - break; - - case 22: -#line 279 "getdate.y" /* yacc.c:1646 */ - { - /* Interpret as YYYY/MM/DD if $1 >= 1000, otherwise as MM/DD/YY. - The goal in recognizing YYYY/MM/DD is solely to support legacy - machine-generated dates like those in an RCS log listing. If - you want portability, use the ISO 8601 format. */ - if ((yyvsp[-4].Number) >= 1000) - { - yyYear = (yyvsp[-4].Number); - yyMonth = (yyvsp[-2].Number); - yyDay = (yyvsp[0].Number); - } - else - { - yyMonth = (yyvsp[-4].Number); - yyDay = (yyvsp[-2].Number); - yyYear = (yyvsp[0].Number); - } - } -#line 1628 "getdate.c" /* yacc.c:1646 */ - break; - - case 23: -#line 297 "getdate.y" /* yacc.c:1646 */ - { - /* ISO 8601 format. yyyy-mm-dd. */ - yyYear = (yyvsp[-2].Number); - yyMonth = -(yyvsp[-1].Number); - yyDay = -(yyvsp[0].Number); - } -#line 1639 "getdate.c" /* yacc.c:1646 */ - break; - - case 24: -#line 303 "getdate.y" /* yacc.c:1646 */ - { - /* e.g. 17-JUN-1992. */ - yyDay = (yyvsp[-2].Number); - yyMonth = (yyvsp[-1].Number); - yyYear = -(yyvsp[0].Number); - } -#line 1650 "getdate.c" /* yacc.c:1646 */ - break; - - case 25: -#line 309 "getdate.y" /* yacc.c:1646 */ - { - yyMonth = (yyvsp[-1].Number); - yyDay = (yyvsp[0].Number); - } -#line 1659 "getdate.c" /* yacc.c:1646 */ - break; - - case 26: -#line 313 "getdate.y" /* yacc.c:1646 */ - { - yyMonth = (yyvsp[-3].Number); - yyDay = (yyvsp[-2].Number); - yyYear = (yyvsp[0].Number); - } -#line 1669 "getdate.c" /* yacc.c:1646 */ - break; - - case 27: -#line 318 "getdate.y" /* yacc.c:1646 */ - { - yyMonth = (yyvsp[0].Number); - yyDay = (yyvsp[-1].Number); - } -#line 1678 "getdate.c" /* yacc.c:1646 */ - break; - - case 28: -#line 322 "getdate.y" /* yacc.c:1646 */ - { - yyMonth = (yyvsp[-1].Number); - yyDay = (yyvsp[-2].Number); - yyYear = (yyvsp[0].Number); - } -#line 1688 "getdate.c" /* yacc.c:1646 */ - break; - - case 29: -#line 329 "getdate.y" /* yacc.c:1646 */ - { - yyRelSeconds = -yyRelSeconds; - yyRelMinutes = -yyRelMinutes; - yyRelHour = -yyRelHour; - yyRelDay = -yyRelDay; - yyRelMonth = -yyRelMonth; - yyRelYear = -yyRelYear; - } -#line 1701 "getdate.c" /* yacc.c:1646 */ - break; - - case 31: -#line 340 "getdate.y" /* yacc.c:1646 */ - { - yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1709 "getdate.c" /* yacc.c:1646 */ - break; - - case 32: -#line 343 "getdate.y" /* yacc.c:1646 */ - { - yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1717 "getdate.c" /* yacc.c:1646 */ - break; - - case 33: -#line 346 "getdate.y" /* yacc.c:1646 */ - { - yyRelYear++; - } -#line 1725 "getdate.c" /* yacc.c:1646 */ - break; - - case 34: -#line 349 "getdate.y" /* yacc.c:1646 */ - { - yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1733 "getdate.c" /* yacc.c:1646 */ - break; - - case 35: -#line 352 "getdate.y" /* yacc.c:1646 */ - { - yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1741 "getdate.c" /* yacc.c:1646 */ - break; - - case 36: -#line 355 "getdate.y" /* yacc.c:1646 */ - { - yyRelMonth++; - } -#line 1749 "getdate.c" /* yacc.c:1646 */ - break; - - case 37: -#line 358 "getdate.y" /* yacc.c:1646 */ - { - yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1757 "getdate.c" /* yacc.c:1646 */ - break; - - case 38: -#line 361 "getdate.y" /* yacc.c:1646 */ - { - yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1765 "getdate.c" /* yacc.c:1646 */ - break; - - case 39: -#line 364 "getdate.y" /* yacc.c:1646 */ - { - yyRelDay++; - } -#line 1773 "getdate.c" /* yacc.c:1646 */ - break; - - case 40: -#line 367 "getdate.y" /* yacc.c:1646 */ - { - yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1781 "getdate.c" /* yacc.c:1646 */ - break; - - case 41: -#line 370 "getdate.y" /* yacc.c:1646 */ - { - yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1789 "getdate.c" /* yacc.c:1646 */ - break; - - case 42: -#line 373 "getdate.y" /* yacc.c:1646 */ - { - yyRelHour++; - } -#line 1797 "getdate.c" /* yacc.c:1646 */ - break; - - case 43: -#line 376 "getdate.y" /* yacc.c:1646 */ - { - yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1805 "getdate.c" /* yacc.c:1646 */ - break; - - case 44: -#line 379 "getdate.y" /* yacc.c:1646 */ - { - yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1813 "getdate.c" /* yacc.c:1646 */ - break; - - case 45: -#line 382 "getdate.y" /* yacc.c:1646 */ - { - yyRelMinutes++; - } -#line 1821 "getdate.c" /* yacc.c:1646 */ - break; - - case 46: -#line 385 "getdate.y" /* yacc.c:1646 */ - { - yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1829 "getdate.c" /* yacc.c:1646 */ - break; - - case 47: -#line 388 "getdate.y" /* yacc.c:1646 */ - { - yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number); - } -#line 1837 "getdate.c" /* yacc.c:1646 */ - break; - - case 48: -#line 391 "getdate.y" /* yacc.c:1646 */ - { - yyRelSeconds++; - } -#line 1845 "getdate.c" /* yacc.c:1646 */ - break; - - case 49: -#line 397 "getdate.y" /* yacc.c:1646 */ - { - if ((yyHaveTime != 0) && (yyHaveDate != 0) && (yyHaveRel == 0)) - yyYear = (yyvsp[0].Number); - else - { - if ((yyvsp[0].Number)>10000) - { - yyHaveDate++; - yyDay= ((yyvsp[0].Number))%100; - yyMonth= ((yyvsp[0].Number)/100)%100; - yyYear = (yyvsp[0].Number)/10000; - } - else - { - yyHaveTime++; - if ((yyvsp[0].Number) < 100) - { - yyHour = (yyvsp[0].Number); - yyMinutes = 0; - } - else - { - yyHour = (yyvsp[0].Number) / 100; - yyMinutes = (yyvsp[0].Number) % 100; - } - yySeconds = 0; - yyMeridian = MER24; - } - } - } -#line 1880 "getdate.c" /* yacc.c:1646 */ - break; - - case 50: -#line 430 "getdate.y" /* yacc.c:1646 */ - { - (yyval.Meridian) = MER24; - } -#line 1888 "getdate.c" /* yacc.c:1646 */ - break; - - case 51: -#line 434 "getdate.y" /* yacc.c:1646 */ - { - (yyval.Meridian) = (yyvsp[0].Meridian); - } -#line 1896 "getdate.c" /* yacc.c:1646 */ - break; - - -#line 1900 "getdate.c" /* yacc.c:1646 */ - default: break; - } - /* User semantic actions sometimes alter yychar, and that requires - that yytoken be updated with the new translation. We take the - approach of translating immediately before every use of yytoken. - One alternative is translating here after every semantic action, - but that translation would be missed if the semantic action invokes - YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or - if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an - incorrect destructor might then be invoked immediately. In the - case of YYERROR or YYBACKUP, subsequent parser actions might lead - to an incorrect destructor call or verbose syntax error message - before the lookahead is translated. */ - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); - - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - - *++yyvsp = yyval; - - /* Now 'shift' the result of the reduction. Determine what state - that goes to, based on the state we popped back to and the rule - number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; - - goto yynewstate; - - -/*--------------------------------------. -| yyerrlab -- here on detecting error. | -`--------------------------------------*/ -yyerrlab: - /* Make sure we have latest lookahead translation. See comments at - user semantic actions for why this is necessary. */ - yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); - - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { - ++yynerrs; -#if ! YYERROR_VERBOSE - yyerror (YY_("syntax error")); -#else -# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ - yyssp, yytoken) - { - char const *yymsgp = YY_("syntax error"); - int yysyntax_error_status; - yysyntax_error_status = YYSYNTAX_ERROR; - if (yysyntax_error_status == 0) - yymsgp = yymsg; - else if (yysyntax_error_status == 1) - { - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); - if (!yymsg) - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - yysyntax_error_status = 2; - } - else - { - yysyntax_error_status = YYSYNTAX_ERROR; - yymsgp = yymsg; - } - } - yyerror (yymsgp); - if (yysyntax_error_status == 2) - goto yyexhaustedlab; - } -# undef YYSYNTAX_ERROR -#endif - } - - - - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse lookahead token after an - error, discard it. */ - - if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } - else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } - } - - /* Else will try to reuse lookahead token after shifting the error - token. */ - goto yyerrlab1; - - -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR. | -`---------------------------------------------------*/ -yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; - - /* Do not reclaim the symbols of the rule whose action triggered - this YYERROR. */ - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - yystate = *yyssp; - goto yyerrlab1; - - -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR. | -`-------------------------------------------------------------*/ -yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ - - for (;;) - { - yyn = yypact[yystate]; - if (!yypact_value_is_default (yyn)) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; - - - yydestruct ("Error: popping", - yystos[yystate], yyvsp); - YYPOPSTACK (1); - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp); - } - - YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - *++yyvsp = yylval; - YY_IGNORE_MAYBE_UNINITIALIZED_END - - - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); - - yystate = yyn; - goto yynewstate; - - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ -yyacceptlab: - yyresult = 0; - goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ -yyabortlab: - yyresult = 1; - goto yyreturn; - -#if !defined yyoverflow || YYERROR_VERBOSE -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ -yyexhaustedlab: - yyerror (YY_("memory exhausted")); - yyresult = 2; - /* Fall through. */ -#endif - -yyreturn: - if (yychar != YYEMPTY) - { - /* Make sure we have latest lookahead translation. See comments at - user semantic actions for why this is necessary. */ - yytoken = YYTRANSLATE (yychar); - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - } - /* Do not reclaim the symbols of the rule whose action triggered - this YYABORT or YYACCEPT. */ - YYPOPSTACK (yylen); - YY_STACK_PRINT (yyss, yyssp); - while (yyssp != yyss) - { - yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); - YYPOPSTACK (1); - } -#ifndef yyoverflow - if (yyss != yyssa) - YYSTACK_FREE (yyss); -#endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); -#endif - return yyresult; -} -#line 439 "getdate.y" /* yacc.c:1906 */ - - -/* Month and day table. */ -static TABLE const MonthDayTable[] = { - { "january", tMONTH, 1 }, - { "february", tMONTH, 2 }, - { "march", tMONTH, 3 }, - { "april", tMONTH, 4 }, - { "may", tMONTH, 5 }, - { "june", tMONTH, 6 }, - { "july", tMONTH, 7 }, - { "august", tMONTH, 8 }, - { "september", tMONTH, 9 }, - { "sept", tMONTH, 9 }, - { "october", tMONTH, 10 }, - { "november", tMONTH, 11 }, - { "december", tMONTH, 12 }, - { "sunday", tDAY, 0 }, - { "monday", tDAY, 1 }, - { "tuesday", tDAY, 2 }, - { "tues", tDAY, 2 }, - { "wednesday", tDAY, 3 }, - { "wednes", tDAY, 3 }, - { "thursday", tDAY, 4 }, - { "thur", tDAY, 4 }, - { "thurs", tDAY, 4 }, - { "friday", tDAY, 5 }, - { "saturday", tDAY, 6 }, - { NULL, 0, 0 } -}; - -/* Time units table. */ -static TABLE const UnitsTable[] = { - { "year", tYEAR_UNIT, 1 }, - { "month", tMONTH_UNIT, 1 }, - { "fortnight", tDAY_UNIT, 14 }, - { "week", tDAY_UNIT, 7 }, - { "day", tDAY_UNIT, 1 }, - { "hour", tHOUR_UNIT, 1 }, - { "minute", tMINUTE_UNIT, 1 }, - { "min", tMINUTE_UNIT, 1 }, - { "second", tSEC_UNIT, 1 }, - { "sec", tSEC_UNIT, 1 }, - { NULL, 0, 0 } -}; - -/* Assorted relative-time words. */ -static TABLE const OtherTable[] = { - { "tomorrow", tMINUTE_UNIT, 1 * 24 * 60 }, - { "yesterday", tMINUTE_UNIT, -1 * 24 * 60 }, - { "today", tMINUTE_UNIT, 0 }, - { "now", tMINUTE_UNIT, 0 }, - { "last", tUNUMBER, -1 }, - { "this", tMINUTE_UNIT, 0 }, - { "next", tUNUMBER, 2 }, - { "first", tUNUMBER, 1 }, -/* { "second", tUNUMBER, 2 }, */ - { "third", tUNUMBER, 3 }, - { "fourth", tUNUMBER, 4 }, - { "fifth", tUNUMBER, 5 }, - { "sixth", tUNUMBER, 6 }, - { "seventh", tUNUMBER, 7 }, - { "eighth", tUNUMBER, 8 }, - { "ninth", tUNUMBER, 9 }, - { "tenth", tUNUMBER, 10 }, - { "eleventh", tUNUMBER, 11 }, - { "twelfth", tUNUMBER, 12 }, - { "ago", tAGO, 1 }, - { NULL, 0, 0 } -}; - -/* The timezone table. */ -static TABLE const TimezoneTable[] = { - { "gmt", tZONE, HOUR ( 0) }, /* Greenwich Mean */ - { "ut", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */ - { "utc", tZONE, HOUR ( 0) }, - { "wet", tZONE, HOUR ( 0) }, /* Western European */ - { "bst", tDAYZONE, HOUR ( 0) }, /* British Summer */ - { "wat", tZONE, HOUR ( 1) }, /* West Africa */ - { "at", tZONE, HOUR ( 2) }, /* Azores */ - { "ast", tZONE, HOUR ( 4) }, /* Atlantic Standard */ - { "adt", tDAYZONE, HOUR ( 4) }, /* Atlantic Daylight */ - { "est", tZONE, HOUR ( 5) }, /* Eastern Standard */ - { "edt", tDAYZONE, HOUR ( 5) }, /* Eastern Daylight */ - { "cst", tZONE, HOUR ( 6) }, /* Central Standard */ - { "cdt", tDAYZONE, HOUR ( 6) }, /* Central Daylight */ - { "mst", tZONE, HOUR ( 7) }, /* Mountain Standard */ - { "mdt", tDAYZONE, HOUR ( 7) }, /* Mountain Daylight */ - { "pst", tZONE, HOUR ( 8) }, /* Pacific Standard */ - { "pdt", tDAYZONE, HOUR ( 8) }, /* Pacific Daylight */ - { "yst", tZONE, HOUR ( 9) }, /* Yukon Standard */ - { "ydt", tDAYZONE, HOUR ( 9) }, /* Yukon Daylight */ - { "hst", tZONE, HOUR (10) }, /* Hawaii Standard */ - { "hdt", tDAYZONE, HOUR (10) }, /* Hawaii Daylight */ - { "cat", tZONE, HOUR (10) }, /* Central Alaska */ - { "ahst", tZONE, HOUR (10) }, /* Alaska-Hawaii Standard */ - { "nt", tZONE, HOUR (11) }, /* Nome */ - { "idlw", tZONE, HOUR (12) }, /* International Date Line West */ - { "cet", tZONE, -HOUR (1) }, /* Central European */ - { "met", tZONE, -HOUR (1) }, /* Middle European */ - { "mewt", tZONE, -HOUR (1) }, /* Middle European Winter */ - { "mest", tDAYZONE, -HOUR (1) }, /* Middle European Summer */ - { "mesz", tDAYZONE, -HOUR (1) }, /* Middle European Summer */ - { "swt", tZONE, -HOUR (1) }, /* Swedish Winter */ - { "sst", tDAYZONE, -HOUR (1) }, /* Swedish Summer */ - { "fwt", tZONE, -HOUR (1) }, /* French Winter */ - { "fst", tDAYZONE, -HOUR (1) }, /* French Summer */ - { "eet", tZONE, -HOUR (2) }, /* Eastern Europe, USSR Zone 1 */ - { "bt", tZONE, -HOUR (3) }, /* Baghdad, USSR Zone 2 */ - { "zp4", tZONE, -HOUR (4) }, /* USSR Zone 3 */ - { "zp5", tZONE, -HOUR (5) }, /* USSR Zone 4 */ - { "zp6", tZONE, -HOUR (6) }, /* USSR Zone 5 */ - { "wast", tZONE, -HOUR (7) }, /* West Australian Standard */ - { "wadt", tDAYZONE, -HOUR (7) }, /* West Australian Daylight */ - { "cct", tZONE, -HOUR (8) }, /* China Coast, USSR Zone 7 */ - { "jst", tZONE, -HOUR (9) }, /* Japan Standard, USSR Zone 8 */ - { "east", tZONE, -HOUR (10) }, /* Eastern Australian Standard */ - { "eadt", tDAYZONE, -HOUR (10) }, /* Eastern Australian Daylight */ - { "gst", tZONE, -HOUR (10) }, /* Guam Standard, USSR Zone 9 */ - { "nzt", tZONE, -HOUR (12) }, /* New Zealand */ - { "nzst", tZONE, -HOUR (12) }, /* New Zealand Standard */ - { "nzdt", tDAYZONE, -HOUR (12) }, /* New Zealand Daylight */ - { "idle", tZONE, -HOUR (12) }, /* International Date Line East */ - { NULL, 0, 0 } -}; - -/* Military timezone table. */ -static TABLE const MilitaryTable[] = { - { "a", tZONE, HOUR ( 1) }, - { "b", tZONE, HOUR ( 2) }, - { "c", tZONE, HOUR ( 3) }, - { "d", tZONE, HOUR ( 4) }, - { "e", tZONE, HOUR ( 5) }, - { "f", tZONE, HOUR ( 6) }, - { "g", tZONE, HOUR ( 7) }, - { "h", tZONE, HOUR ( 8) }, - { "i", tZONE, HOUR ( 9) }, - { "k", tZONE, HOUR ( 10) }, - { "l", tZONE, HOUR ( 11) }, - { "m", tZONE, HOUR ( 12) }, - { "n", tZONE, HOUR (- 1) }, - { "o", tZONE, HOUR (- 2) }, - { "p", tZONE, HOUR (- 3) }, - { "q", tZONE, HOUR (- 4) }, - { "r", tZONE, HOUR (- 5) }, - { "s", tZONE, HOUR (- 6) }, - { "t", tZONE, HOUR (- 7) }, - { "u", tZONE, HOUR (- 8) }, - { "v", tZONE, HOUR (- 9) }, - { "w", tZONE, HOUR (-10) }, - { "x", tZONE, HOUR (-11) }, - { "y", tZONE, HOUR (-12) }, - { "z", tZONE, HOUR ( 0) }, - { NULL, 0, 0 } -}; - - - - -static int yyerror (unused const char *s) -{ - return 0; -} - -static int ToHour (int Hours, MERIDIAN Meridian) -{ - switch (Meridian) - { - case MER24: - if (Hours < 0 || Hours > 23) - return -1; - return Hours; - case MERam: - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - return Hours; - case MERpm: - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - return Hours + 12; - default: - abort (); - } - /* NOTREACHED */ -} - -static int ToYear (int Year) -{ - if (Year < 0) - Year = -Year; - - /* XPG4 suggests that years 00-68 map to 2000-2068, and - years 69-99 map to 1969-1999. */ - if (Year < 69) - Year += 2000; - else if (Year < 100) - Year += 1900; - - return Year; -} - -static int LookupWord (char *buff) -{ - register char *p; - register char *q; - register const TABLE *tp; - int i; - bool abbrev; - - /* Make it lowercase. */ - for (p = buff; '\0' != *p; p++) - if (ISUPPER (*p)) - *p = tolower (*p); - - if (strcmp (buff, "am") == 0 || strcmp (buff, "a.m.") == 0) - { - yylval.Meridian = MERam; - return tMERIDIAN; - } - if (strcmp (buff, "pm") == 0 || strcmp (buff, "p.m.") == 0) - { - yylval.Meridian = MERpm; - return tMERIDIAN; - } - - /* See if we have an abbreviation for a month. */ - if (strlen (buff) == 3) - abbrev = true; - else if (strlen (buff) == 4 && buff[3] == '.') - { - abbrev = true; - buff[3] = '\0'; - } - else - abbrev = false; - - for (tp = MonthDayTable; tp->name; tp++) - { - if (abbrev) - { - if (strncmp (buff, tp->name, 3) == 0) - { - yylval.Number = tp->value; - return tp->type; - } - } - else if (strcmp (buff, tp->name) == 0) - { - yylval.Number = tp->value; - return tp->type; - } - } - - for (tp = TimezoneTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval.Number = tp->value; - return tp->type; - } - - if (strcmp (buff, "dst") == 0) - return tDST; - - for (tp = UnitsTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval.Number = tp->value; - return tp->type; - } - - /* Strip off any plural and try the units table again. */ - i = strlen (buff) - 1; - if (buff[i] == 's') - { - buff[i] = '\0'; - for (tp = UnitsTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval.Number = tp->value; - return tp->type; - } - buff[i] = 's'; /* Put back for "this" in OtherTable. */ - } - - for (tp = OtherTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval.Number = tp->value; - return tp->type; - } - - /* Military timezones. */ - if (buff[1] == '\0' && ISALPHA (*buff)) - { - for (tp = MilitaryTable; tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval.Number = tp->value; - return tp->type; - } - } - - /* Drop out any periods and try the timezone table again. */ - for (i = 0, p = q = buff; '\0' != *q; q++) - if (*q != '.') - *p++ = *q; - else - i++; - *p = '\0'; - if (0 != i) - for (tp = TimezoneTable; NULL != tp->name; tp++) - if (strcmp (buff, tp->name) == 0) - { - yylval.Number = tp->value; - return tp->type; - } - - return tID; -} - -static int -yylex (void) -{ - register char c; - register char *p; - char buff[20]; - int Count; - int sign; - - for (;;) - { - while (ISSPACE (*yyInput)) - yyInput++; - - if (ISDIGIT (c = *yyInput) || c == '-' || c == '+') - { - if (c == '-' || c == '+') - { - sign = c == '-' ? -1 : 1; - if (!ISDIGIT (*++yyInput)) - /* skip the '-' sign */ - continue; - } - else - sign = 0; - for (yylval.Number = 0; ISDIGIT (c = *yyInput++);) - yylval.Number = 10 * yylval.Number + c - '0'; - yyInput--; - if (sign < 0) - yylval.Number = -yylval.Number; - return (0 != sign) ? tSNUMBER : tUNUMBER; - } - if (ISALPHA (c)) - { - for (p = buff; (c = *yyInput++, ISALPHA (c)) || c == '.';) - if (p < &buff[sizeof buff - 1]) - *p++ = c; - *p = '\0'; - yyInput--; - return LookupWord (buff); - } - if (c != '(') - return *yyInput++; - Count = 0; - do - { - c = *yyInput++; - if (c == '\0') - return c; - if (c == '(') - Count++; - else if (c == ')') - Count--; - } - while (Count > 0); - } -} - -#define TM_YEAR_ORIGIN 1900 - -/* Yield A - B, measured in seconds. */ -static long difftm (struct tm *a, struct tm *b) -{ - int ay = a->tm_year + (TM_YEAR_ORIGIN - 1); - int by = b->tm_year + (TM_YEAR_ORIGIN - 1); - long days = ( - /* difference in day of year */ - a->tm_yday - b->tm_yday - /* + intervening leap days */ - + ((ay >> 2) - (by >> 2)) - - (ay / 100 - by / 100) - + ((ay / 100 >> 2) - (by / 100 >> 2)) - /* + difference in years * 365 */ - + (long) (ay - by) * 365 - ); - return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) - + (a->tm_min - b->tm_min)) - + (a->tm_sec - b->tm_sec)); -} - -time_t get_date (const char *p, const time_t *now) -{ - struct tm tm, tm0, *tmp; - time_t Start; - - yyInput = p; - Start = now ? *now : time ((time_t *) NULL); - tmp = localtime (&Start); - yyYear = tmp->tm_year + TM_YEAR_ORIGIN; - yyMonth = tmp->tm_mon + 1; - yyDay = tmp->tm_mday; - yyHour = tmp->tm_hour; - yyMinutes = tmp->tm_min; - yySeconds = tmp->tm_sec; - yyMeridian = MER24; - yyRelSeconds = 0; - yyRelMinutes = 0; - yyRelHour = 0; - yyRelDay = 0; - yyRelMonth = 0; - yyRelYear = 0; - yyHaveDate = 0; - yyHaveDay = 0; - yyHaveRel = 0; - yyHaveTime = 0; - yyHaveZone = 0; - - if (yyparse () - || yyHaveTime > 1 || yyHaveZone > 1 || yyHaveDate > 1 || yyHaveDay > 1) - return -1; - - tm.tm_year = ToYear (yyYear) - TM_YEAR_ORIGIN + yyRelYear; - tm.tm_mon = yyMonth - 1 + yyRelMonth; - tm.tm_mday = yyDay + yyRelDay; - if ((yyHaveTime != 0) || - ( (yyHaveRel != 0) && (yyHaveDate == 0) && (yyHaveDay == 0) )) - { - tm.tm_hour = ToHour (yyHour, yyMeridian); - if (tm.tm_hour < 0) - return -1; - tm.tm_min = yyMinutes; - tm.tm_sec = yySeconds; - } - else - { - tm.tm_hour = tm.tm_min = tm.tm_sec = 0; - } - tm.tm_hour += yyRelHour; - tm.tm_min += yyRelMinutes; - tm.tm_sec += yyRelSeconds; - tm.tm_isdst = -1; - tm0 = tm; - - Start = mktime (&tm); - - if (Start == (time_t) -1) - { - - /* Guard against falsely reporting errors near the time_t boundaries - when parsing times in other time zones. For example, if the min - time_t value is 1970-01-01 00:00:00 UTC and we are 8 hours ahead - of UTC, then the min localtime value is 1970-01-01 08:00:00; if - we apply mktime to 1970-01-01 00:00:00 we will get an error, so - we apply mktime to 1970-01-02 08:00:00 instead and adjust the time - zone by 24 hours to compensate. This algorithm assumes that - there is no DST transition within a day of the time_t boundaries. */ - if (yyHaveZone) - { - tm = tm0; - if (tm.tm_year <= EPOCH - TM_YEAR_ORIGIN) - { - tm.tm_mday++; - yyTimezone -= 24 * 60; - } - else - { - tm.tm_mday--; - yyTimezone += 24 * 60; - } - Start = mktime (&tm); - } - - if (Start == (time_t) -1) - return Start; - } - - if (yyHaveDay && !yyHaveDate) - { - tm.tm_mday += ((yyDayNumber - tm.tm_wday + 7) % 7 - + 7 * (yyDayOrdinal - (0 < yyDayOrdinal))); - Start = mktime (&tm); - if (Start == (time_t) -1) - return Start; - } - - if (yyHaveZone) - { - long delta = yyTimezone * 60L + difftm (&tm, gmtime (&Start)); - if ((Start + delta < Start) != (delta < 0)) - return -1; /* time_t overflow */ - Start += delta; - } - - return Start; -} - -#if defined (TEST) - -/* ARGSUSED */ -int -main (ac, av) - int ac; - char *av[]; -{ - char buff[MAX_BUFF_LEN + 1]; - time_t d; - - (void) printf ("Enter date, or blank line to exit.\n\t> "); - (void) fflush (stdout); - - buff[MAX_BUFF_LEN] = 0; - while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0]) - { - d = get_date (buff, (time_t *) NULL); - if (d == -1) - (void) printf ("Bad format - couldn't convert.\n"); - else - (void) printf ("%s", ctime (&d)); - (void) printf ("\t> "); - (void) fflush (stdout); - } - exit (0); - /* NOTREACHED */ -} -#endif /* defined (TEST) */ diff --git a/ltmain.sh b/ltmain.sh deleted file mode 100644 index 147d758a..00000000 --- a/ltmain.sh +++ /dev/null @@ -1,11156 +0,0 @@ -#! /bin/sh -## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 - -# libtool (GNU libtool) 2.4.6 -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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, see . - - -PROGRAM=libtool -PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-0.1" -package_revision=2.4.6 - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './libtool --help' for help with using this script from the -# command line. - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# After configure completes, it has a better idea of some of the -# shell tools we need than the defaults used by the functions shared -# with bootstrap, so set those here where they can still be over- -# ridden by the user, but otherwise take precedence. - -: ${AUTOCONF="autoconf"} -: ${AUTOMAKE="automake"} - - -## -------------------------- ## -## Source external libraries. ## -## -------------------------- ## - -# Much of our low-level functionality needs to be sourced from external -# libraries, which are installed to $pkgauxdir. - -# Set a version string for this script. -scriptversion=2015-01-20.17; # UTC - -# General shell script boiler plate, and helper functions. -# Written by Gary V. Vaughan, 2004 - -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# 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 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES 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, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# Evaluate this file near the top of your script to gain access to -# the functions and variables defined here: -# -# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh -# -# If you need to override any of the default environment variable -# settings, do that before evaluating this file. - - -## -------------------- ## -## Shell normalisation. ## -## -------------------- ## - -# Some shells need a little help to be as Bourne compatible as possible. -# Before doing anything else, make sure all that help has been provided! - -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac -fi - -# NLS nuisances: We save the old values in case they are required later. -_G_user_locale= -_G_safe_locale= -for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test set = \"\${$_G_var+set}\"; then - save_$_G_var=\$$_G_var - $_G_var=C - export $_G_var - _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" - _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" - fi" -done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Make sure IFS has a sensible default -sp=' ' -nl=' -' -IFS="$sp $nl" - -# There are apparently some retarded systems that use ';' as a PATH separator! -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - - -## ------------------------- ## -## Locate command utilities. ## -## ------------------------- ## - - -# func_executable_p FILE -# ---------------------- -# Check that FILE is an executable regular file. -func_executable_p () -{ - test -f "$1" && test -x "$1" -} - - -# func_path_progs PROGS_LIST CHECK_FUNC [PATH] -# -------------------------------------------- -# Search for either a program that responds to --version with output -# containing "GNU", or else returned by CHECK_FUNC otherwise, by -# trying all the directories in PATH with each of the elements of -# PROGS_LIST. -# -# CHECK_FUNC should accept the path to a candidate program, and -# set $func_check_prog_result if it truncates its output less than -# $_G_path_prog_max characters. -func_path_progs () -{ - _G_progs_list=$1 - _G_check_func=$2 - _G_PATH=${3-"$PATH"} - - _G_path_prog_max=0 - _G_path_prog_found=false - _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} - for _G_dir in $_G_PATH; do - IFS=$_G_save_IFS - test -z "$_G_dir" && _G_dir=. - for _G_prog_name in $_G_progs_list; do - for _exeext in '' .EXE; do - _G_path_prog=$_G_dir/$_G_prog_name$_exeext - func_executable_p "$_G_path_prog" || continue - case `"$_G_path_prog" --version 2>&1` in - *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; - *) $_G_check_func $_G_path_prog - func_path_progs_result=$func_check_prog_result - ;; - esac - $_G_path_prog_found && break 3 - done - done - done - IFS=$_G_save_IFS - test -z "$func_path_progs_result" && { - echo "no acceptable sed could be found in \$PATH" >&2 - exit 1 - } -} - - -# We want to be able to use the functions in this file before configure -# has figured out where the best binaries are kept, which means we have -# to search for them ourselves - except when the results are already set -# where we skip the searches. - -# Unless the user overrides by setting SED, search the path for either GNU -# sed, or the sed that truncates its output the least. -test -z "$SED" && { - _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for _G_i in 1 2 3 4 5 6 7; do - _G_sed_script=$_G_sed_script$nl$_G_sed_script - done - echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed - _G_sed_script= - - func_check_prog_sed () - { - _G_path_prog=$1 - - _G_count=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo '' >> conftest.nl - "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin - rm -f conftest.sed - SED=$func_path_progs_result -} - - -# Unless the user overrides by setting GREP, search the path for either GNU -# grep, or the grep that truncates its output the least. -test -z "$GREP" && { - func_check_prog_grep () - { - _G_path_prog=$1 - - _G_count=0 - _G_path_prog_max=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo 'GREP' >> conftest.nl - "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin - GREP=$func_path_progs_result -} - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase variable names are used for environment variables. These -# variables can be overridden by the user before calling a script that -# uses them if a suitable command of that name is not already available -# in the command search PATH. - -: ${CP="cp -f"} -: ${ECHO="printf %s\n"} -: ${EGREP="$GREP -E"} -: ${FGREP="$GREP -F"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} - - -## -------------------- ## -## Useful sed snippets. ## -## -------------------- ## - -sed_dirname='s|/[^/]*$||' -sed_basename='s|^.*/||' - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s|\([`"$\\]\)|\\\1|g' - -# Same as above, but do not quote variable references. -sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' - -# Sed substitution that converts a w32 file name or path -# that contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-'\' parameter expansions in output of sed_double_quote_subst that -# were '\'-ed in input to the same. If an odd number of '\' preceded a -# '$' in input to sed_double_quote_subst, that '$' was protected from -# expansion. Since each input '\' is now two '\'s, look for any number -# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. -_G_bs='\\' -_G_bs2='\\\\' -_G_bs4='\\\\\\\\' -_G_dollar='\$' -sed_double_backslash="\ - s/$_G_bs4/&\\ -/g - s/^$_G_bs2$_G_dollar/$_G_bs&/ - s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g - s/\n//g" - - -## ----------------- ## -## Global variables. ## -## ----------------- ## - -# Except for the global variables explicitly listed below, the following -# functions in the '^func_' namespace, and the '^require_' namespace -# variables initialised in the 'Resource management' section, sourcing -# this file will not pollute your global namespace with anything -# else. There's no portable way to scope variables in Bourne shell -# though, so actually running these functions will sometimes place -# results into a variable named after the function, and often use -# temporary variables in the '^_G_' namespace. If you are careful to -# avoid using those namespaces casually in your sourcing script, things -# should continue to work as you expect. And, of course, you can freely -# overwrite any of the functions or variables defined here before -# calling anything to customize them. - -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -# Allow overriding, eg assuming that you follow the convention of -# putting '$debug_cmd' at the start of all your functions, you can get -# bash to show function call trace with: -# -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name -debug_cmd=${debug_cmd-":"} -exit_cmd=: - -# By convention, finish your script with: -# -# exit $exit_status -# -# so that you can set exit_status to non-zero if you want to indicate -# something went wrong during execution without actually bailing out at -# the point of failure. -exit_status=$EXIT_SUCCESS - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath=$0 - -# The name of this program. -progname=`$ECHO "$progpath" |$SED "$sed_basename"` - -# Make sure we have an absolute progpath for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` - progdir=`cd "$progdir" && pwd` - progpath=$progdir/$progname - ;; - *) - _G_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS=$_G_IFS - test -x "$progdir/$progname" && break - done - IFS=$_G_IFS - test -n "$progdir" || progdir=`pwd` - progpath=$progdir/$progname - ;; -esac - - -## ----------------- ## -## Standard options. ## -## ----------------- ## - -# The following options affect the operation of the functions defined -# below, and should be set appropriately depending on run-time para- -# meters passed on the command line. - -opt_dry_run=false -opt_quiet=false -opt_verbose=false - -# Categories 'all' and 'none' are always available. Append any others -# you will pass as the first argument to func_warning from your own -# code. -warning_categories= - -# By default, display warnings according to 'opt_warning_types'. Set -# 'warning_func' to ':' to elide all warnings, or func_fatal_error to -# treat the next displayed warning as a fatal error. -warning_func=func_warn_and_continue - -# Set to 'all' to display all warnings, 'none' to suppress all -# warnings, or a space delimited list of some subset of -# 'warning_categories' to display only the listed warnings. -opt_warning_types=all - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Call them using their associated -# 'require_*' variable to ensure that they are executed, at most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_term_colors -# ------------------- -# Allow display of bold text on terminals that support it. -require_term_colors=func_require_term_colors -func_require_term_colors () -{ - $debug_cmd - - test -t 1 && { - # COLORTERM and USE_ANSI_COLORS environment variables take - # precedence, because most terminfo databases neglect to describe - # whether color sequences are supported. - test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} - - if test 1 = "$USE_ANSI_COLORS"; then - # Standard ANSI escape sequences - tc_reset='' - tc_bold=''; tc_standout='' - tc_red=''; tc_green='' - tc_blue=''; tc_cyan='' - else - # Otherwise trust the terminfo database after all. - test -n "`tput sgr0 2>/dev/null`" && { - tc_reset=`tput sgr0` - test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` - tc_standout=$tc_bold - test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` - test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` - test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` - test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` - test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` - } - fi - } - - require_term_colors=: -} - - -## ----------------- ## -## Function library. ## -## ----------------- ## - -# This section contains a variety of useful functions to call in your -# scripts. Take note of the portable wrappers for features provided by -# some modern shells, which will fall back to slower equivalents on -# less featureful shells. - - -# func_append VAR VALUE -# --------------------- -# Append VALUE onto the existing contents of VAR. - - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - - # _G_HAVE_PLUSEQ_OP - # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes - -if test yes = "$_G_HAVE_PLUSEQ_OP" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_append () - { - $debug_cmd - - eval "$1+=\$2" - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_append () - { - $debug_cmd - - eval "$1=\$$1\$2" - } -fi - - -# func_append_quoted VAR VALUE -# ---------------------------- -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -if test yes = "$_G_HAVE_PLUSEQ_OP"; then - eval 'func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" - }' -else - func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" - } -fi - - -# func_append_uniq VAR VALUE -# -------------------------- -# Append unique VALUE onto the existing contents of VAR, assuming -# entries are delimited by the first character of VALUE. For example: -# -# func_append_uniq options " --another-option option-argument" -# -# will only append to $options if " --another-option option-argument " -# is not already present somewhere in $options already (note spaces at -# each end implied by leading space in second argument). -func_append_uniq () -{ - $debug_cmd - - eval _G_current_value='`$ECHO $'$1'`' - _G_delim=`expr "$2" : '\(.\)'` - - case $_G_delim$_G_current_value$_G_delim in - *"$2$_G_delim"*) ;; - *) func_append "$@" ;; - esac -} - - -# func_arith TERM... -# ------------------ -# Set func_arith_result to the result of evaluating TERMs. - test -z "$_G_HAVE_ARITH_OP" \ - && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ - && _G_HAVE_ARITH_OP=yes - -if test yes = "$_G_HAVE_ARITH_OP"; then - eval 'func_arith () - { - $debug_cmd - - func_arith_result=$(( $* )) - }' -else - func_arith () - { - $debug_cmd - - func_arith_result=`expr "$@"` - } -fi - - -# func_basename FILE -# ------------------ -# Set func_basename_result to FILE with everything up to and including -# the last / stripped. -if test yes = "$_G_HAVE_XSI_OPS"; then - # If this shell supports suffix pattern removal, then use it to avoid - # forking. Hide the definitions single quotes in case the shell chokes - # on unsupported syntax... - _b='func_basename_result=${1##*/}' - _d='case $1 in - */*) func_dirname_result=${1%/*}$2 ;; - * ) func_dirname_result=$3 ;; - esac' - -else - # ...otherwise fall back to using sed. - _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' - _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` - if test "X$func_dirname_result" = "X$1"; then - func_dirname_result=$3 - else - func_append func_dirname_result "$2" - fi' -fi - -eval 'func_basename () -{ - $debug_cmd - - '"$_b"' -}' - - -# func_dirname FILE APPEND NONDIR_REPLACEMENT -# ------------------------------------------- -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -eval 'func_dirname () -{ - $debug_cmd - - '"$_d"' -}' - - -# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT -# -------------------------------------------------------- -# Perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# For efficiency, we do not delegate to the functions above but instead -# duplicate the functionality here. -eval 'func_dirname_and_basename () -{ - $debug_cmd - - '"$_b"' - '"$_d"' -}' - - -# func_echo ARG... -# ---------------- -# Echo program name prefixed message. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_echo_all ARG... -# -------------------- -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - - -# func_echo_infix_1 INFIX ARG... -# ------------------------------ -# Echo program name, followed by INFIX on the first line, with any -# additional lines not showing INFIX. -func_echo_infix_1 () -{ - $debug_cmd - - $require_term_colors - - _G_infix=$1; shift - _G_indent=$_G_infix - _G_prefix="$progname: $_G_infix: " - _G_message=$* - - # Strip color escape sequences before counting printable length - for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" - do - test -n "$_G_tc" && { - _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` - _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` - } - done - _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes - - func_echo_infix_1_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_infix_1_IFS - $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 - _G_prefix=$_G_indent - done - IFS=$func_echo_infix_1_IFS -} - - -# func_error ARG... -# ----------------- -# Echo program name prefixed message to standard error. -func_error () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 -} - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - $debug_cmd - - func_error "$*" - exit $EXIT_FAILURE -} - - -# func_grep EXPRESSION FILENAME -# ----------------------------- -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $debug_cmd - - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_len STRING -# --------------- -# Set func_len_result to the length of STRING. STRING may not -# start with a hyphen. - test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` - } -fi - - -# func_mkdir_p DIRECTORY-PATH -# --------------------------- -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - $debug_cmd - - _G_directory_path=$1 - _G_dir_list= - - if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - - # Protect directory names starting with '-' - case $_G_directory_path in - -*) _G_directory_path=./$_G_directory_path ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$_G_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - _G_dir_list=$_G_directory_path:$_G_dir_list - - # If the last portion added has no slash in it, the list is done - case $_G_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` - done - _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - - func_mkdir_p_IFS=$IFS; IFS=: - for _G_dir in $_G_dir_list; do - IFS=$func_mkdir_p_IFS - # mkdir can fail with a 'File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$_G_dir" 2>/dev/null || : - done - IFS=$func_mkdir_p_IFS - - # Bail out if we (or some other process) failed to create a directory. - test -d "$_G_directory_path" || \ - func_fatal_error "Failed to create '$1'" - fi -} - - -# func_mktempdir [BASENAME] -# ------------------------- -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, BASENAME is the basename for that directory. -func_mktempdir () -{ - $debug_cmd - - _G_template=${TMPDIR-/tmp}/${1-$progname} - - if test : = "$opt_dry_run"; then - # Return a directory name, but don't create it in dry-run mode - _G_tmpdir=$_G_template-$$ - else - - # If mktemp works, use that first and foremost - _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - - if test ! -d "$_G_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - _G_tmpdir=$_G_template-${RANDOM-0}$$ - - func_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$_G_tmpdir" - umask $func_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$_G_tmpdir" || \ - func_fatal_error "cannot create temporary directory '$_G_tmpdir'" - fi - - $ECHO "$_G_tmpdir" -} - - -# func_normal_abspath PATH -# ------------------------ -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -func_normal_abspath () -{ - $debug_cmd - - # These SED scripts presuppose an absolute path with a trailing slash. - _G_pathcar='s|^/\([^/]*\).*$|\1|' - _G_pathcdr='s|^/[^/]*||' - _G_removedotparts=':dotsl - s|/\./|/|g - t dotsl - s|/\.$|/|' - _G_collapseslashes='s|/\{1,\}|/|g' - _G_finalslash='s|/*$|/|' - - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` - while :; do - # Processed it all yet? - if test / = "$func_normal_abspath_tpath"; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result"; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - - -# func_notquiet ARG... -# -------------------- -# Echo program name prefixed message only when not in quiet mode. -func_notquiet () -{ - $debug_cmd - - $opt_quiet || func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - - -# func_relative_path SRCDIR DSTDIR -# -------------------------------- -# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. -func_relative_path () -{ - $debug_cmd - - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=$func_dirname_result - if test -z "$func_relative_path_tlibdir"; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test -n "$func_stripname_result"; then - func_append func_relative_path_result "/$func_stripname_result" - fi - - # Normalisation. If bindir is libdir, return '.' else relative path. - if test -n "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - fi - - test -n "$func_relative_path_result" || func_relative_path_result=. - - : -} - - -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () -{ - $debug_cmd - - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in - *[\\\`\"\$]*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" - fi - - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_quoted_arg=\"$_G_unquoted_arg\" - ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; - esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift - done -} - - -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - $debug_cmd - - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; - esac - - case $_G_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" - ;; - esac - - func_quote_for_expand_result=$_G_arg -} - - -# func_stripname PREFIX SUFFIX NAME -# --------------------------------- -# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_stripname () - { - $debug_cmd - - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary variable first. - func_stripname_result=$3 - func_stripname_result=${func_stripname_result#"$1"} - func_stripname_result=${func_stripname_result%"$2"} - }' -else - func_stripname () - { - $debug_cmd - - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; - esac - } -fi - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" - - $opt_dry_run || { - eval "$_G_cmd" - _G_status=$? - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_show_eval_locale CMD [FAIL_EXP] -# ------------------------------------ -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - $opt_dry_run || { - eval "$_G_user_locale - $_G_cmd" - _G_status=$? - eval "$_G_safe_locale" - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_tr_sh -# ---------- -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - $debug_cmd - - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_verbose ARG... -# ------------------- -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $debug_cmd - - $opt_verbose && func_echo "$*" - - : -} - - -# func_warn_and_continue ARG... -# ----------------------------- -# Echo program name prefixed warning message to standard error. -func_warn_and_continue () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 -} - - -# func_warning CATEGORY ARG... -# ---------------------------- -# Echo program name prefixed warning message to standard error. Warning -# messages can be filtered according to CATEGORY, where this function -# elides messages where CATEGORY is not listed in the global variable -# 'opt_warning_types'. -func_warning () -{ - $debug_cmd - - # CATEGORY must be in the warning_categories list! - case " $warning_categories " in - *" $1 "*) ;; - *) func_internal_error "invalid warning category '$1'" ;; - esac - - _G_category=$1 - shift - - case " $opt_warning_types " in - *" $_G_category "*) $warning_func ${1+"$@"} ;; - esac -} - - -# func_sort_ver VER1 VER2 -# ----------------------- -# 'sort -V' is not generally available. -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -func_sort_ver () -{ - $debug_cmd - - printf '%s\n%s\n' "$1" "$2" \ - | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n -} - -# func_lt_ver PREV CURR -# --------------------- -# Return true if PREV and CURR are in the correct order according to -# func_sort_ver, otherwise false. Use it like this: -# -# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." -func_lt_ver () -{ - $debug_cmd - - test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: -#! /bin/sh - -# Set a version string for this script. -scriptversion=2014-01-07.03; # UTC - -# A portable, pluggable option parser for Bourne shell. -# Written by Gary V. Vaughan, 2010 - -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# 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 3 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, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# This file is a library for parsing options in your shell scripts along -# with assorted other useful supporting features that you can make use -# of too. -# -# For the simplest scripts you might need only: -# -# #!/bin/sh -# . relative/path/to/funclib.sh -# . relative/path/to/options-parser -# scriptversion=1.0 -# func_options ${1+"$@"} -# eval set dummy "$func_options_result"; shift -# ...rest of your script... -# -# In order for the '--version' option to work, you will need to have a -# suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. -# -# For '-h' and '--help' to work, you will also need a one line -# description of your script's purpose in a comment directly above the -# '# Written by ' line, like the one at the top of this file. -# -# The default options also support '--debug', which will turn on shell -# execution tracing (see the comment above debug_cmd below for another -# use), and '--verbose' and the func_verbose function to allow your script -# to display verbose messages only when your user has specified -# '--verbose'. -# -# After sourcing this file, you can plug processing for additional -# options by amending the variables from the 'Configuration' section -# below, and following the instructions in the 'Option parsing' -# section further down. - -## -------------- ## -## Configuration. ## -## -------------- ## - -# You should override these variables in your script after sourcing this -# file so that they reflect the customisations you have added to the -# option parser. - -# The usage line for option parsing errors and the start of '-h' and -# '--help' output messages. You can embed shell variables for delayed -# expansion at the time the message is displayed, but you will need to -# quote other shell meta-characters carefully to prevent them being -# expanded when the contents are evaled. -usage='$progpath [OPTION]...' - -# Short help message in response to '-h' and '--help'. Add to this or -# override it after sourcing this library to reflect the full set of -# options your script accepts. -usage_message="\ - --debug enable verbose shell tracing - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -v, --verbose verbosely report processing - --version print version information and exit - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=" -Warning categories include: - 'all' show all warnings - 'none' turn off all the warnings - 'error' warnings are treated as fatal errors" - -# Help message printed before fatal option parsing errors. -fatal_help="Try '\$progname --help' for more information." - - - -## ------------------------- ## -## Hook function management. ## -## ------------------------- ## - -# This section contains functions for adding, removing, and running hooks -# to the main code. A hook is just a named list of of function, that can -# be run in order later on. - -# func_hookable FUNC_NAME -# ----------------------- -# Declare that FUNC_NAME will run hooks added with -# 'func_add_hook FUNC_NAME ...'. -func_hookable () -{ - $debug_cmd - - func_append hookable_fns " $1" -} - - -# func_add_hook FUNC_NAME HOOK_FUNC -# --------------------------------- -# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must -# first have been declared "hookable" by a call to 'func_hookable'. -func_add_hook () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not accept hook functions." ;; - esac - - eval func_append ${1}_hooks '" $2"' -} - - -# func_remove_hook FUNC_NAME HOOK_FUNC -# ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. -func_remove_hook () -{ - $debug_cmd - - eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' -} - - -# func_run_hooks FUNC_NAME [ARG]... -# --------------------------------- -# Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more -# than a whitespace-delimited list of legal shell function names, and -# no effort is wasted trying to catch shell meta-characters or preserve -# whitespace. -func_run_hooks () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; - esac - - eval _G_hook_fns=\$$1_hooks; shift - - for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift - done - - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. Like this: -# -# my_options_prep () -# { -# $debug_cmd -# -# # Extend the existing usage message. -# usage_message=$usage_message' -# -s, --silent don'\''t print informational messages -# ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result -# } -# func_add_hook func_options_prep my_options_prep -# -# -# my_silent_option () -# { -# $debug_cmd -# -# # Note that for efficiency, we parse as many options as we can -# # recognise in a loop before passing the remainder back to the -# # caller on the first unrecognised argument we encounter. -# while test $# -gt 0; do -# opt=$1; shift -# case $opt in -# --silent|-s) opt_silent=: ;; -# # Separate non-argument short options: -# -s*) func_split_short_opt "$_G_opt" -# set dummy "$func_split_short_opt_name" \ -# "-$func_split_short_opt_arg" ${1+"$@"} -# shift -# ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; -# esac -# done -# -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result -# } -# func_add_hook func_parse_options my_silent_option -# -# -# my_option_validation () -# { -# $debug_cmd -# -# $opt_silent && $opt_verbose && func_fatal_help "\ -# '--silent' and '--verbose' options are mutually exclusive." -# -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result -# } -# func_add_hook func_validate_options my_option_validation -# -# You'll alse need to manually amend $usage_message to reflect the extra -# options you parse. It's preferable to append if you can, so that -# multiple option parsing hooks can be added safely. - - -# func_options [ARG]... -# --------------------- -# All the functions called inside func_options are hookable. See the -# individual implementations for details. -func_hookable func_options -func_options () -{ - $debug_cmd - - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} - - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} - - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result -} - - -# func_options_prep [ARG]... -# -------------------------- -# All initialisations required before starting the option parse loop. -# Note that when calling hook functions, we pass through the list of -# positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. -func_hookable func_options_prep -func_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_verbose=false - opt_warning_types= - - func_run_hooks func_options_prep ${1+"$@"} - - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result -} - - -# func_parse_options [ARG]... -# --------------------------- -# The main option parsing loop. -func_hookable func_parse_options -func_parse_options () -{ - $debug_cmd - - func_parse_options_result= - - # this just eases exit handling - while test $# -gt 0; do - # Defer to hook functions for initial option parsing, so they - # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift - - # Break out of the loop if we already parsed every option. - test $# -gt 0 || break - - _G_opt=$1 - shift - case $_G_opt in - --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" - $debug_cmd - ;; - - --no-warnings|--no-warning|--no-warn) - set dummy --warnings none ${1+"$@"} - shift - ;; - - --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break - case " $warning_categories $1" in - *" $1 "*) - # trailing space prevents matching last $1 above - func_append_uniq opt_warning_types " $1" - ;; - *all) - opt_warning_types=$warning_categories - ;; - *none) - opt_warning_types=none - warning_func=: - ;; - *error) - opt_warning_types=$warning_categories - warning_func=func_fatal_error - ;; - *) - func_fatal_error \ - "unsupported warning category: '$1'" - ;; - esac - shift - ;; - - --verbose|-v) opt_verbose=: ;; - --version) func_version ;; - -\?|-h) func_usage ;; - --help) func_help ;; - - # Separate optargs to long options (plugins may need this): - --*=*) func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - ;; - - # Separate optargs to short options: - -W*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-v*|-x*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result -} - - -# func_validate_options [ARG]... -# ------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -func_hookable func_validate_options -func_validate_options () -{ - $debug_cmd - - # Display all warnings if -W was not given. - test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - func_run_hooks func_validate_options ${1+"$@"} - - # Bail if the options were screwed! - $exit_cmd $EXIT_FAILURE - - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result -} - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of the -# hookable option parser framework in ascii-betical order. - - -# func_fatal_help ARG... -# ---------------------- -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - eval \$ECHO \""$fatal_help"\" - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - - -# func_help -# --------- -# Echo long help message to standard output and exit. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message" - exit 0 -} - - -# func_missing_arg ARGNAME -# ------------------------ -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $debug_cmd - - func_error "Missing argument for '$1'." - exit_cmd=exit -} - - -# func_split_equals STRING -# ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. -test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=${1%%=*} - func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` - func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ - || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` - } -fi #func_split_equals - - -# func_split_short_opt SHORTOPT -# ----------------------------- -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` - func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` - } -fi #func_split_short_opt - - -# func_usage -# ---------- -# Echo short help message to standard output and exit. -func_usage () -{ - $debug_cmd - - func_usage_message - $ECHO "Run '$progname --help |${PAGER-more}' for full usage" - exit 0 -} - - -# func_usage_message -# ------------------ -# Echo short help message to standard output. -func_usage_message () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - echo - $SED -n 's|^# || - /^Written by/{ - x;p;x - } - h - /^Written by/q' < "$progpath" - echo - eval \$ECHO \""$usage_message"\" -} - - -# func_version -# ------------ -# Echo version message to standard output and exit. -func_version () -{ - $debug_cmd - - printf '%s\n' "$progname $scriptversion" - $SED -n ' - /(C)/!b go - :more - /\./!{ - N - s|\n# | | - b more - } - :go - /^# Written by /,/# warranty; / { - s|^# || - s|^# *$|| - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - p - } - /^# Written by / { - s|^# || - p - } - /^warranty; /q' < "$progpath" - - exit $? -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: - -# Set a version string. -scriptversion='(GNU libtool) 2.4.6' - - -# func_echo ARG... -# ---------------- -# Libtool also displays the current mode in messages, so override -# funclib.sh func_echo with this custom definition. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_warning ARG... -# ------------------- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ - $debug_cmd - - $warning_func ${1+"$@"} -} - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]... [MODE-ARG]...' - -# Short help message in response to '-h'. -usage_message="Options: - --config show all configuration variables - --debug enable verbose shell tracing - -n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --mode=MODE use operation mode MODE - --no-warnings equivalent to '-Wnone' - --preserve-dup-deps don't remove duplicate dependency libraries - --quiet, --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - -v, --verbose print more informational messages than default - --version print version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message -" - -# Additional text appended to 'usage_message' in response to '--help'. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. When passed as first option, -'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. -Try '$progname --help --mode=MODE' for a more detailed description of MODE. - -When reporting a bug, please describe a test case to reproduce it and -include the following information: - - host-triplet: $host - shell: $SHELL - compiler: $LTCC - compiler flags: $LTCFLAGS - linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 - automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` - autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` - -Report bugs to . -GNU libtool home page: . -General help using GNU software: ." - exit 0 -} - - -# func_lo2o OBJECT-NAME -# --------------------- -# Transform OBJECT-NAME from a '.lo' suffix to the platform specific -# object suffix. - -lo2o=s/\\.lo\$/.$objext/ -o2lo=s/\\.$objext\$/.lo/ - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_lo2o () - { - case $1 in - *.lo) func_lo2o_result=${1%.lo}.$objext ;; - * ) func_lo2o_result=$1 ;; - esac - }' - - # func_xform LIBOBJ-OR-SOURCE - # --------------------------- - # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) - # suffix to a '.lo' libtool-object suffix. - eval 'func_xform () - { - func_xform_result=${1%.*}.lo - }' -else - # ...otherwise fall back to using sed. - func_lo2o () - { - func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` - } - - func_xform () - { - func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` - } -fi - - -# func_fatal_configuration ARG... -# ------------------------------- -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func__fatal_error ${1+"$@"} \ - "See the $PACKAGE documentation for more information." \ - "Fatal configuration error." -} - - -# func_config -# ----------- -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - - -# func_features -# ------------- -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test yes = "$build_libtool_libs"; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test yes = "$build_old_libs"; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - - -# func_enable_tag TAGNAME -# ----------------------- -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname=$1 - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf=/$re_begincf/,/$re_endcf/p - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - - -# func_check_version_match -# ------------------------ -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# libtool_options_prep [ARG]... -# ----------------------------- -# Preparation for options parsed by libtool. -libtool_options_prep () -{ - $debug_mode - - # Option defaults: - opt_config=false - opt_dlopen= - opt_dry_run=false - opt_help=false - opt_mode= - opt_preserve_dup_deps=false - opt_quiet=false - - nonopt= - preserve_args= - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - esac - - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result -} -func_add_hook func_options_prep libtool_options_prep - - -# libtool_parse_options [ARG]... -# --------------------------------- -# Provide handling for libtool specific options. -libtool_parse_options () -{ - $debug_cmd - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_opt=$1 - shift - case $_G_opt in - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - - --config) func_config ;; - - --dlopen|-dlopen) - opt_dlopen="${opt_dlopen+$opt_dlopen -}$1" - shift - ;; - - --preserve-dup-deps) - opt_preserve_dup_deps=: ;; - - --features) func_features ;; - - --finish) set dummy --mode finish ${1+"$@"}; shift ;; - - --help) opt_help=: ;; - - --help-all) opt_help=': help-all' ;; - - --mode) test $# = 0 && func_missing_arg $_G_opt && break - opt_mode=$1 - case $1 in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $_G_opt" - exit_cmd=exit - break - ;; - esac - shift - ;; - - --no-silent|--no-quiet) - opt_quiet=false - func_append preserve_args " $_G_opt" - ;; - - --no-warnings|--no-warning|--no-warn) - opt_warning=false - func_append preserve_args " $_G_opt" - ;; - - --no-verbose) - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --silent|--quiet) - opt_quiet=: - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --tag) test $# = 0 && func_missing_arg $_G_opt && break - opt_tag=$1 - func_append preserve_args " $_G_opt $1" - func_enable_tag "$1" - shift - ;; - - --verbose|-v) opt_quiet=false - opt_verbose=: - func_append preserve_args " $_G_opt" - ;; - - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result -} -func_add_hook func_parse_options libtool_parse_options - - - -# libtool_validate_options [ARG]... -# --------------------------------- -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -libtool_validate_options () -{ - # save first non-option argument - if test 0 -lt $#; then - nonopt=$1 - shift - fi - - # preserve --debug - test : = "$debug_cmd" || func_append preserve_args " --debug" - - case $host in - # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 - # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - test yes != "$build_libtool_libs" \ - && test yes != "$build_old_libs" \ - && func_fatal_configuration "not configured to build any kind of library" - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test execute != "$opt_mode"; then - func_error "unrecognized option '-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help=$help - help="Try '$progname --help --mode=$opt_mode' for more information." - } - - # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result -} -func_add_hook func_validate_options libtool_validate_options - - -# Process options as early as possible so that --help and --version -# can return quickly. -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - - -## ----------- ## -## Main. ## -## ----------- ## - -magic='%%%MAGIC variable%%%' -magic_exe='%%%MAGIC EXE variable%%%' - -# Global variables. -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# func_generated_by_libtool -# True iff stdin has been generated by Libtool. This function is only -# a basic sanity check; it will hardly flush out determined imposters. -func_generated_by_libtool_p () -{ - $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if 'file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case $lalib_p_line in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test yes = "$lalib_p" -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - test -f "$1" && - $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $debug_cmd - - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# 'FILE.' does not work on cygwin managed mounts. -func_source () -{ - $debug_cmd - - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result='='$func_stripname_result - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $debug_cmd - - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with '--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=$1 - if test yes = "$build_libtool_libs"; then - write_lobj=\'$2\' - else - write_lobj=none - fi - - if test yes = "$build_old_libs"; then - write_oldobj=\'$3\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $debug_cmd - - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result= - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result"; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $debug_cmd - - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $debug_cmd - - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $debug_cmd - - if test -z "$2" && test -n "$1"; then - func_error "Could not determine host file name corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result=$1 - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $debug_cmd - - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " '$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result=$3 - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $debug_cmd - - case $4 in - $1 ) func_to_host_path_result=$3$func_to_host_path_result - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via '$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $debug_cmd - - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $debug_cmd - - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result=$1 -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result=$func_convert_core_msys_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result=$func_convert_core_file_wine_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via '$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $debug_cmd - - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd=func_convert_path_$func_stripname_result - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $debug_cmd - - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result=$1 -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_msys_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_path_wine_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_dll_def_p FILE -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with _LT_DLL_DEF_P in libtool.m4 -func_dll_def_p () -{ - $debug_cmd - - func_dll_def_p_tmp=`$SED -n \ - -e 's/^[ ]*//' \ - -e '/^\(;.*\)*$/d' \ - -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ - -e q \ - "$1"` - test DEF = "$func_dll_def_p_tmp" -} - - -# func_mode_compile arg... -func_mode_compile () -{ - $debug_cmd - - # Get the compilation command and the source file. - base_compile= - srcfile=$nonopt # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg=$arg - arg_mode=normal - ;; - - target ) - libobj=$arg - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify '-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs=$IFS; IFS=, - for arg in $args; do - IFS=$save_ifs - func_append_quoted lastarg "$arg" - done - IFS=$save_ifs - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg=$srcfile - srcfile=$arg - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with '-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj=$func_basename_result - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from '$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test yes = "$build_libtool_libs" \ - || func_fatal_configuration "cannot build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name '$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname=$func_basename_result - xdir=$func_dirname_result - lobj=$xdir$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test yes = "$build_old_libs"; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test no = "$compiler_c_o"; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext - lockfile=$output_obj.lock - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test yes = "$need_locks"; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test warn = "$need_locks"; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test yes = "$build_libtool_libs"; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test no != "$pic_mode"; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test yes = "$suppress_opt"; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test yes = "$build_old_libs"; then - if test yes != "$pic_mode"; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test yes = "$compiler_c_o"; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test no != "$need_locks"; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test compile = "$opt_mode" && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a '.o' file suitable for static linking - -static only build a '.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a 'standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix '.c' with the -library object suffix, '.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to '-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the '--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the 'install' or 'cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE use a list of object files found in FILE to specify objects - -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with '-') are ignored. - -Every other argument is treated as a filename. Files ending in '.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in '.la', then a libtool library is created, -only library objects ('.lo' files) may be specified, and '-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created -using 'ar' and 'ranlib', or on Windows using 'lib'. - -If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode '$opt_mode'" - ;; - esac - - echo - $ECHO "Try '$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test : = "$opt_help"; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | $SED -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - $SED '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $debug_cmd - - # The first argument is the command name. - cmd=$nonopt - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "'$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "'$file' was not linked with '-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir=$func_dirname_result - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir=$func_dirname_result - ;; - - *) - func_warning "'-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir=$absdir - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic=$magic - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file=$progdir/$program - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file=$progdir/$program - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if $opt_dry_run; then - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - else - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd=\$cmd$args - fi -} - -test execute = "$opt_mode" && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $debug_cmd - - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "'$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument '$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and '=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_quiet && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the '-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the '$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the '$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the '$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test finish = "$opt_mode" && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $debug_cmd - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac - then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=false - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=: ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test X-m = "X$prev" && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - func_append install_shared_prog " $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the '$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=: - if $isdir; then - destdir=$dest - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir=$func_dirname_result - destname=$func_basename_result - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "'$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "'$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir=$func_dirname_result - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking '$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname=$1 - shift - - srcname=$realname - test -n "$relink_command" && srcname=${realname}T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme=$stripme - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme= - ;; - esac - ;; - os2*) - case $realname in - *_dll.a) - tstripme= - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try 'ln -sf' first, because the 'ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib=$destdir/$realname - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name=$func_basename_result - instname=$dir/${name}i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest=$destfile - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to '$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test yes = "$build_old_libs"; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext= - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=.exe - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script '$wrapper'" - - finalize=: - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "'$lib' has not been installed in '$libdir'" - finalize=false - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test no = "$fast_install" && test -n "$relink_command"; then - $opt_dry_run || { - if $finalize; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file=$func_basename_result - outputname=$tmpdir/$file - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink '$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file=$outputname - else - func_warning "cannot relink '$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name=$func_basename_result - - # Set up the ranlib parameters. - oldlib=$destdir/$name - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run '$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test install = "$opt_mode" && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $debug_cmd - - my_outputname=$1 - my_originator=$2 - my_pic_p=${3-false} - my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms=${my_outputname}S.c - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist=$output_objdir/$my_outputname.nm - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* External symbol declarations for the compiler. */\ -" - - if test yes = "$dlself"; then - func_verbose "generating symbol list for '$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from '$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols=$output_objdir/$outputname.exp - $opt_dry_run || { - $RM $export_symbols - eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from '$dlprefile'" - func_basename "$dlprefile" - name=$func_basename_result - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename= - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname"; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename=$func_basename_result - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename"; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - func_show_eval '$RM "${nlist}I"' - if test -n "$global_symbol_to_import"; then - eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[];\ -" - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ -static void lt_syminit(void) -{ - LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; - for (; symbol->name; ++symbol) - {" - $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" - echo >> "$output_objdir/$my_dlsyms" "\ - } -}" - fi - echo >> "$output_objdir/$my_dlsyms" "\ -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{ {\"$my_originator\", (void *) 0}," - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ - {\"@INIT@\", (void *) <_syminit}," - fi - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - $my_pic_p && pic_flag_for_symtable=" $pic_flag" - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' - - # Transform the symbol file into the correct name. - symfileobj=$output_objdir/${my_outputname}S.$objext - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for '$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $debug_cmd - - win32_libid_type=unknown - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - case $nm_interface in - "MS dumpbin") - if func_cygming_ms_implib_p "$1" || - func_cygming_gnu_implib_p "$1" - then - win32_nmres=import - else - win32_nmres= - fi - ;; - *) - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s|.*|import| - p - q - } - }'` - ;; - esac - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $debug_cmd - - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $debug_cmd - - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive that possess that section. Heuristic: eliminate - # all those that have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $debug_cmd - - if func_cygming_gnu_implib_p "$1"; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1"; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result= - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $debug_cmd - - f_ex_an_ar_dir=$1; shift - f_ex_an_ar_oldlib=$1 - if test yes = "$lock_old_archive_extraction"; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test yes = "$lock_old_archive_extraction"; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $debug_cmd - - my_gentop=$1; shift - my_oldlibs=${1+"$@"} - my_oldobjs= - my_xlib= - my_xabs= - my_xdir= - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib=$func_basename_result - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir=$my_gentop/$my_xlib_u - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - func_basename "$darwin_archive" - darwin_base_archive=$func_basename_result - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches; do - func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" - $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" - cd "unfat-$$/$darwin_base_archive-$darwin_arch" - func_extract_an_archive "`pwd`" "$darwin_base_archive" - cd "$darwin_curdir" - $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result=$my_oldobjs -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory where it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ that is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options that match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test yes = "$fast_install"; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - \$ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* declarations of non-ANSI functions */ -#if defined __MINGW32__ -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined __CYGWIN__ -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined other_platform || defined ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined _MSC_VER -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -#elif defined __MINGW32__ -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined __CYGWIN__ -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined other platforms ... */ -#endif - -#if defined PATH_MAX -# define LT_PATHMAX PATH_MAX -#elif defined MAXPATHLEN -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ - defined __OS2__ -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free (stale); stale = 0; } \ -} while (0) - -#if defined LT_DEBUGWRAPPER -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - size_t tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined HAVE_DOS_BASED_FILE_SYSTEM - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined HAVE_DOS_BASED_FILE_SYSTEM - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = (size_t) (q - p); - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (STREQ (str, pat)) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - size_t len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - size_t orig_value_len = strlen (orig_value); - size_t add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - size_t len = strlen (new_value); - while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[--len] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $debug_cmd - - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_suncc_cstd_abi -# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! -# Several compiler flags select an ABI that is incompatible with the -# Cstd library. Avoid specifying it if any are in CXXFLAGS. -func_suncc_cstd_abi () -{ - $debug_cmd - - case " $compile_command " in - *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) - suncc_use_cstd_abi=no - ;; - *) - suncc_use_cstd_abi=yes - ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $debug_cmd - - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # what system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll that has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - os2dllname= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=false - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module=$wl-single_module - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test yes != "$build_libtool_libs" \ - && func_fatal_configuration "cannot build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg=$1 - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir=$arg - prev= - continue - ;; - dlfiles|dlprefiles) - $preload || { - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=: - } - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test no = "$dlself"; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test dlprefiles = "$prev"; then - dlself=yes - elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test dlfiles = "$prev"; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols=$arg - test -f "$arg" \ - || func_fatal_error "symbol file '$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex=$arg - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir=$arg - prev= - continue - ;; - mllvm) - # Clang does not use LLVM to link, so we can simply discard any - # '-mllvm $arg' options when doing the link step. - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - if test none != "$pic_object"; then - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - fi - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file '$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - os2dllname) - os2dllname=$arg - prev= - continue - ;; - precious_regex) - precious_files_regex=$arg - prev= - continue - ;; - release) - release=-$arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test rpath = "$prev"; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds=$arg - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg=$arg - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "'-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test X-export-symbols = "X$arg"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between '-L' and '$1'" - else - func_fatal_error "need path for '-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of '$dir'" - dir=$absdir - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test X-lc = "X$arg" || test X-lm = "X$arg"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test X-lc = "X$arg" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc due to us having libc/libc_r. - test X-lc = "X$arg" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test X-lc = "X$arg" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test X-lc = "X$arg" && continue - ;; - esac - elif test X-lc_r = "X$arg"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -mllvm) - prev=mllvm - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module=$wl-multi_module - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "'-no-install' is ignored for $host" - func_warning "assuming '-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -os2dllname) - prev=os2dllname - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # -fstack-protector* stack protector flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - # -specs=* GCC specs files - # -stdlib=* select c++ std lib with clang - # -fsanitize=* Clang/GCC memory and address sanitizer - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - -Z*) - if test os2 = "`expr $host : '.*\(os2\)'`"; then - # OS/2 uses -Zxxx to specify OS/2-specific options - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case $arg in - -Zlinker | -Zstack) - prev=xcompiler - ;; - esac - continue - else - # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - fi - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - test none = "$pic_object" || { - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - } - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test dlfiles = "$prev"; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test dlprefiles = "$prev"; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the '$prevarg' option requires an argument" - - if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname=$func_basename_result - libobjs_save=$libobjs - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - # Definition is injected by LT_CONFIG during libtool generation. - func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" - - func_dirname "$output" "/" "" - output_objdir=$func_dirname_result$objdir - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test lib = "$linkmode"; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=false - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test lib,link = "$linkmode,$pass"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs=$tmp_deplibs - fi - - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass"; then - libs=$deplibs - deplibs= - fi - if test prog = "$linkmode"; then - case $pass in - dlopen) libs=$dlfiles ;; - dlpreopen) libs=$dlprefiles ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test lib,dlpreopen = "$linkmode,$pass"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs=$dlprefiles - fi - if test dlopen = "$pass"; then - # Collect dlpreopened libraries - save_deplibs=$deplibs - deplibs= - fi - - for deplib in $libs; do - lib= - found=false - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test lib != "$linkmode" && test prog != "$linkmode"; then - func_warning "'-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test lib = "$linkmode"; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib=$searchdir/lib$name$search_ext - if test -f "$lib"; then - if test .la = "$search_ext"; then - found=: - else - found=false - fi - break 2 - fi - done - done - if $found; then - # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll=$l - done - if test "X$ll" = "X$old_library"; then # only static version available - found=false - func_dirname "$lib" "" "." - ladir=$func_dirname_result - lib=$ladir/$old_library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - else - # deplib doesn't seem to be a libtool library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - ;; # -l - *.ltframework) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test conv = "$pass" && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - if test scan = "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "'-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test link = "$pass"; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=false - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=: - fi - ;; - pass_all) - valid_a_lib=: - ;; - esac - if $valid_a_lib; then - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - else - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - fi - ;; - esac - continue - ;; - prog) - if test link != "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - elif test prog = "$linkmode"; then - if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=: - continue - ;; - esac # case $deplib - - $found || test -f "$lib" \ - || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "'$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir=$func_dirname_result - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass" || - { test prog != "$linkmode" && test lib != "$linkmode"; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test conv = "$pass"; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - elif test prog != "$linkmode" && test lib != "$linkmode"; then - func_fatal_error "'$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test yes = "$prefer_static_libs" || - test built,no = "$prefer_static_libs,$installed"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib=$l - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - - # This library was specified with -dlopen. - if test dlopen = "$pass"; then - test -z "$libdir" \ - && func_fatal_error "cannot -dlopen a convenience library: '$lib'" - if test -z "$dlname" || - test yes != "$dlopen_support" || - test no = "$build_libtool_libs" - then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of '$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir=$ladir - fi - ;; - esac - func_basename "$lib" - laname=$func_basename_result - - # Find the relevant object directory and library name. - if test yes = "$installed"; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library '$lib' was moved." - dir=$ladir - absdir=$abs_ladir - libdir=$abs_ladir - else - dir=$lt_sysroot$libdir - absdir=$lt_sysroot$libdir - fi - test yes = "$hardcode_automatic" && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir=$ladir - absdir=$abs_ladir - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir=$ladir/$objdir - absdir=$abs_ladir/$objdir - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test dlpreopen = "$pass"; then - if test -z "$libdir" && test prog = "$linkmode"; then - func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" - fi - case $host in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test lib = "$linkmode"; then - deplibs="$dir/$old_library $deplibs" - elif test prog,link = "$linkmode,$pass"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test prog = "$linkmode" && test link != "$pass"; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=false - if test no != "$link_all_deplibs" || test -z "$library_names" || - test no = "$build_libtool_libs"; then - linkalldeplibs=: - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if $linkalldeplibs; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test prog,link = "$linkmode,$pass"; then - if test -n "$library_names" && - { { test no = "$prefer_static_libs" || - test built,yes = "$prefer_static_libs,$installed"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then - # Make sure the rpath contains only unique directories. - case $temp_rpath: in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if $alldeplibs && - { test pass_all = "$deplibs_check_method" || - { test yes = "$build_libtool_libs" && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test built = "$use_static_libs" && test yes = "$installed"; then - use_static_libs=no - fi - if test -n "$library_names" && - { test no = "$use_static_libs" || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc* | *os2*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test no = "$installed"; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule= - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule=$dlpremoduletest - break - fi - done - if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then - echo - if test prog = "$linkmode"; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test lib = "$linkmode" && - test yes = "$hardcode_into_libs"; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname=$1 - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname=$dlname - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc* | *os2*) - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - esac - eval soname=\"$soname_spec\" - else - soname=$realname - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot=$soname - func_basename "$soroot" - soname=$func_basename_result - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from '$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for '$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test prog = "$linkmode" || test relink != "$opt_mode"; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test no = "$hardcode_direct"; then - add=$dir/$linklib - case $host in - *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; - *-*-sysv4*uw2*) add_dir=-L$dir ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir=-L$dir ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we cannot - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library"; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add=$dir/$old_library - fi - elif test -n "$old_library"; then - add=$dir/$old_library - fi - fi - esac - elif test no = "$hardcode_minus_L"; then - case $host in - *-*-sunos*) add_shlibpath=$dir ;; - esac - add_dir=-L$dir - add=-l$name - elif test no = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - relink) - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$dir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$absdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test yes != "$lib_linked"; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test prog = "$linkmode"; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test yes != "$hardcode_direct" && - test yes != "$hardcode_minus_L" && - test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test prog = "$linkmode" || test relink = "$opt_mode"; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$libdir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$libdir - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add=-l$name - elif test yes = "$hardcode_automatic"; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib"; then - add=$inst_prefix_dir$libdir/$linklib - else - add=$libdir/$linklib - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir=-L$libdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - fi - - if test prog = "$linkmode"; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test prog = "$linkmode"; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test unsupported != "$hardcode_direct"; then - test -n "$old_library" && linklib=$old_library - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test yes = "$build_libtool_libs"; then - # Not a shared library - if test pass_all != "$deplibs_check_method"; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system cannot link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test yes = "$module"; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test lib = "$linkmode"; then - if test -n "$dependency_libs" && - { test yes != "$hardcode_into_libs" || - test yes = "$build_old_libs" || - test yes = "$link_static"; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs=$temp_deplibs - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test no != "$link_all_deplibs"; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path=$deplib ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of '$dir'" - absdir=$dir - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names"; then - for tmp in $deplibrary_names; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl"; then - depdepl=$absdir/$objdir/$depdepl - darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" - func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" - path= - fi - fi - ;; - *) - path=-L$absdir/$objdir - ;; - esac - else - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "'$deplib' seems to be moved" - - path=-L$absdir - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test link = "$pass"; then - if test prog = "$linkmode"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs=$newdependency_libs - if test dlpreopen = "$pass"; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test dlopen != "$pass"; then - test conv = "$pass" || { - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - } - - if test prog,link = "$linkmode,$pass"; then - vars="compile_deplibs finalize_deplibs" - else - vars=deplibs - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - - # Add Sun CC postdeps if required: - test CXX = "$tagname" && { - case $host_os in - linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C++ 5.9 - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - - solaris*) - func_cc_basename "$CC" - case $func_cc_basename_result in - CC* | sunCC*) - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - esac - } - - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i= - ;; - esac - if test -n "$i"; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test prog = "$linkmode"; then - dlfiles=$newdlfiles - fi - if test prog = "$linkmode" || test lib = "$linkmode"; then - dlprefiles=$newdlprefiles - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "'-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "'-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs=$output - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form 'libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test no = "$module" \ - && func_fatal_help "libtool library '$output' must begin with 'lib'" - - if test no != "$need_lib_prefix"; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test pass_all != "$deplibs_check_method"; then - func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test no = "$dlself" \ - || func_warning "'-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test 1 -lt "$#" \ - && func_warning "ignoring multiple '-rpath's for a libtool library" - - install_libdir=$1 - - oldlibs= - if test -z "$rpath"; then - if test yes = "$build_libtool_libs"; then - # Building a libtool convenience library. - # Some compilers have problems with a '.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "'-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs=$IFS; IFS=: - set dummy $vinfo 0 0 0 - shift - IFS=$save_ifs - - test -n "$7" && \ - func_fatal_help "too many parameters to '-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major=$1 - number_minor=$2 - number_revision=$3 - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # that has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_revision - ;; - freebsd-aout|qnx|sunos) - current=$number_major - revision=$number_minor - age=0 - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_minor - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type '$version_type'" - ;; - esac - ;; - no) - current=$1 - revision=$2 - age=$3 - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT '$current' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION '$revision' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE '$age' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE '$age' is greater than the current interface number '$current'" - func_fatal_error "'$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers - case $CC in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; - *) - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - esac - ;; - - freebsd-aout) - major=.$current - versuffix=.$current.$revision - ;; - - freebsd-elf) - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - irix | nonstopux) - if test no = "$lt_irix_increment"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring=$verstring_prefix$major.$revision - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test 0 -ne "$loop"; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring_prefix$major.$iface:$verstring - done - - # Before this point, $major must not contain '.'. - major=.$major - versuffix=$major.$revision - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=.$current.$age.$revision - verstring=$current.$age.$revision - - # Add in all the interfaces that we are compatible with. - loop=$age - while test 0 -ne "$loop"; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring:$iface.0 - done - - # Make executables depend on our current version. - func_append verstring ":$current.0" - ;; - - qnx) - major=.$current - versuffix=.$current - ;; - - sco) - major=.$current - versuffix=.$current - ;; - - sunos) - major=.$current - versuffix=.$current.$revision - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 file systems. - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - - *) - func_fatal_configuration "unknown library version type '$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring=0.0 - ;; - esac - if test no = "$need_version"; then - versuffix= - else - versuffix=.0.0 - fi - fi - - # Remove version info from name if versioning should be avoided - if test yes,no = "$avoid_version,$need_version"; then - major= - versuffix= - verstring= - fi - - # Check to see if the archive will have undefined symbols. - if test yes = "$allow_undefined"; then - if test unsupported = "$allow_undefined_flag"; then - if test yes = "$build_old_libs"; then - func_warning "undefined symbols not allowed in $host shared libraries; building static only" - build_libtool_libs=no - else - func_fatal_error "can't build $host shared library unless -no-undefined is specified" - fi - fi - else - # Don't allow undefined symbols. - allow_undefined_flag=$no_undefined_flag - fi - - fi - - func_generate_dlsyms "$libname" "$libname" : - func_append libobjs " $symfileobj" - test " " = "$libobjs" && libobjs= - - if test relink != "$opt_mode"; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) - if test -n "$precious_files_regex"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles=$dlfiles - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles=$dlprefiles - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test yes = "$build_libtool_libs"; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test yes = "$build_libtool_need_lc"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release= - versuffix= - major= - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib=$potent_lib - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | $SED 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; - *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib=$potent_lib # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs= - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - for i in $predeps $postdeps; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test none = "$deplibs_check_method"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test yes = "$droppeddeps"; then - if test yes = "$module"; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test no = "$allow_undefined"; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs=$new_libs - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test yes = "$build_libtool_libs"; then - # Remove $wl instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test yes = "$hardcode_into_libs"; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath=$finalize_rpath - test relink = "$opt_mode" || rpath=$compile_rpath$rpath - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath=$finalize_shlibpath - test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname=$1 - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname=$realname - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib=$output_objdir/$realname - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols=$output_objdir/$libname.uexp - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - func_dll_def_p "$export_symbols" || { - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols=$export_symbols - export_symbols= - always_export_symbols=yes - } - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs=$IFS; IFS='~' - for cmd1 in $cmds; do - IFS=$save_ifs - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test yes = "$try_normal_branch" \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=$output_objdir/$output_la.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS=$save_ifs - if test -n "$export_symbols_regex" && test : != "$skipped_export"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test : != "$skipped_export" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs=$tmp_deplibs - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test yes = "$compiler_needs_object" && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test : != "$skipped_export" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then - output=$output_objdir/$output_la.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test yes = "$compiler_needs_object"; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-$k.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test -z "$objlist" || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test 1 -eq "$k"; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-$k.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-$k.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - ${skipped_export-false} && { - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - } - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs=$IFS; IFS='~' - for cmd in $concat_cmds; do - IFS=$save_ifs - $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - ${skipped_export-false} && { - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - } - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs=$IFS; IFS='~' - for cmd in $cmds; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test yes = "$module" || test yes = "$export_dynamic"; then - # On all known operating systems, these are identical. - dlname=$soname - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "'-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object '$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj=$output - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # if reload_cmds runs $LD directly, get rid of -Wl from - # whole_archive_flag_spec and hope we can get by with turning comma - # into space. - case $reload_cmds in - *\$LD[\ \$]*) wl= ;; - esac - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags - else - gentop=$output_objdir/${obj}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test yes = "$build_libtool_libs" || libobjs=$non_pic_objects - - # Create the old-style object. - reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs - - output=$obj - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - test yes = "$build_libtool_libs" || { - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - } - - if test -n "$pic_flag" || test default != "$pic_mode"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output=$libobj - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "'-release' is ignored for programs" - - $preload \ - && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ - && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test CXX = "$tagname"; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " $wl-bind_at_load" - func_append finalize_command " $wl-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs=$new_libs - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath=$rpath - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath=$rpath - - if test -n "$libobjs" && test yes = "$build_old_libs"; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" false - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=: - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=false - ;; - *cygwin* | *mingw* ) - test yes = "$build_libtool_libs" || wrappers_required=false - ;; - *) - if test no = "$need_relink" || test yes != "$build_libtool_libs"; then - wrappers_required=false - fi - ;; - esac - $wrappers_required || { - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command=$compile_command$compile_rpath - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.$objext"; then - func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' - fi - - exit $exit_status - } - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test yes = "$no_install"; then - # We don't need to create a wrapper script. - link_command=$compile_var$compile_command$compile_rpath - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - case $hardcode_action,$fast_install in - relink,*) - # Fast installation is not supported - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "'$output' will be relinked during installation" - ;; - *,yes) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - ;; - *,no) - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - ;; - *,needless) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command= - ;; - esac - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource=$output_path/$objdir/lt-$output_name.c - cwrapper=$output_path/$output_name.exe - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host"; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - case $build_libtool_libs in - convenience) - oldobjs="$libobjs_save $symfileobj" - addlibs=$convenience - build_libtool_libs=no - ;; - module) - oldobjs=$libobjs_save - addlibs=$old_convenience - build_libtool_libs=no - ;; - *) - oldobjs="$old_deplibs $non_pic_objects" - $preload && test -f "$symfileobj" \ - && func_append oldobjs " $symfileobj" - addlibs=$old_convenience - ;; - esac - - if test -n "$addlibs"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase=$func_basename_result - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj"; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test -z "$oldobjs"; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test yes = "$build_old_libs" && old_library=$libname.$libext - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test yes = "$hardcode_automatic"; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test yes = "$installed"; then - if test -z "$install_libdir"; then - break - fi - output=$output_objdir/${outputname}i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name=$func_basename_result - func_resolve_sysroot "$deplib" - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs=$newdependency_libs - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles=$newdlprefiles - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles=$newdlprefiles - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test -n "$bindir"; then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result/$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test no,yes = "$installed,$need_relink"; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -if test link = "$opt_mode" || test relink = "$opt_mode"; then - func_mode_link ${1+"$@"} -fi - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $debug_cmd - - RM=$nonopt - files= - rmforce=false - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=: ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir=$func_dirname_result - if test . = "$dir"; then - odir=$objdir - else - odir=$dir/$objdir - fi - func_basename "$file" - name=$func_basename_result - test uninstall = "$opt_mode" && odir=$dir - - # Remember odir for removal later, being careful to avoid duplicates - if test clean = "$opt_mode"; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif $rmforce; then - continue - fi - - rmfiles=$file - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case $opt_mode in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && test none != "$pic_object"; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && test none != "$non_pic_object"; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test clean = "$opt_mode"; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.$objext" - if test yes = "$fast_install" && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name"; then - func_append rmfiles " $odir/lt-$noexename.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the $objdir's in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then - func_mode_uninstall ${1+"$@"} -fi - -test -z "$opt_mode" && { - help=$generic_help - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode '$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# where we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/man/.gitignore b/man/.gitignore new file mode 100644 index 00000000..a5a91a95 --- /dev/null +++ b/man/.gitignore @@ -0,0 +1,8 @@ +.xml2po.mo +config.xml +generate_mans.deps + +*.[0-9] + +/po/POTFILES +/po/stamp-po diff --git a/man/Makefile.in b/man/Makefile.in deleted file mode 100644 index d3ec688f..00000000 --- a/man/Makefile.in +++ /dev/null @@ -1,1066 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@ENABLE_SUBIDS_TRUE@am__append_2 = $(man_subids) -@USE_PAM_TRUE@am__append_3 = $(man_nopam) -@ENABLE_SUBIDS_FALSE@am__append_4 = $(man_subids) -subdir = man -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = config.xml -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ - "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" -man3dir = $(mandir)/man3 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = po cs da de es fi fr hu id it ja ko pl pt_BR ru sv tr \ - zh_CN zh_TW -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.xml.in \ - $(srcdir)/generate_mans.mak -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -@USE_NLS_FALSE@SUBDIRS = - -# subdirectories for translated manual pages -@USE_NLS_TRUE@SUBDIRS = po cs da de es fi fr hu id it ja ko pl pt_BR ru sv tr zh_CN zh_TW -man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ - man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ - man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) $(am__append_2) -man_nopam = \ - man5/limits.5 \ - man5/login.access.5 \ - man5/porttime.5 - -man_subids = \ - man1/newgidmap.1 \ - man1/newuidmap.1 \ - man5/subgid.5 \ - man5/subuid.5 - -man_XMANS = \ - chage.1.xml \ - chfn.1.xml \ - chgpasswd.8.xml \ - chpasswd.8.xml \ - chsh.1.xml \ - expiry.1.xml \ - faillog.5.xml \ - faillog.8.xml \ - gpasswd.1.xml \ - groupadd.8.xml \ - groupdel.8.xml \ - groupmems.8.xml \ - groupmod.8.xml \ - groups.1.xml \ - grpck.8.xml \ - gshadow.5.xml \ - lastlog.8.xml \ - limits.5.xml \ - login.1.xml \ - login.access.5.xml \ - login.defs.5.xml \ - logoutd.8.xml \ - newgidmap.1.xml \ - newgrp.1.xml \ - newuidmap.1.xml \ - newusers.8.xml \ - nologin.8.xml \ - passwd.1.xml \ - passwd.5.xml \ - porttime.5.xml \ - pwck.8.xml \ - pwconv.8.xml \ - shadow.3.xml \ - shadow.5.xml \ - sg.1.xml \ - su.1.xml \ - suauth.5.xml \ - subgid.5.xml \ - subuid.5.xml \ - useradd.8.xml \ - userdel.8.xml \ - usermod.8.xml \ - vipw.8.xml - -login_defs_v = \ - CHFN_AUTH.xml \ - CHFN_RESTRICT.xml \ - CHSH_AUTH.xml \ - CONSOLE.xml \ - CONSOLE_GROUPS.xml \ - CREATE_HOME.xml \ - DEFAULT_HOME.xml \ - ENCRYPT_METHOD.xml \ - ENV_HZ.xml \ - ENVIRON_FILE.xml \ - ENV_PATH.xml \ - ENV_SUPATH.xml \ - ENV_TZ.xml \ - ERASECHAR.xml \ - FAIL_DELAY.xml \ - FAILLOG_ENAB.xml \ - FAKE_SHELL.xml \ - FTMP_FILE.xml \ - GID_MAX.xml \ - HUSHLOGIN_FILE.xml \ - ISSUE_FILE.xml \ - KILLCHAR.xml \ - LASTLOG_ENAB.xml \ - LOGIN_RETRIES.xml \ - LOGIN_STRING.xml \ - LOGIN_TIMEOUT.xml \ - LOG_OK_LOGINS.xml \ - LOG_UNKFAIL_ENAB.xml \ - MAIL_CHECK_ENAB.xml \ - MAIL_DIR.xml \ - MAX_MEMBERS_PER_GROUP.xml \ - MD5_CRYPT_ENAB.xml \ - MOTD_FILE.xml \ - NOLOGINS_FILE.xml \ - OBSCURE_CHECKS_ENAB.xml \ - PASS_ALWAYS_WARN.xml \ - PASS_CHANGE_TRIES.xml \ - PASS_MAX_DAYS.xml \ - PASS_MAX_LEN.xml \ - PASS_MIN_DAYS.xml \ - PASS_WARN_AGE.xml \ - PORTTIME_CHECKS_ENAB.xml \ - QUOTAS_ENAB.xml \ - SHA_CRYPT_MIN_ROUNDS.xml \ - SULOG_FILE.xml \ - SU_NAME.xml \ - SU_WHEEL_ONLY.xml \ - SYSLOG_SG_ENAB.xml \ - SYSLOG_SU_ENAB.xml \ - TCB_AUTH_GROUP.xml \ - TCB_SYMLINKS.xml \ - TTYGROUP.xml \ - TTYTYPE_FILE.xml \ - UID_MAX.xml \ - ULIMIT.xml \ - UMASK.xml \ - USERDEL_CMD.xml \ - USERGROUPS_ENAB.xml \ - USE_TCB.xml \ - SUB_GID_COUNT.xml \ - SUB_UID_COUNT.xml \ - SYS_GID_MAX.xml \ - SYS_UID_MAX.xml - -EXTRA_DIST = $(man_MANS) $(man_XMANS) $(addprefix \ - login.defs.d/,$(login_defs_v)) man1/id.1 id.1.xml \ - man8/sulogin.8 sulogin.8.xml generate_mans.mak \ - generate_translations.mak $(am__append_3) $(am__append_4) -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_TRUE@SHADOWGRP_COND = gshadow -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_FALSE@TCB_COND = no_tcb -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids -@ENABLE_REGENERATE_MAN_TRUE@CLEANFILES = $(man_MANS) man1/id.1 man8/sulogin.8 -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/generate_mans.mak $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/generate_mans.mak $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -config.xml: $(top_builddir)/config.status $(srcdir)/config.xml.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man3: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man3dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.3[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(MANS) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@ENABLE_REGENERATE_MAN_FALSE@clean-local: -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: install-man1 install-man3 install-man5 install-man8 - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ - uninstall-man8 - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool clean-local \ - cscopelist-am ctags ctags-am distclean distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-man1 install-man3 \ - install-man5 install-man8 install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-man uninstall-man1 uninstall-man3 \ - uninstall-man5 uninstall-man8 - -.PRECIOUS: Makefile - - -generate_mans.deps: *.xml - echo "# This file is generated" > $@ - awk 'BEGIN{FS="\"";} /^$$/{ f=FILENAME; sub(/.xml/,"",f); print "man" substr(f, length (f)) "/" f ": " $$2 }' $(man_XMANS) >> $@ - -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_REGENERATE_MAN_TRUE@include generate_mans.deps - -@ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml -@ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $<; then \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^/%config;/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ else \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ fi - -@ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ -@ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< - -@ENABLE_REGENERATE_MAN_TRUE@clean-local: -@ENABLE_REGENERATE_MAN_TRUE@ for d in man1 man3 man5 man8; do [ -d $$d ] && rmdir $$d; done - -#$(man_MANS): -# @echo you need to run configure with --enable-man to generate man pages -# @false - -@ENABLE_REGENERATE_MAN_TRUE@man8/grpconv.8 man8/grpunconv.8 man8/pwunconv.8: man8/pwconv.8 - -@ENABLE_REGENERATE_MAN_TRUE@man3/getspnam.3: man3/shadow.3 - -@ENABLE_REGENERATE_MAN_TRUE@man8/vigr.8: man8/vipw.8 - -@ENABLE_REGENERATE_MAN_FALSE@$(man_MANS): -@ENABLE_REGENERATE_MAN_FALSE@ @echo "" -@ENABLE_REGENERATE_MAN_FALSE@ @echo "Error: you need to run configure with '--enable-man'" -@ENABLE_REGENERATE_MAN_FALSE@ @echo " in order to regenerate man pages." -@ENABLE_REGENERATE_MAN_FALSE@ @echo "" -@ENABLE_REGENERATE_MAN_FALSE@ @false - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/cs/Makefile.in b/man/cs/Makefile.in deleted file mode 100644 index d683af8d..00000000 --- a/man/cs/Makefile.in +++ /dev/null @@ -1,661 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = man/cs -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ - "$(DESTDIR)$(man8dir)" -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/cs -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = \ - man1/expiry.1 \ - man5/faillog.5 \ - man8/faillog.8 \ - man1/gpasswd.1 \ - man8/groupadd.8 \ - man8/groupdel.8 \ - man8/groupmod.8 \ - man1/groups.1 \ - man8/grpck.8 \ - man5/gshadow.5 \ - man8/lastlog.8 \ - man8/nologin.8 \ - man5/passwd.5 \ - man5/shadow.5 \ - man1/su.1 \ - man8/vipw.8 - -EXTRA_DIST = $(man_MANS) \ - man1/id.1 \ - man8/groupmems.8 \ - man8/logoutd.8 - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/cs/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/cs/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man5 install-man8 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-man uninstall-man1 uninstall-man5 \ - uninstall-man8 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/da/Makefile.in b/man/da/Makefile.in deleted file mode 100644 index 7c310201..00000000 --- a/man/da/Makefile.in +++ /dev/null @@ -1,702 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) -subdir = man/da -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ - "$(DESTDIR)$(man8dir)" -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/../generate_mans.mak \ - $(srcdir)/../generate_translations.mak $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/da -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ - -# 2012.01.28 - activate manpages with more than 50% translated messages -man_MANS = man1/chfn.1 man8/groupdel.8 man1/groups.1 man5/gshadow.5 \ - man8/logoutd.8 man1/newgrp.1 man8/nologin.8 man1/sg.1 \ - man8/vigr.8 man8/vipw.8 $(am__append_1) -man_nopam = -EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_2) -LANG = $(notdir $(CURDIR)) -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_TRUE@SHADOWGRP_COND = gshadow -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_FALSE@TCB_COND = no_tcb -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids -CLEANFILES = .xml2po.mo $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/da/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/da/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@ENABLE_REGENERATE_MAN_FALSE@clean-local: -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man5 install-man8 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-man uninstall-man1 uninstall-man5 \ - uninstall-man8 - -.PRECIOUS: Makefile - - -@ENABLE_REGENERATE_MAN_TRUE@config.xml: ../config.xml.in -@ENABLE_REGENERATE_MAN_TRUE@ $(MAKE) -C .. config.xml -@ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ xml2po --expand-all-entities -l $(LANG) -p ../po/$(LANG).po -o $@ ../$@ -@ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml -@ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $<; then \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^/%config;/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ else \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ fi - -@ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ -@ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< - -@ENABLE_REGENERATE_MAN_TRUE@clean-local: -@ENABLE_REGENERATE_MAN_TRUE@ for d in man1 man3 man5 man8; do [ -d $$d ] && rmdir $$d; done - -#$(man_MANS): -# @echo you need to run configure with --enable-man to generate man pages -# @false - -@ENABLE_REGENERATE_MAN_TRUE@man8/grpconv.8 man8/grpunconv.8 man8/pwunconv.8: man8/pwconv.8 - -@ENABLE_REGENERATE_MAN_TRUE@man3/getspnam.3: man3/shadow.3 - -@ENABLE_REGENERATE_MAN_TRUE@man8/vigr.8: man8/vipw.8 - -@ENABLE_REGENERATE_MAN_FALSE@$(man_MANS): -@ENABLE_REGENERATE_MAN_FALSE@ @echo you need to run configure with --enable-man to generate man pages -@ENABLE_REGENERATE_MAN_FALSE@ @false - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/da/man1/chfn.1 b/man/da/man1/chfn.1 deleted file mode 100644 index 0746204d..00000000 --- a/man/da/man1/chfn.1 +++ /dev/null @@ -1,162 +0,0 @@ -'\" t -.\" Title: chfn -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: Danish -.\" -.TH "CHFN" "1" "18/09/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -chfn \- change real user name and information -.SH "SYNOPSIS" -.HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fItilvalg\fR] [\fILOGIND\fR] -.SH "BESKRIVELSE" -.PP -The -\fBchfn\fR -command changes user fullname, office room number, office phone number, and home phone number information for a user\*(Aqs account\&. This information is typically printed by -\fBfinger\fR(1) -and similar programs\&. A normal user may only change the fields for her own account, subject to the restrictions in -/etc/login\&.defs\&. (The default configuration is to prevent users from changing their fullname\&.) The superuser may change any field for any account\&. Additionally, only the superuser may use the -\fB\-o\fR -option to change the undefined portions of the GECOS field\&. -.PP -These fields must not contain any colons\&. Except for the -\fIother\fR -field, they should not contain any comma or equal sign\&. It is also recommended to avoid non\-US\-ASCII characters, but this is only enforced for the phone numbers\&. The -\fIother\fR -field is used to store accounting information used by other applications\&. -.SH "TILVALG" -.PP -Tilvalgende som g\(aelder for kommandoen -\fBchfn\fR -er: -.PP -\fB\-f\fR, \fB\-\-full\-name\fR\ \&\fINAVN\fR -.RS 4 -\(AEndr brugerens navn\&. -.RE -.PP -\fB\-h\fR, \fB\-\-home\-phone\fR\ \&\fITELEFONNUMMER\fR -.RS 4 -\(AEndr brugerens telefonnummer\&. -.RE -.PP -\fB\-o\fR, \fB\-\-other\fR\ \&\fIANDEN\fR -.RS 4 -\(AEndr brugerens anden GECOS\-information\&. Dette felt bruges til at gemme kontoinformation brugt af andre programmer, og kan kun \(aendres af en superbruger\&. -.RE -.PP -\fB\-r\fR, \fB\-\-room\fR\ \&\fIV\(AERELSESNUMMER\fR -.RS 4 -\(AEndr brugerens v\(aerelsesnummer\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Brug \(aendringer i mappen -\fICHROOT_DIR\fR -og brug konfigurationsfilerne fra mappen -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-help\fR -.RS 4 -Vis hj\(aelpeteksten og afslut\&. -.RE -.PP -\fB\-w\fR, \fB\-\-work\-phone\fR\ \&\fIARBEJDSTELEFON\fR -.RS 4 -\(AEndr brugerens arbejdsnummer\&. -.RE -.PP -If none of the options are selected, -\fBchfn\fR -operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of -\fB[ ]\fR -marks\&. Without options, -\fBchfn\fR -prompts for the current user account\&. -.SH "KONFIGURATION" -.PP -De f\(/olgende konfigurationsvariabler i -/etc/login\&.defs -\(aendrer opf\(/orelsen for dette v\(aerkt\(/oj: -.PP -\fBCHFN_AUTH\fR (boolesk) -.RS 4 -If -\fIyes\fR, the -\fBchfn\fR -program will require authentication before making any changes, unless run by the superuser\&. -.RE -.PP -\fBCHFN_RESTRICT\fR (string) -.RS 4 -This parameter specifies which values in the -\fIgecos\fR -field of the -/etc/passwd -file may be changed by regular users using the -\fBchfn\fR -program\&. It can be any combination of letters -\fIf\fR, -\fIr\fR, -\fIw\fR, -\fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility, -\fIyes\fR -is equivalent to -\fIrwh\fR -and -\fIno\fR -is equivalent to -\fIfrwh\fR\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing -\fBchfn\fR -SUID\&. -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&. -.sp -If the string contains -\fI%s\fR, this will be replaced by the user\*(Aqs name\&. -.RE -.SH "FILER" -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.PP -/etc/passwd -.RS 4 -Information om brugerkonto\&. -.RE -.SH "SE OGS\(oA" -.PP -\fBchsh\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/da/man1/groups.1 b/man/da/man1/groups.1 deleted file mode 100644 index 5e53f747..00000000 --- a/man/da/man1/groups.1 +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: Danish -.\" -.TH "GROUPS" "1" "18/09/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -groups \- vis aktuelle gruppenavne -.SH "SYNOPSIS" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIbruger\fR] -.SH "BESKRIVELSE" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named -\fIuser\fR\&. -.SH "NOTE" -.PP -Systems which do not support concurrent group sets will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "FILER" -.PP -/etc/group -.RS 4 -Information om gruppekonto\&. -.RE -.SH "SE OGS\(oA" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2)\&. diff --git a/man/da/man1/id.1 b/man/da/man1/id.1 deleted file mode 100644 index 235049ff..00000000 --- a/man/da/man1/id.1 +++ /dev/null @@ -1,60 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: Danish -.\" -.TH "ID" "1" "18/09/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -id \- display current user and group ID names -.SH "SYNOPSIS" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "BESKRIVELSE" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support multiple concurrent group membership\&. -.SH "FILER" -.PP -/etc/group -.RS 4 -Information om gruppekonto\&. -.RE -.PP -/etc/passwd -.RS 4 -Information om brugerkonto\&. -.RE -.SH "SE OGS\(oA" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2) diff --git a/man/da/man1/newgrp.1 b/man/da/man1/newgrp.1 deleted file mode 100644 index 40001ba1..00000000 --- a/man/da/man1/newgrp.1 +++ /dev/null @@ -1,98 +0,0 @@ -'\" t -.\" Title: newgrp -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: Danish -.\" -.TH "NEWGRP" "1" "18/09/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -newgrp \- log ind p\(oa en ny gruppe -.SH "SYNOPSIS" -.HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIgroup\fR] -.SH "BESKRIVELSE" -.PP -Kommandoen -\fBnewgrp\fR -bruges til at \(aendre den aktuelle grupp\-id under en logindsession\&. Hvis det valgfrie flag -\fB\-\fR -er angivet, s\(oa vil brugerens milj\(/o blive geninitialiseres som om at brugeren havde logget ind, ellers bevares det aktuelle milj\(/o, inklusiv aktuel arbejdsmappe, u\(aendret\&. -.PP -\fBnewgrp\fR -changes the current real group ID to the named group, or to the default group listed in -/etc/passwd -if no group name is given\&. -\fBnewgrp\fR -also tries to add the group to the user groupset\&. If not root, the user will be prompted for a password if she does not have a password (in -/etc/shadow -if this user has an entry in the shadowed password file, or in -/etc/passwd -otherwise) and the group does, or if the user is not listed as a member and the group has a password\&. The user will be denied access if the group password is empty and the user is not listed as a member\&. -.PP -If there is an entry for this group in -/etc/gshadow, then the list of members and the password of this group will be taken from this file, otherwise, the entry in -/etc/group -is considered\&. -.SH "KONFIGURATION" -.PP -De f\(/olgende konfigurationsvariabler i -/etc/login\&.defs -\(aendrer opf\(/orelsen for dette v\(aerkt\(/oj: -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsg\fR -activity\&. -.RE -.SH "FILER" -.PP -/etc/passwd -.RS 4 -Information om brugerkonto\&. -.RE -.PP -/etc/shadow -.RS 4 -Information om sikret brugerkonto\&. -.RE -.PP -/etc/group -.RS 4 -Information om gruppekonto\&. -.RE -.PP -/etc/gshadow -.RS 4 -Information om sikret gruppekonto\&. -.RE -.SH "SE OGS\(oA" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBsu\fR(1), -\fBsg\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/da/man1/sg.1 b/man/da/man1/sg.1 deleted file mode 100644 index 38d6849d..00000000 --- a/man/da/man1/sg.1 +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\" Title: sg -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: Danish -.\" -.TH "SG" "1" "18/09/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -sg \- execute command as different group ID -.SH "SYNOPSIS" -.HP \w'\fBsg\fR\ 'u -\fBsg\fR [\-] [group\ [\-c\ ]\ command] -.SH "BESKRIVELSE" -.PP -The -\fBsg\fR -command works similar to -\fBnewgrp\fR -but accepts a command\&. The command will be executed with the -/bin/sh -shell\&. With most shells you may run -\fBsg\fR -from, you need to enclose multi\-word commands in quotes\&. Another difference between -\fBnewgrp\fR -and -\fBsg\fR -is that some shells treat -\fBnewgrp\fR -specially, replacing themselves with a new instance of a shell that -\fBnewgrp\fR -creates\&. This doesn\*(Aqt happen with -\fBsg\fR, so upon exit from a -\fBsg\fR -command you are returned to your previous group ID\&. -.SH "KONFIGURATION" -.PP -De f\(/olgende konfigurationsvariabler i -/etc/login\&.defs -\(aendrer opf\(/orelsen for dette v\(aerkt\(/oj: -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsg\fR -activity\&. -.RE -.SH "FILER" -.PP -/etc/passwd -.RS 4 -Information om brugerkonto\&. -.RE -.PP -/etc/shadow -.RS 4 -Information om sikret brugerkonto\&. -.RE -.PP -/etc/group -.RS 4 -Information om gruppekonto\&. -.RE -.PP -/etc/gshadow -.RS 4 -Information om sikret gruppekonto\&. -.RE -.SH "SE OGS\(oA" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBnewgrp\fR(1), -\fBsu\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/da/man5/gshadow.5 b/man/da/man5/gshadow.5 deleted file mode 100644 index b414a588..00000000 --- a/man/da/man5/gshadow.5 +++ /dev/null @@ -1,101 +0,0 @@ -'\" t -.\" Title: gshadow -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: Danish -.\" -.TH "GSHADOW" "5" "18/09/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -gshadow \- shadowed group file -.SH "BESKRIVELSE" -.PP -/etc/gshadow -contains the shadowed information for group accounts\&. -.PP -This file must not be readable by regular users if password security is to be maintained\&. -.PP -Each line of this file contains the following colon\-separated fields: -.PP -\fBgruppenavn\fR -.RS 4 -Det skal v\(aere et gyldigt gruppenavn, som findes p\(oa systemet\&. -.RE -.PP -\fBencrypted password\fR -.RS 4 -Refer to -\fBcrypt\fR(3) -for details on how this string is interpreted\&. -.sp -If the password field contains some string that is not a valid result of -\fBcrypt\fR(3), for instance ! or *, users will not be able to use a unix password to access the group (but group members do not need the password)\&. -.sp -The password is used when a user who is not a member of the group wants to gain the permissions of this group (see -\fBnewgrp\fR(1))\&. -.sp -This field may be empty, in which case only the group members can gain the group permissions\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.sp -This password supersedes any password specified in -/etc/group\&. -.RE -.PP -\fBadministratorer\fR -.RS 4 -Det skal v\(aere en kommaadskilt liste af brugernavne\&. -.sp -Administratorer kan \(aendre adgangskoden eller medlemmerne af gruppen\&. -.sp -Administratorer har ogs\(oa de samme rettigheder som medlemmerne (se nedenfor)\&. -.RE -.PP -\fBmedlemmer\fR -.RS 4 -Det skal v\(aere en kommaadskilt liste af brugernavne\&. -.sp -Medlemmer kan tilg\(oa gruppen uden at blive spurgt efter en adgangskode\&. -.sp -Du skal bruge den samme liste over brugere som i -/etc/group\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Information om gruppekonto\&. -.RE -.PP -/etc/gshadow -.RS 4 -Information om sikret gruppekonto\&. -.RE -.SH "SE OGS\(oA" -.PP -\fBgpasswd\fR(5), -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBgrpconv\fR(8), -\fBnewgrp\fR(1)\&. diff --git a/man/da/man8/groupdel.8 b/man/da/man8/groupdel.8 deleted file mode 100644 index 094f7c45..00000000 --- a/man/da/man8/groupdel.8 +++ /dev/null @@ -1,135 +0,0 @@ -'\" t -.\" Title: groupdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Kommandoer for systemh\(oandtering -.\" Source: shadow-utils 4.4 -.\" Language: Danish -.\" -.TH "GROUPDEL" "8" "18/09/2016" "shadow\-utils 4\&.4" "Kommandoer for systemh\(oandterin" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -groupdel \- slet en gruppe -.SH "SYNOPSIS" -.HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fItilvalg\fR] \fIGRUPPE\fR -.SH "BESKRIVELSE" -.PP -The -\fBgroupdel\fR -command modifies the system account files, deleting all entries that refer to -\fIGROUP\fR\&. The named group must exist\&. -.SH "TILVALG" -.PP -Tilvalgene som g\(aelder for kommandoen -\fBgroupdel\fR -er: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Vis hj\(aelpeteksten og afslut\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Brug \(aendringer i mappen -\fICHROOT_DIR\fR -og brug konfigurationsfilerne fra mappen -\fICHROOT_DIR\fR\&. -.RE -.SH "CAVEATS" -.PP -De kan ikke fjerne den prim\(aere gruppe for en eksisterende bruger\&. Du skal fjerne brugeren f\(/or du fjerner gruppen\&. -.PP -Du skal manuelt kontrollere alle filsystemer for at sikre dig, at ingen filer fortsat er ejet af denne gruppe\&. -.SH "KONFIGURATION" -.PP -De f\(/olgende konfigurationsvariabler i -/etc/login\&.defs -\(aendrer opf\(/orelsen for dette v\(aerkt\(/oj: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Information om gruppekonto\&. -.RE -.PP -/etc/gshadow -.RS 4 -Information om sikret gruppekonto\&. -.RE -.SH "EXIT VALUES" -.PP -Kommandoen -\fBgroupdel\fR -findes med de f\(/olgende v\(aerdier: -.PP -\fI0\fR -.RS 4 -success -.RE -.PP -\fI2\fR -.RS 4 -invalid command syntax -.RE -.PP -\fI6\fR -.RS 4 -angivet gruppe findes ikke -.RE -.PP -\fI8\fR -.RS 4 -Kan ikke fjerne brugers prim\(aere gruppe -.RE -.PP -\fI10\fR -.RS 4 -can\*(Aqt update group file -.RE -.SH "SE OGS\(oA" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/da/man8/logoutd.8 b/man/da/man8/logoutd.8 deleted file mode 100644 index e7b20198..00000000 --- a/man/da/man8/logoutd.8 +++ /dev/null @@ -1,57 +0,0 @@ -'\" t -.\" Title: logoutd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Kommandoer for systemh\(oandtering -.\" Source: shadow-utils 4.4 -.\" Language: Danish -.\" -.TH "LOGOUTD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Kommandoer for systemh\(oandterin" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -logoutd \- p\(oatving restriktioner for logindperiode -.SH "SYNOPSIS" -.HP \w'\fBlogoutd\fR\ 'u -\fBlogoutd\fR -.SH "BESKRIVELSE" -.PP -\fBlogoutd\fR -enforces the login time and port restrictions specified in -/etc/porttime\&. -\fBlogoutd\fR -should be started from -/etc/rc\&. The -/var/run/utmp -file is scanned periodically and each user name is checked to see if the named user is permitted on the named port at the current time\&. Any login session which is violating the restrictions in -/etc/porttime -is terminated\&. -.SH "FILER" -.PP -/etc/porttime -.RS 4 -File containing port access\&. -.RE -.PP -/var/run/utmp -.RS 4 -Liste over aktuelle logindsessioner\&. -.RE diff --git a/man/da/man8/nologin.8 b/man/da/man8/nologin.8 deleted file mode 100644 index 1450c832..00000000 --- a/man/da/man8/nologin.8 +++ /dev/null @@ -1,51 +0,0 @@ -'\" t -.\" Title: nologin -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Kommandoer for systemh\(oandtering -.\" Source: shadow-utils 4.4 -.\" Language: Danish -.\" -.TH "NOLOGIN" "8" "18/09/2016" "shadow\-utils 4\&.4" "Kommandoer for systemh\(oandterin" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -nologin \- n\(aegt venligt et logind -.SH "SYNOPSIS" -.HP \w'\fBnologin\fR\ 'u -\fBnologin\fR -.SH "BESKRIVELSE" -.PP -The -\fBnologin\fR -command displays a message that an account is not available and exits non\-zero\&. It is intended as a replacement shell field for accounts that have been disabled\&. -.PP -To disable all logins, investigate -\fBnologin\fR(5)\&. -.SH "SE OGS\(oA" -.PP -\fBlogin\fR(1), -\fBnologin\fR(5)\&. -.SH "HISTORIK" -.PP -The -\fBnologin\fR -command appeared in BSD 4\&.4\&. diff --git a/man/da/man8/vipw.8 b/man/da/man8/vipw.8 deleted file mode 100644 index 060fd55a..00000000 --- a/man/da/man8/vipw.8 +++ /dev/null @@ -1,135 +0,0 @@ -'\" t -.\" Title: vipw -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Kommandoer for systemh\(oandtering -.\" Source: shadow-utils 4.4 -.\" Language: Danish -.\" -.TH "VIPW" "8" "18/09/2016" "shadow\-utils 4\&.4" "Kommandoer for systemh\(oandterin" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAVN" -vipw, vigr \- rediger adgangskoden, gruppe, shadow\-adgangskode\- eller shadow\-gruppe\-fil -.SH "SYNOPSIS" -.HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fItilvalg\fR] -.HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fItilvalg\fR] -.SH "BESKRIVELSE" -.PP -Kommandoerne -\fBvipw\fR -og -\fBvigr\fR -redigerer filerne -/etc/passwd -og -/etc/group, respektivt\&. Med flaget -\fB\-s\fR -vil de redigere versionerne for Shadow for disse filer, -/etc/shadow -og -/etc/gshadow, respektivt\&. Programmerne vil s\(aette de passende l\(oase for at forhindre fil\(/odel\(aeggelse\&. N\(oar der kigges efter et redigerngsprogram, s\(oa vil programmet \(/ofrst fors\(/oge med milj\(/ovariablen -\fB$VISUAL\fR, derefter milj\(/ovariablen -\fB$EDITOR\fR, og endelig standardredigeringsprogrammet, -\fBvi\fR(1)\&. -.SH "TILVALG" -.PP -Tilvalgene som g\(aelder for kommandoerne -\fBvipw\fR -og -\fBvigr\fR -er: -.PP -\fB\-g\fR, \fB\-\-group\fR -.RS 4 -Rediger gruppedatabase\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Vis hj\(aelpeteksten og afslut\&. -.RE -.PP -\fB\-p\fR, \fB\-\-passwd\fR -.RS 4 -Rediger passwd\-database\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Stille tilstand\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Brug \(aendringer i mappen -\fICHROOT_DIR\fR -og brug konfigurationsfilerne fra mappen -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shadow\fR -.RS 4 -Rediger shadow\- eller gshadow\-database\&. -.RE -.SH "MILJ\(/O" -.PP -\fBVISUEL\fR -.RS 4 -Redigeringsprogram der skal bruges\&. -.RE -.PP -\fBREDIGERINGSPROGRAM\fR -.RS 4 -Redigeringsprogram der skal bruges hvis -\fBVISUAL\fR -ikke er angivet\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Information om gruppekonto\&. -.RE -.PP -/etc/gshadow -.RS 4 -Information om sikret gruppekonto\&. -.RE -.PP -/etc/passwd -.RS 4 -Information om brugerkonto\&. -.RE -.PP -/etc/shadow -.RS 4 -Information om sikret brugerkonto\&. -.RE -.SH "SE OGS\(oA" -.PP -\fBvi\fR(1), -\fBgruppe\fR(5), -\fBgshadow\fR(5), -\fBpasswd\fR(5), , -\fBshadow\fR(5)\&. diff --git a/man/de/Makefile.in b/man/de/Makefile.in deleted file mode 100644 index f22109ea..00000000 --- a/man/de/Makefile.in +++ /dev/null @@ -1,757 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) -subdir = man/de -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ - "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" -man3dir = $(mandir)/man3 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/../generate_mans.mak \ - $(srcdir)/../generate_translations.mak $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/de -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ - man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ - man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) -man_nopam = \ - man5/limits.5 \ - man5/login.access.5 \ - man5/porttime.5 - -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_2) -LANG = $(notdir $(CURDIR)) -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_TRUE@SHADOWGRP_COND = gshadow -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_FALSE@TCB_COND = no_tcb -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids -CLEANFILES = .xml2po.mo $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/de/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/de/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man3: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man3dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.3[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@ENABLE_REGENERATE_MAN_FALSE@clean-local: -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man3 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ - uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man3 install-man5 install-man8 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-man uninstall-man1 \ - uninstall-man3 uninstall-man5 uninstall-man8 - -.PRECIOUS: Makefile - - -@ENABLE_REGENERATE_MAN_TRUE@config.xml: ../config.xml.in -@ENABLE_REGENERATE_MAN_TRUE@ $(MAKE) -C .. config.xml -@ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ xml2po --expand-all-entities -l $(LANG) -p ../po/$(LANG).po -o $@ ../$@ -@ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml -@ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $<; then \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^/%config;/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ else \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ fi - -@ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ -@ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< - -@ENABLE_REGENERATE_MAN_TRUE@clean-local: -@ENABLE_REGENERATE_MAN_TRUE@ for d in man1 man3 man5 man8; do [ -d $$d ] && rmdir $$d; done - -#$(man_MANS): -# @echo you need to run configure with --enable-man to generate man pages -# @false - -@ENABLE_REGENERATE_MAN_TRUE@man8/grpconv.8 man8/grpunconv.8 man8/pwunconv.8: man8/pwconv.8 - -@ENABLE_REGENERATE_MAN_TRUE@man3/getspnam.3: man3/shadow.3 - -@ENABLE_REGENERATE_MAN_TRUE@man8/vigr.8: man8/vipw.8 - -@ENABLE_REGENERATE_MAN_FALSE@$(man_MANS): -@ENABLE_REGENERATE_MAN_FALSE@ @echo you need to run configure with --enable-man to generate man pages -@ENABLE_REGENERATE_MAN_FALSE@ @false - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/de/man1/chage.1 b/man/de/man1/chage.1 deleted file mode 100644 index 4b529c56..00000000 --- a/man/de/man1/chage.1 +++ /dev/null @@ -1,183 +0,0 @@ -'\" t -.\" Title: chage -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "CHAGE" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -chage \- \(:andert die Information zum Passwortverfall -.SH "\(:UBERSICHT" -.HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIOptionen\fR] \fIANMELDENAME\fR -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBchage\fR -ver\(:andert die Anzahl der Tage zwischen dem letzten Wechsel des Passworts und dem n\(:achsten Wechsel\&. Mit dieser Information bestimmt das System, wann ein Benutzer sein Passwort ver\(:andern muss\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBchage\fR -unterst\(:utzt werden, sind: -.PP -\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILETZTER_TAG\fR -.RS 4 -Legt die Anzahl der Tage, gerechnet ab dem 1\&. Januar 1970, fest, seit denen das Passwort das letzte Mal gewechselt wurde\&. Das Datum kann auch im Format JJJJ\-MM\-TT (oder in dem Format, das in Ihrer Region verbreitet ist) angegeben werden\&. -.RE -.PP -\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIVERFALLSDATUM\fR -.RS 4 -Setzt das Datum oder die Anzahl der Tage seit dem 1\&. Januar 1970, ab dem auf das Benutzerkonto nicht mehr zugegriffen werden kann\&. Das Datum kann auch im Format JJJJ\-MM\-TT (oder in dem Format, das in Ihrer Region verbreitet ist) angegeben werden\&. Ein Benutzer, dessen Konto gesperrt ist, muss sich mit dem Systemadministrator in Verbindung setzen, ehe er sich wieder am System anmelden kann\&. -.sp -Wenn -\fI\-1\fR -als -\fIVERFALLSDATUM\fR -angegeben wird, wird das Verfallsdatum f\(:ur das Konto entfernt\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-I\fR, \fB\-\-inactive\fR\ \&\fIINAKTIV\fR -.RS 4 -Legt die Anzahl der Tage der Unt\(:atigkeit fest, nach denen ein Passwort abgelaufen ist, bevor das Konto gesperrt wird\&. Die Option -\fIINAKTIV\fR -bezeichnet die Anzahl der Tage, f\(:ur die das Konto inaktiv ist\&. Ein Benutzer, dessen Konto gesperrt ist, muss sich mit dem Systemadministrator in Verbindung setzen, ehe er sich wieder am System anmelden kann\&. -.sp -Wenn -\fI\-1\fR -als -\fIINAKTIV\fR -angegeben wird, wird die \(:Uberwachung der fehlenden Verwendung des Kontos entfernt\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -zeigt Informationen zur Kontoalterung an -.RE -.PP -\fB\-m\fR, \fB\-\-mindays\fR\ \&\fIMIN_TAGE\fR -.RS 4 -Setzt die Anzahl von Tagen, die mindestens zwischen zwei \(:Anderungen eines Passworts vergehen m\(:ussen, auf -\fIMIN_TAGE\fR\&. Ein Wert von Null in diesem Feld bedeutet, dass der Benutzer sein Passwort jederzeit \(:andern darf\&. -.RE -.PP -\fB\-M\fR, \fB\-\-maxdays\fR\ \&\fIMAX_TAGE\fR -.RS 4 -Bestimmt die maximale Anzahl von Tagen, die das Passwort g\(:ultig bleibt\&. Wenn -\fIMAX_TAGE\fR -plus -\fILETZTER_TAG\fR -\(:alter als das aktuelle Datum ist, muss der Benutzer sein Passwort \(:andern, ehe er sein Konto benutzen kann\&. Mit der Option -\fB\-W\fR -werden die Benutzer vor dem drohenden Verfall ihres Passworts gewarnt\&. -.sp -Wenn -\fI\-1\fR -als -\fIMAX_TAGE\fR -angegeben wird, wird der Passwortverfall entfernt\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_TAGE\fR -.RS 4 -Legt die Anzahl der Tage fest, an denen der Benutzer eine Warnung erh\(:alt, bevor sein Passwort ge\(:andert werden muss\&. Die Option -\fIWARN_TAGE\fR -bezeichnet die Anzahl der Tage, f\(:ur die ein Benutzer vor Verfall seines Passworts gewarnt wird\&. -.RE -.PP -Wenn keine Option ausgew\(:ahlt wird, arbeitet -\fBchage\fR -interaktiv\&. Dabei wird der Benutzer nach den aktuellen Werten f\(:ur alle Felder befragt\&. Bei Eingabe eines neuen Wertes wird dieser verwendet, bei Eingabe einer Leerzeile stattdessen der Originalwert beibehalten\&. Der aktuelle Wert wird zwischen einem Paar von -\fB[ ]\fR -angezeigt\&. -.SH "ANMERKUNGEN" -.PP -F\(:ur das Programm -\fBchage\fR -ist es notwendig, dass eine Shadow\-Passwort\-Datei vorhanden ist\&. -.PP -Der Befehl -\fBchage\fR -kann nur von Root ausgef\(:uhrt werden\&. Alle anderen Benutzer k\(:onnen nur die Option -\fB\-l\fR -verwenden, um die Verfallsdaten f\(:ur ihr Konto einzusehen\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.SH "R\(:UCKGABEWERTE" -.PP -Der Befehl -\fBchage\fR -gibt beim Beenden folgende Werte zur\(:uck: -.PP -\fI0\fR -.RS 4 -Erfolg -.RE -.PP -\fI1\fR -.RS 4 -Berechtigung verweigert -.RE -.PP -\fI2\fR -.RS 4 -unzul\(:assige Syntax f\(:ur diesen Befehl -.RE -.PP -\fI15\fR -.RS 4 -Eine Shadow\-Passwort\-Datei kann nicht gefunden werden\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/de/man1/chfn.1 b/man/de/man1/chfn.1 deleted file mode 100644 index 5830fdaa..00000000 --- a/man/de/man1/chfn.1 +++ /dev/null @@ -1,163 +0,0 @@ -'\" t -.\" Title: chfn -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "CHFN" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -chfn \- \(:andert den vollst\(:andigen Namen eines Benutzers und sonstige Informationen -.SH "\(:UBERSICHT" -.HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fIOptionen\fR] [\fIANMELDENAME\fR] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBchfn\fR -\(:andert den vollst\(:andigen Namen, die B\(:urozimmernummer sowie die berufliche und private Telefonnummer f\(:ur ein Benutzerkonto\&. Diese Informationen werden typischerweise von -\fBfinger\fR(1) -und \(:ahnlichen Programmen verwendet\&. Ein normaler Benutzer darf nur die Felder seines eigenen Kontos \(:andern und muss dabei zudem die Einschr\(:ankungen in -/etc/login\&.defs -beachten\&. So ist es Benutzern standardm\(:a\(ssig nicht m\(:oglich, ihren vollst\(:andigen Namen zu \(:andern\&. Root kann die Felder aller Konten ver\(:andern\&. Au\(sserdem darf nur Root mittels der Option -\fB\-o\fR -die undefinierten Teile des GECOS\-Feldes \(:andern\&. -.PP -Diese Felder d\(:urfen keinen Doppelpunkt enthalten\&. Mit Ausnahme des Feldes -\fIsonstiges\fR -sollten sie kein Komma oder Gleichheitszeichen enthalten\&. Au\(sserdem wird abgeraten, andere Zeichen als US\-ASCII zu verwenden, aber nur f\(:ur die Telefonnummern ist dies zwingend\&. Das Feld -\fIsonstiges\fR -wird von anderen Anwendungen verwendet, um dort Informationen \(:uber das Konto abzuspeichern\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBchfn\fR -unterst\(:utzt werden, sind: -.PP -\fB\-f\fR, \fB\-\-full\-name\fR\ \&\fIVOLLST\(:ANDIGER_NAME\fR -.RS 4 -ver\(:andert den vollst\(:andigen Namen des Benutzers -.RE -.PP -\fB\-h\fR, \fB\-\-home\-phone\fR\ \&\fITEL_PRIV\fR -.RS 4 -\(:andert die private Telefonnummer des Benutzers -.RE -.PP -\fB\-o\fR, \fB\-\-other\fR\ \&\fISONSTIGES\fR -.RS 4 -Ver\(:andert die sonstigen Informationen \(:uber den Benutzer in der GECOS\-Zeile\&. In diesem Feld werden Kontoinformationen anderer Anwendungen gespeichert\&. Es kann nur vom Superuser ver\(:andert werden\&. -.RE -.PP -\fB\-r\fR, \fB\-\-room\fR\ \&\fIZIMMER_NUMMER\fR -.RS 4 -\(:andert die Zimmernummer des Benutzers -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-u\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-w\fR, \fB\-\-work\-phone\fR\ \&\fITEL_BERUF\fR -.RS 4 -ver\(:andert die berufliche Telefonnummer des Benutzers -.RE -.PP -Wenn keine Option ausgew\(:ahlt wird, arbeitet -\fBchfn\fR -interaktiv\&. Dabei wird der Benutzer nach den aktuellen Werten f\(:ur alle Felder befragt\&. Bei Eingabe eines neuen Wertes wird dieser verwendet, bei keiner Eingabe stattdessen der Originalwert beibehalten\&. Der aktuelle Wert wird zwischen einem Paar von -\fB[ ]\fR -angezeigt\&. Ohne Optionen fragt -\fBchfn\fR -nach einem Benutzerkonto\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBCHFN_AUTH\fR (boolesch) -.RS 4 -Falls -\fIyes\fR, ben\(:otigt das Programm -\fBchfn\fR -eine Authentifizierung, bevor es \(:Anderungen vornimmt, sofern es nicht von Root ausgef\(:uhrt wird\&. -.RE -.PP -\fBCHFN_RESTRICT\fR (Zeichenkette) -.RS 4 -Der Parameter bestimmt, welcher Wert in dem -\fIgecos\fR\-Feld von -/etc/passwd -von gew\(:ohnlichen Benutzern mittels des Programms -\fBchfn\fR -ge\(:andert werden darf\&. Er kann aus jeder Kombination der Buchstaben -\fIf\fR -,\fIr\fR, -\fIw\fR -und -\fIh\fR -bestehen\&. Diese Buchstaben stehen f\(:ur den vollst\(:andigen Namen, die Zimmernummer, die gesch\(:aftliche Telefonnummer und die private Telefonnummer\&. Zum Zweck der Abw\(:artskompatibilit\(:at entspricht -\fIyes\fR -\fIrwh\fR -und -\fIno\fR -\fIfrwh\fR\&. Falls nichts festgelegt wird, kann nur Root \(:Anderungen vornehmen\&. Die gr\(:o\(sste Einschr\(:ankung erreicht man besser, indem -chfn -nicht mit SUID\-Rechten ausgestattet wird\&. -.RE -.PP -\fBLOGIN_STRING\fR (Zeichenkette) -.RS 4 -Diese Zeichenkette wird bei der Eingabeaufforderung des Passworts (Prompt) verwendet\&. Standardm\(:a\(ssig wird \(FcPassword: \(Fo oder eine \(:Ubersetzung davon benutzt\&. Wenn Sie diese Variable definieren, wird die Eingabeaufforderung nicht \(:ubersetzt\&. -.sp -Wenn die Zeichenkette ein -\fI%s\fR -enth\(:alt, wird dies durch den Benutzernamen ersetzt\&. -.RE -.SH "DATEIEN" -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBchsh\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/de/man1/chsh.1 b/man/de/man1/chsh.1 deleted file mode 100644 index d92c2f8e..00000000 --- a/man/de/man1/chsh.1 +++ /dev/null @@ -1,122 +0,0 @@ -'\" t -.\" Title: chsh -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "CHSH" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -chsh \- \(:andert die Anmelde\-Shell -.SH "\(:UBERSICHT" -.HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIOptionen\fR] [\fIANMELDENAME\fR] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBchsh\fR -\(:andert die Anmelde\-Shell eines Benutzers\&. Er legt den Befehl fest, der bei der Anmeldung ausgef\(:uhrt wird\&. Ein normaler Benutzer kann nur die Anmelde\-Shell seines eigenen Kontos \(:andern, w\(:ahrend Root dies f\(:ur alle Konten darf\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBchsh\fR -unterst\(:utzt werden, sind: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -Der Name der neuen Anmelde\-Shell des Benutzers\&. Falls dieses Feld leer gelassen wird, verwendet das System die Standard\-Anmelde\-Shell\&. -.RE -.PP -Wenn die Option -\fB\-s\fR -nicht ausgew\(:ahlt ist, wird -\fBchsh\fR -im interaktiven Modus betrieben\&. Dabei wird der Benutzer mit der aktuellen Anmelde\-Shell zur Eingabe einer neuen aufgefordert\&. Durch Eingabe eines Wertes wird die Shell ge\(:andert, w\(:ahrend sie bei einer leeren Zeile beibehalten wird\&. Die aktuelle Shell wird zwischen einem Paar von -\fI[ ]\fR -angezeigt\&. -.SH "ANMERKUNGEN" -.PP -Die einzige Beschr\(:ankung f\(:ur die Anmelde\-Shell ist, dass der Name des Befehls in der Datei -/etc/shells -enthalten sein muss\&. Root darf allerdings jeden beliebigen Befehl vergeben\&. Bei Konten, denen eine beschr\(:ankte Anmelde\-Shell zugewiesen ist, ist es nicht m\(:oglich, die Anmelde\-Shell zu \(:andern\&. Daher ist es nicht ratsam, -/bin/rsh -in -/etc/shells -einzutragen, da ein Benutzer nicht zu seiner urspr\(:unglichen Anmelde\-Shell zur\(:uckwechseln kann, falls er versehentlich eine beschr\(:ankte Shell als Anmelde\-Shell ausw\(:ahlt\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBCHSH_AUTH\fR (boolesch) -.RS 4 -Falls -\fIyes\fR, ben\(:otigt das Programm -\fBchsh\fR -eine Authentifizierung, bevor es \(:Anderungen vornimmt, sofern es nicht von Root ausgef\(:uhrt wird\&. -.RE -.PP -\fBLOGIN_STRING\fR (Zeichenkette) -.RS 4 -Diese Zeichenkette wird bei der Eingabeaufforderung des Passworts (Prompt) verwendet\&. Standardm\(:a\(ssig wird \(FcPassword: \(Fo oder eine \(:Ubersetzung davon benutzt\&. Wenn Sie diese Variable definieren, wird die Eingabeaufforderung nicht \(:ubersetzt\&. -.sp -Wenn die Zeichenkette ein -\fI%s\fR -enth\(:alt, wird dies durch den Benutzernamen ersetzt\&. -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shells -.RS 4 -Liste der m\(:oglichen Anmelde\-Shells -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.SH "SIEHE AUCH" -.PP -\fBchfn\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/de/man1/expiry.1 b/man/de/man1/expiry.1 deleted file mode 100644 index 359f130a..00000000 --- a/man/de/man1/expiry.1 +++ /dev/null @@ -1,78 +0,0 @@ -'\" t -.\" Title: expiry -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "EXPIRY" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -expiry \- \(:uberpr\(:uft die Regeln f\(:ur den Verfall des Passworts und setzt diese um -.SH "\(:UBERSICHT" -.HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIOption\fR -.SH "BESCHREIBUNG" -.PP -Mit der Option -\fB\-c\fR -\(:uberpr\(:uft der Befehl -\fBexpiry\fR -den aktuellen Status des Verfalls des Passworts\&. Mit der Option -\fB\-f\fR -werden die notwendigen Ver\(:anderungen umgesetzt\&. Er kann von normalen Benutzern aufgerufen werden\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBexpiry\fR -unterst\(:utzt werden, sind: -.PP -\fB\-c\fR, \fB\-\-check\fR -.RS 4 -\(:uberpr\(:uft den Verfall des Passworts des aktuellen Benutzers -.RE -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -erzwingt den Wechsel des Passworts des aktuellen Benutzers, falls dieses abgelaufen ist -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/de/man1/gpasswd.1 b/man/de/man1/gpasswd.1 deleted file mode 100644 index d3e61d99..00000000 --- a/man/de/man1/gpasswd.1 +++ /dev/null @@ -1,235 +0,0 @@ -'\" t -.\" Title: gpasswd -.\" Author: Rafal Maszkowski -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "GPASSWD" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -gpasswd \- verwaltet /etc/group und /etc/gshadow -.SH "\(:UBERSICHT" -.HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fIOption\fR] \fIGruppe\fR -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBgpasswd\fR -dient zur Verwaltung von -/etc/groupund /etc/gshadow\&. Jede Gruppe kann -Gruppenverwalter, -Mitglieder und ein Passwort haben\&. -.PP -Der Systemadministrator kann mit der Option -\fB\-A\fR -Gruppenverwalter bestimmen\&. Mit der Option -\fB\-M\fR -legt er die Mitglieder fest\&. Er besitzt alle Rechte, die Gruppenverwalter und Mitglieder haben k\(:onnen\&. -.PP -Wenn ein -Gruppenverwalter -\fBgpasswd\fR -nur mit dem Gruppennamen aufruft, wird er aufgefordert, f\(:ur die -\fIGruppe\fR -ein neues Passwort zu vergeben\&. -.PP -Wenn ein Passwort vergeben wurde, k\(:onnen Mitglieder der Gruppe dennoch ohne Passwort -\fBnewgrp\fR(1) -ausf\(:uhren\&. Alle anderen Benutzer ben\(:otigen dazu das Passwort\&. -.SS "Hinweise zu Gruppenpassw\(:ortern" -.PP -Gruppenpassw\(:orter beinhalten ein Sicherheitsrisiko, da mehrere Personen das Passwort kennen\&. Dennoch k\(:onnen sie sinnvoll sein, um die Zusammenarbeit zwischen Benutzern zu erleichtern\&. -.SH "OPTIONEN" -.PP -Au\(sser die Optionen -\fB\-A\fR -und -\fB\-M\fR -k\(:onnen die \(:ubrigen Optionen nicht zusammen verwendet werden\&. -.PP -Die Optionen, die vom Befehl -\fBgpasswd\fR -unterst\(:utzt werden, sind: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIBenutzer\fR -.RS 4 -F\(:ugt den -\fIBenutzer\fR -der bezeichneten -\fIGruppe\fR -zu\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIBenutzer\fR -.RS 4 -entfernt den -\fIBenutzer\fR -aus der bezeichneten -\fIGruppe\fR -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-Q\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-r\fR, \fB\-\-remove\-password\fR -.RS 4 -Entfernt das Passwort der bezeichneten -\fIGruppe\fR\&. Das Gruppenpasswort wird leer sein\&. Damit k\(:onnen nur noch Gruppenmitglieder mit -\fBnewgrp\fR -zu der bezeichneten -\fIGruppe\fR -wechseln\&. -.RE -.PP -\fB\-R\fR, \fB\-\-restrict\fR -.RS 4 -Schr\(:ankt den Zugang zur bezeichneten -\fIGruppe\fR -ein\&. Das Gruppenpasswort wird auf \(Fc!\(Fo gesetzt\&. Damit k\(:onnen nur noch Gruppenmitglieder mit einem Passwort mit -\fBnewgrp\fR -zu der bezeichneten -\fIGruppe\fR -wechseln\&. -.RE -.PP -\fB\-A\fR, \fB\-\-administrators\fR\ \&\fIBenutzer\fR, \&.\&.\&. -.RS 4 -Liste der Gruppenverwalter bestimmen -.RE -.PP -\fB\-M\fR, \fB\-\-members\fR\ \&\fIBenutzer\fR, \&.\&.\&. -.RS 4 -Liste der Mitglieder der Gruppe bestimmen -.RE -.SH "WARNUNGEN" -.PP -Dieses Werkzeug bearbeitet nur -die Dateien /etc/group und /etc/gshadow\&. Sie k\(:onnen daher keine NIS\- oder LDAP\-Gruppen bearbeiten\&. Dies muss auf dem entsprechenden Server durchgef\(:uhrt werden\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBENCRYPT_METHOD\fR (Zeichenkette) -.RS 4 -Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Passw\(:orter verschl\(:usselt werden, bestimmt (soweit nicht in der Befehlszeile ein Algorithmus angegeben wird)\&. -.sp -Ihm kann einer der folgenden Wert zugewiesen werden: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Hinweis: Dieser Parameter \(:uberschreibt die Variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolesch) -.RS 4 -Legt fest, ob Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt werden\&. Falls diesem Wert -\fIyes\fR -zugewiesen ist, werden neue Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt, der zu dem in der aktuellen Ver\(:offentlichung von FreeBSD eingesetzten Algorithmus kompatibel ist\&. Passw\(:orter k\(:onnen dann beliebig lang sein, auch die Salt\-Zeichenketten sind l\(:anger\&. Setzen Sie diesen Wert auf -\fIno\fR, wenn Sie verschl\(:usselte Passw\(:orter auf ein anderes System kopieren m\(:ochten, das den neuen Algorithmus nicht versteht\&. Der Standardwert ist -\fIno\fR\&. -.sp -Dieser Variable geht die Variable -\fBENCRYPT_METHOD\fR -und eine Option auf der Befehlszeile, mit der der Verschl\(:usselungsalgorithmus bestimmt wird, vor\&. -.sp -Der Einsatz dieser Variable ist veraltet\&. Sie sollten -\fBENCRYPT_METHOD\fR -verwenden\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (Zahl), \fBSHA_CRYPT_MAX_ROUNDS\fR (Zahl) -.RS 4 -Wenn -\fBENCRYPT_METHOD\fR -auf -\fISHA256\fR -oder -\fISHA512\fR -gesetzt ist, legt dies die Anzahl der Runden von SHA fest, die standardm\(:a\(ssig vom Verschl\(:usselungsalgorithmus verwendet werden (falls die Anzahl der Runden nicht auf der Befehlszeile angegeben wird)\&. -.sp -Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&. -.sp -Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&. -.sp -Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&. -.sp -Falls nur der Wert f\(:ur -\fBSHA_CRYPT_MIN_ROUNDS\fR -oder -\fBSHA_CRYPT_MAX_ROUNDS\fR -festgelegt wird, wird dieser Wert verwendet\&. -.sp -Falls -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, wird der h\(:ohere Wert verwendet\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBnewgrp\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBgrpck\fR(8), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/de/man1/groups.1 b/man/de/man1/groups.1 deleted file mode 100644 index a4ca269c..00000000 --- a/man/de/man1/groups.1 +++ /dev/null @@ -1,66 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "GROUPS" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groups \- zeigt die aktuell verwendeten Gruppennamen an -.SH "\(:UBERSICHT" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIBenutzer\fR] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBgroups\fR -zeigt die momentan verwendeten Gruppennamen oder IDs an\&. Wenn einem Wert kein Eintrag in -/etc/group -entspricht, wird die Gruppennummer ausgegeben\&. Mit der Option -\fIuser\fR -werden nur die Gruppen des bezeichneten -\fIBenutzers\fR -angezeigt\&. -.SH "ANMERKUNGEN" -.PP -Auf Systemen, die keine simultanen Gruppen unterst\(:utzen, werden die Informationen aus -/etc/group -ausgegeben\&. Wenn der Benutzer seine tats\(:achliche und effektive Gruppen\-ID \(:andern will, muss er -\fBnewgrp\fR -oder -\fBsg\fR -verwenden\&. -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2)\&. diff --git a/man/de/man1/id.1 b/man/de/man1/id.1 deleted file mode 100644 index d0f04087..00000000 --- a/man/de/man1/id.1 +++ /dev/null @@ -1,60 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "ID" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -id \- display current user and group ID names -.SH "\(:UBERSICHT" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "BESCHREIBUNG" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support multiple concurrent group membership\&. -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2) diff --git a/man/de/man1/login.1 b/man/de/man1/login.1 deleted file mode 100644 index 11924c75..00000000 --- a/man/de/man1/login.1 +++ /dev/null @@ -1,500 +0,0 @@ -'\" t -.\" Title: login -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "LOGIN" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -login \- startet eine Sitzung auf dem System -.SH "\(:UBERSICHT" -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIRechner\fR] [\fIBenutzername\fR] [\fIENV=VAR\fR...] -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIRechner\fR] \-f \fIBenutzername\fR -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] \-r\ \fIRechner\fR -.SH "BESCHREIBUNG" -.PP -Das Programm -\fBlogin\fR -wird verwendet, um eine neue Sitzung auf dem System zu starten\&. Es wird normalerweise automatisch als Antwort auf die -\fIlogin:\fR\-Eingabeaufforderung auf dem Terminal des Benutzers ausgef\(:uhrt\&. -\fBlogin\fR -kann von der Shell besonders behandelt werden und kann nicht als Subprozess gestartet werden\&. Wenn -\fBlogin\fR -von einer Shell aufgerufen wird, sollte es als -\fBexec login\fR -ausgef\(:uhrt werden, so dass die aktuelle Shell des Benutzers beendet wird (und somit verhindert wird, dass der neue Benutzer in die Sitzung des alten zur\(:uckkehren kann)\&. Der Versuch, von einer Shell au\(sser der Anmelde\-Shell -\fBlogin\fR -auszuf\(:uhren, wird eine Fehlermeldung erzeugen\&. -.PP -Falls erforderlich, wird der Benutzer anschlie\(ssend nach einem Passwort gefragt\&. Dieses wird w\(:ahrend der Eingabe nicht angezeigt\&. Es sind nur eine kleine Anzahl von Anmeldeversuchen zul\(:assig, ehe -\fBlogin\fR -abbricht und die Kommunikation getrennt wird\&. -.PP -Falls der Passwortverfall f\(:ur Ihr Konto aktiviert wurde, kann es sein, dass Sie vor der weiteren Nutzung nach einem neuen Passwort gefragt werden\&. Sie m\(:ussen Ihr altes und neues Passwort angegeben, bevor Sie fortfahren k\(:onnen\&. In der Dokumentation zu -\fBpasswd\fR(1) -finden sich weitere Informationen\&. -.PP -Nach einer erfolgreichen Anmeldung werden Ihnen Systemmeldungen pr\(:asentiert, sowie das Vorhandensein von Mails angezeigt\&. Die Anzeige der systemweiten Nachrichtendatei -/etc/motd -kann abgeschaltet werden, indem im Anmeldeverzeichnis eine leere Datei -\&.hushlogin -angelegt wird\&. Je nach Zustand der Mailbox des Benutzers ist die Mailnachricht entweder \(Fc\fISie haben neue Mails\&.\fR\(Fo, \(Fc\fISie haben Mails\&.\fR\(Fo oder \(Fc\fIKeine Mails\&.\fR\(Fo\&. -.PP -Die Benutzer\- und Gruppen\-IDs werden gem\(:a\(ss den Werten in -/etc/passwd -gesetzt\&. Die Werte f\(:ur -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$PATH\fR, -\fB$LOGNAME\fR -und -\fB$MAIL\fR -werden ebenfalls entsprechend den Feldern im Passworteintrag gesetzt\&. Werte f\(:ur ulimit, umask und nice k\(:onnen ebenfalls gem\(:a\(ss den Werten im GECOS\-Feld gesetzt werden\&. -.PP -Bei einigen Installationen wird anf\(:anglich die Umgebungsvariable -\fB$TERM\fR -entsprechend dem Terminaltyp Ihrer tty\-Zeile, wie sie in -/etc/ttytype -angegeben ist, gesetzt\&. -.PP -Ein Startskript f\(:ur Ihren Befehlsinterpreter kann auch ausgef\(:uhrt werden\&. Sehen Sie bitte in den entsprechenden Handbuchseiten f\(:ur weitere Informationen dar\(:uber nach\&. -.PP -Eine Subsystem\-Anmeldung wird durch einen \(Fc*\(Fo als erstes Zeichen der Anmelde\-Shell gekennzeichnet\&. Das angegebene Home\-Verzeichnis wird als Wurzel f\(:ur das Dateisystem verwendet, auf welchem der Benutzer tats\(:achlich angemeldet ist\&. -.PP -Es liegt NICHT in der Verantwortung von -\fBlogin\fR, Benutzer aus der utmp\-Datei zu entfernen\&. Sowohl -\fBgetty\fR(8) -als auch -\fBinit\fR(8) -sind daf\(:ur zust\(:andig, die offenkundige Eigent\(:umerstellung einer Terminalsitzung aufzur\(:aumen\&. Falls Sie -\fBlogin\fR -von der Shell ohne -\fBexec\fR -verwenden, wird der Benutzer, den Sie verwenden, weiterhin als angemeldet erscheinen, obwohl Sie die \(Fcuntergeordnete Sitzung\(Fo beendet haben\&. -.SH "OPTIONEN" -.PP -\fB\-f\fR -.RS 4 -Keine Authentifizierung durchf\(:uhren, Benutzer ist bereits angemeldet\&. -.sp -Hinweis: In diesem Fall muss -\fIBenutzername\fR -angegeben werden\&. -.RE -.PP -\fB\-h\fR -.RS 4 -Name des entfernt stehenden Rechners f\(:ur die Anmeldung -.RE -.PP -\fB\-p\fR -.RS 4 -beh\(:alt die Umgebungseinstellungen bei -.RE -.PP -\fB\-r\fR -.RS 4 -f\(:uhrt das Autologin\-Protokoll f\(:ur rlogin aus -.RE -.PP -Die Optionen -\fB\-r\fR, -\fB\-h\fR -und -\fB\-f\fR -k\(:onnen nur verwendet werden, wenn -\fBlogin\fR -von Root ausgef\(:uhrt wird\&. -.SH "WARNUNGEN" -.PP -Diese Version von -\fBlogin\fR -hat viele Optionen f\(:ur die Kompilierung, wobei eventuell nicht alle Optionen auf allen Systemen verwendet werden\&. -.PP -Der Ort der Konfigurationsdateien kann je nach Konfiguration des Systems unterschiedlich sein\&. -.PP -Es liegt NICHT in der Verantwortung von -\fBlogin\fR, Benutzer aus der utmp\-Datei zu entfernen\&. Sowohl -\fBgetty\fR(8) -als auch -\fBinit\fR(8) -sind daf\(:ur zust\(:andig, die offenkundige Eigent\(:umerstellung einer Terminalsitzung aufzur\(:aumen\&. Falls Sie -\fBlogin\fR -von der Shell ohne -\fBexec\fR -verwenden, wird der Benutzer, den Sie verwenden, weiterhin als angemeldet erscheinen, obwohl Sie die \(Fcuntergeordnete Sitzung\(Fo beendet haben\&. -.PP -Wie bei jedem anderen Programm kann auch das Erscheinungsbild von -\fBlogin\fR -vorgespiegelt werden\&. Falls unseri\(:ose Benutzer physischen Zugriff auf den Rechner haben, kann dies von einem Angreifer verwendet werden, um das Passwort der Person zu erhalten, die sich als n\(:achste vor den Rechner setzt\&. In Linux k\(:onnen Benutzer den SAK\-Mechanismus verwenden, um einen vertrauensw\(:urdigen Pfad zu erstellen und somit diesem Angriff zu entgehen\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBCONSOLE\fR (Zeichenkette) -.RS 4 -Die Konfiguration erfolgt entweder \(:uber die Angabe des vollen Pfadnamens einer Datei, welche die Namen der Ger\(:ate enth\(:alt (eines pro Zeile), oder mit einer Liste der Ger\(:atenamen, die mit \(Fc:\(Fo getrennt sind\&. Root kann sich nur auf diesen Ger\(:aten anmelden\&. -.sp -Wenn es unkonfiguriert gelassen wird, kann sich Root auf jedem Ger\(:at anmelden\&. -.sp -Das Ger\(:at soll ohne vorangestelltes /dev/ angegeben werden\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (Zeichenkette) -.RS 4 -Liste von Gruppen, deren Mitglied der Benutzer wird, wenn der sich auf der Konsole anmeldet, die mit dem Parameter CONSOLE festgelegt wird\&. Standardm\(:a\(ssig ist die Liste leer\&. - -Seien Sie vorsichtig\&. Benutzer k\(:onnen dauerhaft Zugang zu den Gruppen erlangen, auch wenn sie nicht auf der Konsole angemeldet sind\&. -.RE -.PP -\fBDEFAULT_HOME\fR (boolesch) -.RS 4 -Legt fest, ob ein Login erlaubt wird, wenn mit cd nicht in das Home\-Verzeichnis gewechselt werden kann\&. Standardm\(:a\(ssig wird dies nicht zugelassen\&. -.sp -Falls auf -\fIyes\fR -gesetzt, wird der Benutzer mit dem Wurzelverzeichnis (/) angemeldet, wenn mit cd nicht in sein Home\-Verzeichnis gewechselt werden kann\&. -.RE -.PP -\fBENV_HZ\fR (Zeichenkette) -.RS 4 -Wenn vergeben, wird damit die Umgebungsvariable HZ definiert, wenn sich ein Benutzer anmeldet\&. Dem Wert muss ein -\fIHZ=\fR -vorangestellt werden\&. Ein \(:ublicher Wert bei Linux ist -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_PATH\fR (Zeichenkette) -.RS 4 -Wenn gesetzt, wird damit die Umgebungsvariable PATH definiert, wenn sich ein normaler Benutzer anmeldet\&. Der Wert ist eine Liste, deren Eintr\(:age durch Doppelpunkte getrennt sind (zum Beispiel -\fI/bin:/usr/bin\fR)\&. Ihr kann ein -\fIPATH=\fR -vorangestellt werden\&. Der Standardwert ist -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (Zeichenkette) -.RS 4 -Wenn gesetzt, wird damit die Umgebungsvariable PATH definiert, wenn sich der Superuser anmeldet\&. Der Wert ist eine Liste, deren Eintr\(:age durch Doppelpunkte getrennt sind (zum Beispiel -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR)\&. Ihr kann ein -\fIPATH=\fR -vorangestellt werden\&. Der Standardwert ist -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (Zeichenkette) -.RS 4 -Wenn gesetzt, wird damit die Umgebungsvariable TZ definiert, wenn sich ein Benutzer anmeldet\&. Der Wert kann der Name der Zeitzone sein, dem -\fITZ=\fR -vorausgeht (zum Beispiel -\fITZ=CST6CDT\fR), oder der vollst\(:andige Pfad der Datei, welche die Konfiguration der Zeitzone enth\(:alt (zum Beispiel -/etc/tzname)\&. -.sp -Wenn ein vollst\(:andiger Pfadname angegeben wird, die Datei aber nicht existiert oder nicht lesbar ist, wird -\fITZ=CST6CDT\fR -verwendet\&. -.RE -.PP -\fBENVIRON_FILE\fR (Zeichenkette) -.RS 4 -Wenn diese Datei vorhanden ist, wird die Anmeldeumgebung aus ihr gelesen\&. Jede Zeile sollte die Form Name=Wert haben\&. -.sp -Zeilen, die mit einem # beginnen, werden als Kommentare behandelt und daher ignoriert\&. -.RE -.PP -\fBERASECHAR\fR (Zahl) -.RS 4 -Das L\(:oschzeichen des Terminals (\fI010\fR -= R\(:ucktaste, -\fI0177\fR -= Entf)\&. -.sp -Wenn der Wert mit \(Fc0\(Fo beginnt, wird er als Oktalzahl gewertet, wenn er mit \(Fc0x\(Fo beginnt, als Hexadezimalzahl\&. -.RE -.PP -\fBFAIL_DELAY\fR (Zahl) -.RS 4 -Wartezeit in Sekunden, ehe nach einem fehlgeschlagenen Anmeldeversuch ein neuer unternommen werden kann -.RE -.PP -\fBFAILLOG_ENAB\fR (boolesch) -.RS 4 -aktiviert die Protokollierung und Anzeige der Informationen zu fehlgeschlagenen Anmeldeversuchen in -/var/log/faillog -.RE -.PP -\fBFAKE_SHELL\fR (Zeichenkette) -.RS 4 -Falls angegeben, f\(:uhrt -\fBlogin\fR -diese Shell anstelle der in -/etc/passwd -angegebenen Shell des Benutzers aus\&. -.RE -.PP -\fBFTMP_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, werden fehlgeschlagene Anmeldeversuche in dieser Datei im Format utmp protokolliert\&. -.RE -.PP -\fBHUSHLOGIN_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, kann diese Datei die \(:ubliche Informationsanzeige w\(:ahrend des Anmeldevorgangs unterbinden\&. Wenn ein vollst\(:andiger Pfad angegeben wird, wird der Modus ohne Anmeldeinformationen verwendet, wenn der Name oder die Shell des Benutzers in der Datei enthalten sind\&. Wenn kein vollst\(:andiger Pfad angegeben wird, wird der Modus ohne Anmeldeinformationen aktiviert, wenn die Datei im Home\-Verzeichnis des Benutzers existiert\&. -.RE -.PP -\fBISSUE_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, wird diese Datei vor der Anmeldeaufforderung angezeigt\&. -.RE -.PP -\fBKILLCHAR\fR (Zahl) -.RS 4 -Das KILL\-Zeichen des Terminals (\fI025\fR -= CTRL/U)\&. -.sp -Wenn der Wert mit \(Fc0\(Fo beginnt, wird er als Oktalzahl gewertet, wenn er mit \(Fc0x\(Fo beginnt, als Hexadezimalzahl\&. -.RE -.PP -\fBLASTLOG_ENAB\fR (boolesch) -.RS 4 -aktiviert die Protokollierung und Anzeige der Informationen zu Anmeldezeiten in -/var/log/lastlog -.RE -.PP -\fBLOGIN_RETRIES\fR (Zahl) -.RS 4 -maximale Anzahl von Anmeldeversuchen, wenn ein falsches Passwort eingegeben wird -.RE -.PP -\fBLOGIN_STRING\fR (Zeichenkette) -.RS 4 -Diese Zeichenkette wird bei der Eingabeaufforderung des Passworts (Prompt) verwendet\&. Standardm\(:a\(ssig wird \(FcPassword: \(Fo oder eine \(:Ubersetzung davon benutzt\&. Wenn Sie diese Variable definieren, wird die Eingabeaufforderung nicht \(:ubersetzt\&. -.sp -Wenn die Zeichenkette ein -\fI%s\fR -enth\(:alt, wird dies durch den Benutzernamen ersetzt\&. -.RE -.PP -\fBLOGIN_TIMEOUT\fR (Zahl) -.RS 4 -H\(:ochstdauer f\(:ur einen Anmeldeversuch -.RE -.PP -\fBLOG_OK_LOGINS\fR (boolesch) -.RS 4 -aktiviert die Protokollierung erfolgreicher Anmeldungen -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (boolesch) -.RS 4 -aktiviert die Anzeige unbekannter Benutzernamen, wenn fehlgeschlagene Anmeldeversuche aufgezeichnet werden -.sp -Hinweis: Das Protokollieren unbekannter Benutzernamen kann ein Sicherheitsproblem darstellen, wenn ein Benutzer sein Passwort anstelle seines Anmeldenamens eingibt\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (boolesch) -.RS 4 -aktiviert die Pr\(:ufung und Anzeige des Status der Mailbox bei der Anmeldung -.sp -Sie sollten dies abschalten, wenn schon die Startdateien der Shell die Mails pr\(:ufen (\(Fcmailx \-e\(Fo oder \(:ahnliches)\&. -.RE -.PP -\fBMAIL_DIR\fR (Zeichenkette) -.RS 4 -Das Verzeichnis des Mail\-Spools\&. Diese Angabe wird ben\(:otigt, um die Mailbox zu bearbeiten, nachdem das entsprechende Benutzerkonto ver\(:andert oder gel\(:oscht wurde\&. Falls nicht angegeben, wird ein Standard verwendet, der beim Kompilieren festgelegt wurde\&. -.RE -.PP -\fBMAIL_FILE\fR (Zeichenkette) -.RS 4 -Legt den Ort der Mail\-Spool\-Dateien eines Benutzers relativ zu seinem Home\-Verzeichnis fest\&. -.RE -.PP -Die Variablen -\fBMAIL_DIR\fR -und -\fBMAIL_FILE\fR -werden von -\fBuseradd\fR, -\fBusermod\fR -und -\fBuserdel\fR -verwendet, um den Mail\-Spool eines Benutzers zu erstellen, zu verschieben oder zu l\(:oschen\&. -.PP -Falls -\fBMAIL_CHECK_ENAB\fR -auf -\fIyes\fR -gesetzt ist, werden sie auch verwendet, um die Umgebungsvariable -\fBMAIL\fR -festzulegen\&. -.PP -\fBMOTD_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, eine Aufz\(:ahlung von Dateien, welche die bei der Anmeldung anzuzeigenden \(FcNachrichten des Tages\(Fo enth\(:alt\&. Die Dateien werden mit einem \(Fc:\(Fo getrennt\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, der Name einer Datei, dessen Existenz Anmeldungen au\(sser von Root verhindert\&. Der Inhalt der Datei sollte die Gr\(:unde enthalten, weshalb Anmeldungen untersagt sind\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (boolesch) -.RS 4 -aktiviert die Auswertung der in -/etc/porttime -angegebenen Zeitbegrenzungen -.RE -.PP -\fBQUOTAS_ENAB\fR (boolesch) -.RS 4 -aktiviert das Setzen von Resourcenbeschr\(:ankungen aus -/etc/limits -und von ulimit, umask und niceness aus dem gecos\-Feld des Benutzers von passwd -.RE -.PP -\fBTTYGROUP\fR (Zeichenkette), \fBTTYPERM\fR (Zeichenkette) -.RS 4 -Die Rechte des Terminals: Das Anmelde\-tty geh\(:ort der Gruppe -\fBTTYGROUP\fR -an, die Rechte werden auf -\fBTTYPERM\fR -gesetzt\&. -.sp -Standardm\(:a\(ssig ist der Eigent\(:umer des Terminals die Hauptgruppe des Benutzers, die Rechte werden auf -\fI0600\fR -gesetzt\&. -.sp -\fBTTYGROUP\fR -kann der Gruppenname oder die als Zahl ausgedr\(:uckte Gruppen\-ID sein\&. -.sp -Wenn Sie ein -\fBwrite\fR\-Programm haben, das \(Fcsetgid\(Fo f\(:ur eine Gruppe besitzt, der das Terminal geh\(:ort, sollten Sie TTYGROUP die Gruppennummer und TTYPERM den Wert 0620 zuweisen\&. Oder Sie sollten TTYGROUP als Kommentar belassen und TTYPERM den Wert 622 oder 600 zuweisen\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, eine Datei, welche einer tty\-Zeile den Umgebungsparameter TERM zuweist\&. Jede Zeile hat das Format wie etwa \(Fcvt100 tty01\(Fo\&. -.RE -.PP -\fBULIMIT\fR (Zahl) -.RS 4 -der Standardwert von -\fBulimit\fR -.RE -.PP -\fBUMASK\fR (Zahl) -.RS 4 -Die Bit\-Gruppe, welche die Rechte von erstellten Dateien bestimmt, wird anf\(:anglich auf diesen Wert gesetzt\&. Falls nicht angegeben, wird sie auf 022 gesetzt\&. -.sp -\fBuseradd\fR -und -\fBnewusers\fR -verwenden diese Bit\-Gruppe, um die Rechte des von ihnen erstellten Home\-Verzeichnisses zu setzen\&. -.sp -Sie wird auch von -\fBlogin\fR -verwendet, um die anf\(:angliche Umask eines Benutzers zu bestimmen\&. Beachten Sie, dass diese Bit\-Gruppe durch die GECOS\-Zeile des Benutzers (wenn -\fBQUOTAS_ENAB\fR -gesetzt wurde) oder die Festlegung eines Limits in -\fBlimits\fR(5) -mit der Kennung -\fIK\fR -\(:uberschrieben werden kann\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolesch) -.RS 4 -Erlaubt Benutzern, die nicht Root sind, die Umask\-Gruppen\-Bits auf ihre Umask\-Bits zu setzen (Beispiel: 022 \-> 002, 077 \-> 007), falls die UID mit der GID identisch ist sowie der Benutzername mit dem Gruppennamen \(:ubereinstimmt\&. -.sp -Wenn der Wert -\fIyes\fR -ist, wird -\fBuserdel\fR -die Gruppe des Benutzers entfernen, falls sie keine Mitglieder mehr hat, und -\fBuseradd\fR -wird standardm\(:a\(ssig eine Gruppe mit dem Namen des Benutzers erstellen\&. -.RE -.SH "DATEIEN" -.PP -/var/run/utmp -.RS 4 -Liste der aktuellen angemeldeten Sitzungen -.RE -.PP -/var/log/wtmp -.RS 4 -Liste der vorangegangenen angemeldeten Sitzungen -.RE -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/motd -.RS 4 -Datei mit der Systemmeldung des Tages -.RE -.PP -/etc/nologin -.RS 4 -verhindert, dass sich Benutzer au\(sser Root anmelden -.RE -.PP -/etc/ttytype -.RS 4 -Liste der Terminaltypen -.RE -.PP -$HOME/\&.hushlogin -.RS 4 -unterdr\(:uckt die Ausgabe von Systemnachrichten -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.SH "SIEHE AUCH" -.PP -\fBmail\fR(1), -\fBpasswd\fR(1), -\fBsh\fR(1), -\fBsu\fR(1), -\fBlogin.defs\fR(5), -\fBnologin\fR(5), -\fBpasswd\fR(5), -\fBsecuretty\fR(5), -\fBgetty\fR(8)\&. diff --git a/man/de/man1/newgrp.1 b/man/de/man1/newgrp.1 deleted file mode 100644 index f81a0a42..00000000 --- a/man/de/man1/newgrp.1 +++ /dev/null @@ -1,96 +0,0 @@ -'\" t -.\" Title: newgrp -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "NEWGRP" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -newgrp \- als neue Gruppe anmelden -.SH "\(:UBERSICHT" -.HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIGruppe\fR] -.SH "BESCHREIBUNG" -.PP -Mit dem Befehl -\fBnewgrp\fR -kann w\(:ahrend einer angemeldeten Sitzung die aktuelle Gruppen\-ID ge\(:andert werden\&. Wenn zus\(:atzlich der Schalter -\fB\-\fR -angegeben wird, wird die Benutzerumgebung neu gestartet, so als ob sich der Benutzer neu angemeldet h\(:atte\&. Anderenfalls bleibt die aktuelle Umgebung einschlie\(sslich des aktuellen Arbeitsverzeichnisses unver\(:andert\&. -.PP -\fBnewgrp\fR -wechselt von der aktuellen echten Gruppen\-ID zu der angegeben Gruppe oder, falls kein Gruppenname angegeben wird, zu der Standardgruppe, wie sie in -/etc/passwd -festgelegt ist\&. Zudem versucht -\fBnewgrp\fR, die Gruppe der Gruppensammlung des Benutzers hinzuzuf\(:ugen\&. Wenn der Benutzer nicht Root ist und die Gruppe ein Passwort hat und der Benutzer nicht Mitglied der Gruppe ist oder kein Passwort hat (in -/etc/shadow, falls er einen Eintrag in der Shadow\-Passwort\-Datei hat, anderenfalls in -/etc/passwd), wird er nach einem Passwort gefragt\&. -.PP -Wenn sich in -/etc/gshadow -ein Eintrag f\(:ur diese Gruppe befindet, wird die Mitgliederliste und das Passwort der Gruppe dieser Datei entnommen\&. Anderenfalls wird der Eintrag in -/etc/group -ausgewertet\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBSYSLOG_SG_ENAB\fR (boolesch) -.RS 4 -aktiviert das Protokollieren der Aktivit\(:aten von -\fBsg\fR -in \(Fcsyslog\(Fo -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBsu\fR(1), -\fBsg\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/de/man1/passwd.1 b/man/de/man1/passwd.1 deleted file mode 100644 index 9212d4f5..00000000 --- a/man/de/man1/passwd.1 +++ /dev/null @@ -1,359 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "PASSWD" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -passwd \- \(:andert das Passwort eines Benutzers -.SH "\(:UBERSICHT" -.HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIOptionen\fR] [\fIANMELDENAME\fR] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBpasswd\fR -\(:andert die Passw\(:orter von Benutzerkonten\&. Ein normaler Benutzer kann nur das Passwort seines Kontos ver\(:andern, der Superuser dagegen kann die Passw\(:orter aller Konten \(:andern\&. Mit -\fBpasswd\fR -k\(:onnen auch die Informationen \(:uber das Konto und die G\(:ultigkeitsdauer des Passworts ver\(:andert werden\&. -.SS "Ver\(:andern des Passworts" -.PP -Der Benutzer wird zuerst nach seinem alten Passwort gefragt, falls eines vorhanden ist\&. Dieses Passwort wird dann verschl\(:usselt und mit dem gespeicherten Passwort verglichen\&. Der Benutzer hat nur eine Gelegenheit, das richtige Passwort einzugeben\&. Der Superuser kann diesen Schritt \(:uberspringen, um so vergessene Passw\(:orter zu \(:andern\&. -.PP -Nachdem das Passwort eingegeben wurde, werden Informationen \(:uber die G\(:ultigkeitsdauer des Passworts abgefragt, um festzustellen, ob der Benutzer das Passwort zu dieser Zeit ver\(:andern darf\&. Wenn nicht, lehnt -\fBpasswd\fR -die \(:Anderung des Passworts ab und beendet sich\&. -.PP -Der Benutzer wird dann aufgefordert, zweimal ein neues Passwort einzugeben\&. Beide Eingaben werden miteinander verglichen\&. Sie m\(:ussen \(:ubereinstimmen, damit das Passwort ge\(:andert wird\&. -.PP -Anschlie\(ssend wird das Passwort auf seine Komplexit\(:at \(:uberpr\(:uft\&. Eine allgemeine Richtlinie besagt, dass Passw\(:orter aus sechs bis acht Zeichen bestehen sollten und ein oder mehrere Zeichen aus folgenden Mengen enthalten sollten: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Kleinbuchstaben -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Ziffern 0 bis 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Satzzeichen -.RE -.PP -Seien Sie vorsichtig, dass Sie nicht die standardm\(:a\(ssigen L\(:osch\- und Kill\-Zeichen des Systems eingeben\&. -\fBpasswd\fR -weist Passw\(:orter zur\(:uck, die nicht hinreichend komplex sind\&. -.SS "Hinweise zu Benutzerpassw\(:ortern" -.PP -Die Sicherheit eines Passworts h\(:angt von der St\(:arke des Verschl\(:usselungsalgorithmus und von der Gr\(:o\(sse des Schl\(:usselraums ab\&. Die hergebrachte Verschl\(:usselung auf -\fIUNIX\fR\-Systemen basiert auf dem NBS\-DES\-Algorithmus\&. Heutzutage sind neuere Verschl\(:usselungsmethoden zu empfehlen (vergleiche -\fBENCRYPT_METHOD\fR)\&. Die Gr\(:o\(sse des Schl\(:usselraums h\(:angt von der Zuf\(:alligkeit des gew\(:ahlten Passworts ab\&. -.PP -Gefahren f\(:ur die Sicherheit von Passw\(:ortern kommen gew\(:ohnlich von sorgloser Wahl oder Handhabung des Passworts\&. Daher sollten Sie kein Passwort w\(:ahlen, das in einem W\(:orterbuch auftaucht oder das aufgeschrieben werden muss\&. Das Passwort sollte somit kein echter Name, Ihr Autokennzeichen, Geburtstag oder Ihre Adresse sein\&. All das kann dazu verwendet werden, das Passwort zu erraten, und stellt daher eine Gefahr f\(:ur die Sicherheit Ihres Systems dar\&. -.PP -You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBpasswd\fR -unterst\(:utzt werden, sind: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Diese Option kann nur in Verbindung mit -\fB\-S\fR -verwendet werden und f\(:uhrt dazu, dass der Status aller Benutzer angezeigt wird\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR -.RS 4 -L\(:oscht das Passwort eines Benutzers (macht es leer)\&. Dies ist ein schneller Weg, um das Passwort eines Kontos zu deaktivieren\&. Dem Konto ist dann kein Passwort zugeordnet\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expire\fR -.RS 4 -L\(:asst das Passwort eines Kontos sofort verfallen\&. Im Ergebnis kann damit erreicht werden, dass ein Benutzer beim n\(:achsten Login das Passwort \(:andern muss\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-i\fR, \fB\-\-inactive\fR\ \&\fIINAKTIV\fR -.RS 4 -Mit dieser Option wird ein Konto deaktiviert, nachdem das Passwort f\(:ur eine bestimmte Anzahl von Tagen abgelaufen ist\&. Wenn ein Benutzerkonto ein abgelaufenes Passwort f\(:ur l\(:anger als -\fIINAKTIV\fR -Tage hatte, kann sich der Benutzer nicht mehr auf diesem Konto anmelden\&. -.RE -.PP -\fB\-k\fR, \fB\-\-keep\-tokens\fR -.RS 4 -Zeigt an, dass nur abgelaufene Passw\(:orter ge\(:andert werden sollen\&. Der Benutzer m\(:ochte seine g\(:ultigen Passw\(:orter unver\(:andert lassen\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\fR -.RS 4 -Sperrt das Passwort des bezeichneten Kontos\&. Die Option schaltet ein Passwort ab, indem es ihm einen Wert zuweist, der mit keinem m\(:oglichen verschl\(:usselten Wert \(:ubereinstimmen kann\&. Dies geschieht, indem ein \(Fc!\(Fo dem Passwort vorangestellt wird\&. -.sp -Beachten Sie, dass damit nicht das Konto deaktiviert wird\&. Der Benutzer kann sich immer noch mit einer anderen Authentifizierungsmethode (etwa einem SSH\-Schl\(:ussel) anmelden\&. Um ein Konto abzuschalten, sollte der Administrator -\fBusermod \-\-expiredate 1\fR -verwenden; dies setzt das Verfallsdatum des Kontos auf den 2\&. Januar 1970\&. -.sp -Benutzer mit einem gesperrten Passwort k\(:onnen dieses nicht \(:andern\&. -.RE -.PP -\fB\-n\fR, \fB\-\-mindays\fR\ \&\fIMIN_TAGE\fR -.RS 4 -Setzt die Anzahl von Tagen, die mindestens zwischen zwei \(:Anderungen eines Passworts vergehen m\(:ussen, auf -\fIMIN_TAGE\fR\&. Ein Wert von Null in diesem Feld bedeutet, dass der Benutzer sein Passwort jederzeit \(:andern darf\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -stiller Modus -.RE -.PP -\fB\-r\fR, \fB\-\-repository\fR\ \&\fIDEPOT\fR -.RS 4 -\(:andert das Passwort im Depot -\fIDEPOT\fR -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-S\fR, \fB\-\-status\fR -.RS 4 -Zeigt Informationen \(:uber den Kontostatus an\&. Die Statusinformation besteht aus sieben Feldern\&. Das erste Feld ist der Anmeldename des Benutzers\&. Das zweite Feld zeigt an, ob das Benutzerkonto ein gesperrtes Passwort (L), kein Passwort (NP) oder ein verwendbares Passwort hat (P)\&. Das dritte Feld zeigt das Datum der letzten \(:Anderung des Passworts an\&. Die n\(:achsten vier Felder sind das Mindestalter, das H\(:ochstalter, die Dauer der Warnung und die Dauer der Unt\(:atigkeit f\(:ur das Passwort\&. Die Zeitr\(:aume werden in Tagen ausgedr\(:uckt\&. -.RE -.PP -\fB\-u\fR, \fB\-\-unlock\fR -.RS 4 -Entsperrt das bezeichnete Konto\&. Diese Option reaktiviert ein Konto wieder, indem das Passwort auf seinen alten Wert zur\(:uckgesetzt wird, den es hatte, bevor die Option -\fB\-l\fR -verwendet wurde\&. -.RE -.PP -\fB\-w\fR, \fB\-\-warndays\fR\ \&\fIWARN_TAGE\fR -.RS 4 -Legt die Anzahl der Tage fest, an denen der Benutzer eine Warnung erh\(:alt, bevor sein Passwort ung\(:ultig wird\&. Die Option -\fIWARN_TAGE\fR -bezeichnet die Anzahl der Tage, f\(:ur die ein Benutzer vor Verfall seines Passworts gewarnt wird\&. -.RE -.PP -\fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIMAX_TAGE\fR -.RS 4 -Bestimmt die maximale Anzahl von Tagen, die das Passwort g\(:ultig bleibt\&. Nach -\fIMAX_TAGE\fR -Tagen muss das Passwort ge\(:andert werden\&. -.RE -.SH "WARNUNGEN" -.PP -Die Komplexit\(:at der Passwortpr\(:ufung kann sich auf verschiedenen Systemen unterscheiden\&. Der Benutzer wird angehalten, ein m\(:oglichst komplexes, von ihm aber gut zu verwendendes Passwort zu w\(:ahlen\&. -.PP -Benutzer k\(:onnen unter Umst\(:anden ihr Passwort nicht \(:andern, wenn auf dem System NIS aktiviert ist, sie aber nicht am NIS\-Server angemeldet sind\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBENCRYPT_METHOD\fR (Zeichenkette) -.RS 4 -Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Passw\(:orter verschl\(:usselt werden, bestimmt (soweit nicht in der Befehlszeile ein Algorithmus angegeben wird)\&. -.sp -Ihm kann einer der folgenden Wert zugewiesen werden: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Hinweis: Dieser Parameter \(:uberschreibt die Variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolesch) -.RS 4 -Legt fest, ob Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt werden\&. Falls diesem Wert -\fIyes\fR -zugewiesen ist, werden neue Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt, der zu dem in der aktuellen Ver\(:offentlichung von FreeBSD eingesetzten Algorithmus kompatibel ist\&. Passw\(:orter k\(:onnen dann beliebig lang sein, auch die Salt\-Zeichenketten sind l\(:anger\&. Setzen Sie diesen Wert auf -\fIno\fR, wenn Sie verschl\(:usselte Passw\(:orter auf ein anderes System kopieren m\(:ochten, das den neuen Algorithmus nicht versteht\&. Der Standardwert ist -\fIno\fR\&. -.sp -Dieser Variable geht die Variable -\fBENCRYPT_METHOD\fR -und eine Option auf der Befehlszeile, mit der der Verschl\(:usselungsalgorithmus bestimmt wird, vor\&. -.sp -Der Einsatz dieser Variable ist veraltet\&. Sie sollten -\fBENCRYPT_METHOD\fR -verwenden\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (boolesch) -.RS 4 -Aktiviert zus\(:atzliche Tests bei der Ver\(:anderung eines Passworts\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (boolesch) -.RS 4 -weist auf schwache Passw\(:orter hin (aber l\(:asst sie zu), falls Sie root sind -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (Zahl) -.RS 4 -maximale Anzahl von Versuchen, ein Passwort zu \(:andern, wenn dies wegen zu geringer St\(:arke des gew\(:ahlten Passworts abgelehnt wurde -.RE -.PP -\fBPASS_MAX_LEN\fR (Zahl), \fBPASS_MIN_LEN\fR (Zahl) -.RS 4 -Anzahl der von crypt() ber\(:ucksichtigten Zeichen des Passworts\&. Standardm\(:a\(ssig ist -\fBPASS_MAX_LEN\fR -8\&. Diese Option wird ignoriert, wenn -\fBMD5_CRYPT_ENAB\fR -auf -\fIyes\fR -gesetzt ist\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (Zahl), \fBSHA_CRYPT_MAX_ROUNDS\fR (Zahl) -.RS 4 -Wenn -\fBENCRYPT_METHOD\fR -auf -\fISHA256\fR -oder -\fISHA512\fR -gesetzt ist, legt dies die Anzahl der Runden von SHA fest, die standardm\(:a\(ssig vom Verschl\(:usselungsalgorithmus verwendet werden (falls die Anzahl der Runden nicht auf der Befehlszeile angegeben wird)\&. -.sp -Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&. -.sp -Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&. -.sp -Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&. -.sp -Falls nur der Wert f\(:ur -\fBSHA_CRYPT_MIN_ROUNDS\fR -oder -\fBSHA_CRYPT_MAX_ROUNDS\fR -festgelegt wird, wird dieser Wert verwendet\&. -.sp -Falls -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, wird der h\(:ohere Wert verwendet\&. -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.SH "R\(:UCKGABEWERTE" -.PP -Der Befehl -\fBpasswd\fR -gibt beim Beenden folgende Werte zur\(:uck: -.PP -\fI0\fR -.RS 4 -Erfolg -.RE -.PP -\fI1\fR -.RS 4 -Berechtigung verweigert -.RE -.PP -\fI2\fR -.RS 4 -ung\(:ultige Kombination von Optionen -.RE -.PP -\fI3\fR -.RS 4 -unerwarteter Fehler, nichts wurde ver\(:andert -.RE -.PP -\fI4\fR -.RS 4 -unerwarteter Fehler, die Datei -passwd -fehlt -.RE -.PP -\fI5\fR -.RS 4 -Datei -passwd -wird benutzt, bitte nochmal versuchen -.RE -.PP -\fI6\fR -.RS 4 -ung\(:ultiges Argument f\(:ur Option -.RE -.SH "SIEHE AUCH" -.PP -\fBchpasswd\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBlogin.defs\fR(5),\fBusermod\fR(8)\&. diff --git a/man/de/man1/sg.1 b/man/de/man1/sg.1 deleted file mode 100644 index 0f1c3a0c..00000000 --- a/man/de/man1/sg.1 +++ /dev/null @@ -1,96 +0,0 @@ -'\" t -.\" Title: sg -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "SG" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -sg \- f\(:uhrt einen Befehl unter einer anderen Gruppen\-ID aus -.SH "\(:UBERSICHT" -.HP \w'\fBsg\fR\ 'u -\fBsg\fR [\-] [Gruppe\ [\-c]\ Befehl] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBsg\fR -funktioniert so \(:ahnlich wie der Befehl -\fBnewgrp\fR, \(:ubernimmt aber auch einen Befehl\&. Dieser Befehl wird in der Shell -/bin/sh -ausgef\(:uhrt\&. Bei den meisten Shells, in denen Sie -\fBsg\fR -ausf\(:uhren, m\(:ussen Sie die Befehle, die aus mehrere W\(:ortern bestehen, in Anf\(:uhrungszeichen einfassen\&. Ein weiterer Unterschied zwischen -\fBnewgrp\fR -und -\fBsg\fR -ist, dass einige Shells -\fBnewgrp\fR -besonders behandeln: sie ersetzen sich mit einer neuen Instanz der Shell, die von -\fBnewgrp\fR -erzeugt wurde\&. Dies geschieht nicht mit -\fBsg\fR, daher werden Sie nach Beenden des Befehls -\fBsg\fR -zu Ihrer vorherigen Gruppen\-ID zur\(:uckkehren\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBSYSLOG_SG_ENAB\fR (boolesch) -.RS 4 -aktiviert das Protokollieren der Aktivit\(:aten von -\fBsg\fR -in \(Fcsyslog\(Fo -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBnewgrp\fR(1), -\fBsu\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/de/man1/su.1 b/man/de/man1/su.1 deleted file mode 100644 index a3bf63cb..00000000 --- a/man/de/man1/su.1 +++ /dev/null @@ -1,463 +0,0 @@ -'\" t -.\" Title: su -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "SU" "1" "18.09.2016" "shadow\-utils 4\&.4" "Dienstprogramme f\(:ur Benutzer" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -su \- \(:andert die Benutzer\-ID oder wechselt zu Root -.SH "\(:UBERSICHT" -.HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fIOptionen\fR] [\fIBenutzername\fR] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBsu\fR -dient dazu, w\(:ahrend einer Sitzung ein anderer Benutzer zu werden\&. Wenn -\fBsu\fR -ohne -\fBusername\fR -aufgerufen wird, wechselt es standardm\(:a\(ssig zu Root\&. Zus\(:atzlich kann das Argument -\fB\-\fR -angegeben werden\&. Damit wird eine Umgebung zur Verf\(:ugung gestellt, die der entspricht, die der Benutzer nach einer direkten Anmeldung erwartet\&. -.PP -Zus\(:atzliche Argumente k\(:onnen nach dem Benutzernamen angegeben werden\&. In diesem Fall werden sie an die Anmelde\-Shell des Benutzers weitergereicht\&. Insbesondere f\(:uhrt das Argument -\fB\-c\fR -dazu, dass das n\(:achste Argument von den meisten Interpretatoren als Befehl behandelt wird\&. Dieser Befehl wird von der Shell ausgef\(:uhrt, die in -/etc/passwd -f\(:ur den Zielbenutzer angegeben ist\&. -.PP -Sie k\(:onnen das Argument -\fB\-\-\fR -verwenden, um Optionen f\(:ur -\fBsu\fR -von Argumenten f\(:ur die Shell zu trennen\&. -.PP -Der Benutzer wird gegebenenfalls nach einem Passwort gefragt\&. Ung\(:ultige Passworteingaben werden eine Fehlermeldung erzeugen\&. Sowohl erfolgreiche als auch misslungene Versuche werden protokolliert, um Missbrauch des Systems zu entdecken\&. -.PP -Die aktuelle Umgebung wird an die neue Shell \(:ubergeben\&. Der Wert von -\fB$PATH\fR -wird f\(:ur normale Benutzer auf -/bin:/usr/bin -gesetzt, f\(:ur Root auf -/sbin:/bin:/usr/sbin:/usr/bin\&. Dieses Verhalten kann durch die Definition von -\fBENV_PATH\fR -und -\fBENV_SUPATH\fR -in -/etc/login\&.defs -ge\(:andert werden\&. -.PP -Eine Subsystem\-Anmeldung wird durch einen \(Fc*\(Fo als erstes Zeichen der Anmelde\-Shell gekennzeichnet\&. Das angegebene Home\-Verzeichnis wird als Wurzel f\(:ur das Dateisystem verwendet, auf welchem der Benutzer tats\(:achlich angemeldet ist\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBsu\fR -unterst\(:utzt werden, sind: -.PP -\fB\-c\fR, \fB\-\-command\fR\ \&\fIBEFEHL\fR -.RS 4 -gibt einen Befehl an, der von der Shell mittels ihrer Option -\fB\-c\fR -ausgef\(:uhrt wird -.sp -The executed command will have no controlling terminal\&. This option cannot be used to execute interactive programs which need a controlling TTY\&. -.RE -.PP -\fB\-\fR, \fB\-l\fR, \fB\-\-login\fR -.RS 4 -Eine Umgebung wird zur Verf\(:ugung gestellt, die der entspricht, die der Benutzer nach einer direkten Anmeldung erwartet\&. -.sp -When -\fB\-\fR -is used, it must be specified before any -\fBusername\fR\&. For portability it is recommended to use it as last option, before any -\fBusername\fR\&. The other forms (\fB\-l\fR -and -\fB\-\-login\fR) do not have this restriction\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -die Shell, die gestartet wird -.sp -Die aufgerufene Shell wird bestimmt durch (h\(:ochste Priorit\(:at zuerst): -.PP -.RS 4 -die Shell, die mit \-\-shell angegeben wurde -.RE -.PP -.RS 4 -Falls -\fB\-\-preserve\-environment\fR -verwendet wird, die Shell, die durch die Umgebungsvariable -\fB$SHELL\fR -festgelegt wird\&. -.RE -.PP -.RS 4 -die Shell, die in -/etc/passwd -f\(:ur den Zielbenutzer angegeben ist -.RE -.PP -.RS 4 -/bin/sh, falls durch die obigen Methoden keine Shell gefunden werden kann -.RE -.sp -Falls der Zielbenutzer eine beschr\(:ankte Shell hat (d\&.h\&. das Feld f\(:ur die Shell im Eintrag des Benutzers in -/etc/passwd -ist nicht in -/etc/shells) aufgef\(:uhrt), werden die Option -\fB\-\-shell\fR -und die Umgebungsvariable -\fB$SHELL\fR -nicht beachtet, sofern -\fBsu\fR -nicht von Root aufgerufen wird\&. -.RE -.PP -\fB\-m\fR, \fB\-p\fR, \fB\-\-preserve\-environment\fR -.RS 4 -Erh\(:alt die aktuelle Umgebung mit Ausnahme von: -.PP -\fB$PATH\fR -.RS 4 -auf den Ausgangswert entsprechend der Optionen -\fBENV_PATH\fR -oder -\fBENV_SUPATH\fR -in -/etc/login\&.defs -zur\(:ucksetzen (siehe unten); -.RE -.PP -\fB$IFS\fR -.RS 4 -auf -\(Bq\(lq -zur\(:ucksetzen, falls es ver\(:andert wurde -.RE -.sp -Falls der Zielbenutzer eine beschr\(:ankte Shell besitzt, hat diese Option keinen Effekt (sofern -\fBsu\fR -nicht von Root aufgerufen wird)\&. -.sp -Beachten Sie, dass Folgendes das Standardverhalten f\(:ur die Umgebung ist: -.PP -.RS 4 -Die Umgebungsvariablen -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$USER\fR, -\fB$LOGNAME\fR, -\fB$PATH\fR -und -\fB$IFS\fR -werden zur\(:uckgesetzt\&. -.RE -.PP -.RS 4 -Falls nicht -\fB\-\-login\fR -verwendet wurde, wird die Umgebung mit der Ausnahme der genannten Variablen kopiert\&. -.RE -.PP -.RS 4 -Falls -\fB\-\-login\fR -verwendet wurde, werden die Variablen -\fB$TERM\fR, -\fB$COLORTERM\fR, -\fB$DISPLAY\fR -und -\fB$XAUTHORITY\fR -\(:ubernommen, wenn ihnen ein Wert zugewiesen wurde\&. -.RE -.PP -.RS 4 -Falls -\fB\-\-login\fR -verwendet wurde, werden die Umgebungsvariablen -\fB$TZ\fR, -\fB$HZ\fR -und -\fB$MAIL\fR -auf die in -/etc/login\&.defs -definierten Optionen -\fBENV_TZ\fR, -\fBENV_HZ\fR, -\fBMAIL_DIR\fR -und -\fBMAIL_FILE\fR -(siehe unten) gesetzt\&. -.RE -.PP -.RS 4 -Wenn -\fB\-\-login\fR -verwendet wird, k\(:onnen andere Umgebungsvariablen mit der Datei -\fBENVIRON_FILE\fR -vergeben werden (siehe unten)\&. -.RE -.RE -.SH "WARNUNGEN" -.PP -Diese Version von -\fBsu\fR -hat viele Kompilierungsoptionen\&. Deren N\(:utzlichkeit h\(:angt von den Anforderungen der jeweiligen Umgebung ab\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBCONSOLE\fR (Zeichenkette) -.RS 4 -Die Konfiguration erfolgt entweder \(:uber die Angabe des vollen Pfadnamens einer Datei, welche die Namen der Ger\(:ate enth\(:alt (eines pro Zeile), oder mit einer Liste der Ger\(:atenamen, die mit \(Fc:\(Fo getrennt sind\&. Root kann sich nur auf diesen Ger\(:aten anmelden\&. -.sp -Wenn es unkonfiguriert gelassen wird, kann sich Root auf jedem Ger\(:at anmelden\&. -.sp -Das Ger\(:at soll ohne vorangestelltes /dev/ angegeben werden\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (Zeichenkette) -.RS 4 -Liste von Gruppen, deren Mitglied der Benutzer wird, wenn der sich auf der Konsole anmeldet, die mit dem Parameter CONSOLE festgelegt wird\&. Standardm\(:a\(ssig ist die Liste leer\&. - -Seien Sie vorsichtig\&. Benutzer k\(:onnen dauerhaft Zugang zu den Gruppen erlangen, auch wenn sie nicht auf der Konsole angemeldet sind\&. -.RE -.PP -\fBDEFAULT_HOME\fR (boolesch) -.RS 4 -Legt fest, ob ein Login erlaubt wird, wenn mit cd nicht in das Home\-Verzeichnis gewechselt werden kann\&. Standardm\(:a\(ssig wird dies nicht zugelassen\&. -.sp -Falls auf -\fIyes\fR -gesetzt, wird der Benutzer mit dem Wurzelverzeichnis (/) angemeldet, wenn mit cd nicht in sein Home\-Verzeichnis gewechselt werden kann\&. -.RE -.PP -\fBENV_HZ\fR (Zeichenkette) -.RS 4 -Wenn vergeben, wird damit die Umgebungsvariable HZ definiert, wenn sich ein Benutzer anmeldet\&. Dem Wert muss ein -\fIHZ=\fR -vorangestellt werden\&. Ein \(:ublicher Wert bei Linux ist -\fIHZ=100\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (Zeichenkette) -.RS 4 -Wenn diese Datei vorhanden ist, wird die Anmeldeumgebung aus ihr gelesen\&. Jede Zeile sollte die Form Name=Wert haben\&. -.sp -Zeilen, die mit einem # beginnen, werden als Kommentare behandelt und daher ignoriert\&. -.RE -.PP -\fBENV_PATH\fR (Zeichenkette) -.RS 4 -Wenn gesetzt, wird damit die Umgebungsvariable PATH definiert, wenn sich ein normaler Benutzer anmeldet\&. Der Wert ist eine Liste, deren Eintr\(:age durch Doppelpunkte getrennt sind (zum Beispiel -\fI/bin:/usr/bin\fR)\&. Ihr kann ein -\fIPATH=\fR -vorangestellt werden\&. Der Standardwert ist -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (Zeichenkette) -.RS 4 -Wenn gesetzt, wird damit die Umgebungsvariable PATH definiert, wenn sich der Superuser anmeldet\&. Der Wert ist eine Liste, deren Eintr\(:age durch Doppelpunkte getrennt sind (zum Beispiel -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR)\&. Ihr kann ein -\fIPATH=\fR -vorangestellt werden\&. Der Standardwert ist -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (Zeichenkette) -.RS 4 -Wenn gesetzt, wird damit die Umgebungsvariable TZ definiert, wenn sich ein Benutzer anmeldet\&. Der Wert kann der Name der Zeitzone sein, dem -\fITZ=\fR -vorausgeht (zum Beispiel -\fITZ=CST6CDT\fR), oder der vollst\(:andige Pfad der Datei, welche die Konfiguration der Zeitzone enth\(:alt (zum Beispiel -/etc/tzname)\&. -.sp -Wenn ein vollst\(:andiger Pfadname angegeben wird, die Datei aber nicht existiert oder nicht lesbar ist, wird -\fITZ=CST6CDT\fR -verwendet\&. -.RE -.PP -\fBLOGIN_STRING\fR (Zeichenkette) -.RS 4 -Diese Zeichenkette wird bei der Eingabeaufforderung des Passworts (Prompt) verwendet\&. Standardm\(:a\(ssig wird \(FcPassword: \(Fo oder eine \(:Ubersetzung davon benutzt\&. Wenn Sie diese Variable definieren, wird die Eingabeaufforderung nicht \(:ubersetzt\&. -.sp -Wenn die Zeichenkette ein -\fI%s\fR -enth\(:alt, wird dies durch den Benutzernamen ersetzt\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (boolesch) -.RS 4 -aktiviert die Pr\(:ufung und Anzeige des Status der Mailbox bei der Anmeldung -.sp -Sie sollten dies abschalten, wenn schon die Startdateien der Shell die Mails pr\(:ufen (\(Fcmailx \-e\(Fo oder \(:ahnliches)\&. -.RE -.PP -\fBMAIL_DIR\fR (Zeichenkette) -.RS 4 -Das Verzeichnis des Mail\-Spools\&. Diese Angabe wird ben\(:otigt, um die Mailbox zu bearbeiten, nachdem das entsprechende Benutzerkonto ver\(:andert oder gel\(:oscht wurde\&. Falls nicht angegeben, wird ein Standard verwendet, der beim Kompilieren festgelegt wurde\&. -.RE -.PP -\fBMAIL_FILE\fR (Zeichenkette) -.RS 4 -Legt den Ort der Mail\-Spool\-Dateien eines Benutzers relativ zu seinem Home\-Verzeichnis fest\&. -.RE -.PP -Die Variablen -\fBMAIL_DIR\fR -und -\fBMAIL_FILE\fR -werden von -\fBuseradd\fR, -\fBusermod\fR -und -\fBuserdel\fR -verwendet, um den Mail\-Spool eines Benutzers zu erstellen, zu verschieben oder zu l\(:oschen\&. -.PP -Falls -\fBMAIL_CHECK_ENAB\fR -auf -\fIyes\fR -gesetzt ist, werden sie auch verwendet, um die Umgebungsvariable -\fBMAIL\fR -festzulegen\&. -.PP -\fBQUOTAS_ENAB\fR (boolesch) -.RS 4 -aktiviert das Setzen von Resourcenbeschr\(:ankungen aus -/etc/limits -und von ulimit, umask und niceness aus dem gecos\-Feld des Benutzers von passwd -.RE -.PP -\fBSULOG_FILE\fR (Zeichenkette) -.RS 4 -Wenn angegeben, wird jeder Aufruf von su in dieser Datei protokolliert\&. -.RE -.PP -\fBSU_NAME\fR (Zeichenkette) -.RS 4 -Damit kann die Anzeige des Namens des Befehls festgelegt werden, wenn \(Fcsu \-\(Fo ausgef\(:uhrt wird\&. Wenn beispielsweise dies auf \(Fcsu\(Fo gesetzt wurde, zeigt \(Fcps\(Fo den Befehl als \(Fc\-su\(Fo an\&. Wenn es dagegen nicht vergeben wurde, wird \(Fcps\(Fo den Namen der Shell anzeigen, die ausgef\(:uhrt wird, also etwa \(Fc\-sh\(Fo\&. -.RE -.PP -\fBSU_WHEEL_ONLY\fR (boolesch) -.RS 4 -Falls -\fIyes\fR, muss der Benutzer Mitglied der ersten Gruppe mit der GID 0 in -/etc/group -sein (auf den meisten Linux\-Systemen hei\(sst die -\fIroot\fR), um mit -\fBsu\fR -zu einem Konto mit der UID 0 wechseln zu k\(:onnen\&. Falls die Gruppe nicht existiert oder keine Mitglieder hat, kann niemand mittels -\fBsu\fR -zur UID 0 wechseln\&. -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (boolesch) -.RS 4 -aktiviert das Protokollieren der Aktivit\(:aten von -\fBsu\fR -in \(Fcsyslog\(Fo neben der Protokollierung in der sulog\-Datei -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolesch) -.RS 4 -Erlaubt Benutzern, die nicht Root sind, die Umask\-Gruppen\-Bits auf ihre Umask\-Bits zu setzen (Beispiel: 022 \-> 002, 077 \-> 007), falls die UID mit der GID identisch ist sowie der Benutzername mit dem Gruppennamen \(:ubereinstimmt\&. -.sp -Wenn der Wert -\fIyes\fR -ist, wird -\fBuserdel\fR -die Gruppe des Benutzers entfernen, falls sie keine Mitglieder mehr hat, und -\fBuseradd\fR -wird standardm\(:a\(ssig eine Gruppe mit dem Namen des Benutzers erstellen\&. -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.SH "R\(:UCKGABEWERTE" -.PP -Wenn -\fBsu\fR -erfolgreich ausgef\(:uhrt wird, gibt es den R\(:uckgabewert des mit ihm ausgef\(:uhrten Befehls zur\(:uck\&. -.PP -Wenn dieser Befehl mit einem Signal beendet wurde, gibt -\fBsu\fR -die Nummer des Signals plus 128 zur\(:uck\&. -.PP -Wenn -\fBsu\fR -den Befehl mit kill beenden musste (weil er der Aufforderung, sich zu beenden, nicht rechtzeitig nachgekommen ist), gibt es 255 zur\(:uck\&. -.PP -Einige R\(:uckgabewerte von -\fBsu\fR -sind unabh\(:angig von dem ausgef\(:uhrten Befehl: -.PP -\fI0\fR -.RS 4 -Erfolg (nur bei -\fB\-\-help\fR) -.RE -.PP -\fI1\fR -.RS 4 -System\- oder Anmeldefehler -.RE -.PP -\fI126\fR -.RS 4 -Der angegebene Befehl konnte nicht gefunden werden\&. -.RE -.PP -\fI127\fR -.RS 4 -Der angegebene Befehl konnte nicht ausgef\(:uhrt werden\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBlogin\fR(1), -\fBlogin.defs\fR(5), -\fBsg\fR(1), -\fBsh\fR(1)\&. diff --git a/man/de/man3/getspnam.3 b/man/de/man3/getspnam.3 deleted file mode 100644 index cd473da3..00000000 --- a/man/de/man3/getspnam.3 +++ /dev/null @@ -1 +0,0 @@ -.so man3/shadow.3 diff --git a/man/de/man3/shadow.3 b/man/de/man3/shadow.3 deleted file mode 100644 index e540ce7e..00000000 --- a/man/de/man3/shadow.3 +++ /dev/null @@ -1,248 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Bibliotheksaufrufe -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "SHADOW" "3" "18.09.2016" "shadow\-utils 4\&.4" "Bibliotheksaufrufe" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -shadow, getspnam \- Routinen f\(:ur die Datei, die die verschl\(:usselten Passw\(:orter enth\(:alt -.SH "SYNTAX" -.PP -\fI#include \fR -.PP -\fIstruct spwd *getspent();\fR -.PP -\fItruct spwd *getspnam(char\fR -\fI*name\fR\fI);\fR -.PP -\fIvoid setspent();\fR -.PP -\fIvoid endspent();\fR -.PP -\fIstruct spwd *fgetspent(FILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIstruct spwd *sgetspent(char\fR -\fI*cp\fR\fI);\fR -.PP -\fIint putspent(struct spwd\fR -\fI*p,\fR -\fIDATEIEN\fR -\fI*fp\fR\fI);\fR -.PP -\fIint lckpwdf();\fR -.PP -\fIint ulckpwdf();\fR -.SH "BESCHREIBUNG" -.PP -\fIshadow\fR -ver\(:andert den Inhalt der Shadow\-Passwort\-Datei -/etc/shadow\&. Der Aufbau der Datei -\fI#include\fR -ist: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct spwd { - char *sp_namp; /* Anmeldename des Benutzers */ - char *sp_pwdp; /* verschl\(:usseltes Passwort */ - long int sp_lstchg; /* letzte \(:Anderung des Passworts */ - long int sp_min; /* Tage, ehe \(:Anderung erlaubt ist */ - long int sp_max; /* Tage, bis \(:Anderung erfolgen muss */ - long int sp_warn; /* Tage f\(:ur Warnung vor Verfall */ - long int sp_inact; /* Tage, ehe Konto inaktiv wird */ - long int sp_expire; /* Datum, an dem Konto abgeschaltet wird */ - unsigned long int sp_flag; /* reserviert f\(:ur zuk\(:unftigen Gebrauch*/ -} - -.fi -.if n \{\ -.RE -.\} -.PP -Die Bedeutung dieser Felder ist: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_namp \- Verweis auf Benutzername, der mit einer Null endet -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_pwdp \- Verweis auf Passwort, das mit einer Null endet -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_lstchg \- Anzahl der Tage gerechnet ab dem 1\&. Januar 1970, seitdem das Passwort das letzte Mal ge\(:andert wurde -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_min \- Anzahl der Tage, ehe das Passwort nicht ge\(:andert werden darf -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_max \- Anzahl der Tage, nach denen das Passwort ge\(:andert werden muss -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_warn \- Anzahl der Tage ehe das Passwort verf\(:allt, an denen der Benutzer vor dem Verfall gewarnt wird -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_inact \- Anzahl der Tage nach dem Verfall des Passworts, nach denen das Konto als inaktiv angesehen und abgeschaltet wird -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_expire \- Anzahl Tage gerechnet ab dem 1\&. Januar 1970, f\(:ur die das Konto abgeschaltet ist -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_flag \- f\(:ur zuk\(:unftigen Gebrauch reserviert -.RE -.SH "BESCHREIBUNG" -.PP -\fIgetspent\fR, -\fIgetspname\fR, -\fIfgetspent\fR -und -\fIsgetspent\fR -geben einen Verweis auf -\fIstruct spwd\fR -zur\(:uck\&. -\fIgetspent\fR -gibt den n\(:achsten Eintrag der Datei zur\(:uck\&. -\fIfgetspent\fR -gibt den n\(:achsten Eintrag im angegebenen Datenstrom zur\(:uck, f\(:ur den angenommen wird, dass es sich dabei um eine Datei im zul\(:assigen Format handelt\&. -\fIsgetspent\fR -gibt einen Verweis auf einen -\fIstruct spwd\fR -zur\(:uck, wobei die angegebene Zeichenkette als Eingabe verwendet wird\&. -\fIgetspnam\fR -sucht ab der aktuellen Position in der Datei nach einem Eintrag, der mit -\fIname\fR -\(:ubereinstimmt\&. -.PP -\fIsetspent\fR -und -\fIendspent\fR -k\(:onnen verwendet werden, um den Zugriff auf die Shadow\-Passwort\-Datei zu beginnen oder zu beenden\&. -.PP -Die Routinen -\fIlckpwdf\fR -und -\fIulckpwdf\fR -sollten eingesetzt werden, da so sichergestellt werden kann, dass exlusiv auf die Datei -/etc/shadow -zugegriffen wird\&. -\fIlckpwdf\fR -versucht, eine Sperre durch -\fIpw_lock\fR -f\(:ur bis zu 15 Sekunden zu erhalten\&. Dann versucht es, eine zweite Sperre durch -\fIspw_lock\fR -f\(:ur den Rest der 15 Sekunden zu erhalten\&. Sollte einer der beiden Versuche nach insgesamt 15 Sekunden scheitern, gibt -\fIlckpwdf\fR -\-1 zur\(:uck\&. Wurden beide Sperren erhalten, wird 0 zur\(:uckgegeben\&. -.SH "DIAGNOSE" -.PP -Wenn kein weiterer Eintrag vorhanden ist oder w\(:ahrend der Verarbeitung ein Fehler auftritt, geben die Routinen NULL zur\(:uck\&. Routinen, die -\fIint\fR -als R\(:uckgabewert haben, geben im Erfolgsfall 0 und beim Scheitern \-1 zur\(:uck\&. -.SH "WARNUNGEN" -.PP -Diese Routinen k\(:onnen nur von Root verwendet werden, da der Zugriff auf die Shadow\-Passwort\-Datei beschr\(:ankt ist\&. -.SH "DATEIEN" -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBgetpwent\fR(3), -\fBshadow\fR(5)\&. diff --git a/man/de/man5/faillog.5 b/man/de/man5/faillog.5 deleted file mode 100644 index cb44eee4..00000000 --- a/man/de/man5/faillog.5 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dateiformate und -konvertierung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "FAILLOG" "5" "18.09.2016" "shadow\-utils 4\&.4" "Dateiformate und \-konvertieru" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -faillog \- Datei mit fehlgeschlagenen Anmeldungen -.SH "BESCHREIBUNG" -.PP -In -/var/log/faillog -wird der Z\(:ahlerstand von fehlgeschlagenen Anmeldungen und die Beschr\(:ankungen f\(:ur jedes Konto niedergelegt\&. -.PP -Eintr\(:age in dieser Datei haben eine festgelegte L\(:ange und sind der zahlenm\(:a\(ssigen UID nach angeordnet\&. Jeder Eintrag besteht aus der Anzahl der fehlgeschlagenen Anmeldungen seit der letzten erfolgreichen Anmeldung, der maximalen Anzahl von Fehlschl\(:agen, ehe das Konto abgeschaltet wird, dem Ger\(:at, auf dem die letzte fehlgeschlagene Anmeldung erfolgte, das Datum der letzten fehlgeschlagenen Anmeldung und die Dauer in Sekunden, f\(:ur die das Konto nach einem Fehlschlag gesperrt ist\&. -.PP -Die Datei ist so aufgebaut: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct faillog { - short fail_cnt; - short fail_max; - char fail_line[12]; - time_t fail_time; - long fail_locktime; -}; -.fi -.if n \{\ -.RE -.\} -.SH "DATEIEN" -.PP -/var/log/faillog -.RS 4 -Datei mit fehlgeschlagenen Anmeldungen -.RE -.SH "SIEHE AUCH" -.PP -\fBfaillog\fR(8) diff --git a/man/de/man5/gshadow.5 b/man/de/man5/gshadow.5 deleted file mode 100644 index b2eed987..00000000 --- a/man/de/man5/gshadow.5 +++ /dev/null @@ -1,105 +0,0 @@ -'\" t -.\" Title: gshadow -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dateiformate und -konvertierung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "GSHADOW" "5" "18.09.2016" "shadow\-utils 4\&.4" "Dateiformate und \-konvertieru" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -gshadow \- Shadow\-Datei f\(:ur Gruppen -.SH "BESCHREIBUNG" -.PP -In -/etc/gshadow -befinden sich die Informationen f\(:ur das Shadow\-Gruppen\-System\&. -.PP -Um die Sicherheit der Passw\(:orter zu gew\(:ahrleisten, darf diese Datei nicht f\(:ur normale Benutzer lesbar sein\&. -.PP -Die darin enthaltenen Zeilen haben folgende Felder, die durch Doppelpunkt getrennt sind: -.PP -\fBGruppenname\fR -.RS 4 -Es muss sich um einen g\(:ultigen, auf dem System vorhandenen Gruppennamen handeln\&. -.RE -.PP -\fBverschl\(:usseltes Passwort\fR -.RS 4 -Sie sollten in -\fBcrypt\fR(3) -nachsehen, wenn Sie mehr \(:uber die Bedeutung dieser Zeichenkette wissen wollen\&. -.sp -Wenn das Passwortfeld eine Zeichenkette enth\(:alt, die kein zul\(:assiges Ergebnis von -\fBcrypt\fR(3) -ist, z\&.B\&. ! oder *, k\(:onnen Benutzer nicht mit einem Unix\-Passwort Zugang zu der Gruppe erhalten, wobei Gruppenmitglieder kein Passwort ben\(:otigen\&. -.sp -The password is used when a user who is not a member of the group wants to gain the permissions of this group (see -\fBnewgrp\fR(1))\&. -.sp -Dieses Feld kann leer bleiben\&. Dies hat zur Folge, dass nur Gruppenmitglieder von den Rechten der Gruppe Gebrauch machen k\(:onnen\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.sp -Dieses Passwort geht den in -/etc/group -definierten Passw\(:ortern vor\&. -.RE -.PP -\fBGruppenverwalter\fR -.RS 4 -Es muss sich dabei um eine durch Kommas getrennte Liste von Benutzernamen handeln\&. -.sp -Gruppenverwalter k\(:onnen das Passwort und die Mitglieder der Gruppe \(:andern\&. -.sp -Gruppenverwalter haben die gleichen Recht wie die Gruppenmitglieder (siehe unten)\&. -.RE -.PP -\fBMitglieder\fR -.RS 4 -Es muss sich dabei um eine durch Kommas getrennte Liste von Benutzernamen handeln\&. -.sp -Mitglieder haben Zugang zu der Gruppe, ohne eine Passwort eingeben zu m\(:ussen\&. -.sp -Sie sollten die gleiche Benutzerliste wie in -/etc/group -verwenden\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBgpasswd\fR(5), -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBgrpconv\fR(8), -\fBnewgrp\fR(1)\&. diff --git a/man/de/man5/limits.5 b/man/de/man5/limits.5 deleted file mode 100644 index 91b1b4a5..00000000 --- a/man/de/man5/limits.5 +++ /dev/null @@ -1,277 +0,0 @@ -'\" t -.\" Title: limits -.\" Author: Luca Berra -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dateiformate und -konvertierung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "LIMITS" "5" "18.09.2016" "shadow\-utils 4\&.4" "Dateiformate und \-konvertieru" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -limits \- Festlegung von Resourcenbeschr\(:ankungen -.SH "BESCHREIBUNG" -.PP -Die -\fIlimits\fR\-Datei (standardm\(:a\(ssig -/etc/limits -oder die durch LIMITS_FILE in -config\&.h -festgelegte) bezeichnet die von Ihnen eingef\(:uhrte Beschr\(:ankung von Ressourcen\&. Sie sollte Root geh\(:oren und nur von ihm lesbar sein\&. -.PP -Standardm\(:a\(ssig bestehen f\(:ur Root keine Einschr\(:ankungen\&. Tats\(:achlich gibt es keine M\(:oglichkeit, mit diesem Verfahren Root\-Konten (Konten mit der UID 0) Beschr\(:ankungen aufzuerlegen\&. -.PP -Jede Zeile beschreibt eine Beschr\(:ankung f\(:ur einen Benutzer in der Form: -.PP -\fIBenutzer BESCHR\(:ANKUNGSZEICHENKETTE\fR -.PP -oder in der Form: -.PP -\fI@Gruppe BESCHR\(:ANKUNGSZEICHENKETTE\fR -.PP -Die -\fIBESCHR\(:ANKUNGSZEICHENKETTE\fR -ist eine Kette von Ressourcen\-Beschr\(:ankungen\&. Jede Beschr\(:ankung besteht aus einer Buchstabenkennung, der eine zahlenm\(:a\(ssige Beschr\(:ankung folgt\&. -.PP -G\(:ultige Kennungen sind: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -A: maximaler Adressraum (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -C: maximale Gr\(:o\(sse der Speicherabbild\-Datei -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -D: maximale Datengr\(:o\(sse (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -F: maximum file size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -K: Maske f\(:ur die Dateierstellung, wird von -\fBumask\fR(2) -gesetzt\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -I: Maximaler Wert von nice (0 bis 39, was in 20 bis \-19 \(:ubersetzt wird) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -L: maximale Anzahl von Logins f\(:ur diesen Benutzer -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -M: maximaler gesperrter Adressbereich im Speicher (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -N: maximale Anzahl offener Dateien -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -O: Maximale Echtzeit\-Priorit\(:at -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -P: Prozesspriorit\(:at, wird von -\fBsetpriority\fR(2) -gesetzt\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -R: maximale Resident Set Size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -S: maximale Gr\(:o\(sse des Stapelverarbeitungsspeichers (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -T: maximale CPU\-Zeit (Min) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -U: maximale Anzahl von Prozessen -.RE -.PP -Zum Beispiel ist -\fIL2D2048N5\fR -eine g\(:ultige -\fIBESCHR\(:ANKUNGSZEICHENKETTE\fR\&. Um das Lesen zu erleichtern, werden folgende Eintr\(:age gleich behandelt: -.sp -.if n \{\ -.RS 4 -.\} -.nf - Benutzername L2D2048N5 - Benutzername L2 D2048 N5 - -.fi -.if n \{\ -.RE -.\} -.PP -Be aware that after -\fIusername\fR -the rest of the line is considered a limit string, thus comments are not allowed\&. An invalid limits string will be rejected (not considered) by the -\fBlogin\fR -program\&. -.PP -Standardwerte werden mit dem Benutzernamen \(Fc\fI*\fR\(Fo festgelegt\&. Falls Sie mehrfach -\fIStandard\fR\-Werte in der -\fIBESCHR\(:ANKUNGSDATEI\fR -bestimmen, wird nur der letzte ber\(:ucksichtigt\&. -.PP -Beschr\(:ankungen, die in der Form \(Fc\fI@group\fR\(Fo festgelegt wurden, gelten f\(:ur alle Mitglieder der angegebenen Gruppe -\fIgroup\fR\&. -.PP -If more than one line with limits for a user exist, only the first line for this user will be considered\&. -.PP -If no lines are specified for a user, the last -\fI@group\fR -line matching a group whose the user is a member of will be considered, or the last line with default limits if no groups contain the user\&. -.PP -Mit einem Gedankenstrich \(Fc\fI\-\fR\(Fo k\(:onnen Sie alle Beschr\(:ankungen f\(:ur einen Benutzer zu entfernen\&. -.PP -Um f\(:ur einen Benutzer eine bestimmte Beschr\(:ankung zu entfernen, m\(:ussen Sie f\(:ur diese Beschr\(:ankung anstelle des numerischen Wertes einen Gedankenstrich \(Fc\fI\-\fR\(Fo setzen\&. -.PP -Ber\(:ucksichtigen Sie auch, dass alle Beschr\(:ankungen nur JE ANMELDUNG gelten\&. Sie sind nicht global und auch nicht dauerhaft\&. Vielleicht wird es einmal globale Beschr\(:ankungen geben, f\(:ur jetzt muss dies aber reichen ;) -.SH "DATEIEN" -.PP -/etc/limits -.RS 4 -.RE -.SH "SIEHE AUCH" -.PP -\fBlogin\fR(1), -\fBsetpriority\fR(2), -\fBsetrlimit\fR(2)\&. diff --git a/man/de/man5/login.access.5 b/man/de/man5/login.access.5 deleted file mode 100644 index f51e7407..00000000 --- a/man/de/man5/login.access.5 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: login.access -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dateiformate und -konvertierung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "LOGIN\&.ACCESS" "5" "18.09.2016" "shadow\-utils 4\&.4" "Dateiformate und \-konvertieru" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -login.access \- Tabelle f\(:ur die Zugangskontrolle zur Anmeldung -.SH "BESCHREIBUNG" -.PP -Die Datei -\fIlogin\&.access\fR -legt Kombinationen von (Benutzer, Rechner) und (Benutzer, tty) fest, f\(:ur die eine Anmeldung erlaubt oder abgelehnt wird\&. -.PP -Wenn sich jemand anmeldet, wird -\fIlogin\&.access\fR -nach dem ersten Eintrag durchsucht, auf den die Kombination von (Benutzer, Rechner) oder, bei lokalen Anmeldungen, von (Benutzer, tty) zutrifft\&. Das Feld f\(:ur die Erlaubnis bestimmt, ob die Anmeldung zugelassen oder abgelehnt wird\&. -.PP -Jede Zeile der Tabelle f\(:ur die Zugangskontrolle enth\(:alt drei Felder, die jeweils durch einen Doppelpunkt \(Fc:\(Fo getrennt sind: -.PP -\fIErlaubnis\fR:\fIBenutzer\fR:\fIHerkunft\fR -.PP -Das erste Feld kann das Zeichen \(Fc\fI+\fR\(Fo (Zugriff erlaubt) oder \(Fc\fI\-\fR\(Fo (Zugriff verweigert) sein\&. Das zweite Feld kann eine Liste von einem oder mehreren Anmeldenamen, Gruppennamen oder -\fIALL\fR\fI\fI (trifft immer zu) sein\&. Das dritte Feld kann eine Liste von einem oder mehreren tty\-Namen (f\(:ur lokale Anmeldungen), Rechner\-Namen, Domain\-Namen (beginnen mit einem \(Fc\fR\fI\&.\fR\fI\(Fo), Rechner\-Adressen, Internet\-Netzwerk\-Nummern (enden mit einem \(Fc\fR\fI\&.\fR\fI\(Fo), \fR\fI\fIALL\fR\fR\fI (trifft immer zu) oder \fR\fI\fILOCAL\fR\fR\fI (trifft auf alle Zeichenketten zu, die keinen \(Fc\fR\fI\&.\fR\fI\(Fo enthalten)\&. Falls Sie NIS einsetzen, k\(:onnen Sie in den Rechner\- und Benutzerangaben auch @netgroupname verwenden\&.\fR\fR -.PP -Der Operator -\fIEXCEPT\fR -erm\(:oglicht es, sehr kurze Regeln zu schreiben\&. -.PP -Die Gruppendatei wird nur durchsucht, wenn ein Name nicht mit dem des angemeldeten Benutzers \(:ubereinstimmt\&. Eine \(:Ubereinstimmung mit Gruppen wird nur festgestellt, wenn darin der Benutzer ausdr\(:ucklich aufgef\(:uhrt ist\&. Das Programm beachtet also nicht den Wert der Hauptgruppe des Benutzers\&. -.SH "DATEIEN" -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.SH "SIEHE AUCH" -.PP -\fBlogin\fR(1)\&. diff --git a/man/de/man5/login.defs.5 b/man/de/man5/login.defs.5 deleted file mode 100644 index 162595cd..00000000 --- a/man/de/man5/login.defs.5 +++ /dev/null @@ -1,839 +0,0 @@ -'\" t -.\" Title: login.defs -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dateiformate und -konvertierung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "LOGIN\&.DEFS" "5" "18.09.2016" "shadow\-utils 4\&.4" "Dateiformate und \-konvertieru" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -login.defs \- Konfiguration der Werkzeugsammlung f\(:ur Shadow\-Passw\(:orter -.SH "BESCHREIBUNG" -.PP -Die Datei -/etc/login\&.defs -legt die systemspezifische Konfiguration der Werkzeugsammlung f\(:ur Shadow\-Passw\(:orter fest\&. Diese Datei muss vorhanden sein\&. Wenn sie fehlt, wird das System zwar laufen, es k\(:onnen aber unerw\(:unschte Ergebnisse auftauchen\&. -.PP -Diese Datei ist eine lesbare Textdatei\&. Jede Zeile der Datei beschreibt einen Konfigurationsparameter\&. Eine Zeile besteht aus einem Konfigurationsnamen und einem Wert, die durch ein Leerzeichen getrennt sind\&. Leer\- und Kommentarzeilen werden nicht beachtet\&. Kommentare werden mit dem Rautezeichen \(Fc#\(Fo eingeleitet\&. Die Raute muss das erste nicht leere Zeichen der Zeile sein\&. -.PP -Die Parameterwerte k\(:onnen aus vier Typen bestehen: Zeichenketten, Boolesch, Zahlen und lange Zahlen\&. Eine Zeichenkette kann aus jedem druckbaren Zeichen bestehen\&. Ein Boolesch sollte \(Fcyes\(Fo oder \(Fcno\(Fo sein\&. Einem anderen oder undefinierten Parameter f\(:ur Boolesch wird der Wert \(Fcno\(Fo zugewiesen\&. Normale und lange Zahlen k\(:onnen aus Dezimalzahlen, Oktalzahlen (beginnen mit \(Fc0\(Fo) oder Hexadezimalzahlen (beginnen mit \(Fc0x\(Fo) bestehen\&. Die maximale Gr\(:o\(sse der Parameter normaler und langer Zahlen ist systemabh\(:angig\&. -.PP -Die folgenden Konfigurationsm\(:oglichkeiten sind vorhanden: -.PP -\fBCHFN_AUTH\fR (boolesch) -.RS 4 -Falls -\fIyes\fR, ben\(:otigt das Programm -\fBchfn\fR -eine Authentifizierung, bevor es \(:Anderungen vornimmt, sofern es nicht von Root ausgef\(:uhrt wird\&. -.RE -.PP -\fBCHFN_RESTRICT\fR (Zeichenkette) -.RS 4 -Der Parameter bestimmt, welcher Wert in dem -\fIgecos\fR\-Feld von -/etc/passwd -von gew\(:ohnlichen Benutzern mittels des Programms -\fBchfn\fR -ge\(:andert werden darf\&. Er kann aus jeder Kombination der Buchstaben -\fIf\fR -,\fIr\fR, -\fIw\fR -und -\fIh\fR -bestehen\&. Diese Buchstaben stehen f\(:ur den vollst\(:andigen Namen, die Zimmernummer, die gesch\(:aftliche Telefonnummer und die private Telefonnummer\&. Zum Zweck der Abw\(:artskompatibilit\(:at entspricht -\fIyes\fR -\fIrwh\fR -und -\fIno\fR -\fIfrwh\fR\&. Falls nichts festgelegt wird, kann nur Root \(:Anderungen vornehmen\&. Die gr\(:o\(sste Einschr\(:ankung erreicht man besser, indem -chfn -nicht mit SUID\-Rechten ausgestattet wird\&. -.RE -.PP -\fBCHSH_AUTH\fR (boolesch) -.RS 4 -Falls -\fIyes\fR, ben\(:otigt das Programm -\fBchsh\fR -eine Authentifizierung, bevor es \(:Anderungen vornimmt, sofern es nicht von Root ausgef\(:uhrt wird\&. -.RE -.PP -\fBCONSOLE\fR (Zeichenkette) -.RS 4 -Die Konfiguration erfolgt entweder \(:uber die Angabe des vollen Pfadnamens einer Datei, welche die Namen der Ger\(:ate enth\(:alt (eines pro Zeile), oder mit einer Liste der Ger\(:atenamen, die mit \(Fc:\(Fo getrennt sind\&. Root kann sich nur auf diesen Ger\(:aten anmelden\&. -.sp -Wenn es unkonfiguriert gelassen wird, kann sich Root auf jedem Ger\(:at anmelden\&. -.sp -Das Ger\(:at soll ohne vorangestelltes /dev/ angegeben werden\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (Zeichenkette) -.RS 4 -Liste von Gruppen, deren Mitglied der Benutzer wird, wenn der sich auf der Konsole anmeldet, die mit dem Parameter CONSOLE festgelegt wird\&. Standardm\(:a\(ssig ist die Liste leer\&. - -Seien Sie vorsichtig\&. Benutzer k\(:onnen dauerhaft Zugang zu den Gruppen erlangen, auch wenn sie nicht auf der Konsole angemeldet sind\&. -.RE -.PP -\fBCREATE_HOME\fR (boolesch) -.RS 4 -bestimmt, ob standardm\(:a\(ssig ein Home\-Verzeichnis f\(:ur neue Benutzer erstellt werden soll -.sp -Diese Einstellung trifft nicht auf Systembenutzer zu\&. Sie kann auf der Befehlszeile \(:uberschrieben werden\&. -.RE -.PP -\fBDEFAULT_HOME\fR (boolesch) -.RS 4 -Legt fest, ob ein Login erlaubt wird, wenn mit cd nicht in das Home\-Verzeichnis gewechselt werden kann\&. Standardm\(:a\(ssig wird dies nicht zugelassen\&. -.sp -Falls auf -\fIyes\fR -gesetzt, wird der Benutzer mit dem Wurzelverzeichnis (/) angemeldet, wenn mit cd nicht in sein Home\-Verzeichnis gewechselt werden kann\&. -.RE -.PP -\fBENCRYPT_METHOD\fR (Zeichenkette) -.RS 4 -Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Passw\(:orter verschl\(:usselt werden, bestimmt (soweit nicht in der Befehlszeile ein Algorithmus angegeben wird)\&. -.sp -Ihm kann einer der folgenden Wert zugewiesen werden: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Hinweis: Dieser Parameter \(:uberschreibt die Variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBENV_HZ\fR (Zeichenkette) -.RS 4 -Wenn vergeben, wird damit die Umgebungsvariable HZ definiert, wenn sich ein Benutzer anmeldet\&. Dem Wert muss ein -\fIHZ=\fR -vorangestellt werden\&. Ein \(:ublicher Wert bei Linux ist -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_PATH\fR (Zeichenkette) -.RS 4 -Wenn gesetzt, wird damit die Umgebungsvariable PATH definiert, wenn sich ein normaler Benutzer anmeldet\&. Der Wert ist eine Liste, deren Eintr\(:age durch Doppelpunkte getrennt sind (zum Beispiel -\fI/bin:/usr/bin\fR)\&. Ihr kann ein -\fIPATH=\fR -vorangestellt werden\&. Der Standardwert ist -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (Zeichenkette) -.RS 4 -Wenn gesetzt, wird damit die Umgebungsvariable PATH definiert, wenn sich der Superuser anmeldet\&. Der Wert ist eine Liste, deren Eintr\(:age durch Doppelpunkte getrennt sind (zum Beispiel -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR)\&. Ihr kann ein -\fIPATH=\fR -vorangestellt werden\&. Der Standardwert ist -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (Zeichenkette) -.RS 4 -Wenn gesetzt, wird damit die Umgebungsvariable TZ definiert, wenn sich ein Benutzer anmeldet\&. Der Wert kann der Name der Zeitzone sein, dem -\fITZ=\fR -vorausgeht (zum Beispiel -\fITZ=CST6CDT\fR), oder der vollst\(:andige Pfad der Datei, welche die Konfiguration der Zeitzone enth\(:alt (zum Beispiel -/etc/tzname)\&. -.sp -Wenn ein vollst\(:andiger Pfadname angegeben wird, die Datei aber nicht existiert oder nicht lesbar ist, wird -\fITZ=CST6CDT\fR -verwendet\&. -.RE -.PP -\fBENVIRON_FILE\fR (Zeichenkette) -.RS 4 -Wenn diese Datei vorhanden ist, wird die Anmeldeumgebung aus ihr gelesen\&. Jede Zeile sollte die Form Name=Wert haben\&. -.sp -Zeilen, die mit einem # beginnen, werden als Kommentare behandelt und daher ignoriert\&. -.RE -.PP -\fBERASECHAR\fR (Zahl) -.RS 4 -Das L\(:oschzeichen des Terminals (\fI010\fR -= R\(:ucktaste, -\fI0177\fR -= Entf)\&. -.sp -Wenn der Wert mit \(Fc0\(Fo beginnt, wird er als Oktalzahl gewertet, wenn er mit \(Fc0x\(Fo beginnt, als Hexadezimalzahl\&. -.RE -.PP -\fBFAIL_DELAY\fR (Zahl) -.RS 4 -Wartezeit in Sekunden, ehe nach einem fehlgeschlagenen Anmeldeversuch ein neuer unternommen werden kann -.RE -.PP -\fBFAILLOG_ENAB\fR (boolesch) -.RS 4 -aktiviert die Protokollierung und Anzeige der Informationen zu fehlgeschlagenen Anmeldeversuchen in -/var/log/faillog -.RE -.PP -\fBFAKE_SHELL\fR (Zeichenkette) -.RS 4 -Falls angegeben, f\(:uhrt -\fBlogin\fR -diese Shell anstelle der in -/etc/passwd -angegebenen Shell des Benutzers aus\&. -.RE -.PP -\fBFTMP_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, werden fehlgeschlagene Anmeldeversuche in dieser Datei im Format utmp protokolliert\&. -.RE -.PP -\fBGID_MAX\fR (Zahl), \fBGID_MIN\fR (Zahl) -.RS 4 -der Bereich von Gruppen\-IDs, aus dem die Programme -\fBuseradd\fR, -\fBgroupadd\fR -oder -\fBnewusers\fR -bei der Erstellung normaler Gruppen ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBGID_MIN\fR -ist 1000, f\(:ur -\fBGID_MAX\fR -60\&.000\&. -.RE -.PP -\fBHUSHLOGIN_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, kann diese Datei die \(:ubliche Informationsanzeige w\(:ahrend des Anmeldevorgangs unterbinden\&. Wenn ein vollst\(:andiger Pfad angegeben wird, wird der Modus ohne Anmeldeinformationen verwendet, wenn der Name oder die Shell des Benutzers in der Datei enthalten sind\&. Wenn kein vollst\(:andiger Pfad angegeben wird, wird der Modus ohne Anmeldeinformationen aktiviert, wenn die Datei im Home\-Verzeichnis des Benutzers existiert\&. -.RE -.PP -\fBISSUE_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, wird diese Datei vor der Anmeldeaufforderung angezeigt\&. -.RE -.PP -\fBKILLCHAR\fR (Zahl) -.RS 4 -Das KILL\-Zeichen des Terminals (\fI025\fR -= CTRL/U)\&. -.sp -Wenn der Wert mit \(Fc0\(Fo beginnt, wird er als Oktalzahl gewertet, wenn er mit \(Fc0x\(Fo beginnt, als Hexadezimalzahl\&. -.RE -.PP -\fBLASTLOG_ENAB\fR (boolesch) -.RS 4 -aktiviert die Protokollierung und Anzeige der Informationen zu Anmeldezeiten in -/var/log/lastlog -.RE -.PP -\fBLOG_OK_LOGINS\fR (boolesch) -.RS 4 -aktiviert die Protokollierung erfolgreicher Anmeldungen -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (boolesch) -.RS 4 -aktiviert die Anzeige unbekannter Benutzernamen, wenn fehlgeschlagene Anmeldeversuche aufgezeichnet werden -.sp -Hinweis: Das Protokollieren unbekannter Benutzernamen kann ein Sicherheitsproblem darstellen, wenn ein Benutzer sein Passwort anstelle seines Anmeldenamens eingibt\&. -.RE -.PP -\fBLOGIN_RETRIES\fR (Zahl) -.RS 4 -maximale Anzahl von Anmeldeversuchen, wenn ein falsches Passwort eingegeben wird -.RE -.PP -\fBLOGIN_STRING\fR (Zeichenkette) -.RS 4 -Diese Zeichenkette wird bei der Eingabeaufforderung des Passworts (Prompt) verwendet\&. Standardm\(:a\(ssig wird \(FcPassword: \(Fo oder eine \(:Ubersetzung davon benutzt\&. Wenn Sie diese Variable definieren, wird die Eingabeaufforderung nicht \(:ubersetzt\&. -.sp -Wenn die Zeichenkette ein -\fI%s\fR -enth\(:alt, wird dies durch den Benutzernamen ersetzt\&. -.RE -.PP -\fBLOGIN_TIMEOUT\fR (Zahl) -.RS 4 -H\(:ochstdauer f\(:ur einen Anmeldeversuch -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (boolesch) -.RS 4 -aktiviert die Pr\(:ufung und Anzeige des Status der Mailbox bei der Anmeldung -.sp -Sie sollten dies abschalten, wenn schon die Startdateien der Shell die Mails pr\(:ufen (\(Fcmailx \-e\(Fo oder \(:ahnliches)\&. -.RE -.PP -\fBMAIL_DIR\fR (Zeichenkette) -.RS 4 -Das Verzeichnis des Mail\-Spools\&. Diese Angabe wird ben\(:otigt, um die Mailbox zu bearbeiten, nachdem das entsprechende Benutzerkonto ver\(:andert oder gel\(:oscht wurde\&. Falls nicht angegeben, wird ein Standard verwendet, der beim Kompilieren festgelegt wurde\&. -.RE -.PP -\fBMAIL_FILE\fR (Zeichenkette) -.RS 4 -Legt den Ort der Mail\-Spool\-Dateien eines Benutzers relativ zu seinem Home\-Verzeichnis fest\&. -.RE -.PP -Die Variablen -\fBMAIL_DIR\fR -und -\fBMAIL_FILE\fR -werden von -\fBuseradd\fR, -\fBusermod\fR -und -\fBuserdel\fR -verwendet, um den Mail\-Spool eines Benutzers zu erstellen, zu verschieben oder zu l\(:oschen\&. -.PP -Falls -\fBMAIL_CHECK_ENAB\fR -auf -\fIyes\fR -gesetzt ist, werden sie auch verwendet, um die Umgebungsvariable -\fBMAIL\fR -festzulegen\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolesch) -.RS 4 -Legt fest, ob Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt werden\&. Falls diesem Wert -\fIyes\fR -zugewiesen ist, werden neue Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt, der zu dem in der aktuellen Ver\(:offentlichung von FreeBSD eingesetzten Algorithmus kompatibel ist\&. Passw\(:orter k\(:onnen dann beliebig lang sein, auch die Salt\-Zeichenketten sind l\(:anger\&. Setzen Sie diesen Wert auf -\fIno\fR, wenn Sie verschl\(:usselte Passw\(:orter auf ein anderes System kopieren m\(:ochten, das den neuen Algorithmus nicht versteht\&. Der Standardwert ist -\fIno\fR\&. -.sp -Dieser Variable geht die Variable -\fBENCRYPT_METHOD\fR -und eine Option auf der Befehlszeile, mit der der Verschl\(:usselungsalgorithmus bestimmt wird, vor\&. -.sp -Der Einsatz dieser Variable ist veraltet\&. Sie sollten -\fBENCRYPT_METHOD\fR -verwenden\&. -.RE -.PP -\fBMOTD_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, eine Aufz\(:ahlung von Dateien, welche die bei der Anmeldung anzuzeigenden \(FcNachrichten des Tages\(Fo enth\(:alt\&. Die Dateien werden mit einem \(Fc:\(Fo getrennt\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, der Name einer Datei, dessen Existenz Anmeldungen au\(sser von Root verhindert\&. Der Inhalt der Datei sollte die Gr\(:unde enthalten, weshalb Anmeldungen untersagt sind\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (boolesch) -.RS 4 -Aktiviert zus\(:atzliche Tests bei der Ver\(:anderung eines Passworts\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (boolesch) -.RS 4 -weist auf schwache Passw\(:orter hin (aber l\(:asst sie zu), falls Sie root sind -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (Zahl) -.RS 4 -maximale Anzahl von Versuchen, ein Passwort zu \(:andern, wenn dies wegen zu geringer St\(:arke des gew\(:ahlten Passworts abgelehnt wurde -.RE -.PP -\fBPASS_MAX_DAYS\fR (Zahl) -.RS 4 -Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&. Wenn das Passwort \(:alter ist, wird ein Wechsel des Passworts erzwungen\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (Zahl) -.RS 4 -Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen wird\&. Ein vorheriger Versuch, das Passwort zu \(:andern, wird abgelehnt\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (Zahl) -.RS 4 -Die Anzahl von Tagen, an denen der Benutzer vorgewarnt wird, bevor das Passwort verf\(:allt\&. Eine Null bedeutet, dass eine Warnung nur am Tag des Verfalls ausgegeben wird\&. Ein negativer Wert bedeutet, dass keine Vorwarnung erfolgt\&. Falls nicht angegeben, wird keine Vorwarnung ausgegeben\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR, -\fBPASS_MIN_DAYS\fR -und -\fBPASS_WARN_AGE\fR -werden nur bei der Erstellung eines Kontos verwendet\&. Sp\(:atere \(:Anderungen dieser Werte ber\(:uhren bestehende Konten nicht\&. -.PP -\fBPASS_MAX_LEN\fR (Zahl), \fBPASS_MIN_LEN\fR (Zahl) -.RS 4 -Anzahl der von crypt() ber\(:ucksichtigten Zeichen des Passworts\&. Standardm\(:a\(ssig ist -\fBPASS_MAX_LEN\fR -8\&. Diese Option wird ignoriert, wenn -\fBMD5_CRYPT_ENAB\fR -auf -\fIyes\fR -gesetzt ist\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (boolesch) -.RS 4 -aktiviert die Auswertung der in -/etc/porttime -angegebenen Zeitbegrenzungen -.RE -.PP -\fBQUOTAS_ENAB\fR (boolesch) -.RS 4 -aktiviert das Setzen von Resourcenbeschr\(:ankungen aus -/etc/limits -und von ulimit, umask und niceness aus dem gecos\-Feld des Benutzers von passwd -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (Zahl), \fBSHA_CRYPT_MAX_ROUNDS\fR (Zahl) -.RS 4 -Wenn -\fBENCRYPT_METHOD\fR -auf -\fISHA256\fR -oder -\fISHA512\fR -gesetzt ist, legt dies die Anzahl der Runden von SHA fest, die standardm\(:a\(ssig vom Verschl\(:usselungsalgorithmus verwendet werden (falls die Anzahl der Runden nicht auf der Befehlszeile angegeben wird)\&. -.sp -Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&. -.sp -Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&. -.sp -Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&. -.sp -Falls nur der Wert f\(:ur -\fBSHA_CRYPT_MIN_ROUNDS\fR -oder -\fBSHA_CRYPT_MAX_ROUNDS\fR -festgelegt wird, wird dieser Wert verwendet\&. -.sp -Falls -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, wird der h\(:ohere Wert verwendet\&. -.RE -.PP -\fBSULOG_FILE\fR (Zeichenkette) -.RS 4 -Wenn angegeben, wird jeder Aufruf von su in dieser Datei protokolliert\&. -.RE -.PP -\fBSU_NAME\fR (Zeichenkette) -.RS 4 -Damit kann die Anzeige des Namens des Befehls festgelegt werden, wenn \(Fcsu \-\(Fo ausgef\(:uhrt wird\&. Wenn beispielsweise dies auf \(Fcsu\(Fo gesetzt wurde, zeigt \(Fcps\(Fo den Befehl als \(Fc\-su\(Fo an\&. Wenn es dagegen nicht vergeben wurde, wird \(Fcps\(Fo den Namen der Shell anzeigen, die ausgef\(:uhrt wird, also etwa \(Fc\-sh\(Fo\&. -.RE -.PP -\fBSU_WHEEL_ONLY\fR (boolesch) -.RS 4 -Falls -\fIyes\fR, muss der Benutzer Mitglied der ersten Gruppe mit der GID 0 in -/etc/group -sein (auf den meisten Linux\-Systemen hei\(sst die -\fIroot\fR), um mit -\fBsu\fR -zu einem Konto mit der UID 0 wechseln zu k\(:onnen\&. Falls die Gruppe nicht existiert oder keine Mitglieder hat, kann niemand mittels -\fBsu\fR -zur UID 0 wechseln\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (Zahl), \fBSYS_GID_MIN\fR (Zahl) -.RS 4 -der Bereich von Gruppen\-IDs, aus dem die Programme -\fBuseradd\fR, -\fBgroupadd\fR -oder -\fBnewusers\fR -bei der Erstellung von Systemgruppen ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBSYS_GID_MIN\fR -ist 101, f\(:ur -\fBSYS_GID_MAX\fR -\fBGID_MIN\fR\-1\&. -.RE -.PP -\fBSYS_UID_MAX\fR (Zahl), \fBSYS_UID_MIN\fR (Zahl) -.RS 4 -der Bereich von Benutzer\-IDs, aus dem die Programme -\fBuseradd\fR -oder -\fBnewusers\fR -bei der Erstellung von Systembenutzern ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBSYS_UID_MIN\fR -ist 101, f\(:ur -\fBSYS_UID_MAX\fR -\fBUID_MIN\fR\-1\&. -.RE -.PP -\fBSYSLOG_SG_ENAB\fR (boolesch) -.RS 4 -aktiviert das Protokollieren der Aktivit\(:aten von -\fBsg\fR -in \(Fcsyslog\(Fo -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (boolesch) -.RS 4 -aktiviert das Protokollieren der Aktivit\(:aten von -\fBsu\fR -in \(Fcsyslog\(Fo neben der Protokollierung in der sulog\-Datei -.RE -.PP -\fBTTYGROUP\fR (Zeichenkette), \fBTTYPERM\fR (Zeichenkette) -.RS 4 -Die Rechte des Terminals: Das Anmelde\-tty geh\(:ort der Gruppe -\fBTTYGROUP\fR -an, die Rechte werden auf -\fBTTYPERM\fR -gesetzt\&. -.sp -Standardm\(:a\(ssig ist der Eigent\(:umer des Terminals die Hauptgruppe des Benutzers, die Rechte werden auf -\fI0600\fR -gesetzt\&. -.sp -\fBTTYGROUP\fR -kann der Gruppenname oder die als Zahl ausgedr\(:uckte Gruppen\-ID sein\&. -.sp -Wenn Sie ein -\fBwrite\fR\-Programm haben, das \(Fcsetgid\(Fo f\(:ur eine Gruppe besitzt, der das Terminal geh\(:ort, sollten Sie TTYGROUP die Gruppennummer und TTYPERM den Wert 0620 zuweisen\&. Oder Sie sollten TTYGROUP als Kommentar belassen und TTYPERM den Wert 622 oder 600 zuweisen\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (Zeichenkette) -.RS 4 -Falls angegeben, eine Datei, welche einer tty\-Zeile den Umgebungsparameter TERM zuweist\&. Jede Zeile hat das Format wie etwa \(Fcvt100 tty01\(Fo\&. -.RE -.PP -\fBUID_MAX\fR (Zahl), \fBUID_MIN\fR (Zahl) -.RS 4 -der Bereich von Benutzer\-IDs, aus dem die Programme -\fBuseradd\fR -oder -\fBnewusers\fR -bei der Erstellung normaler Benutzer ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBUID_MIN\fR -ist 1000, f\(:ur -\fBUID_MAX\fR -60\&.000\&. -.RE -.PP -\fBULIMIT\fR (Zahl) -.RS 4 -der Standardwert von -\fBulimit\fR -.RE -.PP -\fBUMASK\fR (Zahl) -.RS 4 -Die Bit\-Gruppe, welche die Rechte von erstellten Dateien bestimmt, wird anf\(:anglich auf diesen Wert gesetzt\&. Falls nicht angegeben, wird sie auf 022 gesetzt\&. -.sp -\fBuseradd\fR -und -\fBnewusers\fR -verwenden diese Bit\-Gruppe, um die Rechte des von ihnen erstellten Home\-Verzeichnisses zu setzen\&. -.sp -Sie wird auch von -\fBlogin\fR -verwendet, um die anf\(:angliche Umask eines Benutzers zu bestimmen\&. Beachten Sie, dass diese Bit\-Gruppe durch die GECOS\-Zeile des Benutzers (wenn -\fBQUOTAS_ENAB\fR -gesetzt wurde) oder die Festlegung eines Limits in -\fBlimits\fR(5) -mit der Kennung -\fIK\fR -\(:uberschrieben werden kann\&. -.RE -.PP -\fBUSERDEL_CMD\fR (Zeichenkette) -.RS 4 -Falls angegeben, wird dieser Befehl ausgef\(:uhrt, wenn ein Benutzer entfernt wird\&. Damit k\(:onnen At\-, Cron\- und Druckauftr\(:age etc\&. des entfernten Benutzers (wird als erstes Argument \(:ubergeben) gel\(:oscht werden\&. -.sp -Der R\(:uckgabewert des Skripts wird nicht ausgewertet\&. -.sp -Dies ist ein Beispielsskript, das die cron\-, at\- und Druckauftr\(:age des Benutzers entfernt: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# Pr\(:ufen, ob das ben\(:otigte Argument angegeben wurde -if [ $# != 1 ]; then - echo "Verwendungsweise: $0 Benutzername" - exit 1 -fi - -# cron\-Auftr\(:age entfernen -crontab \-r \-u $1 - -# at\-Auftr\(:age entfernen\&. -# Hinweis: Dies wird alle Auftr\(:age entfernen, die der gleichen UID -# geh\(:oren, selbst wenn sie von einem Benutzer mit einem anderen Namen -# eingerichtet wurden\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# Druck\-Auftr\(:age entfernen -lprm $1 - -# Fertig -exit 0 - -.fi -.if n \{\ -.RE -.\} -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolesch) -.RS 4 -Erlaubt Benutzern, die nicht Root sind, die Umask\-Gruppen\-Bits auf ihre Umask\-Bits zu setzen (Beispiel: 022 \-> 002, 077 \-> 007), falls die UID mit der GID identisch ist sowie der Benutzername mit dem Gruppennamen \(:ubereinstimmt\&. -.sp -Wenn der Wert -\fIyes\fR -ist, wird -\fBuserdel\fR -die Gruppe des Benutzers entfernen, falls sie keine Mitglieder mehr hat, und -\fBuseradd\fR -wird standardm\(:a\(ssig eine Gruppe mit dem Namen des Benutzers erstellen\&. -.RE -.SH "QUERVERWEISE" -.PP -Die folgenden Querverweise zeigen, welche Programme aus der Shadow\-Passwort\-Werkzeugsammlung welche Parameter verwenden\&. -.PP -chfn -.RS 4 -CHFN_AUTH -CHFN_RESTRICT -LOGIN_STRING -.RE -.PP -chgpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chpasswd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chsh -.RS 4 -CHSH_AUTH LOGIN_STRING -.RE -.PP -gpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -groupadd -.RS 4 -GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN -.RE -.PP -groupdel -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmems -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmod -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpck -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpunconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -login -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE -ERASECHAR FAIL_DELAY -FAILLOG_ENAB -FAKE_SHELL -FTMP_FILE -HUSHLOGIN_FILE -ISSUE_FILE -KILLCHAR -LASTLOG_ENAB -LOGIN_RETRIES -LOGIN_STRING -LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB -MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB QUOTAS_ENAB -TTYGROUP TTYPERM TTYTYPE_FILE -ULIMIT UMASK -USERGROUPS_ENAB -.RE -.PP -newgrp / sg -.RS 4 -SYSLOG_SG_ENAB -.RE -.PP -newusers -.RS 4 -ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -passwd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -pwck -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -pwconv -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -su -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENVIRON_FILE -ENV_PATH ENV_SUPATH -ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB -SULOG_FILE SU_NAME -SU_WHEEL_ONLY -SYSLOG_SU_ENAB -USERGROUPS_ENAB -.RE -.PP -sulogin -.RS 4 -ENV_HZ -ENV_TZ -.RE -.PP -useradd -.RS 4 -CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -userdel -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB -.RE -.PP -usermod -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP -.RE -.SH "SIEHE AUCH" -.PP -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBsu\fR(1), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBpam\fR(8)\&. diff --git a/man/de/man5/passwd.5 b/man/de/man5/passwd.5 deleted file mode 100644 index 889314a8..00000000 --- a/man/de/man5/passwd.5 +++ /dev/null @@ -1,179 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dateiformate und -konvertierung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "PASSWD" "5" "18.09.2016" "shadow\-utils 4\&.4" "Dateiformate und \-konvertieru" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -passwd \- die Passwortdatei -.SH "BESCHREIBUNG" -.PP -/etc/passwd -enth\(:alt einen Eintrag pro Benutzerkonto, wobei jeder Eintrag sieben Felder besitzt, die durch Doppelpunkt (\(Bq:\(lq) getrennt sind\&. Diese Felder sind: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Anmeldename -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -optional verschl\(:usseltes Passwort -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerische Benutzer\-ID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerische Gruppen\-ID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Benutzername oder Kommentarfeld -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Home\-Verzeichnis des Benutzers -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -optional Befehlsinterpreter des Benutzers -.RE -.PP -Das Feld f\(:ur das verschl\(:usselte Passwort kann leer sein\&. In diesem Fall wird kein Passwort ben\(:otigt, um sich beim System anzumelden\&. Allerdings werden einige Anwendung, die -/etc/passwd -auswerten, -\fIkeinen\fR -Zugriff erlauben, wenn das -\fIPasswort\fR\-Feld leer ist\&. Wenn das -\fIPasswort\fR\-Feld ein kleines -\(Bqx\(lq -enth\(:alt, ist das Passwort in der Datei -\fBshadow\fR(5) -gespeichert\&. Es -\fImuss\fR -sich dann ein passender Eintrag in -/etc/shadow -befinden, oder das Benutzerkonto ist ung\(:ultig\&. Wenn das -\fIPasswort\fR\-Feld eine andere Zeichenkette enth\(:alt, wird diese als ein verschl\(:usseltes Passwort behandelt\&. Genaueres dazu befindet sich unter -\fBcrypt\fR(3)\&. -.PP -Das Kommentarfeld wird von verschiedenen Systemprogrammen wie z\&.B\&. -\fBfinger\fR(1) -ausgewertet\&. -.PP -Das Feld f\(:ur das Home\-Verzeichnis gibt den Namen f\(:ur das anf\(:angliche Arbeitsverzeichnis an\&. Das Programm -\fBlogin\fR -benutzt diese Information, um den Wert der Umgebungsvariable -\fB$HOME\fR -zu setzen\&. -.PP -Das Feld f\(:ur den Befehlsinterpreter enth\(:alt den Namen des Befehlssprachen\-Interpreters des Benutzers oder den Namen des Programms, das zuerst ausgef\(:uhrt werden soll\&. Das Programm -\fBlogin\fR -benutzt diese Information, um den Wert der Umgebungsvariable -\fB$SHELL\fR -zu setzen\&. Falls dieses Feld leer ist, wird ihm standardm\(:a\(ssig der Wert -/bin/sh -zugewiesen\&. -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -optionale Datei f\(:ur verschl\(:usseltes Passwort -.RE -.PP -/etc/passwd\- -.RS 4 -Sicherungskopie von /etc/passwd -.sp -Beachten Sie, dass diese Datei von Werkzeugen der Shadow\-Werkzeugsammlung verwendet wird, aber nicht von allen sonstigen Programmen zur Benutzer\- und Passwortverwaltung\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBcrypt\fR(3), -\fBgetent\fR(1), -\fBgetpwnam\fR(3), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBshadow\fR(5), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/de/man5/porttime.5 b/man/de/man5/porttime.5 deleted file mode 100644 index 4c9cec0f..00000000 --- a/man/de/man5/porttime.5 +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\" Title: porttime -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dateiformate und -konvertierung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "PORTTIME" "5" "18.09.2016" "shadow\-utils 4\&.4" "Dateiformate und \-konvertieru" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -porttime \- Datei f\(:ur zeitlich begrenzten Zugang zu Ports -.SH "BESCHREIBUNG" -.PP -\fIporttime\fR -enth\(:alt eine Liste von tty\-Ger\(:aten, Benutzernamen und zul\(:assigen Anmeldezeiten\&. -.PP -Jeder Eintrag besteht aus drei Feldern, die durch Doppelpunkte getrennt sind\&. Das erste Feld enth\(:alt eine Liste von tty\-Ger\(:aten, die durch Kommata getrennt sind, oder einen Stern, was bedeutet, dass dieser Eintrag auf alle tty\-Ger\(:ate zutrifft\&. Das zweite Feld enth\(:alt eine Liste von Benutzernamen, die durch Kommata getrennt sind, oder einen Stern, was bedeutet, dass dieser Eintrag auf alle Benutzernamen zutrifft\&. Das dritte Feld ist eine Liste von Anmeldezeiten, die durch Kommata getrennt sind\&. -.PP -Jeder Zeiteintrag kann aus einem oder mehreren Wochentagen bestehen, die mit -\fISu\fR, -\fIMo\fR, -\fITu\fR, -\fIWe\fR, -\fITh\fR, -\fIFr\fR -und -\fISa\fR -abgek\(:urzt werden\&. Danach folgt die Angabe von zwei Uhrzeiten, die durch einen Bindestrich getrennt sind\&. Mit der Abk\(:urzung -\fIWk\fR -wird Montag bis Freitag bezeichnet\&. Mit -\fIAl\fR -wird jeder Tag gew\(:ahlt\&. Falls keine Tage angegeben werden, wird -\fIAl\fR -angenommen\&. -.SH "BEISPIELE" -.PP -Der folgende Eintrag erlaubt dem Benutzer -\fBjfh\fR -Zugriff auf jeden Port w\(:ahrend Werktagen von 9 bis 17 Uhr\&. -.PP -*:jfh:Wk0900\-1700 -.PP -Die folgenden Eintr\(:age erlauben nur den Benutzern -\fIroot\fR -und -\fIoper\fR -jederzeit Zugriff auf -/dev/console\&. Hier ist auch ersichtlich, dass -/etc/porttime -eine geordnete Liste der Zugriffszeiten ist\&. Jeder andere Benutzer f\(:allt unter den zweiten Eintrag, welcher Zugriff zu keiner Zeit erlaubt\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - console:root,oper:Al0000\-2400 - console:*: - -.fi -.if n \{\ -.RE -.\} -.PP -Der folgende Eintrag erlaubt dem Benutzer -\fIgames\fR -Zugriff auf jeden Port au\(sserhalb von Arbeitszeiten\&. -.PP -*:games:Wk1700\-0900,SaSu0000\-2400 -.SH "DATEIEN" -.PP -/etc/porttime -.RS 4 -Datei, die den Port\-Zugriff enth\(:alt\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBlogin\fR(1)\&. diff --git a/man/de/man5/shadow.5 b/man/de/man5/shadow.5 deleted file mode 100644 index 09fb011f..00000000 --- a/man/de/man5/shadow.5 +++ /dev/null @@ -1,149 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dateiformate und -konvertierung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "SHADOW" "5" "18.09.2016" "shadow\-utils 4\&.4" "Dateiformate und \-konvertieru" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -shadow \- Shadow\-Passwortdatei -.SH "BESCHREIBUNG" -.PP -shadow -ist eine Datei, welche die Passwortinformationen f\(:ur die Konten des Systems und fakultativ Informationen zum Verfall der Passw\(:orter enth\(:alt\&. -.PP -Um die Sicherheit der Passw\(:orter zu gew\(:ahrleisten, darf diese Datei nicht f\(:ur normale Benutzer lesbar sein\&. -.PP -Jede Zeile dieser Datei enth\(:alt folgende neun Felder, die durch Doppelpunkt (\(Bq:\(lq) getrennt werden: -.PP -\fBAnmeldename\fR -.RS 4 -Dabei muss es sich um eine g\(:ultigen Kontonamen handeln, der auf dem System existiert\&. -.RE -.PP -\fBverschl\(:usseltes Passwort\fR -.RS 4 -Sie sollten in -\fBcrypt\fR(3) -nachsehen, wenn Sie mehr \(:uber die Bedeutung dieser Zeichenkette wissen wollen\&. -.sp -Wenn das Passwortfeld eine Zeichenkette enth\(:alt, die kein zul\(:assiges Ergebnis von -\fBcrypt\fR(3) -ist, z\&.B\&. ! oder *, kann sich der Benutzer nicht mit einem Unix\-Passwort anmelden; eine Anmeldung auf anderem Wege wird dadurch nicht verhindert\&. -.sp -Dieses Feld kann leer bleiben\&. In diesem Fall kann sich der angegebene Benutzer ohne Passwort anmelden\&. M\(:oglicherweise verweigern Anwendungen, welche die Datei -/etc/shadow -auswerten, dennoch den Zugang, wenn das Passwortfeld leer ist\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.RE -.PP -\fBDatum, an dem das Passwort das letzte Mal ge\(:andert wurde\fR -.RS 4 -Das Datum, als das Passwort das letzte Mal ge\(:andert wurde, wird als Anzahl der Tage seit dem 1\&. Januar 1970 ausgedr\(:uckt\&. -.sp -The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&. -.sp -Ein leeres Feld bedeutet, dass das Altern des Passworts abgeschaltet ist\&. -.RE -.PP -\fBMindestalter des Passworts\fR -.RS 4 -Das Mindestalter des Passworts ist die Anzahl von Tagen, die ein Benutzer warten muss, bevor er sein Passwort wieder \(:andern darf\&. -.sp -Eine leeres Feld oder der Wert 0 bedeuten, dass es kein Mindestalter eines Passworts gibt\&. -.RE -.PP -\fBH\(:ochstalter des Passworts\fR -.RS 4 -Das H\(:ochstalter des Passworts ist die Anzahl von Tagen, nach welcher der Benutzer sein Passwort \(:andern muss\&. -.sp -Auch nach Ablauf dieser Anzahl von Tagen bleibt das Passwort g\(:ultig\&. Der Benutzer wird bei der n\(:achsten Anmeldung aufgefordert, sein Passwort zu \(:andern\&. -.sp -Ein leeres Feld bedeutet, dass es kein H\(:ochstalter f\(:ur das Passwort, keine Vorwarnung und keine Dauer der Unt\(:atigkeit (siehe unten) gibt\&. -.sp -Wenn das H\(:ochstalter niedriger als das Mindestalter eines Passworts ist, kann ein Benutzer sein Passwort nicht \(:andern\&. -.RE -.PP -\fBPasswortvorwarndauer\fR -.RS 4 -Die Anzahl von Tagen, w\(:ahrend welcher der Benutzer vorgewarnt wird, bevor sein Passwort abl\(:auft (siehe das H\(:ochstalter des Passworts)\&. -.sp -Ein leeres Feld oder der Wert 0 bedeutet, dass es keine Vorwarnung gibt\&. -.RE -.PP -\fBDauer der fehlenden Verwendung des Passworts\fR -.RS 4 -Die Anzahl von Tagen, f\(:ur die ein Benutzer sein Passwort, nachdem es abgelaufen ist (vergleiche oben das H\(:ochstalter des Passworts), noch verwenden kann (und w\(:ahrend des n\(:achsten Logins \(:andern muss)\&. -.sp -Nachdem das Passwort abgelaufen ist und auch die Dauer der Unt\(:atigkeit verstrichen ist, kann sich der Benutzer mit seinem Passwort nicht mehr anmelden\&. Er muss sich dann an den Administrator wenden\&. -.sp -Ein leeres Feld bedeutet, dass es keine H\(:ochstdauer zwischen Ablauf des Passworts und erneuter Anmeldung des Benutzers gibt\&. -.RE -.PP -\fBDatum des Verfalls des Kontos\fR -.RS 4 -Das Datum, an dem das Konto verf\(:allt, wird als Anzahl der Tage seit dem 1\&. Januar 1970 ausgedr\(:uckt\&. -.sp -Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&. -.sp -Ein leeren Feld bedeutet, dass das Konto nicht verfallen wird\&. -.sp -Der Wert 0 sollte nicht verwendet werden, weil er sowohl bedeuten kann, dass das Konto nicht verf\(:allt als auch, dass das Konto bereits am 1\&. Januar 1970 verfallen ist\&. -.RE -.PP -\fBreserviertes Feld\fR -.RS 4 -Dieses Feld ist f\(:ur zuk\(:unftigen Gebrauch reserviert\&. -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow\- -.RS 4 -Sicherungskopie von /etc/shadow -.sp -Beachten Sie, dass diese Datei von Werkzeugen der Shadow\-Werkzeugsammlung verwendet wird, aber nicht von allen sonstigen Programmen zur Benutzer\- und Passwortverwaltung\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBchage\fR(1), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/de/man5/suauth.5 b/man/de/man5/suauth.5 deleted file mode 100644 index 098d296c..00000000 --- a/man/de/man5/suauth.5 +++ /dev/null @@ -1,145 +0,0 @@ -'\" t -.\" Title: suauth -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Dateiformate und -konvertierung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "SUAUTH" "5" "18.09.2016" "shadow\-utils 4\&.4" "Dateiformate und \-konvertieru" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -suauth \- ausf\(:uhrliche Kontrolldatei f\(:ur su -.SH "\(:UBERSICHT" -.HP \w'\fB/etc/suauth\fR\ 'u -\fB/etc/suauth\fR -.SH "BESCHREIBUNG" -.PP -Wenn der Befehl su aufgerufen wird, wird die Datei -/etc/suauth -ausgewertet\&. Dadurch kann das Verhalten des Befehls su ver\(:andert werden\&. Dies h\(:angt von Folgendem ab: -.sp -.if n \{\ -.RS 4 -.\} -.nf - 1) the user su is targeting - -.fi -.if n \{\ -.RE -.\} -.PP -2) dem Benutzer, der su ausf\(:uhrt (oder einer Gruppe, deren Mitglied er ist) -.PP -Die Datei ist folgenderma\(ssen aufgebaut, wobei Zeilen, die mit einem # beginnen, als Kommentare behandelt und daher ignoriert werden: -.sp -.if n \{\ -.RS 4 -.\} -.nf - Herkunfts\-ID:Ziel\-ID:AKTION - -.fi -.if n \{\ -.RE -.\} -.PP -Hierbei kann to\-id -\fIALL\fR, eine Aufz\(:ahlung von Benutzernamen, die durch ein \(Fc,\(Fo getrennt werden, oder -\fIALL EXCEPT\fR, die von einer Aufz\(:ahlung von Benutzernamen gefolgt werden, die durch ein \(Fc,\(Fo getrennt werden, sein\&. -.PP -from\-id is formatted the same as to\-id except the extra word -\fIGROUP\fR -is recognized\&. -\fIALL EXCEPT GROUP\fR -is perfectly valid too\&. Following -\fIGROUP\fR -appears one or more group names, delimited by ","\&. It is not sufficient to have primary group id of the relevant group, an entry in -\fB/etc/group\fR(5) -is necessary\&. -.PP -Als Aktion k\(:onnen nur die folgenden Optionen angegeben werden\&. -.PP -\fIDENY\fR -.RS 4 -Der Versuch, su auszuf\(:uhren, wird abgebrochen, ehe nach einem Passwort gefragt wird\&. -.RE -.PP -\fINOPASS\fR -.RS 4 -Der Versuch, su auszuf\(:uhren, hat automatisch Erfolg\&. Ein Passwort wird nicht abgefragt\&. -.RE -.PP -\fIOWNPASS\fR -.RS 4 -Damit der Befehl su Erfolg hat, muss der Benutzer sein eigenes Passwort eingeben\&. Darauf wird er hingewiesen\&. -.RE -.PP -Beachten Sie, dass es sich um drei selbst\(:andige Felder handelt, die durch einen Doppelpunkt getrennt sind\&. Neben den Doppelpunkten darf sich kein Leerzeichen befinden\&. Beachten Sie zudem, dass die Datei von oben nach unten Zeile f\(:ur Zeile durchgegangen wird\&. Die erste Regel, die zutreffend ist, wird angewendet, ohne dass die Datei weiter ausgewertet wird\&. Damit kann ein Systemadministrator eine strenge Kontrolle aus\(:uben\&. -.SH "BEISPIEL" -.sp -.if n \{\ -.RS 4 -.\} -.nf - # /etc/suauth\-Beispielsdatei - # - # Einige besondere Benutzer d\(:urfen su - # auf Root mit ihrem eigenen Passwort ausf\(:uhren\&. - # - root:chris,birddog:OWNPASS - # - # Alle anderen Benutzer d\(:urfen nicht su auf Root - # ausf\(:uhren, falls sie nicht in der Gruppe wheel - # sind\&. Dies wird bei BSD so gehandhabt\&. - # - root:ALL EXCEPT GROUP wheel:DENY - # - # Die Konten terry und birddog geh\(:oren derselben - # Person\&. Sie k\(:onnen ohne Passwort aufeinander - # zugreifen\&. - # - terry:birddog:NOPASS - birddog:terry:NOPASS - # - -.fi -.if n \{\ -.RE -.\} -.SH "DATEIEN" -.PP -/etc/suauth -.RS 4 -.RE -.SH "FEHLER" -.PP -Es gibt zahlreiche Fehlerquellen\&. Die Auswertung der Datei ist sehr empfindlich bei Syntaxfehlern, zus\(:atzlichen Leerzeichen (au\(sser am Anfang und Schluss einer Zeile) und dem besonderen Zeichen, das die verschiedenen Felder von einander trennt\&. -.SH "DIAGNOSE" -.PP -Fehler beim Auswerten der Datei werden an -\fBsyslogd\fR(8) -mit der Stufe ERR an das Ger\(:at AUTH gemeldet\&. -.SH "SIEHE AUCH" -.PP -\fBsu\fR(1)\&. diff --git a/man/de/man8/chgpasswd.8 b/man/de/man8/chgpasswd.8 deleted file mode 100644 index b373d1b2..00000000 --- a/man/de/man8/chgpasswd.8 +++ /dev/null @@ -1,208 +0,0 @@ -'\" t -.\" Title: chgpasswd -.\" Author: Thomas K\(/loczko -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "CHGPASSWD" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -chgpasswd \- aktualisiert Gruppenpassw\(:orter im Batch\-Modus -.SH "\(:UBERSICHT" -.HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fIOptionen\fR] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBchgpasswd\fR -liest eine Liste von Gruppenname\-Passwort\-Paaren von der Standardeingabe\&. Damit werden Gruppendaten aktualisiert\&. Jede Zeile muss folgendes Format haben: -.PP -\fIGruppenname\fR:\fIPasswort\fR -.PP -Das Passwort wird standardm\(:a\(ssig im Klartext angegeben\&. Die Standardalgorithmus zur Verschl\(:usselung ist DES\&. -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -variable of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -Dieser Befehl ist f\(:ur den Einsatz in gro\(ssen Umgebungen vorgesehen, in der viele Konten gleichzeitig erstellt werden m\(:ussen\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBchgpasswd\fR -unterst\(:utzt werden, sind: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -Definiert die Methode, mit der die Passw\(:orter verschl\(:usselt werden\&. -.sp -Die verf\(:ugbaren Methoden sind DES, MD5, NONE und SHA256 oder SHA512, soweit Ihre libc sie unterst\(:utzt\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -Passw\(:orter werden verschl\(:usselt angegeben\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -werwendet zur Verschl\(:usselung MD5 anstelle von DES, wenn die Passw\(:orter unverschl\(:usselt angegeben werden -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -Verwendet die angegebene Anzahl von Runden, um die Passw\(:orter zu verschl\(:usseln\&. -.sp -Ein Wert von 0 bedeutet, dass das System die Standardanzahl der Runden (5000) f\(:ur die Verschl\(:usselung verwenden wird\&. -.sp -Der Mindestwert ist 1000, der H\(:ochstwert 999\&.999\&.999\&. -.sp -Sie k\(:onnen diese Option nur mit den Verschl\(:usselungsmethoden SHA256 und SHA512 verwenden\&. -.sp -Standardm\(:a\(ssig wird die Anzahl der Runden mit den Variablen SHA_CRYPT_MIN_ROUNDS und SHA_CRYPT_MAX_ROUNDS in -/etc/login\&.defs -definiert\&. -.RE -.SH "WARNUNGEN" -.PP -Achten Sie darauf, dass die Rechte und Umask korrekt vergeben sind, um zu verhindern, dass andere Benutzer unverschl\(:usselte Dateien lesen k\(:onnen\&. -.PP -Sie sollten darauf achten, dass Passw\(:orter und Verschl\(:usselungsmethode in Einklage mit der Passwortrichtlinie des Systems stehen\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBENCRYPT_METHOD\fR (Zeichenkette) -.RS 4 -Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Passw\(:orter verschl\(:usselt werden, bestimmt (soweit nicht in der Befehlszeile ein Algorithmus angegeben wird)\&. -.sp -Ihm kann einer der folgenden Wert zugewiesen werden: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Hinweis: Dieser Parameter \(:uberschreibt die Variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolesch) -.RS 4 -Legt fest, ob Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt werden\&. Falls diesem Wert -\fIyes\fR -zugewiesen ist, werden neue Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt, der zu dem in der aktuellen Ver\(:offentlichung von FreeBSD eingesetzten Algorithmus kompatibel ist\&. Passw\(:orter k\(:onnen dann beliebig lang sein, auch die Salt\-Zeichenketten sind l\(:anger\&. Setzen Sie diesen Wert auf -\fIno\fR, wenn Sie verschl\(:usselte Passw\(:orter auf ein anderes System kopieren m\(:ochten, das den neuen Algorithmus nicht versteht\&. Der Standardwert ist -\fIno\fR\&. -.sp -Dieser Variable geht die Variable -\fBENCRYPT_METHOD\fR -und eine Option auf der Befehlszeile, mit der der Verschl\(:usselungsalgorithmus bestimmt wird, vor\&. -.sp -Der Einsatz dieser Variable ist veraltet\&. Sie sollten -\fBENCRYPT_METHOD\fR -verwenden\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (Zahl), \fBSHA_CRYPT_MAX_ROUNDS\fR (Zahl) -.RS 4 -Wenn -\fBENCRYPT_METHOD\fR -auf -\fISHA256\fR -oder -\fISHA512\fR -gesetzt ist, legt dies die Anzahl der Runden von SHA fest, die standardm\(:a\(ssig vom Verschl\(:usselungsalgorithmus verwendet werden (falls die Anzahl der Runden nicht auf der Befehlszeile angegeben wird)\&. -.sp -Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&. -.sp -Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&. -.sp -Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&. -.sp -Falls nur der Wert f\(:ur -\fBSHA_CRYPT_MIN_ROUNDS\fR -oder -\fBSHA_CRYPT_MAX_ROUNDS\fR -festgelegt wird, wird dieser Wert verwendet\&. -.sp -Falls -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, wird der h\(:ohere Wert verwendet\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.SH "SIEHE AUCH" -.PP -\fBgpasswd\fR(1), -\fBgroupadd\fR(8), -\fBlogin.defs\fR(5)\&. diff --git a/man/de/man8/chpasswd.8 b/man/de/man8/chpasswd.8 deleted file mode 100644 index da1fa85a..00000000 --- a/man/de/man8/chpasswd.8 +++ /dev/null @@ -1,214 +0,0 @@ -'\" t -.\" Title: chpasswd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "CHPASSWD" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -chpasswd \- aktualisiert Passw\(:orter im Batch\-Modus -.SH "\(:UBERSICHT" -.HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fIOptionen\fR] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBchpasswd\fR -liest eine Liste von Benutzername\-Passwort\-Paaren von der Standardeingabe\&. Damit werden Benutzerdaten aktualisiert\&. Jede Zeile muss folgendes Format haben: -.PP -\fIBenutzername\fR:\fIPasswort\fR -.PP -Das Passwort muss standardm\(:a\(ssig im Klartext angegeben werden und von -\fBchpasswd\fR -verschl\(:usselt\&. Soweit vorhanden, wird auch das Alter des Passworts aktualisiert\&. -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -or -\fBMD5_CRYPT_ENAB\fR -variables of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -\fBchpasswd\fR -first updates all the passwords in memory, and then commits all the changes to disk if no errors occurred for any user\&. -.PP -Dieser Befehl ist f\(:ur den Einsatz in gro\(ssen Umgebungen vorgesehen, in der viele Konten gleichzeitig erstellt werden m\(:ussen\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBchpasswd\fR -unterst\(:utzt werden, sind: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR\ \&\fIMETHODE\fR -.RS 4 -Definiert die Methode, mit der die Passw\(:orter verschl\(:usselt werden\&. -.sp -Die verf\(:ugbaren Methoden sind DES, MD5, NONE und SHA256 oder SHA512, soweit Ihre libc sie unterst\(:utzt\&. -.sp -Standardm\(:a\(ssig (wenn keine der Optionen -\fB\-c\fR, -\fB\-m\fR -oder -\fB\-e\fR -angegeben wird) wird die Verschl\(:usselungsmethode durch die Variablen -\fBENCRYPT_METHOD\fR -oder -\fBMD5_CRYPT_ENAB\fR -in -/etc/login\&.defs -bestimmt\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -Passw\(:orter werden verschl\(:usselt angegeben\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -werwendet zur Verschl\(:usselung MD5 anstelle von DES, wenn die Passw\(:orter unverschl\(:usselt angegeben werden -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIRUNDEN\fR -.RS 4 -Verwendet die angegebene Anzahl von Runden, um die Passw\(:orter zu verschl\(:usseln\&. -.sp -Ein Wert von 0 bedeutet, dass das System die Standardanzahl der Runden (5000) f\(:ur die Verschl\(:usselung verwenden wird\&. -.sp -Der Mindestwert ist 1000, der H\(:ochstwert 999\&.999\&.999\&. -.sp -Sie k\(:onnen diese Option nur mit den Verschl\(:usselungsmethoden SHA256 und SHA512 verwenden\&. -.sp -Standardm\(:a\(ssig wird die Anzahl der Runden von den Variablen -\fBSHA_CRYPT_MIN_ROUNDS\fR -und -\fBSHA_CRYPT_MAX_ROUNDS\fR -/etc/login\&.defs -bestimmt\&. -.RE -.SH "WARNUNGEN" -.PP -Achten Sie darauf, dass die Rechte und Umask korrekt vergeben sind, um zu verhindern, dass andere Benutzer unverschl\(:usselte Dateien lesen k\(:onnen\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBENCRYPT_METHOD\fR (Zeichenkette) -.RS 4 -Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Passw\(:orter verschl\(:usselt werden, bestimmt (soweit nicht in der Befehlszeile ein Algorithmus angegeben wird)\&. -.sp -Ihm kann einer der folgenden Wert zugewiesen werden: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Hinweis: Dieser Parameter \(:uberschreibt die Variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolesch) -.RS 4 -Legt fest, ob Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt werden\&. Falls diesem Wert -\fIyes\fR -zugewiesen ist, werden neue Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt, der zu dem in der aktuellen Ver\(:offentlichung von FreeBSD eingesetzten Algorithmus kompatibel ist\&. Passw\(:orter k\(:onnen dann beliebig lang sein, auch die Salt\-Zeichenketten sind l\(:anger\&. Setzen Sie diesen Wert auf -\fIno\fR, wenn Sie verschl\(:usselte Passw\(:orter auf ein anderes System kopieren m\(:ochten, das den neuen Algorithmus nicht versteht\&. Der Standardwert ist -\fIno\fR\&. -.sp -Dieser Variable geht die Variable -\fBENCRYPT_METHOD\fR -und eine Option auf der Befehlszeile, mit der der Verschl\(:usselungsalgorithmus bestimmt wird, vor\&. -.sp -Der Einsatz dieser Variable ist veraltet\&. Sie sollten -\fBENCRYPT_METHOD\fR -verwenden\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (Zahl), \fBSHA_CRYPT_MAX_ROUNDS\fR (Zahl) -.RS 4 -Wenn -\fBENCRYPT_METHOD\fR -auf -\fISHA256\fR -oder -\fISHA512\fR -gesetzt ist, legt dies die Anzahl der Runden von SHA fest, die standardm\(:a\(ssig vom Verschl\(:usselungsalgorithmus verwendet werden (falls die Anzahl der Runden nicht auf der Befehlszeile angegeben wird)\&. -.sp -Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&. -.sp -Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&. -.sp -Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&. -.sp -Falls nur der Wert f\(:ur -\fBSHA_CRYPT_MIN_ROUNDS\fR -oder -\fBSHA_CRYPT_MAX_ROUNDS\fR -festgelegt wird, wird dieser Wert verwendet\&. -.sp -Falls -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, wird der h\(:ohere Wert verwendet\&. -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.SH "SIEHE AUCH" -.PP -\fBpasswd\fR(1), -\fBnewusers\fR(8), -\fBlogin.defs\fR(5),\fBuseradd\fR(8)\&. diff --git a/man/de/man8/faillog.8 b/man/de/man8/faillog.8 deleted file mode 100644 index 27f76cc0..00000000 --- a/man/de/man8/faillog.8 +++ /dev/null @@ -1,167 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "FAILLOG" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -faillog \- zeigt Aufzeichnungen der fehlgeschlagenen Anmeldungen an oder richtet Beschr\(:ankungen f\(:ur fehlgeschlagene Anmeldungen ein -.SH "\(:UBERSICHT" -.HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIOptionen\fR] -.SH "BESCHREIBUNG" -.PP -\fBfaillog\fR -zeigt den Inhalt der Datenbank der fehlgeschlagenen Anmeldungen (/var/log/faillog) an\&. Es kann auch die Z\(:ahlung und Beschr\(:ankung der Fehlversuche verwalten\&. Wenn -\fBfaillog\fR -ohne Optionen ausgef\(:uhrt wird, wird nur die Liste der fehlgeschlagenen Anmeldungen aller Benutzer angezeigt, deren Anmeldung jemals gescheitert ist\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBfaillog\fR -unterst\(:utzt werden, sind: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -zeigt (oder bearbeitet) die faillog\-Eintr\(:age aller Benutzer, die einen Eintrag in der Datenbank -faillog -haben -.sp -Die Spanne der Benutzer kann mit der Option -\fB\-u\fR -eingegrenzt werden\&. -.sp -Im Anzeigemodus ist dies auf vorhandene Benutzer beschr\(:ankt, erzwingt aber die Anzeige der Faillog\-Eintr\(:age, auch wenn diese leer sind\&. -.sp -Mit den Optionen -\fB\-l\fR, -\fB\-m\fR, -\fB\-r\fR -und -\fB\-t\fR -werden die Benutzereintr\(:age selbst dann ge\(:andert, wenn der Benutzer auf dem System nicht vorhanden ist\&. Dies kann sinnvoll sein, wenn die Eintr\(:age von gel\(:oschten Benutzer zur\(:uckgesetzt werden sollen oder vorsorglich eine Richtlinie f\(:ur eine Anzahl von Benutzern eingerichtet werden soll\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fISEK\fR -.RS 4 -sperrt nach einer fehlgeschlagenen Anmeldung das Konto f\(:ur -\fISEK\fR -Sekunden -.sp -F\(:ur diese Option muss ein Schreibzugriff auf -/var/log/faillog -bestehen\&. -.RE -.PP -\fB\-m\fR, \fB\-\-maximum\fR\ \&\fIMAX\fR -.RS 4 -setzt den Z\(:ahler der fehlgeschlagene Anmeldungen, nach denen das Konto abgeschaltet wird, auf -\fIMAX\fR -.sp -Wenn -\fIMAX\fR -den Wert 0 hat, besteht keine Beschr\(:ankung f\(:ur die Anzahl fehlgeschlagener Anmeldeversuche\&. -.sp -F\(:ur -\fIroot\fR -sollte der Wert der maximalen Anmeldeversuche immer 0 betragen, um eine durch einen Angriff ausgel\(:oste Dienstverweigerung (denial of service) zu verhindern\&. -.sp -F\(:ur diese Option muss ein Schreibzugriff auf -/var/log/faillog -bestehen\&. -.RE -.PP -\fB\-r\fR, \fB\-\-reset\fR -.RS 4 -setzt die Z\(:ahlerst\(:ande der fehlgeschlagenen Anmeldeversuche zur\(:uck -.sp -F\(:ur diese Option muss ein Schreibzugriff auf -/var/log/faillog -bestehen\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fITAGE\fR -.RS 4 -zeigt die Eintr\(:age der fehlgeschlagenen Anmeldungen an, die aktueller als -\fITAGE\fR -sind -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIMENGE\fR -.RS 4 -zeigt die Aufzeichnungen der fehlgeschlagenen Anmeldungen nur der angegebenen Benutzer an oder bearbeitet (wenn mit den Optionen -\fB\-l\fR, -\fB\-m\fR -oder -\fB\-r\fR -verwendet) nur deren Z\(:ahlerst\(:ande und Beschr\(:ankungen -.sp -Die Bestimmung der Benutzer erfolgt durch ihren Anmeldenamen, ihrer zahlenm\(:a\(ssigen Benutzer\-ID oder einer -\fIMENGE\fR -von Benutzern\&. Diese -\fIMENGE\fR -kann mit Minimum\- und Maximumwerten (\fIUID_MIN\-UID_MAX\fR), nur mit einem Maximumwert (\fIUID_MIN\-UID_MAX\fR) oder nur einem Minimumwert (\fIUID_MIN\-\fR) bestimmt werden\&. -.RE -.PP -Wenn keine der Optionen -\fB\-l\fR, -\fB\-m\fR -oder -\fB\-r\fR -verwendet wird, zeigt -\fBfaillog\fR -die Aufzeichnung der fehlgeschlagenen Anmeldeversuche der angegebenen Benutzer an\&. -.SH "WARNUNGEN" -.PP -\fBfaillog\fR -zeigt nur die Benutzer an, die sich seit der letzten fehlgeschlagenen Anmeldung nicht erfolgreich anmelden konnten\&. Um die \(:ubrigen Benutzer anzuzeigen, m\(:ussen Sie diese explizit mit der Option -\fB\-u\fR -benennen oder sich alle Benutzer mit der Option -\fB\-a\fR -anzeigen lassen\&. -.SH "DATEIEN" -.PP -/var/log/faillog -.RS 4 -Datei mit fehlgeschlagenen Anmeldungen -.RE -.SH "SIEHE AUCH" -.PP -\fBlogin\fR(1), -\fBfaillog\fR(5)\&. diff --git a/man/de/man8/groupadd.8 b/man/de/man8/groupadd.8 deleted file mode 100644 index 1b0ad353..00000000 --- a/man/de/man8/groupadd.8 +++ /dev/null @@ -1,255 +0,0 @@ -'\" t -.\" Title: groupadd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "GROUPADD" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groupadd \- erstellt eine neue Gruppe -.SH "\(:UBERSICHT" -.HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIOptionen\fR] \fIGruppe\fR -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBgroupadd\fR -erstellt ein neues Gruppenkonto\&. Dabei verwendet er die Werte, die auf der Befehlszeile angegeben wurden, oder die Standardwerte des Systems\&. Soweit es notwendig ist, wird die neue Gruppe den Systemdateien hinzugef\(:ugt\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBgroupadd\fR -unterst\(:utzt werden, sind: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Die Option f\(:uhrt dazu, dass der Befehl nur dann erfolgreich beendet wird, wenn die angegebene Gruppe existiert\&. Falls diese Option zusammen mit der Option -\fB\-g\fR -verwendet wird und die angegebene GID schon vergeben ist, wird eine andere, eindeutige GID gew\(:ahlt (d\&.h\&. -\fB\-g\fR -wird nicht beachtet)\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -Der zahlenm\(:a\(ssige Wert der Gruppen\-ID\&. Dieser Wert muss eindeutig sein, sofern nicht die Option -\fB\-o\fR -verwendet wird\&. Der Wert darf nicht negativ sein\&. Standardm\(:a\(ssig wird der kleinste Wert gr\(:o\(sser als oder gleich -\fBGID_MIN\fR -und gr\(:o\(sser als jeder andere Wert einer Gruppe verwendet\&. -.sp -Vergleichen Sie auch die Option -\fB\-r\fR -und die Ausf\(:uhrungen zu -\fBGID_MAX\fR\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fISCHL\(:USSEL\fR=\fIWERT\fR -.RS 4 -\(:Uberschreibt die Standardwerte von -/etc/login\&.defs -(GID_MIN, GID_MAX und weitere)\&. Diese Option kann mehrfach verwendet werden\&. -.sp -Beispiel: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI100\fR\ \&\fB\-K\fR\ \&\fIGID_MAX\fR=\fI499\fR -.sp -Hinweis: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR -funktioniert noch nicht\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Diese Option erlaubt es, eine Gruppe mit einer nicht eindeutigen GID zu erstellen\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORT\fR -.RS 4 -Das verschl\(:usselte Passwort, wie es von -\fBcrypt\fR(3) -zur\(:uckgegeben wird\&. Standardm\(:a\(ssig ist das Passwort deaktiviert\&. -.sp -\fBHinweis:\fR -Diese Option ist nicht empfehlenswert, weil das Passwort (auch wenn es verschl\(:usselt ist) f\(:ur Benutzer sichtbar ist, die sich den Prozess anzeigen lassen\&. -.sp -Sie sollten sicherstellen, dass das Passwort den Passwortrichtlinien des Systems entspricht\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -erstellt eine neue Systemgruppe -.sp -Die zahlenm\(:a\(ssige Kennung einer neuen Systemgruppe wird aus der Spanne von -\fBSYS_GID_MIN\fR -bis -\fBSYS_GID_MAX\fR -gew\(:ahlt, welche in -login\&.defs -festgelegt wird, anstelle von -\fBGID_MIN\fR -bis -\fBGID_MAX\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBGID_MAX\fR (Zahl), \fBGID_MIN\fR (Zahl) -.RS 4 -der Bereich von Gruppen\-IDs, aus dem die Programme -\fBuseradd\fR, -\fBgroupadd\fR -oder -\fBnewusers\fR -bei der Erstellung normaler Gruppen ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBGID_MIN\fR -ist 1000, f\(:ur -\fBGID_MAX\fR -60\&.000\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.PP -\fBSYS_GID_MAX\fR (Zahl), \fBSYS_GID_MIN\fR (Zahl) -.RS 4 -der Bereich von Gruppen\-IDs, aus dem die Programme -\fBuseradd\fR, -\fBgroupadd\fR -oder -\fBnewusers\fR -bei der Erstellung von Systemgruppen ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBSYS_GID_MIN\fR -ist 101, f\(:ur -\fBSYS_GID_MAX\fR -\fBGID_MIN\fR\-1\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.SH "WARNUNGEN" -.PP -Gruppennamen m\(:ussen mit einem Kleinbuchstaben oder einem Unterstrich beginnen\&. Nachfolgend d\(:urfen sie Kleinbuchstaben, Zahlen, Unterstriche und Gedankenstriche enthalten\&. Das letzte Zeichen darf auch ein Dollarzeichen sein\&. Als regul\(:arer Ausdruck: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -Gruppennamen d\(:urfen nur bis zu 16 Zeichen lang sein\&. -.PP -Sie k\(:onnen einen Benutzer nicht einer NIS\- oder LDAP\-Gruppe hinzuf\(:ugen\&. Dies m\(:ussen Sie auf dem entsprechenden Server durchf\(:uhren\&. -.PP -Falls der Gruppenname bereits in einer externen Datenbank (wie etwa NIS oder LDAP) vergeben ist, wird -\fBgroupadd\fR -die Gruppe nicht erstellen\&. -.SH "R\(:UCKGABEWERTE" -.PP -Der Befehl -\fBgroupadd\fR -gibt beim Beenden folgende Werte zur\(:uck: -.PP -\fI0\fR -.RS 4 -Erfolg -.RE -.PP -\fI2\fR -.RS 4 -unzul\(:assige Syntax f\(:ur diesen Befehl -.RE -.PP -\fI3\fR -.RS 4 -ung\(:ultiges Argument f\(:ur Option -.RE -.PP -\fI4\fR -.RS 4 -GID nicht eindeutig (wenn -\fB\-o\fR -nicht angegeben wird) -.RE -.PP -\fI9\fR -.RS 4 -Gruppenname nicht eindeutig -.RE -.PP -\fI10\fR -.RS 4 -Die Gruppendatei kann nicht aktualisieren werden\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/de/man8/groupdel.8 b/man/de/man8/groupdel.8 deleted file mode 100644 index 3b1b93cd..00000000 --- a/man/de/man8/groupdel.8 +++ /dev/null @@ -1,136 +0,0 @@ -'\" t -.\" Title: groupdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "GROUPDEL" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groupdel \- l\(:oscht eine Gruppe -.SH "\(:UBERSICHT" -.HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIOptionen\fR] \fIGRUPPE\fR -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBgroupdel\fR -bearbeitet die Kontodateien des Systems und l\(:oscht darin alle Eintr\(:age, die auf die -\fIGruppe\fR -verweisen\&. Die bezeichnete Gruppe muss existieren\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBgroupdel\fR -unterst\(:utzt werden, sind: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.SH "WARNUNGEN" -.PP -Sie k\(:onnen nicht die Hauptgruppe eines Benutzers entfernen\&. Dazu m\(:ussten Sie zun\(:achst den betreffenden Benutzer l\(:oschen\&. -.PP -Sie sollten von Hand alle Systemdateien \(:uberpr\(:ufen, um sicherzustellen, dass keine Dateien, die der gel\(:oschten Gruppe angeh\(:oren, vorhanden sind\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.SH "R\(:UCKGABEWERTE" -.PP -Der Befehl -\fBgroupdel\fR -gibt beim Beenden folgende Werte zur\(:uck: -.PP -\fI0\fR -.RS 4 -Erfolg -.RE -.PP -\fI2\fR -.RS 4 -unzul\(:assige Syntax f\(:ur diesen Befehl -.RE -.PP -\fI6\fR -.RS 4 -angegebene Gruppe ist nicht vorhanden -.RE -.PP -\fI8\fR -.RS 4 -Die Hauptgruppe eines Benutzers kann nicht entfernen werden\&. -.RE -.PP -\fI10\fR -.RS 4 -Die Gruppendatei kann nicht aktualisieren werden\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/de/man8/groupmems.8 b/man/de/man8/groupmems.8 deleted file mode 100644 index b92838fb..00000000 --- a/man/de/man8/groupmems.8 +++ /dev/null @@ -1,174 +0,0 @@ -'\" t -.\" Title: groupmems -.\" Author: George Kraft, IV -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "GROUPMEMS" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groupmems \- verwaltet die Mitglieder der Hauptgruppe eines Benutzers -.SH "\(:UBERSICHT" -.HP \w'\fBgroupmems\fR\ 'u -\fBgroupmems\fR \-a\ \fIBenutzer_Name\fR | \-d\ \fIBenutzer_Name\fR | [\-g\ \fIGruppen_Name\fR] | \-l | \-p -.SH "BESCHREIBUNG" -.PP -Mit dem Befehl -\fBgroupmems\fR -kann ein Benutzer die Mitgliederliste seiner eigenen Gruppe verwalten, ohne Root\-Rechte zu ben\(:otigen\&. Das Werkzeug -\fBgroupmems\fR -ist f\(:ur Systeme gedacht, auf denen die Hauptgruppe eines Benutzers den gleichen Namen hat wie der Benutzer (z\&.B\&. fritz/fritz)\&. -.PP -Nur Root als Administrator kann mit -\fBgroupmems\fR -die Mitgliederlisten anderer Gruppen bearbeiten\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBgroupmems\fR -unterst\(:utzt werden, sind: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIBenutzer_Name\fR -.RS 4 -Add a user to the group membership list\&. -.sp -Wenn die Datei -/etc/gshadow -vorhanden ist, die Gruppe darin aber keinen Eintrag hat, wird ein solcher erstellt\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIBenutzer_Name\fR -.RS 4 -L\(:oscht einen Benutzer aus der Mitgliederliste der Gruppe\&. -.sp -Wenn -/etc/gshadow -vorhanden ist, wird der Benutzer aus der Liste der Mitglieder und Gruppenverwalter entfernt\&. -.sp -Wenn die Datei -/etc/gshadow -vorhanden ist, die Gruppe darin aber keinen Eintrag hat, wird ein solcher erstellt\&. -.RE -.PP -\fB\-g\fR, \fB\-\-group\fR\ \&\fIGruppen_Name\fR -.RS 4 -Root kann eine Gruppen bestimmen, deren Mitgliederliste er bearbeiten will\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -gibt die Mitgliederliste aus -.RE -.PP -\fB\-p\fR, \fB\-\-purge\fR -.RS 4 -l\(:oscht alle Benutzer aus der Mitgliederliste der Gruppe -.sp -Wenn die Datei -/etc/gshadow -vorhanden ist, die Gruppe darin aber keinen Eintrag hat, wird ein solcher erstellt\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.SH "EINRICHTUNG" -.PP -Die ausf\(:uhrbare Datei -\fBgroupmems\fR -sollte die Rechte -2770 -haben und dem Benutzer -\fIroot\fR -und der Gruppe -\fIgroups\fR -geh\(:oren\&. Der Systemadministrator kann Benutzer der Gruppe -\fIgroups\fR -hinzuf\(:ugen, um ihnen zu erm\(:oglichen, mit -\fBgroupmems\fR -die Mitgliederliste ihrer eigenen Gruppe zu verwalten\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - $ groupadd \-r groups - $ chmod 2770 groupmems - $ chown root\&.groups groupmems - $ groupmems \-g groups \-a gk4 - -.fi -.if n \{\ -.RE -.\} -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -verschl\(:usselte Informationen zu den Gruppenkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/de/man8/groupmod.8 b/man/de/man8/groupmod.8 deleted file mode 100644 index ca0c9182..00000000 --- a/man/de/man8/groupmod.8 +++ /dev/null @@ -1,211 +0,0 @@ -'\" t -.\" Title: groupmod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "GROUPMOD" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groupmod \- \(:andert die Eigenschaften einer Gruppe auf dem System -.SH "\(:UBERSICHT" -.HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIOptionen\fR] \fIGRUPPE\fR -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBgroupmod\fR -\(:andert die Eigenschaften der angegebenen -\fIGRUPPE\fR, indem die passenden Eintr\(:age in der Gruppendatenbank ge\(:andert werden\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBgroupmod\fR -unterst\(:utzt werden, sind: -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -Die Gruppen\-ID der angegebenen -\fIGRUPPE\fR -wird zu -\fIGID\fR -ge\(:andert\&. -.sp -Der Wert von -\fIGID\fR -muss eine nicht negative, dezimale Zahl sein\&. Er muss eindeutig sein, au\(sser wenn die Option -\fB\-o\fR -verwendet wird\&. -.sp -Benutzer, welche die Gruppe als Hauptgruppe verwenden, werden aktualisiert, um die Gruppe als Hauptgruppe zu behalten\&. -.sp -Bei Dateien, welche die alte Gruppen\-ID haben und weiterhin der Gruppe -\fIGROUP\fR -geh\(:oren sollen, muss die Gruppen\-ID per Hand angepasst werden\&. -.sp -Die Werte von -\fBGID_MIN\fR, -\fBGID_MAX\fR, -\fBSYS_GID_MIN\fR -und -\fBSYS_GID_MAX\fR -aus -/etc/login\&.defs -werden nicht gepr\(:uft\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-n\fR, \fB\-\-new\-name\fR\ \&\fINEUE_GRUPPE\fR -.RS 4 -Der Gruppenname wird vom Namen -\fIGRUPPE\fR -zu -\fINEUE_GRUPPE\fR -ge\(:andert\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Wenn sie mit der Option -\fB\-g\fR -verwendet wird, kann mit ihr der Wert der Gruppen\-\fIGID\fR -auf einen nicht eindeutigen Wert gesetzt werden\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORT\fR -.RS 4 -das verschl\(:usselte Passwort, wie es von -\fBcrypt\fR(3) -zur\(:uckgegeben wird -.sp -\fBHinweis:\fR -Diese Option ist nicht empfehlenswert, weil das Passwort (auch wenn es verschl\(:usselt ist) f\(:ur Benutzer sichtbar ist, die sich den Prozess anzeigen lassen\&. -.sp -Sie sollten sicherstellen, dass das Passwort den Passwortrichtlinien des Systems entspricht\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.SH "R\(:UCKGABEWERTE" -.PP -Der Befehl -\fBgroupmod\fR -gibt beim Beenden folgende Werte zur\(:uck: -.PP -\fI0\fR -.RS 4 -Erfolg -.RE -.PP -\fI2\fR -.RS 4 -unzul\(:assige Syntax f\(:ur diesen Befehl -.RE -.PP -\fI3\fR -.RS 4 -ung\(:ultiges Argument f\(:ur Option -.RE -.PP -\fI4\fR -.RS 4 -angegebene Gruppe ist nicht vorhanden -.RE -.PP -\fI6\fR -.RS 4 -angegebene Gruppe ist nicht vorhanden -.RE -.PP -\fI9\fR -.RS 4 -Gruppenname wird schon verwendet -.RE -.PP -\fI10\fR -.RS 4 -Die Gruppendatei kann nicht aktualisieren werden\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/de/man8/grpck.8 b/man/de/man8/grpck.8 deleted file mode 100644 index 1cc60472..00000000 --- a/man/de/man8/grpck.8 +++ /dev/null @@ -1,240 +0,0 @@ -'\" t -.\" Title: grpck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "GRPCK" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -grpck \- \(:uberpr\(:uft die Stimmigkeit der Gruppendateien -.SH "\(:UBERSICHT" -.HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [Optionen] [\fIGruppe\fR\ [\ \fIshadow\fR\ ]] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBgrpwck\fR -\(:uberpr\(:uft die Stimmigkeit der Informationen \(:uber die Gruppen\&. Alle Eintr\(:age in -/etc/groupund /etc/gshadow -werden darauf \(:uberpr\(:uft, ob sie das richtige Format haben und g\(:ultige Daten enthalten\&. Bei einem Eintrag, der falsch formatiert ist oder andere unbehebbare Fehler enth\(:alt, wird der Benutzer aufgefordert, ihn zu l\(:oschen\&. -.PP -Es wird \(:uberpr\(:uft, ob jeder Eintrag folgende Eigenschaften aufweist: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -die richtige Anzahl von Feldern -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -einen eindeutigen und g\(:ultigen Gruppennamen -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -eine g\(:ultige Gruppenkennung -(nur f\(:ur /etc/group) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -eine g\(:ultige Liste der Mitglieder -und Gruppenverwalter -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -einen passenden Eintrag in der Datei -/etc/gshadow -(oder in -/etc/group -bei der \(:Uberpr\(:ufung von -gshadow) -.RE -.PP -Fehler bei der \(:Uberpr\(:ufung der richtigen Anzahl der Felder und des eindeutigen Benutzernamens sind schwerwiegend\&. Wenn ein Eintrag die falsche Anzahl von Feldern aufweist, wird der Benutzer aufgefordert, die gesamte Zeile zu l\(:oschen\&. Wenn er dies ablehnt, werden alle weiteren Tests ausgelassen\&. Bei einem Eintrag mit einem mehrfach verwendeten Benutzernamen wird der Benutzer aufgefordert, diesen Eintrag zu l\(:oschen\&. Sollte er dies ablehnen, werden dennoch die \(:ubrigen Tests ausgef\(:uhrt\&. Bei allen anderen Fehlern wird eine Warnung ausgegeben und der Benutzer aufgefordert, den Fehler mittels des Befehls -\fBgroupmod\fR -zu beheben\&. -.PP -Die Befehle, welche die -Dateien /etc/group und /etc/gshadow -bearbeiten, k\(:onnen falsche oder doppelte Eintr\(:age nicht ver\(:andern\&. In solchen F\(:allen sollte -\fBgrpwck\fR -verwendet werden, um die betreffenden Eintr\(:age zu entfernen\&. -.SH "OPTIONEN" -.PP -Die Optionen -\fB\-r\fR -und -\fB\-s\fR -k\(:onnen nicht zusammen verwendet werden\&. -.PP -Die Optionen, die vom Befehl -\fBgrpck\fR -unterst\(:utzt werden, sind: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -F\(:uhrt den Befehl -\fBgrpck\fR -im Modus Nur\-Lesen aus\&. Dies hat zur Folge, dass alle Fragen, ob Ver\(:anderungen vorgenommen werden sollen, mit -\fIno\fR -beantworteten werden, ohne dass der Benutzer einzugreifen braucht\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -Ordnet die Eintr\(:age in -/etc/groupund /etc/gshadow -nach der GID\&. -.RE -.PP -Standardm\(:a\(ssig arbeitet -\fBgrpck\fR -mit -/etc/groupund /etc/gshadow\&. Der Benutzer kann andere Dateien mit -den Parametern \fIgroup\fR und \fIshadow\fR -ausw\(:ahlen\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.SH "R\(:UCKGABEWERTE" -.PP -Der Befehl -\fBgrpck\fR -gibt beim Beenden folgende Werte zur\(:uck: -.PP -\fI0\fR -.RS 4 -Erfolg -.RE -.PP -\fI1\fR -.RS 4 -unzul\(:assige Syntax f\(:ur diesen Befehl -.RE -.PP -\fI2\fR -.RS 4 -ein oder mehrere fehlerhafte Gruppeneintr\(:age -.RE -.PP -\fI3\fR -.RS 4 -Die Gruppendateien k\(:onnen nicht ge\(:offnet werden\&. -.RE -.PP -\fI4\fR -.RS 4 -Die Gruppendateien k\(:onnen nicht gesperrt werden\&. -.RE -.PP -\fI5\fR -.RS 4 -Die Gruppendateien k\(:onnen nicht aktualisiert werden\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBgroup\fR(5), -\fBgroupmod\fR(8), -\fBgshadow\fR(5),\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBshadow\fR(5)\&. diff --git a/man/de/man8/grpconv.8 b/man/de/man8/grpconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/de/man8/grpconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/de/man8/grpunconv.8 b/man/de/man8/grpunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/de/man8/grpunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/de/man8/lastlog.8 b/man/de/man8/lastlog.8 deleted file mode 100644 index 6ff0131d..00000000 --- a/man/de/man8/lastlog.8 +++ /dev/null @@ -1,125 +0,0 @@ -'\" t -.\" Title: lastlog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "LASTLOG" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -lastlog \- berichtet die letzte Anmeldung f\(:ur alle oder einen bestimmten Benutzer -.SH "\(:UBERSICHT" -.HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIOptionen\fR] -.SH "BESCHREIBUNG" -.PP -\fBlastlog\fR -formatiert und gibt den Inhalt der Datei mit den letzten Anmeldungen, -/var/log/lastlog, aus\&. Der -\fIAnmeldename\fR, der -\fIPort\fR -und der -\fIZeitpunkt der letzten Anmeldung\fR -werden angezeigt\&. Standardm\(:a\(ssig (keine Optionen) werden die Lastlog\-Eintr\(:age in der Reihenfolge, wie sie sich in -/etc/passwd -befinden, ausgegeben\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBlastlog\fR -unterst\(:utzt werden, sind: -.PP -\fB\-b\fR, \fB\-\-before\fR\ \&\fITAGE\fR -.RS 4 -gibt nur Lastlog\-Eintr\(:age aus, die \(:alter als -\fITAGE\fR -sind -.RE -.PP -\fB\-C\fR, \fB\-\-clear\fR -.RS 4 -Clear lastlog record of a user\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-S\fR, \fB\-\-set\fR -.RS 4 -Set lastlog record of a user to the current time\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fITAGE\fR -.RS 4 -gibt nur Lastlog\-Eintr\(:age aus, die neuer als -\fITAGE\fR -sind -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIMENGE\fR -.RS 4 -gibt nur die Lastlog\-Eintr\(:age f\(:ur die angegebenen Benutzer aus -.sp -Die Bestimmung der Benutzer erfolgt durch ihren Anmeldenamen, ihrer zahlenm\(:a\(ssigen Benutzer\-ID oder einer -\fIMENGE\fR -von Benutzern\&. Diese -\fIMENGE\fR -kann mit Minimum\- und Maximumwerten (\fIUID_MIN\-UID_MAX\fR), nur mit einem Maximumwert (\fIUID_MIN\-UID_MAX\fR) oder nur einem Minimumwert (\fIUID_MIN\-\fR) bestimmt werden\&. -.RE -.PP -Wenn sich ein Benutzer noch nie angemeldet hat, wird die Meldung -\fI** Never logged in**\fR -anstatt von Port und Zeit angezeigt\&. -.PP -Es werden nur Eintr\(:age f\(:ur auf dem System vorhandene Benutzer angezeigt, selbst wenn Eintr\(:age \(:uber gel\(:oschte Benutzer noch vorhanden sind\&. -.SH "ANMERKUNGEN" -.PP -Bei der Datei -lastlog -handelt es sich um eine Datenbank, die Informationen zur letzten Anmeldung der Benutzer enth\(:alt\&. Sie sollten sie nicht austauschen\&. Es handelt sich um eine Sparse\-Datei, so dass die tats\(:achliche Gr\(:o\(sse auf dem Speichermedium gew\(:ohnlich viel kleiner ist als von \(Fc\fBls \-l\fR\(Fo angezeigt wird (was eine sehr gro\(sse Datei anzeigen kann, wenn sich Benutzer mit einer gro\(ssen UID in -passwd -befinden)\&. Die wirkliche Dateigr\(:o\(sse l\(:asst sich mit \(Fc\fBls \-s\fR\(Fo anzeigen\&. -.SH "DATEIEN" -.PP -/var/log/lastlog -.RS 4 -Datenbank mit Zeiten der letzten Anmeldung der Benutzer -.RE -.SH "WARNUNGEN" -.PP -Gro\(sse L\(:ucken in den UID\-Zahlen haben zur Folge, dass das Lastlog\-Programm l\(:angere Zeit ohne Bildschirmausgabe l\(:auft\&. Wenn sich z\&.B\&. in der Datenbank von Lastlog kein Eintrag f\(:ur Benutzer mit der UID zwischen 170 und 800 befindet, wird es scheinen, als ob lastlog stehen geblieben ist, w\(:ahrend es die Eintr\(:age mit der UID 171 bis 799 verarbeitet\&. diff --git a/man/de/man8/logoutd.8 b/man/de/man8/logoutd.8 deleted file mode 100644 index 14eeeb95..00000000 --- a/man/de/man8/logoutd.8 +++ /dev/null @@ -1,59 +0,0 @@ -'\" t -.\" Title: logoutd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "LOGOUTD" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -logoutd \- richtet Beschr\(:ankung von Anmeldezeiten ein -.SH "\(:UBERSICHT" -.HP \w'\fBlogoutd\fR\ 'u -\fBlogoutd\fR -.SH "BESCHREIBUNG" -.PP -\fBlogoutd\fR -setzt die Anmeldezeiten und Portbeschr\(:ankungen aus -/etc/porttime -um\&. -\fBlogoutd\fR -sollte aus -/etc/rc -gestartet werden\&. Die Datei -/var/run/utmp -wird regelm\(:a\(ssig abgerufen, wobei jeder Benutzername darauf \(:uberpr\(:uft wird, ob er f\(:ur den jeweiligen Port zur jeweiligen Zeit zugelassen ist\&. Alle angemeldeten Sitzungen, die gegen die Beschr\(:ankungen in -/etc/porttime -versto\(ssen, werden beendet\&. -.SH "DATEIEN" -.PP -/etc/porttime -.RS 4 -Datei, die den Port\-Zugriff enth\(:alt\&. -.RE -.PP -/var/run/utmp -.RS 4 -Liste der aktuellen angemeldeten Sitzungen -.RE diff --git a/man/de/man8/newusers.8 b/man/de/man8/newusers.8 deleted file mode 100644 index 9f075d2f..00000000 --- a/man/de/man8/newusers.8 +++ /dev/null @@ -1,445 +0,0 @@ -'\" t -.\" Title: newusers -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "NEWUSERS" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -newusers \- erstellt oder aktualisiert mehrere neue Benutzer am St\(:uck -.SH "\(:UBERSICHT" -.HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fIOptionen\fR] [\fIDatei\fR] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBnewusers\fR -verwendet eine -\fIDatei\fR -(oder standardm\(:a\(ssig die Standardeingabe) und aktualisiert damit eine Gruppe bestehender Benutzer oder erstellt damit neue Benutzer\&. Jede Zeile hat dasselbe Format wie die \(:ubliche Passwortdatei (vergleiche -\fBpasswd\fR(5)) mit den unten aufgef\(:uhrten Ausnahmen: -.PP -pw_Name:pw_Passwort:pw_uid:pw_gid:pw_gecos:pw_Verz:pw_shell -.PP -\fIpw_Name\fR -.RS 4 -Dies ist der Name des Benutzers\&. -.sp -It can be the name of a new user or the name of an existing user (or a user created before by -\fBnewusers\fR)\&. In case of an existing user, the user\*(Aqs information will be changed, otherwise a new user will be created\&. -.RE -.PP -\fIpw_Passwort\fR -.RS 4 -Dieses Feld wird verschl\(:usselt und als neuer Wert f\(:ur das verschl\(:usselte Passwort verwendet\&. -.RE -.PP -\fIpw_uid\fR -.RS 4 -Mit diesem Feld wird die UID des Benutzers bestimmt\&. -.sp -If the field is empty, a new (unused) UID will be defined automatically by -\fBnewusers\fR\&. -.sp -Wenn dieses Feld eine Zahl enth\(:alt, wird sie als UID verwendet\&. -.sp -If this field contains the name of an existing user (or the name of a user created before by -\fBnewusers\fR), the UID of the specified user will be used\&. -.sp -Falls die UID eines bestehenden Benutzers ver\(:andert wird, muss der Eigent\(:umer der Dateien des Benutzers per Hand angepasst werden\&. -.RE -.PP -\fIpw_gid\fR -.RS 4 -Mit diesem Feld wird die ID der Hauptgruppe des Benutzers definiert\&. -.sp -Wenn dieses Feld den Namen einer existierenden Gruppe enth\(:alt (oder einer Gruppe, die zuvor mit -\fBnewusers\fR -erstellt wurde), wird die GID dieser Gruppe als ID der Hauptgruppe des Benutzers verwendet\&. -.sp -Wenn dieses Feld eine Zahl enth\(:alt, wird sie als ID der Hauptgruppe des Benutzers verwendet\&. Falls eine Gruppe mit dieser GID nicht existiert, wird eine neue Gruppe mit dieser GID unter dem Namen des Benutzers erstellt\&. -.sp -Wenn dieses Feld leer ist, wird eine neue Gruppe unter dem Namen des Benutzers erstellt und von -\fBnewusers\fR -automatisch eine neue GID gew\(:ahlt, die als ID der Hauptgruppe des Benutzers und als GID f\(:ur die neue Gruppe dient\&. -.sp -Wenn dieses Feld den Namen einer Gruppe enth\(:alt, die nicht vorhanden ist (und nicht zuvor von -\fBnewusers\fR -erstellt wurde), wird eine neue Gruppe unter dem angegebenen Namen erstellt und von -\fBnewusers\fR -automatisch eine neue GID gew\(:ahlt, die als ID der Hauptgruppe des Benutzers und als GID f\(:ur die neue Gruppe dient\&. -.RE -.PP -\fIpw_gecos\fR -.RS 4 -Dieses Feld wird in das GECOS\-Feld des Benutzers kopiert\&. -.RE -.PP -\fIpw_Verz\fR -.RS 4 -Mit diesem Feld wird das Home\-Verzeichnis des Benutzers definiert\&. -.sp -Wenn in diesem Feld ein Verzeichnis angegeben wird, das nicht vorhanden ist, wird es erstellt\&. Dieses geh\(:ort dem Benutzer, der gerade erstellt und aktualisiert wird, und dessen Hauptgruppe\&. -.sp -Wenn das Home\-Verzeichnis eines vorhandenen Benutzers ge\(:andert wird, verschiebt oder kopiert -\fBnewusers\fR -nicht den Inhalt des alten Verzeichnisses in das neue\&. Dies muss von Hand erledigt werden\&. -.RE -.PP -\fIpw_shell\fR -.RS 4 -Mit diesem Feld wird die Shell des Benutzers definiert\&. Diese Eingabe wird nicht \(:uberpr\(:uft\&. -.RE -.PP -Zuerst erstellt und \(:andert -\fBnewusers\fR -die angegebenen Benutzer und schreibt die \(:Anderungen in die Benutzer\- oder Gruppendatenbank\&. Falls ein Fehler auftritt (au\(sser beim Schreiben in die Datenbanken), werden in den Datenbanken keine \(:Anderungen vorgenommen\&. -.PP -Dieser Befehl ist f\(:ur den Einsatz in einer Umgebung mit zahlreichen Systemen vorgesehen, in der viele Konten gleichzeitig aktualisiert werden m\(:ussen\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBnewusers\fR -unterst\(:utzt werden, sind: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -Definiert die Methode, mit der die Passw\(:orter verschl\(:usselt werden\&. -.sp -Die verf\(:ugbaren Methoden sind DES, MD5, NONE und SHA256 oder SHA512, soweit Ihre libc sie unterst\(:utzt\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -erstellt ein Systemkonto -.sp -Systembenutzer werden ohne Hinterlegung des Alters ihres Passworts in -/etc/shadow -erstellt\&. Ihre numerische Kennung wird aus der Spanne -\fBSYS_UID_MIN\fR -bis -\fBSYS_UID_MAX\fR -anstelle von -\fBUID_MIN\fR -bis -\fBUID_MAX\fR -gew\(:ahlt (gleiches gilt f\(:ur die GID bei der Erstellung von Gruppen)\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -Verwendet die angegebene Anzahl von Runden, um die Passw\(:orter zu verschl\(:usseln\&. -.sp -Ein Wert von 0 bedeutet, dass das System die Standardanzahl der Runden (5000) f\(:ur die Verschl\(:usselung verwenden wird\&. -.sp -Der Mindestwert ist 1000, der H\(:ochstwert 999\&.999\&.999\&. -.sp -Sie k\(:onnen diese Option nur mit den Verschl\(:usselungsmethoden SHA256 und SHA512 verwenden\&. -.sp -Standardm\(:a\(ssig wird die Anzahl der Runden mit den Variablen SHA_CRYPT_MIN_ROUNDS und SHA_CRYPT_MAX_ROUNDS in -/etc/login\&.defs -definiert\&. -.RE -.SH "WARNUNGEN" -.PP -Die Eingabedatei muss gesch\(:utzt werden, da sie unverschl\(:usselte Passw\(:orter enth\(:alt\&. -.PP -Sie sollten darauf achten, dass Passw\(:orter und Verschl\(:usselungsmethode in Einklage mit der Passwortrichtlinie des Systems stehen\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBENCRYPT_METHOD\fR (Zeichenkette) -.RS 4 -Damit wird der standardm\(:a\(ssige Verschl\(:usselungsalgorithmus, mit dem Passw\(:orter verschl\(:usselt werden, bestimmt (soweit nicht in der Befehlszeile ein Algorithmus angegeben wird)\&. -.sp -Ihm kann einer der folgenden Wert zugewiesen werden: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Hinweis: Dieser Parameter \(:uberschreibt die Variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBGID_MAX\fR (Zahl), \fBGID_MIN\fR (Zahl) -.RS 4 -der Bereich von Gruppen\-IDs, aus dem die Programme -\fBuseradd\fR, -\fBgroupadd\fR -oder -\fBnewusers\fR -bei der Erstellung normaler Gruppen ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBGID_MIN\fR -ist 1000, f\(:ur -\fBGID_MAX\fR -60\&.000\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolesch) -.RS 4 -Legt fest, ob Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt werden\&. Falls diesem Wert -\fIyes\fR -zugewiesen ist, werden neue Passw\(:orter mit dem auf MD5 beruhenden Algorithmus verschl\(:usselt, der zu dem in der aktuellen Ver\(:offentlichung von FreeBSD eingesetzten Algorithmus kompatibel ist\&. Passw\(:orter k\(:onnen dann beliebig lang sein, auch die Salt\-Zeichenketten sind l\(:anger\&. Setzen Sie diesen Wert auf -\fIno\fR, wenn Sie verschl\(:usselte Passw\(:orter auf ein anderes System kopieren m\(:ochten, das den neuen Algorithmus nicht versteht\&. Der Standardwert ist -\fIno\fR\&. -.sp -Dieser Variable geht die Variable -\fBENCRYPT_METHOD\fR -und eine Option auf der Befehlszeile, mit der der Verschl\(:usselungsalgorithmus bestimmt wird, vor\&. -.sp -Der Einsatz dieser Variable ist veraltet\&. Sie sollten -\fBENCRYPT_METHOD\fR -verwenden\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (Zahl) -.RS 4 -Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&. Wenn das Passwort \(:alter ist, wird ein Wechsel des Passworts erzwungen\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (Zahl) -.RS 4 -Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen wird\&. Ein vorheriger Versuch, das Passwort zu \(:andern, wird abgelehnt\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (Zahl) -.RS 4 -Die Anzahl von Tagen, an denen der Benutzer vorgewarnt wird, bevor das Passwort verf\(:allt\&. Eine Null bedeutet, dass eine Warnung nur am Tag des Verfalls ausgegeben wird\&. Ein negativer Wert bedeutet, dass keine Vorwarnung erfolgt\&. Falls nicht angegeben, wird keine Vorwarnung ausgegeben\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (Zahl), \fBSHA_CRYPT_MAX_ROUNDS\fR (Zahl) -.RS 4 -Wenn -\fBENCRYPT_METHOD\fR -auf -\fISHA256\fR -oder -\fISHA512\fR -gesetzt ist, legt dies die Anzahl der Runden von SHA fest, die standardm\(:a\(ssig vom Verschl\(:usselungsalgorithmus verwendet werden (falls die Anzahl der Runden nicht auf der Befehlszeile angegeben wird)\&. -.sp -Je mehr Runden Sie definieren, umso schwieriger ist es, das Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr Rechenleistung wird jedoch auch f\(:ur die Anmeldung eines Benutzers ben\(:otigt\&. -.sp -Falls Sie nichts angeben, wird libc die Standardanzahl der Runden festlegen (5000)\&. -.sp -Die Werte m\(:ussen zwischen 1000\-999\&.999\&.999 liegen\&. -.sp -Falls nur der Wert f\(:ur -\fBSHA_CRYPT_MIN_ROUNDS\fR -oder -\fBSHA_CRYPT_MAX_ROUNDS\fR -festgelegt wird, wird dieser Wert verwendet\&. -.sp -Falls -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, wird der h\(:ohere Wert verwendet\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (Zahl), \fBSYS_GID_MIN\fR (Zahl) -.RS 4 -der Bereich von Gruppen\-IDs, aus dem die Programme -\fBuseradd\fR, -\fBgroupadd\fR -oder -\fBnewusers\fR -bei der Erstellung von Systemgruppen ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBSYS_GID_MIN\fR -ist 101, f\(:ur -\fBSYS_GID_MAX\fR -\fBGID_MIN\fR\-1\&. -.RE -.PP -\fBSYS_UID_MAX\fR (Zahl), \fBSYS_UID_MIN\fR (Zahl) -.RS 4 -der Bereich von Benutzer\-IDs, aus dem die Programme -\fBuseradd\fR -oder -\fBnewusers\fR -bei der Erstellung von Systembenutzern ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBSYS_UID_MIN\fR -ist 101, f\(:ur -\fBSYS_UID_MAX\fR -\fBUID_MIN\fR\-1\&. -.RE -.PP -\fBUID_MAX\fR (Zahl), \fBUID_MIN\fR (Zahl) -.RS 4 -der Bereich von Benutzer\-IDs, aus dem die Programme -\fBuseradd\fR -oder -\fBnewusers\fR -bei der Erstellung normaler Benutzer ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBUID_MIN\fR -ist 1000, f\(:ur -\fBUID_MAX\fR -60\&.000\&. -.RE -.PP -\fBUMASK\fR (Zahl) -.RS 4 -Die Bit\-Gruppe, welche die Rechte von erstellten Dateien bestimmt, wird anf\(:anglich auf diesen Wert gesetzt\&. Falls nicht angegeben, wird sie auf 022 gesetzt\&. -.sp -\fBuseradd\fR -und -\fBnewusers\fR -verwenden diese Bit\-Gruppe, um die Rechte des von ihnen erstellten Home\-Verzeichnisses zu setzen\&. -.sp -Sie wird auch von -\fBlogin\fR -verwendet, um die anf\(:angliche Umask eines Benutzers zu bestimmen\&. Beachten Sie, dass diese Bit\-Gruppe durch die GECOS\-Zeile des Benutzers (wenn -\fBQUOTAS_ENAB\fR -gesetzt wurde) oder die Festlegung eines Limits in -\fBlimits\fR(5) -mit der Kennung -\fIK\fR -\(:uberschrieben werden kann\&. -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBlogin.defs\fR(5), -\fBpasswd\fR(1), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8)\&. diff --git a/man/de/man8/nologin.8 b/man/de/man8/nologin.8 deleted file mode 100644 index 67d4851a..00000000 --- a/man/de/man8/nologin.8 +++ /dev/null @@ -1,51 +0,0 @@ -'\" t -.\" Title: nologin -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "NOLOGIN" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -nologin \- lehnt h\(:oflich eine Anmeldung ab -.SH "\(:UBERSICHT" -.HP \w'\fBnologin\fR\ 'u -\fBnologin\fR -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBnologin\fR -zeigt die Meldung an, dass ein Konto nicht verf\(:ugbar ist, und gibt einen Wert von ungleich Null zur\(:uck\&. Dies ist als Einsatz f\(:ur das Shell\-Feld bei abgeschalteten Konten vorgesehen\&. -.PP -Wie Sie alle Konten abschalten, erfahren Sie unter -\fBnologin\fR(5)\&. -.SH "SIEHE AUCH" -.PP -\fBlogin\fR(1), -\fBnologin\fR(5)\&. -.SH "GESCHICHTE" -.PP -The -\fBnologin\fR -command appeared in BSD 4\&.4\&. diff --git a/man/de/man8/pwck.8 b/man/de/man8/pwck.8 deleted file mode 100644 index 843cd589..00000000 --- a/man/de/man8/pwck.8 +++ /dev/null @@ -1,323 +0,0 @@ -'\" t -.\" Title: pwck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "PWCK" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -pwck \- \(:uberpr\(:uft die Stimmigkeit der Passwortdateien -.SH "\(:UBERSICHT" -.HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [Optionen] [\fIpasswd\fR\ [\ \fIshadow\fR\ ]] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBpwck\fR -\(:uberpr\(:uft die Stimmigkeit der Benutzer\- und Authentifizierungsdaten\&. Alle Eintr\(:age in -/etc/passwd -und -/etc/shadow -werden darauf \(:uberpr\(:uft, ob der Eintrag das richtige Format hat und g\(:ultige Daten enth\(:alt\&. Der Benutzer wird aufgefordert, Eintr\(:age zu l\(:oschen, die falsch formatiert sind oder andere unbehebbare Fehler enthalten\&. -.PP -Es wird \(:uberpr\(:uft, ob jeder Eintrag folgende Eigenschaften aufweist: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -die richtige Anzahl von Feldern -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -einen eindeutigen und g\(:ultigen Benutzernamen -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -eine g\(:ultige Benutzer\- und Gruppenkennung -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -eine g\(:ultige Hauptgruppe -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ein g\(:ultiges Home\-Verzeichnis -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -eine g\(:ultige Anmelde\-Shell -.RE -.PP -Eine \(:Uberpr\(:ufung von -shadow -findet statt, wenn ein zweiter Parameter angegeben wird oder auf dem System -/etc/shadow -existiert\&. -.PP -Diese Tests umfassen Folgendes: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ob jedem Eintrag in passwd ein Eintrag in shadow entspricht und umgekehrt -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ob die Passw\(:orter in der Shadow\-Datei niedergelegt sind -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ob die shadow\-Eintr\(:age die richtige Anzahl von Feldern haben -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ob die Shadow\-Eintr\(:age in shadow eindeutig sind -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -dass das Datum der letzten Passwort\(:anderung nicht in der Zukunft liegt -.RE -.PP -Fehler bei der \(:Uberpr\(:ufung der richtigen Anzahl der Felder und des eindeutigen Benutzernames sind schwerwiegend\&. Wenn ein Eintrag die falsche Anzahl von Feldern ausweist, wird der Benutzer aufgefordert, die gesamte Zeile zu l\(:oschen\&. Wenn dies der Benutzer ablehnt, werden alle weiteren Tests ausgelassen\&. Bei einem Eintrag mit einem mehrfach verwendeten Benutzernamen wird der Benutzer aufgefordert, diesen Eintrag zu l\(:oschen\&. Sollte er dies ablehnen, werden dennoch die \(:ubrigen Test ausgef\(:uhrt\&. Bei allen anderen Fehlern wird eine Warnung abgegeben und der Benutzer aufgefordert, den Fehler mittels des Befehls -\fBusermod\fR -zu beheben\&. -.PP -Die Befehle, welche die Datei -/etc/passwd -bearbeiten, k\(:onnen falsche oder doppelte Eintr\(:age nicht ver\(:andern\&. In solchen F\(:allen sollte -\fBpwck\fR -verwendet werden, um den betreffenden Eintrag zu entfernen\&. -.SH "OPTIONEN" -.PP -Die Optionen -\fB\-r\fR -und -\fB\-s\fR -k\(:onnen nicht zusammen verwendet werden\&. -.PP -Die Optionen, die vom Befehl -\fBpwck\fR -unterst\(:utzt werden, sind: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -meldet nur Fehler\&. Warnungen, die keine Handlung des Benutzers erfordern, werden nicht angezeigt -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -f\(:uhrt den Befehl -\fBpwck\fR -im Modus Nur\-Lesen aus -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -ordnet die Eintr\(:age in -/etc/passwd -und -/etc/shadow -nach der UID -.RE -.PP -Standardm\(:a\(ssig bearbeitet -\fBpwck\fR -die Dateien -/etc/passwd -und -/etc/shadow\&. Der Benutzer kann andere Dateien mit den Parametern -\fIpasswd\fR -und -\fIshadow\fR -ausw\(:ahlen\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBPASS_MAX_DAYS\fR (Zahl) -.RS 4 -Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&. Wenn das Passwort \(:alter ist, wird ein Wechsel des Passworts erzwungen\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (Zahl) -.RS 4 -Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen wird\&. Ein vorheriger Versuch, das Passwort zu \(:andern, wird abgelehnt\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (Zahl) -.RS 4 -Die Anzahl von Tagen, an denen der Benutzer vorgewarnt wird, bevor das Passwort verf\(:allt\&. Eine Null bedeutet, dass eine Warnung nur am Tag des Verfalls ausgegeben wird\&. Ein negativer Wert bedeutet, dass keine Vorwarnung erfolgt\&. Falls nicht angegeben, wird keine Vorwarnung ausgegeben\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.SH "R\(:UCKGABEWERTE" -.PP -Der Befehl -\fBpwck\fR -gibt beim Beenden folgende Werte zur\(:uck: -.PP -\fI0\fR -.RS 4 -Erfolg -.RE -.PP -\fI1\fR -.RS 4 -unzul\(:assige Syntax f\(:ur diesen Befehl -.RE -.PP -\fI2\fR -.RS 4 -ein oder mehrere fehlerhafte Passworteintr\(:age -.RE -.PP -\fI3\fR -.RS 4 -Die Passwortdatei kann nicht ge\(:offnet werden\&. -.RE -.PP -\fI4\fR -.RS 4 -Die Passwortdatei kann nicht gesperret werden\&. -.RE -.PP -\fI5\fR -.RS 4 -Die Passwortdatei kann nicht aktualisieren werden\&. -.RE -.PP -\fI6\fR -.RS 4 -Die Passwortdatei kann nicht sortieren werden\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBusermod\fR(8)\&. diff --git a/man/de/man8/pwconv.8 b/man/de/man8/pwconv.8 deleted file mode 100644 index 04c1a241..00000000 --- a/man/de/man8/pwconv.8 +++ /dev/null @@ -1,185 +0,0 @@ -'\" t -.\" Title: pwconv -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "PWCONV" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -pwconv, pwunconv, grpconv, grpunconv \- konvertiert zu oder von Shadow\-Passw\(:ortern und \-gruppen -.SH "\(:UBERSICHT" -.HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fIOptionen\fR] -.HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fIOptionen\fR] -.HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fIOptionen\fR] -.HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fIOptionen\fR] -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBpwconv\fR -erstellt eine -\fIshadow\fR\-Datei aus einer -\fIpasswd\fR\-Datei und gegebenenfalls aus einer bereits vorhandenen -\fIshadow\fR\-Datei\&. -.PP -Der Befehl -\fBpwunconv\fR -erstellt eine -\fIpasswd\fR\-Datei aus einer -\fIpasswd\fR\- und -\fIshadow\fR\-Datei und entfernt anschlie\(ssend die\fIshadow\fR\-Datei\&. -.PP -Der Befehl -\fBgrconv\fR -erstellt eine -\fIgshadow\fR\-Datei aus einer -\fIgroup\fR\-Datei und gegebenenfalls aus einer bereits vorhandenen -\fIgshadow\fR\-Datei\&. -.PP -Der Befehl -\fBgrpunconv\fR -erstellt eine -\fIgroup\fR\-Datei aus einer -\fIgroup\fR\- und -\fIgshadow\fR\-Datei und entfernt anschlie\(ssend die -\fIgshadow\fR\-Datei\&. -.PP -Diese vier Programme funktionieren mit der normalen und der Shadow\-Passwortdatei und den Gruppendateien: -/etc/passwd, -/etc/group, -/etc/shadow -und -/etc/gshadow\&. -.PP -Jedes dieser Programme erzeugt vor der Konvertierung die notwendigen Sperren\&. -\fBpwconv\fR -und -\fBgrpconv\fR -sind vergleichbar\&. Zuerst werden die Eintr\(:age aus der Shadow\-Datei entfernt, die nicht in der Hauptdatei enthalten sind\&. Anschlie\(ssend werden die Eintr\(:age in der Shadow\-Datei aktualisiert, die kein \(Fcx\(Fo als Passwort haben\&. Zuletzt werden die Passw\(:orter in der Hauptdatei durch \(Fcx\(Fo ersetzt\&. Diese Programme k\(:onnen f\(:ur eine erstmalige Konvertierung genutzt werden als auch, um die Shadow\-Datei zu aktualisieren, falls die Hauptdatei von Hand bearbeitet wurde\&. -.PP -\fBpwconv\fR -verwendet die Werte -\fIPASS_MIN_DAYS\fR, -\fIPASS_MAX_DAYS\fR -und -\fIPASS_WARN_AGE\fR -aus -/etc/login\&.defs, wenn neue Eintr\(:age zu -/etc/shadow -hinzugef\(:ugt werden\&. -.PP -Ebenfalls sind die Befehle -\fBpwunconv\fR -und -\fBgrpunconv\fR -\(:ahnlich\&. Passw\(:orter in der Hauptdatei werden durch die Shadow\-Datei aktualisiert\&. Eintr\(:age, welche in der Hauptdatei, aber nicht in der Shadow\-Datei vorhanden sind, bleiben unber\(:uhrt\&. Zuletzt wird die Shadow\-Datei gel\(:oscht\&. Eine Information f\(:ur den Verfall von Passw\(:ortern geht durch -\fBpwunconv\fR -verloren\&. Es wird aber so viel wie m\(:oglich umgewandelt\&. -.SH "OPTIONEN" -.PP -Die Optionen, die von den Befehlen -\fBpwconv\fR, -\fBpwunconv\fR, -\fBgrpconv\fR -und -\fBgrpunconv\fR -unterst\(:utzt werden, sind: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.SH "FEHLER" -.PP -Fehler in der Passwort\- oder Gruppendatei (wie z\&.B\&. ung\(:ultige oder doppelte Eintr\(:age) k\(:onnen zu Endlosschleifen oder anderen seltsamen Fehlern f\(:uhren\&. Sie sollten daher -\fBpwck\fR -und -\fBgrpck\fR -ausf\(:uhren, um solche Fehler zu entfernen, bevor Sie von oder zu Shadow\-Passw\(:ortern oder \-gruppen umwandeln\&. -.SH "KONFIGURATION" -.PP -Die folgende Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten von -\fBgrpconv\fR -und -\fBgrpunconv\fR: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten von -\fBpwconv\fR: -.PP -\fBPASS_MAX_DAYS\fR (Zahl) -.RS 4 -Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&. Wenn das Passwort \(:alter ist, wird ein Wechsel des Passworts erzwungen\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (Zahl) -.RS 4 -Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen wird\&. Ein vorheriger Versuch, das Passwort zu \(:andern, wird abgelehnt\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (Zahl) -.RS 4 -Die Anzahl von Tagen, an denen der Benutzer vorgewarnt wird, bevor das Passwort verf\(:allt\&. Eine Null bedeutet, dass eine Warnung nur am Tag des Verfalls ausgegeben wird\&. Ein negativer Wert bedeutet, dass keine Vorwarnung erfolgt\&. Falls nicht angegeben, wird keine Vorwarnung ausgegeben\&. -.RE -.SH "DATEIEN" -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.SH "SIEHE AUCH" -.PP -\fBgrpck\fR(8), -\fBlogin.defs\fR(5), -\fBpwck\fR(8)\&. diff --git a/man/de/man8/pwunconv.8 b/man/de/man8/pwunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/de/man8/pwunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/de/man8/sulogin.8 b/man/de/man8/sulogin.8 deleted file mode 100644 index f2599e12..00000000 --- a/man/de/man8/sulogin.8 +++ /dev/null @@ -1,117 +0,0 @@ -'\" t -.\" Title: sulogin -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "SULOGIN" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -sulogin \- Single\-user login -.SH "SYNTAX" -.PP -\fBsulogin\fR -[\fItty\-device\fR] -.SH "BESCHREIBUNG" -.PP -The -\fBsulogin\fR -command is invoked by -\fBinit\fR -prior to allowing the user access to the system when in single user mode\&. This feature may only be available on certain systems where -\fBinit\fR -has been modified accordingly, or where the -/etc/inittab -has an entry for a single user login\&. -.PP -The user is prompted -.PP -Type control\-d to proceed with normal startup, (or give root password for system maintenance): -.PP -Input and output will be performed with the standard file descriptors unless the optional device name argument is provided\&. -.PP -If the user enters the correct root password, a login session is initiated\&. When -\fIEOF\fR -is pressed instead, the system enters multi\-user mode\&. -.PP -After the user exits the single\-user shell, or presses -\fIEOF\fR, the system begins the initialization process required to enter multi\-user mode\&. -.SH "WARNUNGEN" -.PP -This command can only be used if -\fBinit\fR -has been modified to call -\fBsulogin\fR -instead of -/bin/sh, or if the user has set the -\fIinittab\fR -to support a single user login\&. For example, the line: -.PP -co:s:respawn:/etc/sulogin /dev/console -.PP -should execute the sulogin command in single user mode\&. -.PP -As complete an environment as possible is created\&. However, various devices may be unmounted or uninitialized and many of the user commands may be unavailable or nonfunctional as a result\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBENV_HZ\fR (Zeichenkette) -.RS 4 -Wenn vergeben, wird damit die Umgebungsvariable HZ definiert, wenn sich ein Benutzer anmeldet\&. Dem Wert muss ein -\fIHZ=\fR -vorangestellt werden\&. Ein \(:ublicher Wert bei Linux ist -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_TZ\fR (Zeichenkette) -.RS 4 -Wenn gesetzt, wird damit die Umgebungsvariable TZ definiert, wenn sich ein Benutzer anmeldet\&. Der Wert kann der Name der Zeitzone sein, dem -\fITZ=\fR -vorausgeht (zum Beispiel -\fITZ=CST6CDT\fR), oder der vollst\(:andige Pfad der Datei, welche die Konfiguration der Zeitzone enth\(:alt (zum Beispiel -/etc/tzname)\&. -.sp -Wenn ein vollst\(:andiger Pfadname angegeben wird, die Datei aber nicht existiert oder nicht lesbar ist, wird -\fITZ=CST6CDT\fR -verwendet\&. -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBlogin\fR(1), -\fBsh\fR(1), -\fBinit\fR(8)\&. diff --git a/man/de/man8/useradd.8 b/man/de/man8/useradd.8 deleted file mode 100644 index 8f8bf64b..00000000 --- a/man/de/man8/useradd.8 +++ /dev/null @@ -1,776 +0,0 @@ -'\" t -.\" Title: useradd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "USERADD" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -useradd \- erstellt einen neuen Benutzer oder aktualisiert die Standardwerte f\(:ur neue Benutzer -.SH "\(:UBERSICHT" -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fIOptionen\fR] \fIANMELDENAME\fR -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fIOptionen\fR] -.SH "BESCHREIBUNG" -.PP -Wenn der Befehl -\fBuseradd\fR -ohne die Option -\fB\-D\fR -aufgerufen wird, wird ein neues Benutzerkonto mit den Werten erstellt, die auf der Befehlszeile angegeben wurden, und den Standardwerten des Systems\&. Je nach den Optionen auf der Befehlszeile aktualisiert der Befehl -\fBuseradd\fR -Systemdateien, erstellt ein Home\-Verzeichnis f\(:ur den neuen Benutzer und kopiert Dateien\&. -.PP -Standardm\(:a\(ssig wird auch eine Gruppe f\(:ur den neuen Benutzer erstellt (vergleiche -\fB\-g\fR, -\fB\-N\fR, -\fB\-U\fR -und -\fBUSERGROUPS_ENAB\fR)\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBuseradd\fR -unterst\(:utzt werden, sind: -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIWURZEL_VERZ\fR -.RS 4 -Das standardm\(:a\(ssige Wurzelverzeichnis des Systems, wenn nicht eines mit -\fB\-d\fR\ \&\fIHOME_VERZ\fR -festgelegt wurde\&. Der Name des Home\-Verzeichnisses besteht aus der Verbindung von -\fIWURZEL_VERZ\fR -und dem Kontonamen\&. Wenn die Option -\fB\-m\fR -nicht verwendet wird, muss -\fIWURZEL_VERZ\fR -existieren\&. -.sp -Falls diese Option nicht angegeben wird, verwendet -\fBuseradd\fR -das Wurzelverzeichnis, das mit der Variable -\fBHOME\fR -in -/etc/default/useradd -festgelegt wurde, anderenfalls -/home\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fIKOMMENTAR\fR -.RS 4 -Eine beliebige Zeichenkette\&. Dies ist f\(:ur gew\(:ohnlich eine kurze Beschreibung des Logins und wird im Moment im Feld f\(:ur den vollst\(:andigen Namen des Benutzers gespeichert\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\-dir\fR\ \&\fIHOME_DIR\fR -.RS 4 -Beim Anlegen des neuen Benutzers wird -\fIHOME_VERZ\fR -als das Anmeldeverzeichnis des Benutzers verwendet\&. Um den Namen des Anmeldeverzeichnisses zu erhalten, wird standardm\(:a\(ssig der -\fIANMELDE\fR\-Name an -\fIWURZEL_VERZ\fR -angeh\(:angt\&. Das Verzeichnis -\fIHOME_VERZ\fR -muss nicht vorhanden sein, sondern wird gegebenenfalls angelegt\&. -.RE -.PP -\fB\-D\fR, \fB\-\-defaults\fR -.RS 4 -Lesen Sie dazu unten den Abschnitt \(FcDie Standardwerte ver\(:andern\(Fo\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIVERFALLS_DATUM\fR -.RS 4 -Das Datum, an welchem das Benutzerkonto deaktiviert wird\&. Das Datum muss im Format -\fIJJJJ\-MM\-TT\fR -angegeben werden\&. -.sp -Falls nicht definiert, verwendet -\fBuseradd\fR -das Standardverfallsdatum, das mit der Variable -\fBEXPIRE\fR -in -/etc/default/useradd -bestimmt wurde, anderenfalls eine leere Zeichenkette (kein Verfall)\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINAKTIV\fR -.RS 4 -Die Anzahl von Tagen nach Ablaufen des Passworts bis das Konto dauerhaft deaktiviert wird\&. Ein Wert von 0 deaktiviert das Konto, sobald das Passwort abl\(:auft\&. Ein Wert von \-1 schaltet diese Funktion ab\&. -.sp -Falls nicht definiert, verwendet -\fBuseradd\fR -die Standarddauer der Inaktivit\(:at, die mit der Variable -\fBINACTIVE\fR -in -/etc/default/useradd -bestimmt wurde, anderenfalls \-1\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGRUPPE\fR -.RS 4 -Der Name oder die Nummer der anf\(:anglichen Anmeldegruppe des Benutzers\&. Der Gruppenname muss existieren\&. Die Gruppenzahl muss auf eine bereits vorhandene Gruppe verweisen\&. -.sp -Falls nicht definiert, h\(:angt das Verhalten von -\fBuseradd\fR -von der Variable -\fBUSERGROUPS_ENAB\fR -in -/etc/login\&.defs -ab\&. Wenn diese Variable auf -\fIyes\fR -gesetzt ist (oder auf der Befehlszeile -\fB\-U/\-\-user\-group\fR -angegeben wurde), wird f\(:ur den Benutzer eine Gruppe, die auf seinen Namen lautet, erstellt\&. Wenn die Variable auf -\fIno\fR -gesetzt ist (oder auf der Befehlszeile -\fB\-N/\-\-no\-user\-group\fR -angegeben wurde), legt useradd als Hauptgruppe des neuen Benutzers diejenige fest, die mit der Variable -\fBGROUP\fR -in -/etc/default/useradd -definiert wurde, anderenfalls 100\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGRUPPE_1\fR[\fI,GRUPPE_2, \&.\&.\&.\fR[\fI,GRUPPE_N\fR]]] -.RS 4 -Eine Liste der zus\(:atzlichen Gruppen, denen der Benutzer ebenfalls angeh\(:ort\&. Die Gruppen sind durch Kommata ohne Leerzeichen voneinander zu trennen\&. Die Gruppen unterliegen denselben Beschr\(:ankungen wie die Gruppe, die mit der Option -\fB\-g\fR -bestimmt wurde\&. Standardm\(:a\(ssig ist der Benutzer nur Mitglied der Ausgangsgruppe\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-k\fR, \fB\-\-skel\fR\ \&\fIGER\(:UST_VERZ\fR -.RS 4 -Das Ger\(:ustverzeichnis, das die Dateien und Verzeichnisse enth\(:alt, die in das Home\-Verzeichnis des Benutzers kopiert werden, wenn es von -\fBuseradd\fR -erstellt wird\&. -.sp -Diese Option ist nur zul\(:assig, wenn auch die Option -\fB\-m\fR -(oder -\fB\-\-create\-home\fR) angegeben wird\&. -.sp -Wenn diese Option nicht angegeben wird, wird das Ger\(:ustverzeichnis durch die Variable -\fBSKEL\fR -in -/etc/default/useradd -festgelegt, anderenfalls ist dieses -/etc/skel\&. -.sp -Soweit m\(:oglich, werden die ACLs und erweiterten Attribute kopiert\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fISCHL\(:USSEL\fR=\fIWERT\fR -.RS 4 -Overrides -/etc/login\&.defs -defaults (\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBUMASK\fR, -\fBPASS_MAX_DAYS\fR -and others)\&. - -Example: -\fB\-K\fR\ \&\fIPASS_MAX_DAYS\fR=\fI\-1\fR -can be used when creating system account to turn off password aging, even though system account has no password at all\&. Multiple -\fB\-K\fR -options can be specified, e\&.g\&.: -\fB\-K\fR\ \&\fIUID_MIN\fR=\fI100\fR\ \& -\fB\-K\fR\ \&\fIUID_MAX\fR=\fI499\fR -.RE -.PP -\fB\-l\fR, \fB\-\-no\-log\-init\fR -.RS 4 -F\(:ugt den Benutzer nicht zu den Datenbanken lastlog und faillog hinzu\&. -.sp -By default, the user\*(Aqs entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user\&. -.RE -.PP -\fB\-m\fR, \fB\-\-create\-home\fR -.RS 4 -Erstellt das Home\-Verzeichnis des Benutzers, wenn es nicht vorhanden ist\&. Die Dateien und Verzeichnisse im Ger\(:ustverzeichnis, das mit der Option -\fB\-k\fR -festgelegt werden kann, werden in das Home\-Verzeichnis kopiert\&. -.sp -Wenn diese Option nicht angegeben wird und -\fBCREATE_HOME\fR -nicht aktiviert wurde, wird standardm\(:a\(ssig kein Home\-Verzeichnis erstellt\&. -.RE -.PP -\fB\-M\fR, \fB\-\-no\-create\-home\fR -.RS 4 -Erstellt nicht das Home\-Verzeichnis des Benutzers, selbst wenn die systemweite Option -\fBCREATE_HOME\fR -in -/etc/login\&.defs -auf -\fIyes\fR -gesetzt ist\&. -.RE -.PP -\fB\-N\fR, \fB\-\-no\-user\-group\fR -.RS 4 -Erstellt keine Gruppe mit dem gleichen Namen wie der Benutzer, aber f\(:ugt ihn der Gruppe hinzu, die mit der Option -\fB\-g\fR -oder mit der Variable -\fBGROUP\fR -in -/etc/default/useradd -angegeben wurde\&. -.sp -Wenn die Optionen -\fB\-g\fR, -\fB\-N\fR -und -\fB\-U\fR -nicht angegeben werden, wird das Verhalten durch die Variable -\fBUSERGROUPS_ENAB\fR -in -/etc/login\&.defs -bestimmt\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Erlaubt das Erstellen eines Benutzerkontos mit einer schon vergebenen (nicht eindeutigen) UID\&. -.sp -Diese Option kann nur in Verbindung mit der Option -\fB\-u\fR -verwendet werden\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORT\fR -.RS 4 -Das verschl\(:usselte Passwort, wie es von -\fBcrypt\fR(3) -zur\(:uckgegeben wird\&. Standardm\(:a\(ssig ist das Passwort deaktiviert\&. -.sp -\fBHinweis:\fR -Diese Option ist nicht empfehlenswert, weil das Passwort (auch wenn es verschl\(:usselt ist) f\(:ur Benutzer sichtbar ist, die sich den Prozess anzeigen lassen\&. -.sp -Sie sollten sicherstellen, dass das Passwort den Passwortrichtlinien des Systems entspricht\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -erstellt ein Systemkonto -.sp -Systembenutzer werden ohne Hinterlegung ihres Alters in -/etc/shadow -erstellt\&. Ihre numerische Kennung wird aus der Spanne -\fBSYS_UID_MIN\fR -bis -\fBSYS_UID_MAX\fR -anstelle von -\fBUID_MIN\fR -bis -\fBUID_MAX\fR -gew\(:ahlt (gleiches gilt f\(:ur die GID bei der Erstellung von Gruppen)\&. -.sp -Note that -\fBuseradd\fR -will not create a home directory for such a user, regardless of the default setting in -/etc/login\&.defs -(\fBCREATE_HOME\fR)\&. You have to specify the -\fB\-m\fR -options if you want a home directory for a system account to be created\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -Der Name der Anmelde\-Shell des Benutzers\&. Standardm\(:a\(ssig wird dieses Feld leer gelassen\&. Das System verwendet dann die Standard\-Anmelde\-Shell, die mit der Variable -\fBSHELL\fR -in -/etc/default/useradd -definiert wird, anderenfalls bleibt das Feld leer\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -Der zahlenm\(:a\(ssige Wert der Benutzer\-ID\&. Dieser Wert muss eindeutig sein, sofern nicht die Option -\fB\-o\fR -verwendet wird\&. Der Wert darf nicht negativ sein\&. Standardm\(:a\(ssig wird der kleinste Wert gr\(:o\(sser als oder gleich -\fBUID_MIN\fR -und gr\(:o\(sser als jeder andere Wert eines Benutzers verwendet\&. -.sp -Vergleichen Sie auch die Option -\fB\-r\fR -und die Ausf\(:uhrungen zu -\fBUID_MAX\fR\&. -.RE -.PP -\fB\-U\fR, \fB\-\-user\-group\fR -.RS 4 -erstellt eine Gruppe mit dem gleichen Name wie der Benutzer und f\(:ugt diesen der Gruppe hinzu -.sp -Wenn die Optionen -\fB\-g\fR, -\fB\-N\fR -und -\fB\-U\fR -nicht angegeben werden, wird das Verhalten durch die Variable -\fBUSERGROUPS_ENAB\fR -in -/etc/login\&.defs -bestimmt\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISE\-BENUTZER\fR -.RS 4 -Der SELinux\-Benutzer f\(:ur den Benutzer nach seiner Anmeldung\&. Standardm\(:a\(ssig bleibt dieses Feld leer und es wird dem System \(:uberlassen, den SELinux\-Benutzer zu bestimmen\&. -.RE -.SS "Die Standardwerte ver\(:andern" -.PP -Wenn -\fBuseradd\fR -nur mit der Option -\fB\-D\fR -aufgerufen wird, werden die aktuellen Standardwerte angezeigt\&. Wenn -\fBuseradd\fR -neben der Option -\fB\-D\fR -mit weiteren Optionen aufgerufen wird, werden deren Standardwerte entsprechend angepasst\&. Die g\(:ultigen Optionen, um Standardwerte zu \(:andern, sind: -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIWURZEL_VERZ\fR -.RS 4 -Das Wurzelverzeichnis des Home\-Verzeichnisses eines neuen Benutzers\&. Der Benutzername wird an -\fIWURZEL_VERZ\fR -angeh\(:angt, um den Namen des Home\-Verzeichnisses zu erhalten, falls nicht die Option -\fB\-d\fR -bei der Erstellung eines neuen Kontos verwendet wird\&. -.sp -Diese Option ver\(:andert die Variable -\fBHOME\fR -in -/etc/default/useradd\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIVERFALLS_DATUM\fR -.RS 4 -das Datum, an dem das Benutzerkonto abgeschaltet wird -.sp -Diese Option ver\(:andert die Variable -\fBEXPIRE\fR -in -/etc/default/useradd\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINAKTIV\fR -.RS 4 -die Anzahl von Tagen nach dem Ablaufen des Passworts bis das Konto deaktiviert wird -.sp -Diese Option ver\(:andert die Variable -\fBINACTIVE\fR -in -/etc/default/useradd\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGRUPPE\fR -.RS 4 -Der Gruppenname oder die GID f\(:ur die Anfangsgruppe eines neuen Benutzers (wenn -\fB\-N/\-\-no\-user\-group\fR -verwendet wird oder wenn in -/etc/login\&.defs -die Variable -\fBUSERGROUPS_ENAB\fR -auf -\fIno\fR -gesetzt ist)\&. Die bezeichnete Gruppe und die GID m\(:ussen existieren\&. -.sp -Diese Option ver\(:andert die Variable -\fBGROUP\fR -in -/etc/default/useradd\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -der Name der Anmelde\-Shell des neuen Benutzers -.sp -Diese Option ver\(:andert die Variable -\fBSHELL\fR -in -/etc/default/useradd\&. -.RE -.SH "ANMERKUNGEN" -.PP -Der Systemadministrator ist daf\(:ur verantwortlich, die standardm\(:a\(ssigen Benutzerdateien im Verzeichnis -/etc/skel/ -(oder in einem anderen Ger\(:ustverzeichnis, das in -/etc/default/useradd -oder \(:uber die Befehlszeile definiert wurde), anzulegen\&. -.SH "WARNUNGEN" -.PP -Sie d\(:urfen einen Benutzer nicht einer NIS\- oder LDAP\-Gruppe hinzuf\(:ugen\&. Dies muss auf dem entsprechenden Server durchgef\(:uhrt werden\&. -.PP -Ebenso wird -\fBuseradd\fR -ablehnen, ein neues Benutzerkonto zu erstellen, wenn der Benutzername schon in einer externen Benutzerdatenbank wie z\&.B\&. NIS oder LDAP vorhanden ist\&. -.PP -Benutzernamen m\(:ussen mit einem Kleinbuchstaben oder einem Unterstrich beginnen\&. Sie d\(:urfen nur Kleinbuchstaben, Zahlen, Unterstriche oder Gedankenstriche enthalten\&. Sie k\(:onnen mit einem Dollarzeichen enden\&. Als regul\(:arer Ausdruck: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -Benutzernamen d\(:urfen nur bis zu 32 Zeichen lang sein\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBCREATE_HOME\fR (boolesch) -.RS 4 -bestimmt, ob standardm\(:a\(ssig ein Home\-Verzeichnis f\(:ur neue Benutzer erstellt werden soll -.sp -Diese Einstellung trifft nicht auf Systembenutzer zu\&. Sie kann auf der Befehlszeile \(:uberschrieben werden\&. -.RE -.PP -\fBGID_MAX\fR (Zahl), \fBGID_MIN\fR (Zahl) -.RS 4 -der Bereich von Gruppen\-IDs, aus dem die Programme -\fBuseradd\fR, -\fBgroupadd\fR -oder -\fBnewusers\fR -bei der Erstellung normaler Gruppen ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBGID_MIN\fR -ist 1000, f\(:ur -\fBGID_MAX\fR -60\&.000\&. -.RE -.PP -\fBMAIL_DIR\fR (Zeichenkette) -.RS 4 -Das Verzeichnis des Mail\-Spools\&. Diese Angabe wird ben\(:otigt, um die Mailbox zu bearbeiten, nachdem das entsprechende Benutzerkonto ver\(:andert oder gel\(:oscht wurde\&. Falls nicht angegeben, wird ein Standard verwendet, der beim Kompilieren festgelegt wurde\&. -.RE -.PP -\fBMAIL_FILE\fR (Zeichenkette) -.RS 4 -Legt den Ort der Mail\-Spool\-Dateien eines Benutzers relativ zu seinem Home\-Verzeichnis fest\&. -.RE -.PP -Die Variablen -\fBMAIL_DIR\fR -und -\fBMAIL_FILE\fR -werden von -\fBuseradd\fR, -\fBusermod\fR -und -\fBuserdel\fR -verwendet, um den Mail\-Spool eines Benutzers zu erstellen, zu verschieben oder zu l\(:oschen\&. -.PP -Falls -\fBMAIL_CHECK_ENAB\fR -auf -\fIyes\fR -gesetzt ist, werden sie auch verwendet, um die Umgebungsvariable -\fBMAIL\fR -festzulegen\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (Zahl) -.RS 4 -Die maximale Anzahl von Tagen, f\(:ur die ein Passwort verwendet werden darf\&. Wenn das Passwort \(:alter ist, wird ein Wechsel des Passworts erzwungen\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (Zahl) -.RS 4 -Die Mindestanzahl von Tagen, bevor ein Wechsel des Passworts zugelassen wird\&. Ein vorheriger Versuch, das Passwort zu \(:andern, wird abgelehnt\&. Falls nicht angegeben, wird \-1 angenommen (was zur Folge hat, dass diese Beschr\(:ankung abgeschaltet ist)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (Zahl) -.RS 4 -Die Anzahl von Tagen, an denen der Benutzer vorgewarnt wird, bevor das Passwort verf\(:allt\&. Eine Null bedeutet, dass eine Warnung nur am Tag des Verfalls ausgegeben wird\&. Ein negativer Wert bedeutet, dass keine Vorwarnung erfolgt\&. Falls nicht angegeben, wird keine Vorwarnung ausgegeben\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (Zahl), \fBSYS_GID_MIN\fR (Zahl) -.RS 4 -der Bereich von Gruppen\-IDs, aus dem die Programme -\fBuseradd\fR, -\fBgroupadd\fR -oder -\fBnewusers\fR -bei der Erstellung von Systemgruppen ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBSYS_GID_MIN\fR -ist 101, f\(:ur -\fBSYS_GID_MAX\fR -\fBGID_MIN\fR\-1\&. -.RE -.PP -\fBSYS_UID_MAX\fR (Zahl), \fBSYS_UID_MIN\fR (Zahl) -.RS 4 -der Bereich von Benutzer\-IDs, aus dem die Programme -\fBuseradd\fR -oder -\fBnewusers\fR -bei der Erstellung von Systembenutzern ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBSYS_UID_MIN\fR -ist 101, f\(:ur -\fBSYS_UID_MAX\fR -\fBUID_MIN\fR\-1\&. -.RE -.PP -\fBUID_MAX\fR (Zahl), \fBUID_MIN\fR (Zahl) -.RS 4 -der Bereich von Benutzer\-IDs, aus dem die Programme -\fBuseradd\fR -oder -\fBnewusers\fR -bei der Erstellung normaler Benutzer ausw\(:ahlen d\(:urfen -.sp -Der Standardwert f\(:ur -\fBUID_MIN\fR -ist 1000, f\(:ur -\fBUID_MAX\fR -60\&.000\&. -.RE -.PP -\fBUMASK\fR (Zahl) -.RS 4 -Die Bit\-Gruppe, welche die Rechte von erstellten Dateien bestimmt, wird anf\(:anglich auf diesen Wert gesetzt\&. Falls nicht angegeben, wird sie auf 022 gesetzt\&. -.sp -\fBuseradd\fR -und -\fBnewusers\fR -verwenden diese Bit\-Gruppe, um die Rechte des von ihnen erstellten Home\-Verzeichnisses zu setzen\&. -.sp -Sie wird auch von -\fBlogin\fR -verwendet, um die anf\(:angliche Umask eines Benutzers zu bestimmen\&. Beachten Sie, dass diese Bit\-Gruppe durch die GECOS\-Zeile des Benutzers (wenn -\fBQUOTAS_ENAB\fR -gesetzt wurde) oder die Festlegung eines Limits in -\fBlimits\fR(5) -mit der Kennung -\fIK\fR -\(:uberschrieben werden kann\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolesch) -.RS 4 -Erlaubt Benutzern, die nicht Root sind, die Umask\-Gruppen\-Bits auf ihre Umask\-Bits zu setzen (Beispiel: 022 \-> 002, 077 \-> 007), falls die UID mit der GID identisch ist sowie der Benutzername mit dem Gruppennamen \(:ubereinstimmt\&. -.sp -Wenn der Wert -\fIyes\fR -ist, wird -\fBuserdel\fR -die Gruppe des Benutzers entfernen, falls sie keine Mitglieder mehr hat, und -\fBuseradd\fR -wird standardm\(:a\(ssig eine Gruppe mit dem Namen des Benutzers erstellen\&. -.RE -.SH "DATEIEN" -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.PP -/etc/default/useradd -.RS 4 -Standardwerte f\(:ur die Erstellung eines Kontos -.RE -.PP -/etc/skel/ -.RS 4 -Verzeichnis, das die Standarddateien enth\(:alt -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.SH "R\(:UCKGABEWERTE" -.PP -Der Befehl -\fBuseradd\fR -gibt beim Beenden folgende Werte zur\(:uck: -.PP -\fI0\fR -.RS 4 -Erfolg -.RE -.PP -\fI1\fR -.RS 4 -Die Passwortdatei kann nicht aktualisieren werden\&. -.RE -.PP -\fI2\fR -.RS 4 -unzul\(:assige Syntax f\(:ur diesen Befehl -.RE -.PP -\fI3\fR -.RS 4 -ung\(:ultiges Argument f\(:ur Option -.RE -.PP -\fI4\fR -.RS 4 -UID ist schon vergeben (und kein -\fB\-o\fR) -.RE -.PP -\fI6\fR -.RS 4 -angegebene Gruppe ist nicht vorhanden -.RE -.PP -\fI9\fR -.RS 4 -Benutzername ist schon vergeben -.RE -.PP -\fI10\fR -.RS 4 -Die Gruppendatei kann nicht aktualisieren werden\&. -.RE -.PP -\fI12\fR -.RS 4 -Home\-Verzeichnis kann nicht erstellt werden\&. -.RE -.PP -\fI14\fR -.RS 4 -Die Zuordnung von SELinux\-Benutzern kann nicht aktualisiert werden\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBnewusers\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/de/man8/userdel.8 b/man/de/man8/userdel.8 deleted file mode 100644 index ad297270..00000000 --- a/man/de/man8/userdel.8 +++ /dev/null @@ -1,300 +0,0 @@ -'\" t -.\" Title: userdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "USERDEL" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -userdel \- l\(:oscht ein Benutzerkonto und die dazugeh\(:origen Dateien -.SH "\(:UBERSICHT" -.HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [Optionen] \fIANMELDENAME\fR -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBuserdel\fR -bearbeitet die Kontodateien des Systems und l\(:oscht darin alle Eintr\(:age, die auf den -\fIANMELDENAMEN\fR -verweisen\&. Der bezeichnete Benutzer muss existieren\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBuserdel\fR -unterst\(:utzt werden, sind: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Diese Option erzwingt, dass der Benutzer entfernt wird, selbst wenn er noch angemeldet ist\&. Sie f\(:uhrt auch dazu, dass -\fBuserdel\fR -das Home\-Verzeichnis und den Mailspool des Benutzers entfernt, sogar wenn ein anderer Benutzer dasselbe Home\-Verzeichnis hat oder der Mailspool nicht dem angegebenen Benutzer geh\(:ort\&. Falls in -/etc/login\&.defs -\fBUSERGROUPS_ENAB\fR -auf -\fIyes\fR -gesetzt ist und eine Gruppe mit dem gleichen Namen wie der gel\(:oschte Benutzer vorhanden ist, wird auch diese Gruppe entfernt, selbst wenn sie die Hauptgruppe anderer Benutzer ist\&. -.sp -\fIHinweis:\fR -Diese Option ist gef\(:ahrlich und kann dazu f\(:uhren, dass Ihr System nicht mehr ordnungsgem\(:a\(ss funktioniert\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-r\fR, \fB\-\-remove\fR -.RS 4 -Die Dateien im Home\-Verzeichnis des Benutzers werden zusammen mit dem Home\-Verzeichnis und dem Mailspool entfernt\&. Dateien, die sich nicht unterhalb des Home\-Verzeichnisses befinden, m\(:ussen per Hand gesucht und gel\(:oscht werden\&. -.sp -Der Mailspool wird durch die Variable -\fBMAIL_DIR\fR -in der Datei -login\&.defs -definiert\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR -.RS 4 -entfernt die Zuordnung von SELinux\-Benutzern aus den Anmeldeinformationen des Benutzers -.RE -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBMAIL_DIR\fR (Zeichenkette) -.RS 4 -Das Verzeichnis des Mail\-Spools\&. Diese Angabe wird ben\(:otigt, um die Mailbox zu bearbeiten, nachdem das entsprechende Benutzerkonto ver\(:andert oder gel\(:oscht wurde\&. Falls nicht angegeben, wird ein Standard verwendet, der beim Kompilieren festgelegt wurde\&. -.RE -.PP -\fBMAIL_FILE\fR (Zeichenkette) -.RS 4 -Legt den Ort der Mail\-Spool\-Dateien eines Benutzers relativ zu seinem Home\-Verzeichnis fest\&. -.RE -.PP -Die Variablen -\fBMAIL_DIR\fR -und -\fBMAIL_FILE\fR -werden von -\fBuseradd\fR, -\fBusermod\fR -und -\fBuserdel\fR -verwendet, um den Mail\-Spool eines Benutzers zu erstellen, zu verschieben oder zu l\(:oschen\&. -.PP -Falls -\fBMAIL_CHECK_ENAB\fR -auf -\fIyes\fR -gesetzt ist, werden sie auch verwendet, um die Umgebungsvariable -\fBMAIL\fR -festzulegen\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.PP -\fBUSERDEL_CMD\fR (Zeichenkette) -.RS 4 -Falls angegeben, wird dieser Befehl ausgef\(:uhrt, wenn ein Benutzer entfernt wird\&. Damit k\(:onnen At\-, Cron\- und Druckauftr\(:age etc\&. des entfernten Benutzers (wird als erstes Argument \(:ubergeben) gel\(:oscht werden\&. -.sp -Der R\(:uckgabewert des Skripts wird nicht ausgewertet\&. -.sp -Dies ist ein Beispielsskript, das die cron\-, at\- und Druckauftr\(:age des Benutzers entfernt: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# Pr\(:ufen, ob das ben\(:otigte Argument angegeben wurde -if [ $# != 1 ]; then - echo "Verwendungsweise: $0 Benutzername" - exit 1 -fi - -# cron\-Auftr\(:age entfernen -crontab \-r \-u $1 - -# at\-Auftr\(:age entfernen\&. -# Hinweis: Dies wird alle Auftr\(:age entfernen, die der gleichen UID -# geh\(:oren, selbst wenn sie von einem Benutzer mit einem anderen Namen -# eingerichtet wurden\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# Druck\-Auftr\(:age entfernen -lprm $1 - -# Fertig -exit 0 - -.fi -.if n \{\ -.RE -.\} -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolesch) -.RS 4 -Erlaubt Benutzern, die nicht Root sind, die Umask\-Gruppen\-Bits auf ihre Umask\-Bits zu setzen (Beispiel: 022 \-> 002, 077 \-> 007), falls die UID mit der GID identisch ist sowie der Benutzername mit dem Gruppennamen \(:ubereinstimmt\&. -.sp -Wenn der Wert -\fIyes\fR -ist, wird -\fBuserdel\fR -die Gruppe des Benutzers entfernen, falls sie keine Mitglieder mehr hat, und -\fBuseradd\fR -wird standardm\(:a\(ssig eine Gruppe mit dem Namen des Benutzers erstellen\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "R\(:UCKGABEWERTE" -.PP -Der Befehl -\fBuserdel\fR -gibt beim Beenden folgende Werte zur\(:uck: -.PP -\fI0\fR -.RS 4 -Erfolg -.RE -.PP -\fI1\fR -.RS 4 -Die Passwortdatei kann nicht aktualisieren werden\&. -.RE -.PP -\fI2\fR -.RS 4 -unzul\(:assige Syntax f\(:ur diesen Befehl -.RE -.PP -\fI6\fR -.RS 4 -Der angegebene Benutzer ist nicht vorhanden\&. -.RE -.PP -\fI8\fR -.RS 4 -Benutzer ist im Moment angemeldet\&. -.RE -.PP -\fI10\fR -.RS 4 -Die Gruppendatei kann nicht aktualisieren werden\&. -.RE -.PP -\fI12\fR -.RS 4 -Das Home\-Verzeichnis kann nicht gel\(:oscht werden\&. -.RE -.SH "WARNUNGEN" -.PP -\fBuserdel\fR -l\(:oscht ein Benutzerkonto nicht, wenn Prozesse laufen, die diesem Konto geh\(:oren\&. In diesem Fall m\(:ussen Sie entweder diese Prozesse beenden oder das Passwort oder Konto des Benutzers sperren und das Konto sp\(:ater entfernen\&. Die Option -\fB\-f\fR -erzwingt das L\(:oschen eines Kontos\&. -.PP -Sie sollten von Hand alle Systemdateien \(:uberpr\(:ufen, um sicherzustellen, dass keine Dateien vorhanden sind, die dem gel\(:oschten Benutzer geh\(:oren\&. -.PP -Sie sollten keine NIS\-Attribute auf einem NIS\-Client l\(:oschen\&. Dies muss auf dem NIS\-Server durchgef\(:uhrt werden\&. -.PP -Falls in -/etc/login\&.defs -\fBUSERGROUPS_ENAB\fR -auf -\fIyes\fR -gesetzt ist, wird -\fBuserdel\fR -die Gruppe mit dem gleichen Namen wie der Benutzer entfernen\&. Um Unstimmigkeiten in der Passwort\- und Gruppendatenbank zu vermeiden, \(:uberpr\(:uft -\fBuserdel\fR, ob diese Gruppe die Hauptgruppe f\(:ur andere Benutzer ist\&. Gegebenenfalls wird eine Warnung angezeigt und die betreffende Gruppe nicht entfernt\&. Mit der Option -\fB\-f\fR -kann das L\(:oschen dieser Gruppe erzwungen werden\&. -.SH "SIEHE AUCH" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBlogin.defs\fR(5), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/de/man8/usermod.8 b/man/de/man8/usermod.8 deleted file mode 100644 index 9ec6284c..00000000 --- a/man/de/man8/usermod.8 +++ /dev/null @@ -1,451 +0,0 @@ -'\" t -.\" Title: usermod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "USERMOD" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -usermod \- ver\(:andert ein Benutzerkonto -.SH "\(:UBERSICHT" -.HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIOptionen\fR] \fIANMELDENAME\fR -.SH "BESCHREIBUNG" -.PP -Der Befehl -\fBusermod\fR -ver\(:andert die Kontodateien des Systems, so dass sie die \(:Anderungen enthalten, die in der Befehlszeile eingegeben wurden\&. -.SH "OPTIONEN" -.PP -Die Optionen, die vom Befehl -\fBusermod\fR -unterst\(:utzt werden, sind: -.PP -\fB\-a\fR, \fB\-\-append\fR -.RS 4 -F\(:ugt den Benutzer weiteren Gruppen hinzu\&. Kann nur zusammen mit der Option -\fB\-G\fR -verwendet werden\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fIKOMMENTAR\fR -.RS 4 -Der neue Wert des Kommentarfelds in der Passwortdatei des Benutzers\&. Er wird normalerweise mit dem Werkzeug -\fBchfn\fR(1) -ver\(:andert\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\fR\ \&\fIHOME_VERZ\fR -.RS 4 -das neue Home\-Verzeichnis des Benutzers -.sp -Wenn die Option -\fB\-m\fR -verwendet wurde, wird der Inhalt des aktuellen Home\-Verzeichnisses in das neue Home\-Verzeichnis verschoben\&. Falls dieses nicht existiert, wird es angelegt\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIVERFALLS_DATUM\fR -.RS 4 -Das Datum, an welchem das Benutzerkonto deaktiviert wird\&. Das Datum muss im Format -\fIJJJJ\-MM\-TT\fR -angegeben werden\&. -.sp -Wenn das Argument -\fIVERFALLS_DATUM\fR -leer bleibt, wird der Verfall des Kontos deaktiviert\&. -.sp -Diese Option ben\(:otigt die Datei -/etc/shadow\&. Falls die Datei -/etc/shadow -leer sein sollte, wird ein Eintrag erstellt\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINAKTIV\fR -.RS 4 -Die Anzahl von Tagen, nach denen ein Passwort abgelaufen ist, bis das Konto deaktiviert wird\&. -.sp -Ein Wert von 0 deaktiviert das Konto, sobald das Passwort abl\(:auft\&. Ein Wert von \-1 schaltet diese Funktion ab\&. -.sp -Diese Option ben\(:otigt die Datei -/etc/shadow\&. Falls die Datei -/etc/shadow -leer sein sollte, wird ein Eintrag erstellt\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGRUPPE\fR -.RS 4 -Der Name oder die Zahl der anf\(:anglichen Anmeldegruppe eines neuen Benutzers\&. Der Gruppenname muss existieren\&. -.sp -Jede Datei im Home\-Verzeichnis des Benutzers, die der alten Hauptgruppe des Benutzers geh\(:orte, wird dieser neuen Gruppe geh\(:oren\&. -.sp -Die Gruppenzugeh\(:origkeit von Dateien au\(sserhalb des Home\-Verzeichnisses des Benutzers muss per Hand angepasst werden\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGRUPPE_1\fR[\fI,GRUPPE_2, \&.\&.\&.\fR[\fI,GRUPPE_N\fR]]] -.RS 4 -Eine Liste zus\(:atzlicher Gruppen, denen der Benutzer ebenfalls angeh\(:ort\&. Die Gruppen sind durch Kommata ohne Leerzeichen von einander zu trennen\&. Die Gruppen unterliegen denselben Beschr\(:ankungen wie die Gruppe, die mit der Option -\fB\-g\fR -bestimmt wurde\&. -.sp -Wenn der Benutzer aktuell Mitglied einer Gruppe ist, die nicht angegeben ist, wird er aus dieser Gruppe entfernt\&. Dieses Verhalten kann mit der Option -\fB\-a\fR -abgeschaltet werden\&. Damit wird der Benutzer nur den angegebenen Gruppen hinzugef\(:ugt, ohne aus den \(:ubrigen gel\(:oscht zu werden\&. -.RE -.PP -\fB\-l\fR, \fB\-\-login\fR\ \&\fINEUER_ANMELDENAME\fR -.RS 4 -Der Benutzername wird von -\fIANMELDENAME\fR -zu -\fINEUER_ANMELDENAME\fR -ver\(:andert\&. Andere Ver\(:anderungen werden nicht vorgenommen\&. Daher sollte wahrscheinlich der Name des Home\-Verzeichnisses des Benutzers per Hand ge\(:andert werden, um dem neuen Anmeldenamen Rechnung zu tragen\&. -.RE -.PP -\fB\-L\fR, \fB\-\-lock\fR -.RS 4 -Sperrt das Passwort eines Benutzers\&. Dadurch wird ein \(Fc!\(Fo vor das verschl\(:usselte Passwort gesetzt, wodurch im Ergebnis das Passwort abgeschaltet wird\&. Sie k\(:onnen diese Option nicht mit -\fB\-p\fR -oder -\fB\-U\fR -verwenden\&. -.sp -Hinweis: Wenn Sie das Konto sperren wollen (und nicht nur den Zugang mit einem Passwort), m\(:ussen Sie auch das -\fIVERFALLSDATUM\fR -auf -\fI1\fR -setzen\&. -.RE -.PP -\fB\-m\fR, \fB\-\-move\-home\fR -.RS 4 -verschiebt den Inhalt des Home\-Verzeichnisses eines Benutzers zu dem neuen Ziel -.sp -Diese Option ist nur in Verbindung mit der Option -\fB\-d\fR -(oder -\fB\-\-home\fR) zul\(:assig\&. -.sp -\fBusermod\fR -versucht, den Eigent\(:umer der Dateien anzupassen und die Rechte, ACL und erweiterten Attribute zu \(:ubernehmen, aber Anpassungen per Hand k\(:onnen dennoch notwendig sein\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Wenn es mit der Option -\fB\-u\fR -verwendet wird, kann mit dieser Option der Wert der Benutzer\-ID auf einen nicht eindeutigen Wert gesetzt werden\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORT\fR -.RS 4 -das verschl\(:usselte Passwort, wie es von -\fBcrypt\fR(3) -zur\(:uckgegeben wird -.sp -\fBHinweis:\fR -Diese Option ist nicht empfehlenswert, weil das Passwort (auch wenn es verschl\(:usselt ist) f\(:ur Benutzer sichtbar ist, die sich den Prozess anzeigen lassen\&. -.sp -Sie sollten sicherstellen, dass das Passwort den Passwortrichtlinien des Systems entspricht\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -Der Name der neuen Anmelde\-Shell des Benutzers\&. Falls dieses Feld leer gelassen wird, verwendet das System die Standard\-Anmelde\-Shell\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -der neue numerische Wert der UID des Benutzers -.sp -Dieser Wert muss eindeutig sein, sofern nicht die Option -\fB\-o\fR -verwendet wird\&. Der Wert darf nicht negativ sein\&. -.sp -F\(:ur die Mailbox des Benutzers und alle Dateien, die ihm geh\(:oren und sich in seinem Home\-Verzeichnis befinden, wird die ID des Eigent\(:umers automatisch angepasst\&. -.sp -Der Eigent\(:umer von Dateien au\(sserhalb des Home\-Verzeichnisses des Benutzers muss per Hand angepasst werden\&. -.sp -Die Werte von -\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBSYS_UID_MIN\fR -und -\fBSYS_UID_MAX\fR -aus -/etc/login\&.defs -werden nicht gepr\(:uft\&. -.RE -.PP -\fB\-U\fR, \fB\-\-unlock\fR -.RS 4 -Gibt das Passwort eines Benutzers frei\&. Dies entfernt das \(Fc!\(Fo vor dem verschl\(:usselten Passwort\&. Sie k\(:onnen diese Option nicht mit -\fB\-p\fR -oder -\fB\-U\fR -verwenden\&. -.sp -Hinweis: Falls Sie das Benutzerkonto freigeben wollen (und nicht nur den Zugang mit einem Passwort), sollten Sie auch das -\fIVERFALLSDATUM\fR -bearbeiten (zum Beispiel auf -\fI99999\fR -oder den Wert von -\fBEXPIRE\fR -aus -/etc/default/useradd -setzen)\&. -.RE -.PP -\fB\-v\fR, \fB\-\-add\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate uids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-V\fR, \fB\-\-del\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate uids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-uids\fR -and -\fB\-\-add\-sub\-uids\fR -are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-w\fR, \fB\-\-add\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate gids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-W\fR, \fB\-\-del\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate gids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-gids\fR -and -\fB\-\-add\-sub\-gids\fR -are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISE\-BENUTZER\fR -.RS 4 -der neue SELinux\-Benutzer f\(:ur den Anmeldenamen des Benutzers -.sp -Wenn -\fISEBENUTZER\fR -leer ist, wird die Zuordnung von SELinux\-Benutzern (sofern vorhanden) aus den Anmeldeinformationen des Benutzers entfernt -.RE -.SH "WARNUNGEN" -.PP -You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. -\fBusermod\fR -checks this on Linux\&. On other platforms it only uses utmp to check if the user is logged in\&. -.PP -Sie m\(:ussen den Eigent\(:umer von -\fBcrontab\fR\-Dateien oder -\fBat\fR\-Auftr\(:agen per Hand \(:andern\&. -.PP -Sie m\(:ussen alle \(:Anderung in Bezug auf NIS auf dem NIS\-Server vornehmen\&. -.SH "KONFIGURATION" -.PP -Die folgenden Konfigurationsvariablen in -/etc/login\&.defs -beeinflussen das Verhalten dieses Werkzeugs: -.PP -\fBMAIL_DIR\fR (Zeichenkette) -.RS 4 -Das Verzeichnis des Mail\-Spools\&. Diese Angabe wird ben\(:otigt, um die Mailbox zu bearbeiten, nachdem das entsprechende Benutzerkonto ver\(:andert oder gel\(:oscht wurde\&. Falls nicht angegeben, wird ein Standard verwendet, der beim Kompilieren festgelegt wurde\&. -.RE -.PP -\fBMAIL_FILE\fR (Zeichenkette) -.RS 4 -Legt den Ort der Mail\-Spool\-Dateien eines Benutzers relativ zu seinem Home\-Verzeichnis fest\&. -.RE -.PP -Die Variablen -\fBMAIL_DIR\fR -und -\fBMAIL_FILE\fR -werden von -\fBuseradd\fR, -\fBusermod\fR -und -\fBuserdel\fR -verwendet, um den Mail\-Spool eines Benutzers zu erstellen, zu verschieben oder zu l\(:oschen\&. -.PP -Falls -\fBMAIL_CHECK_ENAB\fR -auf -\fIyes\fR -gesetzt ist, werden sie auch verwendet, um die Umgebungsvariable -\fBMAIL\fR -festzulegen\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (Zahl) -.RS 4 -Maximale Anzahl von Mitgliedern je Gruppeneintrag\&. Wenn das Maximum erreicht wird, wird ein weiterer Eintrag in -/etc/group -(mit dem gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt\&. -.sp -Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder einer Gruppe nicht begrenzt ist\&. -.sp -Diese F\(:ahigkeit (der aufgeteilten Gruppe) erm\(:oglicht es, die Zeilenl\(:ange in der Gruppendatei zu begrenzen\&. Damit kann sichergestellt werden, dass die Zeilen f\(:ur NIS\-Gruppen nicht l\(:anger als 1024 Zeichen sind\&. -.sp -Falls Sie eine solche Begrenzung ben\(:otigen, k\(:onnen Sie 25 verwenden\&. -.sp -Hinweis: Aufgeteilte Gruppen werden m\(:oglicherweise nicht von allen Werkzeugen unterst\(:utzt, selbst nicht aus der Shadow\-Werkzeugsammlung\&. Sie sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen sind\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung -.RE -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "SIEHE AUCH" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8)\&. diff --git a/man/de/man8/vigr.8 b/man/de/man8/vigr.8 deleted file mode 100644 index ff72d7ae..00000000 --- a/man/de/man8/vigr.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/vipw.8 diff --git a/man/de/man8/vipw.8 b/man/de/man8/vipw.8 deleted file mode 100644 index 89ca18ba..00000000 --- a/man/de/man8/vipw.8 +++ /dev/null @@ -1,136 +0,0 @@ -'\" t -.\" Title: vipw -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18.09.2016 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.4 -.\" Language: German -.\" -.TH "VIPW" "8" "18.09.2016" "shadow\-utils 4\&.4" "Befehle zur Systemverwaltung" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -vipw, vigr \- bearbeitet die Passwort\-, Gruppen\-, Shadow\-Passwort\- oder Shadow\-Gruppen\-Datei -.SH "\(:UBERSICHT" -.HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIOptionen\fR] -.HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIOptionen\fR] -.SH "BESCHREIBUNG" -.PP -Die Befehle -\fBvipw\fR -und -\fBvigr\fR -bearbeiten die Dateien -/etc/passwd -beziehungsweise -/etc/group\&. Mit der Option -\fB\-s\fR -bearbeiten Sie die Shadow\-Versionen beider Dateien, -/etc/shadow -und -/etc/gshadow\&. Die Programme werden die geeigneten Sperren setzen, um eine Besch\(:adigung der Dateien zu verhindern\&. Wenn ein Editor ben\(:otigt wird, wird zuerst die Umgebungsvariable -\fB$VISUAL\fR -ausgewertet, danach die Umgebungsvariable -\fB$EDITOR\fR\&. Zuletzt wird der Standard\-Editor -\fBvi\fR(1) -verwendet\&. -.SH "OPTIONEN" -.PP -Die Optionen, die von den Befehlen -\fBvipw\fR -und -\fBvigr\fR -unterst\(:utzt werden, sind: -.PP -\fB\-g\fR, \fB\-\-group\fR -.RS 4 -bearbeitet die Gruppendatenbank -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -zeigt die Hilfe an und beendet das Programm -.RE -.PP -\fB\-p\fR, \fB\-\-passwd\fR -.RS 4 -bearbeitet die Passwd\-Datenbank -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -stiller Modus -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_VERZ\fR -.RS 4 -f\(:uhrt die Ver\(:anderungen in dem Verzeichnis -\fICHROOT_VERZ\fR -durch und verwendet die Konfigurationsdateien aus dem Verzeichnis -\fICHROOT_VERZ\fR -.RE -.PP -\fB\-s\fR, \fB\-\-shadow\fR -.RS 4 -bearbeitet die Shadow\- oder Gshadow\-Datenbank -.RE -.SH "UMGEBUNGSVARIABLEN" -.PP -\fBVISUAL\fR -.RS 4 -der verwendete Editor -.RE -.PP -\fBEDITOR\fR -.RS 4 -der verwendete Editor, wenn -\fBVISUAL\fR -nicht gesetzt ist -.RE -.SH "DATEIEN" -.PP -/etc/group -.RS 4 -Informationen zu den Gruppenkonten -.RE -.PP -/etc/gshadow -.RS 4 -sichere Informationen zu den Gruppenkonten -.RE -.PP -/etc/passwd -.RS 4 -Informationen zu den Benutzerkonten -.RE -.PP -/etc/shadow -.RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten -.RE -.SH "SIEHE AUCH" -.PP -\fBvi\fR(1),\fBgroup\fR(5), -\fBgshadow\fR(5), -\fBpasswd\fR(5), , -\fBshadow\fR(5)\&. diff --git a/man/es/Makefile.in b/man/es/Makefile.in deleted file mode 100644 index 331957b4..00000000 --- a/man/es/Makefile.in +++ /dev/null @@ -1,481 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = man/es -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/es -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = - -# These Spanish manpages are outdated. -# Please contact pkg-shadow-devel@lists.alioth.debian.org if you wish to -# provide updates. -# man1/login.1 \ -# man1/newgrp.1 \ -# man1/passwd.1 \ -# man5/passwd.5 \ -# man1/su.1 \ -# man8/vigr.8 \ -# man8/vipw.8 -EXTRA_DIST = $(man_MANS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/es/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/es/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/es/man1/login.1 b/man/es/man1/login.1 new file mode 100644 index 00000000..ae3b7fc9 --- /dev/null +++ b/man/es/man1/login.1 @@ -0,0 +1,332 @@ +.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) +.\" May be distributed under the GNU General Public License +.\" +.\" Translated 17 sep. 1998 by Juan JosĆ© López Mellado(laveneno@hotmail.com) +.\" +.TH LOGIN 1 "4 Noviembre 1996" "Util\-linux 1.6" "Manual del Programador de Linux" +.SH NOMBRE +login \- firmar +.SH SINOPSIS +.BR "login [ " name " ]" +.br +.B "login \-p" +.br +.BR "login \-h " hostname +.br +.BR "login \-f " name +.SH DESCRIPCIƓN +.B login +es usado cuando se firma en un sistema. Puede ser usado para cambiar +desde un usuario a otro en cualquier momento (los shells mĆ”s modernos +disponen de esta caracterĆ­stica incluida internamente). + +Si no se da ningĆŗn argumento, +.B login +pregunta por el nombre de usuario. + +Si el usuario +.I no +es root, y si existe +.IR /etc/nologin , +el contenido de este fichero se escribe en la pantalla y el ingreso +finaliza. Esto se usa tĆ­picamente para prevenir los ingresos cuando el +sistema se estĆ” cerrando. + +Si se han especificado restricciones de acceso para el usuario en +.IR /etc/usertty , +estas son requeridas, o la petición de ingreso serĆ” denegada y se +generarĆ” un mensaje a travĆ©s de +.BR syslog . +Vea la sección "Restricciones de Acceso Especiales". + +Si el usuario es root, entonces el ingreso debe estar ocurriendo en +alguno de los tty listados en +.IR /etc/securetty . +Los fallos serĆ”n registrados mediante +.BR syslog . + +DespuĆ©s de comprobar estas condiciones, se pedirĆ” la contraseƱa y se +validarĆ” (si es que se requiere de una contraseƱa para el usuario). Se +permite un total de diez intentos antes de que +.B login +muera, pero despuĆ©s de los tres primeros, la respuesta comienza a ser muy +lenta. Los fallos de ingreso son registrados a travĆ©s de +.BR syslog . +TambiĆ©n es usado para registrar cualquier ingreso correcto del usuario +root. + +Si el fichero +.I .hushlogin +existe, entonces se realiza un ingreso "reservado" (esto deshabilita la +comprobación del correo y la escritura de la hora del Ćŗltimo ingreso asĆ­ +como el mensaje del dĆ­a). Por otro lado, si existe +.IR /var/log/lastlog , +la hora del Ćŗltimo ingreso se imprime (y el ingreso actual es +registrado). + +Se llevan a cabo algunas tareas administrativas, como el cambio del UID y +GID del tty. La variable de entorno TERM se preserva, si existe (las +otras variables de entorno son preservadas si se usa la opción +.BR \-p ). +DespuĆ©s son definidas las variables HOME, PATH, SHELL, TERM, MAIL y +LOGNAME. El PATH por defecto serĆ” +.I /usr/local/bin:/bin:/usr/bin:. +para usuarios normales, y +.I /sbin:/bin:/usr/sbin:/usr/bin +para root. Por Ćŗltimo, si no es un ingreso "reservado", el mensaje del +dĆ­a serĆ” imprimido y se comprobarĆ” el fichero con el nombre del usuario en +.I /usr/spool/mail +y se imprimirĆ” un mensaje si este tuviera un tamaƱo diferente de cero. + +A continuación, se inicia el shell del usuario. Si no se especifica ninguno +para el usuario en +.BR /etc/passwd , +entonces se usarĆ” +.BR /bin/sh . +Si no hay un directorio especificado en +.IR /etc/passwd , +entonces se usarĆ” +.I / +(el directorio del usuario se analizarĆ” en busca del fichero +.I .hushlogin +descrito mĆ”s abajo). + +.SH OPCIONES +.TP +.B \-p +Usado por +.BR getty (8) +para indicar a +.B login +que no destruya el entorno +.TP +.B \-f +Usado para evitar la segunda autenticación del ingreso. Esto +.B no +funciona especĆ­ficamente para root y no parece que funcione +correctamente bajo Linux. +.TP +.B \-h +Usado por otros servidores (por ejemplo, +.BR telnetd (8)) +para pasar el nombre del host remoto a +.B login +de tal manera que pueda ser puesto en utmp y wtmp. Solo el superusuario +podrĆ” usar esta opción. + +.SH "RESTRICCIONES DE ACCESO ESPECIALES" +El fichero +.I /etc/securetty +lista los nombres de los ttys donde se permite que el root pueda +ingresar. DeberĆ” especificarse un nombre de tty por lĆ­nea (sin el prefijo +/dev/). Si el fichero no existiera, se permitirĆ” su ingreso desde +cualquier tty. +.PP +El fichero +.I /etc/usertty +especifica restricciones de acceso adicionales para usuarios especĆ­ficos. +Si no existiera este fichero, no se impondrĆ” ninguna restricción de +acceso adicional. El fichero consiste en una secuencia de secciones. Hay +tres tipos de secciones posibles: CLASSES, GROUPS y USERS. Una sección +de tipo CLASSES define tipos de ttys y patrones de nombres de hosts, una +sección de tipo GROUPS define los ttys permitidos y los hosts grupo por +grupo y una sección USERS define los ttys permitidos y los hosts usuario +por usuario. +.PP +Cada lĆ­nea de este fichero no puede tener mĆ”s de 255 caracteres. Los +comentarios comienzan con un carĆ”cter # y se extienden hasta el final de +la lĆ­nea. +.PP +.SS "La sección CLASSES" +Una sección de tipo CLASSES comienza por la palabra CLASSES al principio +de la lĆ­nea escrito en mayĆŗsculas. Cada una de las lĆ­neas hasta el +principio de una nueva sección o del final del fichero consiste en una +secuencia de palabras separadas pos tabuladores o espacios. Cada lĆ­nea +define una clase de ttys y patrones de hosts. +.PP +La palabra al principio de la lĆ­nea es tomada como el nombre colectivo +para los ttys y patrones de hosts especificados en el resto de la lĆ­nea. +Este nombre colectivo puede usarse en las siguientes secciones de tipo +GROUPS o USERS. No deberĆ­a aparecer el nombre de una clase como parte de +la definición de una clase para evitar problemas de recursividad de +nombres. +.PP +Una sección CLASSES de ejemplo: +.PP +.nf +.in +.5 +CLASSES +miclase1 tty1 tty2 +miclase2 tty3 @.foo.com +.in -.5 +.fi +.PP +Esto define las clases +.I miclase1 +y +.I miclase2 +como las partes derechas correspondientes. +.PP + +.SS "La sección GROUPS" +Una sección GROUPS define los ttys y hosts permitidos para cada grupo +.I /etc/passwd +y +.I /etc/group +y ese grupo es mencionado en una sección de tipo GROUPS en +.I /etc/usertty +entonces el usuario tiene acceso permitido. +.PP +Una sección GROUPS comienza con la palabra GROUPS en mayĆŗsculas en el +principio de una lĆ­nea, y cada una de las siguientes lĆ­neas es una +secuencia de palabras separadas pos espacios o tabuladores. La primera +palabra de una lĆ­nea es el nombre del grupo, y el resto de las palabras +de la lĆ­nea especifican los ttys y hosts donde los miembros de ese grupo +tienen permitido el acceso. Estas especificaciones pueden comportar el +uso de las clases definidas en secciones CLASSES anteriores. +.PP +Un ejemplo de una sección GROUPS: +.PP +.nf +.in +0.5 +GROUPS +sys tty1 @.bar.edu +stud miclase1 tty4 +.in -0.5 +.fi +.PP +Este ejemplo especifica que los miembros del grupo +.I sys +pueden ingresar en el tty1 y desde los hosts en el dominio bar.edu. Los +usuarios en el grupo +.I stud +pueden ingresar desde los hosts/ttys especificados en la clase miclase1 o +desde el tty4. +.PP + +.SS "La sección USERS" +Una sección USERS comienza con la palabra USERS toda en mayĆŗsculas al +principio de la lĆ­nea, y cada una de las lĆ­neas siguientes es una +secuencia de palabras separadas por espacios o tabuladores. La primera +palabra de una lĆ­nea es un nombre de usuario y a ese usuario se le +permite ingresar en los ttys y desde los hosts mencionados en el resto de +la lĆ­nea. Estas especificaciones pueden contener clases definidas en +secciones CLASSES anteriores. Si no se especifica al principio del +fichero una cabecera de sección, por defecto la primera sección se +interpreta como del tipo USERS. + +.PP +Una sección USERS de ejemplo: +.PP +.nf +.in +0.5 +USERS +zacho tty1 @130.225.16.0/255.255.255.0 +pepe tty3 miclase2 +.in -0.5 +.fi +.PP +Esto autoriza al usuario zacho a ingresar solo en el tty1 y desde los +hosts con direcciones IP en el rango 130.225.16.0 \- 130.225.16.255, y +tambiĆ©n autoriza al usuario pepe a ingresar en el tty3 y desde cualquier +parte mencionada en la clase miclase2. +.PP +PodrĆ” aparecer una lĆ­nea en la sección USERS que comience por un nombre +de usuario *. Esta es la regla por defecto y serĆ” aplicada a cualquier +usuario que no aparezca en ninguna de las otras lĆ­neas. +.PP +Si un usuario encaja con una lĆ­nea USERS y con una lĆ­nea GROUPS, el +usuario estarĆ” autorizado a ingresar desde la unión de todos los +ttys/hosts mencionados en estas especificaciones. + +.SS OrĆ­genes +Las especificaciones de patrones de tty y host usadas en la +especificación de las clases, grupos y usuarios se llaman orĆ­genes. Un +origen es una cadena de caracteres que puede tener uno de estos formatos: +.IP o +El nombre de un dispositivo tty sin el prefijo /dev/, por ejemplo tty1 o +ttyS0. +.PP +.IP o +La cadena @localhost, indicando que el usuario estĆ” autorizado a +telnet/rlogin desde el host local al mismo host. Esto tambiĆ©n habilita al +usuario a ejecutar, por ejemplo, el comando: xterm \-e /bin/login. +.PP +.IP o +Un sufijo de nombre de dominio como @.algun.dom, indicando que el usuario +podrĆ” hacer rlogin/telnet desde cualquier host cuyo nombre de dominio +tenga el sufijo .algun.dom. +.PP +.IP o +Un rango de direcciones IPv4, escritas @x.x.x.x/y.y.y.y donde x.x.x.x es +la dirección IP en la notación decimal tradicional con puntos, e y.y.y.y +es una mĆ”scara de bits en la misma notación especificando cuales de los +bits de la dirección serĆ”n comparados con la dirección IP del host +remoto. Por ejemplo @130.255.16.0/255.255.254.0 significa que el usuario +podrĆ” hacer rlogin/telnet desde cualquier host cuya dirección IP estĆ© en +el rango 130.255.16.0 \- 130.255.17.255. +.PP +Cualquiera de los orĆ­genes anteriores pueden tener un prefijo con la +especificación temporal acordando con la sintaxis: +.PP +.nf +espec\-tiempo ::= '[' [':' ]* ']' +dĆ­a ::= 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun' +hora ::= '0' | '1' | ... | '23' +espec\-hora ::= | '\-' +dĆ­a\-u\-hora ::= | +.fi +.PP +Por ejemplo, el origen [mon:tue:wed:thu:fri:8\-17]tty3 significa que solo +se permitirĆ”n ingresos de lunes a viernes entre las 8:00 y las 17:59 +(5:59 pm) en el tty3. Esto tambiĆ©n muestra que un rango de horas a\-b +incluye todo momento entre a:00 y b:59. Una sola hora (por ejemplo 10) +significarĆ” un espacio temporal entre las 10:00 y las 10:59. +.PP +Si no se especifica ningĆŗn prefijo temporal para un tty o host significarĆ” +que se permitirĆ” el ingreso desde ese origen a cualquier hora. Si da un +prefijo temporal asegĆŗrese de especificar tanto el conjunto de dĆ­as como +una o mĆ”s horas o rango de horas. Una especificación de tiempo no puede +incluir espacios en blanco. +.PP +Si no se define ninguna regla por defecto entonces los usuarios que no +concuerden con ninguna lĆ­nea de +.I /etc/usertty +estĆ” autorizados para ingresar desde cualquier lugar en la manera +estĆ”ndar. +.PP +.SH FICHEROS +.nf +.I /var/run/utmp +.I /var/log/wtmp +.I /var/log/lastlog +.I /usr/spool/mail/* +.I /etc/motd +.I /etc/passwd +.I /etc/nologin +.I /etc/usertty +.I .hushlogin +.fi +.SH "VƉASE TAMBIƉN" +.BR init (8), +.BR getty (8), +.BR mail (1), +.BR passwd (1), +.BR passwd (5), +.BR environ (7), +.BR shutdown (8) +.SH FALLOS + +Linux, a diferencia de otros sistemas operativos draconianos, no comprueba +las cuotas. + +La opción no documentada +.B \-r +de BSD no estĆ” soportada. Esta podrĆ­a ser requerida por algĆŗn programa +.BR rlogind (8) +. +.SH AUTOR +Derivado de login 5.40 de BSD (5/9/89) por Michael Glad (glad@daimi.dk) +para HP\-UX +.br +Portado a Linux 0.12: Peter Orbaek (poe@daimi.aau.dk) diff --git a/man/es/man1/newgrp.1 b/man/es/man1/newgrp.1 new file mode 100644 index 00000000..09854f15 --- /dev/null +++ b/man/es/man1/newgrp.1 @@ -0,0 +1,32 @@ +.\" Original author unknown. This man page is in the public domain. +.\" Modified Sat Oct 9 17:46:48 1993 by faith@cs.unc.edu +.\" +.\" Translated 19 Sep 1998 by Juan JosĆ© López Mellado +.\" (laveneno@hotmail.com) +.\" +.TH NEWGRP 1 "9 Octubre 1993" "Linux 1.2" "Manual del Programador de Linux" +.SH NOMBRE +newgrp \- ingresar con un nuevo grupo +.SH SINOPSIS +.BI "newgrp [ " group " ]" +.SH DESCRIPCIƓN +.B Newgrp +cambia la identificación de grupo de su invocador, anĆ”logamente a +.BR login (1). +La misma persona queda ingresada, y el directorio actual no es +modificado, pero los cĆ”lculos de los permisos de acceso a los ficheros se +realizan con respecto al nuevo ID de grupo. +.LP +Si no se espcifica un grupo, el GID es cambiado al GID de ingreso. +.LP +.SH FICHEROS +.I /etc/group +.br +.I /etc/passwd + +.SH "VƉASE TAMBIƉN" +.BR login "(1), " group (5) + +.SH AUTOR +Originalmente por Michael Haardt. Actualmente mantenido por +Peter Orbaek (poe@daimi.aau.dk). diff --git a/man/es/man1/passwd.1 b/man/es/man1/passwd.1 new file mode 100644 index 00000000..fb17e64b --- /dev/null +++ b/man/es/man1/passwd.1 @@ -0,0 +1,138 @@ +.\" Copyright 1992 Rickard E. Faith (faith@cs.unc.edu) +.\" May be distributed under the GNU General Public License +.\" +.\" Translated 2 Dec 1998 by Victor Moral (victor@venexma.es) +.\" +.TH PASSWD 1 "11 Noviembre 1996" "Util\-linux 2.6" "Manual del Programador Linux" +.SH NOMBRE +passwd \- cambia contraseƱas +.SH SINOPSIS +.BR "passwd" +.RB [ " \-o " ] +.RB [ " \-q " ] +.RB [ " \-v " ] +.RI [ " usuario " [ " contraseƱa " ]] +.br +.BR "passwd \-f " +.RI [ " parĆ”metros para el cambio de nombre completo del usuario " ] +.br +.BR "passwd \-s " +.RI [ " parĆ”metros para el cambio de shell " ] + +.SH DESCRIPCIƓN + +Cuando se utiliza sin parĆ”metros +.B passwd +cambia la contraseƱa para el usuario que lo invoca. Primero le exigirĆ” +la contraseƱa vigente, y a continuación pedirĆ” dos veces la nueva para +prevenir errores de escritura. + +La invocación del programa con los parĆ”metros +.IR usuario +y +.IR contraseƱa +sólo puede realizarse desde la cuenta de superusuario. + +Utilizando la invocación sólo con el parĆ”metro +.IR usuario +, el +superusuario puede cambiar la contraseƱa para ese +.IR usuario . + +En este caso no se exige al superusuario la contraseƱa vigente para el usuario, +pero las reglas para validar contraseƱas se siguen aplicando a menos que se +utilice la opción +.B "\-o". +El superusuario puede tener razones legĆ­timas para elegir una contraseƱa no +conforme a las reglas. + + +El uso de los dos parĆ”metros asigna al +.IR usuario " la " contraseƱa +indicada en el segundo parĆ”metro. Puede ser Ćŗtil cuando se debe dar a muchos +usuarios una contraseƱa inicial predefinida. Pero tambiĆ©n puede ser +extremadamente peligroso. Un simple fallo en un programa podrĆ­a cambiar la +contraseƱa del superusuario (root) a cualquier cosa desconocida. + +Indicar una cadena vacĆ­a como el segundo parĆ”metro borra la contraseƱa para +el usuario, pero sólo en combinación de la opción +.B "\-o". + +Los cambios de contraseƱa pueden registrarse utilizando el servicio +.BR syslog (3), +dependiendo de las definiciones hechas en tiempo de compilación del programa +(estando esta caracterĆ­stica activa por omisión). +Si es asĆ­, todos los cambios se registrarĆ”n a un nivel bajo como auth.notice, +excepto para cambiar la contraseƱa del superusuario (root); en este caso se +registrarĆ”n con nivel auth.warning. + +.SH OPCIONES +.TP +.B "\-f, \-\-fullname" +Cambia el nombre completo del usuario (el campo GECOS del registro de +contraseƱas). Invoca el programa /usr/bin/chfn utilizando los parĆ”metros +que ha recibido que no son opciones. + +.TP +.B "\-o, \-\-force" +Desactiva las verificaciones de validación sobre la nueva contraseƱa . Sólo +puede ser utilizada por el superusuario, y estĆ” pensado para permitirle +asignar contraseƱas iniciales simples. + +.TP +.B "\-s, \-\-shell" +Cambia el shell del usuario mediante la invocación del programa /usr/bin/chsh +con los parĆ”metros recibidos que no son opciones. + +.TP +.B "\-q, \-\-quiet, \-\-silent" +En este modo de funcionamiento passwd no indica que la contraseƱa se haya +cambiado. + +.TP +.B "\-v, \-V, \-\-version" +Muestra información acerca de la versión del programa y finaliza. + +.SH REGLAS DE CONTRASEƑAS +La nueva contraseƱa debe cumplir estas reglas: +.TP +o +tener como mĆ­nimo seis caracteres; + +.TP +o +no ser igual a la contraseƱa anterior; + +.TP +o +contener caracteres que pertenezcan, como mĆ­nimo, a dos de las +siguientes categorĆ­as: mayĆŗsculas y minĆŗsculas, dĆ­gitos y caracteres no +alfanumĆ©ricos; + +.TP +o +no debe coincidir ni con el nombre del usuario, ni con ninguna de las palabras +que forman su nombre completo (real), tanto en orden normal como inverso, ni +al principio ni al final. + +.SH FALLOS (BUGS) + +Si cambia de opinión no hay escape del programa. InsistirĆ” en obtener una +contraseƱa nueva hasta que sea muerto (mediante kill) desde otro terminal. +(Esto es provocado por un fallo en getpass(3): e ignora las seƱales.) + +.SH FICHEROS +.TP +.I /etc/passwd +El archivo que contiene las contraseƱas. +.SH "VƉASE TAMBIƉN" +.BR group (5), +.BR passwd (5), +.BR shadow (5) +.SH AUTOR +Peter Orbaek (poe@daimi.aau.dk). +.br +Martin Schulze (joey@infodrom.north.de) con extensas mejoras y reescrituras. +.br +.SH MANTENIMIENTO +Nicolai Langfeldt (janl@math.uio.no) diff --git a/man/es/man1/su.1 b/man/es/man1/su.1 new file mode 100644 index 00000000..1acf8c7d --- /dev/null +++ b/man/es/man1/su.1 @@ -0,0 +1,139 @@ +.\" \-*\- nroff \-*\- +.\"Translated 21 Jul 1998 by Javi Diaz (javid@si.upc.es) +.TH SU 1 "Utilidades Shell de GNU" "FSF" +.SH NOMBRE +su \- ejecuta una shell con identificadores de grupo y de usuario distintos +.SH SINOPSIS +.B su +[\-flmp] [\-c comando] [\-s shell] [\-\-login] [\-\-fast] +[\-\-preserve\-environment] [\-\-command=comando] [\-\-shell=shell] [\-] +[\-\-help] [\-\-version] [usuario [arg...]] +.SH DESCRIPCIƓN +Este documento ya no es mantenido y puede ser impreciso o incompleto. La +documentación de Texinfo es ahora la fuente de información recomendada. +.PP +Esta pĆ”gina del manual documenta la versión GNU de +.BR su . +.B su +permite a un usuario convertirse temporalmente en otro usuario. Se ejecuta +una shell con los identificadores reales y efectivos, el identificador de +grupo, y los identificadores suplementarios del grupo del USUARIO. Si no se +especifica ningĆŗn USUARIO, por defecto se usa root, el superusuario. +La shell a ejecutar se toma de la entrada correspondiente al USUARIO en el +fichero de passwords, o /bin/sh si no se especifica ninguna en dicho fichero. +Si el USUARIO tiene password, +.B su +lo solicitarĆ”, a menos que sea ejecutado por el usuario con identificador real +0 (el superusuario). +.PP +Por defecto, +.B su +no cambia el directorio actual. +.B su +modifica las variables de entorno `HOME' y `SHELL' de acuerdo con la entrada +del fichero de passwords correspondiente al USUARIO, y si el USUARIO no es el +superusuario, coloca en las variables `USER' y `LOGNAME' el valor de USUARIO. +Por defecto, la shell ejecutada no es una shell de entrada al sistema. +.PP +Si se facilitan uno o mĆ”s ARGs, estos son pasados como argumentos adicionales +a la shell ejecutada. +.PP +.B su +no ejecuta de manera especial /bin/sh u otras shells (colocando en argv[0] el +valor "\-su", pasando \-c Ćŗnicamente a algunas shells, etc.). +.PP +En sistemas que utilicen syslog, +.B su +puede ser compilado para reportar fallo, y opcionalmente Ć©xito en syslog. +.B su +intentarĆ” utilizar syslog. +.PP +Este programa no soporta el grupo "wheel", el cual restringe quien podrĆ” +ejecutar +.B su +hacia la cuenta de root (el superusuario) ya que esta polĆ­tica podrĆ­a +ayudar a los administradores de mĆ”quinas a facilitar un uso inadecuado a otros +usuarios. +.SS OPCIONES +.TP +.I "\-c COMANDO, \-\-command=COMANDO" +Pasa el COMANDO, una Ćŗnica lĆ­nea a ejecutar, a la shell con la opción +.I \-c +en vez de ejecutar una shell interactiva. +.TP +.I "\-f, \-\-fast" +Pasa la opción +.I \-f +a la shell. Esto probablemente tiene sentido con +.B csh +y +.BR tcsh , +en estos casos la opción +.I \-f +indica que no se lean los ficheros de arranque de la shell (.cshrc). +Con las shells del estilo Bourne shell, la opción +.I \-f +deshabilita la expansión de los patrones de fichero, la cual cosa no es +demasiado deseable. +.TP +.I "\-\-help" +Escribe un mensaje sobre el uso en la salida estĆ”ndar y acaba sin +provocar error. +.TP +.I "\-, \-l, \-\-login" +Provoca que la shell a ejecutar sea una shell de login. Lo cual significa que +se eliminan del entorno todas las variables excepto `TERM', `HOME' y `SHELL' +(las cuales se modifican como se explicó anteriormente) y `USER'y `LOGNAME' +(que se modifican, incluso para el superusuario, como se explicó anteriormente), +la variable `PATH' se aƱade al entorno con el valor por defecto que se +estableció al compilar +.B su +, ademĆ”s de los cambios anteriores, +.B su +cambia al directorio por defecto del USUARIO. Si se antepone "\-" al nombre de +la shell a ejecutar, se leerĆ”n los ficheros de arraque pertinentes. +.TP +.I "\-m, \-p, \-\-preserve\-environment" +No se cambian las variables de entorno `HOME', `USER', `LOGNAME' ni `SHELL'. +Se ejecuta la shell especificada en la variable de entorno `SHELL' en vez +de la shell que indique la entrada para el USUARIO en el fichero /etc/passwd, +a menos que el usuario que ejecute +.B su +no sea el superusuario y la shell del USUARIO estĆ© restringida. +Una shell restringida es aquella que no estĆ” listada en el fichero /etc/shells +o en una lista generada al compilar +.B su +si dicho fichero no existe. Algunos detalles de lo que hace esta opción pueden +ser invalidadas mediante la opción +.I \-\-login +y +.IR \-\-shell . +.TP +.I "\-s, \-\-shell shell" +Ejecuta la SHELL en vez de la shell del USUARIO especificada en el fichero +\fI/etc/passwd\fR, a menos que el usuario que ejecute +.B su +no sea el superusuario y la shell del USUARIO estĆ© restringida. +.TP +.I "\-\-version" +Escribe información sobre la versión en la salida estĆ”ndar y acaba sin +provocar error. + +.SH Por que GNU no soporta el grupo "wheel" (por Richard Stallman) +A veces, algunos listillos intentan hacerse con el poder total +sobre el resto de usuarios. Por ejemplo, en 1984, un grupo de usuarios del +laboratorio de Inteligencia Artificial del MIT decidieron tomar el poder +cambiando el password de operador del sistema Twenex y manteniendolo secreto +para el resto de usuarios. (De todas maneras, hubiera sido posible desbaratar +la situación y devolver el control a los usuarios legĆ­timos parcheando el +kernel, pero no sabrĆ­a como realizar esta operación en un sistema Unix.) +.PP +Sin embargo, casualmente alguien contó el secreto. Mediante el uso habitual de +.B su +una vez que alguien conoce el password de root puede contarselo al resto de +usuarios. El grupo "wheel" harĆ” que esto sea imposible, protegiendo asĆ­ el poder +de los superusuarios. +.PP +Yo estoy del lado de las masas, no de los superusuarios. Si eres de los que +estan de acuerdo con los jefes y los administradores de sistemas en cualquier +cosa que hagan, al principio encontrarĆ”s esta idea algo extraƱa. diff --git a/man/es/man5/passwd.5 b/man/es/man5/passwd.5 new file mode 100644 index 00000000..bff54128 --- /dev/null +++ b/man/es/man5/passwd.5 @@ -0,0 +1,138 @@ +.\" Copyright (c) 1993 Michael Haardt (michael@moria.de), Fri Apr 2 11:32:09 MET DST 1993 +.\" +.\" This is free documentation; 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. +.\" +.\" The GNU General Public License's references to "object code" +.\" and "executables" are to be interpreted as the output of any +.\" document formatting or typesetting system, including +.\" intermediate and printed output. +.\" +.\" This manual 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 manual; if not, write to the Free +.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, +.\" USA. +.\" +.\" Modified Sun Jul 25 10:46:28 1993 by Rik Faith (faith@cs.unc.edu) +.\" Modified Sun Aug 21 18:12:27 1994 by Rik Faith (faith@cs.unc.edu) +.\" Modified Sun Jun 18 01:53:57 1995 by Andries Brouwer (aeb@cwi.nl) +.\" Translated Tue Jul 23 11:06:10 1996 by Diego Novillo (diego@cs.ualberta.ca) +.\" Modified Mon Jan 5 20:24:40 MET 1998 by Michael Haardt +.\" (michael@cantor.informatik.rwth-aachen.de) +.\" Translation revised June 6 1998 +.\" Translation revised Wed Aug 19 1998 by Juan Piernas +.\" +.TH PASSWD 5 "5 Enero 1998" "Linux" "Formatos de Fichero" +.SH NOMBRE +passwd \- fichero de contraseƱas +.SH DESCRIPCIƓN +.B Passwd +es un fichero de texto que contiene una lista de las cuentas del sistema, +proporcionando para cada cuenta cierta información Ćŗtil como el +identificador (ID) de usuario, el ID de grupo, el directorio `home', el +intĆ©rprete de órdenes, etc. +Con frecuencia, tambiĆ©n contiene la contraseƱa cifrada de cada cuenta. +Este fichero debe tener permiso de lectura para todos (muchas utilidades, +como +.BR ls (1), +lo usan para traducir el nĆŗmero de identificador de +usuario (UID) al nombre del usuario), pero sólo el superusuario debe +poder escribirlo. +.PP +En los buenos viejos tiempos no habĆ­a grandes problemas con estos permisos +generales de lectura. Cualquiera podĆ­a leer contraseƱas cifradas, ya que el +hardware era demasiado lento para descifrar una clave bien elegida +y, ademĆ”s, la suposición bĆ”sica solĆ­a ser que la comunidad de usuarios era +bastante amigable. Hoy en dĆ­a, mucha gente +utiliza alguna versión del paquete \fBshadow password\fP, donde en +.I /etc/passwd +encontramos *'s en lugar de las claves cifradas; Ć©stas se encuentran +en el fichero +.IR /etc/shadow , +el cual sólo lo puede leer el superusuario. +.PP +Sin tener en cuenta si se utilizan o no `shadow passwords', muchos +administradores de sistemas usan un asterisco en el campo de contraseƱa +para asegurarse de que dicho usuario no se puede autenticar a sĆ­ +mismo usando una contraseƱa. (No obstante, vea la sección OBSERVACIONES mĆ”s abajo). +.PP +Si crea una nueva cuenta, coloque primero un asterisco en el campo de +contraseƱa y a continuación use +.BR passwd (1) +para asignarla. +.PP +Hay una entrada por lĆ­nea, cada lĆ­nea tiene el siguiente formato: +.sp +.RS +cuenta:contraseƱa:UID:GID:GECOS:directorio:intĆ©rprete +.RE +.sp +Las descripciones de los campos son las siguientes: +.sp +.RS +.TP 1.0in +.I cuenta +el nombre del usuario en el sistema. No debe contener letras mayĆŗsculas. +.TP +.I contraseƱa +la contraseƱa cifrada del usuario o un asterisco. +.TP +.I UID +el nĆŗmero del ID de usuario. +.TP +.I GID +el nĆŗmero del ID de grupo primario para este usuario. +.TP +.I GECOS +Este campo es opcional y sólo se usa para propósitos de información. +Normalmente, contiene el nombre completo del usuario. GECOS significa General +Electric Comprehensive Operating System, que se renombró a GCOS cuando +la división de grandes sistemas de GE se vendió a Honeywell. Dennis Ritchie +ha dicho: "Algunas veces enviĆ”bamos una salida de impresora o unos trabajos +por lotes a la mĆ”quina GCOS. El campo gcos en el fichero password era el +lugar para esconder la información de la $IDENTcard. No era elegante." +.TP +.I directorio +el directorio base del usuario ($HOME). +.TP +.I intĆ©rprete +el programa que se debe ejecutar cuando el usuario ingresa (si estĆ” vacĆ­o, +se utiliza +.BR /bin/sh ). +Si se establece a un ejecutable que no existe, el usuario serĆ” incapaz de +entrar al sistema a travĆ©s de +.BR login (1). +.RE +.SH OBSERVACIONES +Para crear un grupo de usuarios, sus GIDs deben ser iguales y debe +haber una entrada en \fI/etc/group\fP, de lo contrario no existirĆ” ningĆŗn +grupo. +.PP +Si la contraseƱa cifrada es un asterisco, el usuario serĆ” incapaz de entrar +al sistema usando +.BR login (1), +pero todavĆ­a podrĆ” entrar utilizando +.BR rlogin (1), +ejecutar procesos existentes e iniciar nuevos procesos a travĆ©s de +.BR rsh (1), +.BR cron (1), +.BR at (1), +filtros de correo, etc. Intentar cerrar una cuenta cambiando simplemente el +campo del intĆ©rprete de órdenes produce el mismo resultado y permite +ademĆ”s el uso de +.BR su (1). +.SH FICHEROS +.I /etc/passwd +.SH "VƉASE TAMBIƉN" +.BR passwd (1), +.BR login (1), +.BR su (1), +.BR group (5), +.BR shadow (5) diff --git a/man/da/man8/vigr.8 b/man/es/man8/vigr.8 similarity index 100% rename from man/da/man8/vigr.8 rename to man/es/man8/vigr.8 diff --git a/man/es/man8/vipw.8 b/man/es/man8/vipw.8 new file mode 100644 index 00000000..b33d14be --- /dev/null +++ b/man/es/man8/vipw.8 @@ -0,0 +1,92 @@ +.\" Copyright (c) 1983, 1991 The Regents of the University of California. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" from: @(#)vipw.8 6.7 (Berkeley) 3/16/91 +.\" $Id$ +.\" +.\" +.\" Translated into Spanish on Fri Aug 28 1998 by Gerardo Aburruzaga +.\" GarcĆ­a +.\" +.Dd 7 Julio 1996 +.Dt VIPW 8 +.Os Util-Linux 2.6 +.Sh NOMBRE +.Nm vipw, vigr +.Nd editan los ficheros de cuentas y grupos +.Sh SINOPSIS +.Nm vipw +.Op -V +.Op --version +.Pp +.Nm vigr +.Op -V +.Op --version +.Sh DESCRIPCIƓN +.Nm Vipw +edita el fichero de cuentas tras establecer los bloqueos apropiados, y +hace cualquier procesado que sea necesario despuĆ©s de que el fichero +de cuentas se desbloquee. +Si el fichero de cuentas ya estĆ” bloqueado para la edición por parte +de otro usuario, +.Nm vipw +le pedirĆ” que lo intente de nuevo mĆ”s tarde. El editor predeterminado +para +.Nm vipw +suele ser, como indica su nombre, +.Xr vi 1 . +.br +.Nm Vigr +edita el fichero de grupos de la misma manera que vipw. +.Sh ENTORNO +Si la siguiente variable de entorno existe, serĆ” utilizada por +.Nm vipw : +.Bl -tag -width EDITOR +.It Ev EDITOR +El editor especificado por la cadena +.Ev EDITOR +serĆ” llamado en vez del predeterminado +.Xr vi 1 . +.El +.Sh VƉASE TAMBIƉN +.Xr passwd 1 , +.Xr vi 1 , +.Xr passwd 5 +.Sh HISTORIA +La orden +.Nm vipw +apareció en +.Bx 4.0 . +.br +La orden +.Nm vigr +apareció en +Util-Linux 2.6. diff --git a/man/fi/Makefile.in b/man/fi/Makefile.in deleted file mode 100644 index 47e9b329..00000000 --- a/man/fi/Makefile.in +++ /dev/null @@ -1,557 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = man/fi -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/fi -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = \ - man1/chfn.1 \ - man1/chsh.1 \ - man1/su.1 - - -# Outdated manpages -# passwd.1 (https://bugs.launchpad.net/ubuntu/+bug/384024) -EXTRA_DIST = $(man_MANS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/fi/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/fi/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags-am uninstall uninstall-am uninstall-man \ - uninstall-man1 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/fi/man1/passwd.1 b/man/fi/man1/passwd.1 new file mode 100644 index 00000000..930300f4 --- /dev/null +++ b/man/fi/man1/passwd.1 @@ -0,0 +1,95 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" (above from Rik Faith..:*) +.\" Copyright (c) Andrew G. Morgan 1996, +.\" Proofread by Raimo Koski, Nov-Dec. 1999 +.\" Translated into Finnish by Tuomo PyhƤlƤ (tuomo@lesti.kpnet.fi) +.\" Proofread by Raimo Koski (rkoski@pp.weppi.fi) +.\" +.TH PASSWD 1 "28. Huhtikuuta 1998" "SimplePAMApps 0.50" "KƤyttƤjƤn sovellusohjelmat" +.SH NIMI +passwd \- pƤivitƤ kƤyttƤjƤn todennustunnukset + +.SH "YLEISKATSAUS" +.B passwd [-u] [kƤyttƤjƤnimi] +.sp 2 +.SH KUVAUS +Passwd on apuohjelma kƤyttƤjƤn todennustunnusten +pƤivittƤmiseen. Todennustunnus on lƤhes kaikissa jƤrjestelmissƤ +salasana ja termejƤ kƤytetƤƤn jƤljempƤnƤ ristiin. + +.sp +Ainoastaan pƤƤkƤyttƤjƤ voi pƤivittƤƤ toisen kƤyttƤjƤn salasanan syƶttƤmƤllƤ +.BR kƤyttƤjƤnimen ". " +Optiota +.BR -u +kƤytetƤƤn, kun halutaan kertoa passwd:lle, ettƤ sen tulisi pƤivittƤƤ vain +vanhentuneet salasanat (todennustunnukset) sƤilyttƤen vanhentumattomat +salasanat entisellƤƤn. + +.sp +Passwd kƤyttƤƤ +.BR "Linux-PAM" +ohjelmointirajapintaa ja se voidaan mƤƤrittƤƤ kƤyttƤmƤƤn +haluttuja moduuleita salasanaa vaihtavan kƤyttƤjƤn todennukseen ja +salasanan vaihtoon. Alustaessaan ohjelmointirajapintaa passwd toimii nimellƤ +"passwd". + +.sp +Yksinkertainen osio +.I Linux-PAM +mƤƤritystiedostossa passwd:lle olisi: +.br + +.br + # +.br + # passwd palvelun mƤƤrittely, joka tarkistaa ettei ehdotettu salasana +.br + # ole helposti arvattavissa, ennen salasanan pƤivittƤmistƤ. +.br + # +.br + passwd password requisite pam_cracklib.so retry=3 +.br + passwd password required pam_pwdb.so use_authtok +.br + # + +.sp +Huomaa, ettƤ passwd ei tarvitse muun tyyppisten moduulien mƤƤrittelyƤ. + +.SH PALUUARVO + +VirheettƶmƤn suorituksen jƤlkeen +.B passwd +pƤƤttƤƤ toimintansa paluuarvolla 0. Paluuarvo 1 palautetaan virheen +sattuessa. Virheilmoitukset kirjoitetaan virhetulosteeseen. + +.SH "NOUDATTAA:" +.br +.BR Linux-PAM +(Pluggable Authentication modules for Linux). + +.SH TIEDOSTOT +.br +.B /etc/pam.conf +- the +.BR Linux-PAM +asetus tiedosto + +.SH BUGIT +.sp 2 +Ei tunnettuja virheitƤ. + +.SH "KATSO MYƖS" +.BR pam (8), +ja +.BR pam_chauthok (2). +.sp +Monipuolisempi selostus tƤmƤn ohjelman ja Linux-PAMin asetuksista +lƶytyy englanninkielisestƤ +.BR "'Linux-PAM System Adminstarators' Guide'":sta +WWW-osoitteesta: +.br +.I +.\" TERM authentication_token todennustunnus diff --git a/man/fr/Makefile.in b/man/fr/Makefile.in deleted file mode 100644 index afa9e182..00000000 --- a/man/fr/Makefile.in +++ /dev/null @@ -1,766 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@ENABLE_SUBIDS_TRUE@am__append_2 = $(man_subids) -@USE_PAM_TRUE@am__append_3 = $(man_nopam) -@ENABLE_SUBIDS_FALSE@am__append_4 = $(man_subids) -subdir = man/fr -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ - "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" -man3dir = $(mandir)/man3 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/../generate_mans.mak \ - $(srcdir)/../generate_translations.mak $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/fr -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ - man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ - man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) $(am__append_2) -man_nopam = \ - man5/limits.5 \ - man5/login.access.5 \ - man5/porttime.5 - -man_subids = \ - man1/newgidmap.1 \ - man1/newuidmap.1 \ - man5/subgid.5 \ - man5/subuid.5 - -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) \ - $(am__append_4) -LANG = $(notdir $(CURDIR)) -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_TRUE@SHADOWGRP_COND = gshadow -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_FALSE@TCB_COND = no_tcb -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids -CLEANFILES = .xml2po.mo $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/fr/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/fr/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man3: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man3dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.3[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@ENABLE_REGENERATE_MAN_FALSE@clean-local: -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man3 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ - uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man3 install-man5 install-man8 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-man uninstall-man1 \ - uninstall-man3 uninstall-man5 uninstall-man8 - -.PRECIOUS: Makefile - - -@ENABLE_REGENERATE_MAN_TRUE@config.xml: ../config.xml.in -@ENABLE_REGENERATE_MAN_TRUE@ $(MAKE) -C .. config.xml -@ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ xml2po --expand-all-entities -l $(LANG) -p ../po/$(LANG).po -o $@ ../$@ -@ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml -@ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $<; then \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^/%config;/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ else \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ fi - -@ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ -@ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< - -@ENABLE_REGENERATE_MAN_TRUE@clean-local: -@ENABLE_REGENERATE_MAN_TRUE@ for d in man1 man3 man5 man8; do [ -d $$d ] && rmdir $$d; done - -#$(man_MANS): -# @echo you need to run configure with --enable-man to generate man pages -# @false - -@ENABLE_REGENERATE_MAN_TRUE@man8/grpconv.8 man8/grpunconv.8 man8/pwunconv.8: man8/pwconv.8 - -@ENABLE_REGENERATE_MAN_TRUE@man3/getspnam.3: man3/shadow.3 - -@ENABLE_REGENERATE_MAN_TRUE@man8/vigr.8: man8/vipw.8 - -@ENABLE_REGENERATE_MAN_FALSE@$(man_MANS): -@ENABLE_REGENERATE_MAN_FALSE@ @echo you need to run configure with --enable-man to generate man pages -@ENABLE_REGENERATE_MAN_FALSE@ @false - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/fr/man1/chage.1 b/man/fr/man1/chage.1 deleted file mode 100644 index aaba8851..00000000 --- a/man/fr/man1/chage.1 +++ /dev/null @@ -1,180 +0,0 @@ -'\" t -.\" Title: chage -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "CHAGE" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -chage \- Modifier les informations de validit\('e d\*(Aqun mot de passe -.SH "SYNOPSIS" -.HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIoptions\fR] \fILOGIN\fR -.SH "DESCRIPTION" -.PP -La commande -\fBchage\fR -modifie le nombre de jours entre les changements de mot de passe et la date du dernier changement\&. Ces informations sont utilis\('ees par le syst\(`eme pour d\('eterminer si un utilisateur doit changer son mot de passe\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBchage\fR -sont\ \&: -.PP -\fB\-d\fR, \fB\-\-lastday\fR\ \&\fIDERNIER_JOUR\fR -.RS 4 -Configurer le nombre du jour, \(`a compter du 1er\ \&janvier\ \&1970, o\(`u le mot de passe a \('et\('e chang\('e la derni\(`ere fois\&. La date peut aussi \(^etre exprim\('ee dans le format AAAA\-MM\-JJ (ou le format utilis\('e plus commun\('ement dans votre r\('egion)\&. -.RE -.PP -\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIDATE_FIN_VALIDIT\('E\fR -.RS 4 -Configurer la date, ou le nombre de jours \(`a compter du 1er\ \&janvier\ \&1970, \(`a partir de laquelle le compte de l\*(Aqutilisateur ne sera plus accessible\&. La date peut aussi \(^etre exprim\('ee dans le format AAAA\-MM\-JJ (ou le format plus commun\('ement utilis\('e dans votre r\('egion)\&. Un utilisateur dont le compte est bloqu\('e doit contacter l\*(Aqadministrateur syst\(`eme pour pouvoir utiliser \(`a nouveau le syst\(`eme\&. -.sp -Une valeur de -\fI\-1\fR -pour -\fIDATE_FIN_VALIDIT\('E\fR -aura pour effet de supprimer la date de fin de validit\('e\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-I\fR, \fB\-\-inactive\fR\ \&\fIDUR\('EE_INACTIVIT\('E\fR -.RS 4 -Configurer le nombre de jours d\*(Aqinactivit\('e, apr\(`es qu\*(Aqun mot de passe ait d\('epass\('e la date de fin de validit\('e, avant que le compte ne soit bloqu\('e\&. La valeur -\fIDUR\('EE_INACTIVIT\('E\fR -est le nombre de jours d\*(Aqinactivit\('e\&. Un utilisateur dont le compte est bloqu\('e doit contacter l\*(Aqadministrateur syst\(`eme avant de pouvoir utiliser de nouveau le syst\(`eme\&. -.sp -Une valeur de -\fI\-1\fR -pour -\fIDUR\('EE_INACTIVIT\('E\fR -supprime la dur\('ee d\*(Aqinactivit\('e pour un compte\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -Afficher les informations sur l\*(Aq\(^age des comptes\&. -.RE -.PP -\fB\-m\fR, \fB\-\-mindays\fR\ \&\fIJOURS_MIN\fR -.RS 4 -D\('efinir le nombre minimum de jours entre chaque changement de mot de passe \(`a -\fIMIN_DAYS\fR\&. Une valeur de z\('ero pour ce champ indique que l\*(Aqutilisateur peut changer son mot de passe quand il le souhaite\&. -.RE -.PP -\fB\-M\fR, \fB\-\-maxdays\fR\ \&\fIJOURS_MAX\fR -.RS 4 -Configurer le nombre maximum de jours pendant lesquels un mot de passe est valable\&. Quand -\fIJOURS_MAX\fR -plus -\fIDERNIER_JOUR\fR -est inf\('erieur \(`a la date actuelle, l\*(Aqutilisateur est oblig\('e de changer son mot de passe avant de pouvoir utiliser son compte\&. Cet \('ev\('enement peut \(^etre d\('eclench\('e plus t\(^ot gr\(^ace \(`a l\*(Aqoption -\fB\-W\fR -qui pr\('evient l\*(Aqutilisateur \(`a l\*(Aqavance par un message d\*(Aqalerte\&. -.sp -Une valeur de -\fI\-1\fR -pour -\fIJOURS_MAX\fR -supprime la v\('erification de validit\('e\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-W\fR, \fB\-\-warndays\fR\ \&\fIDUR\('EE_AVERTISSEMENT\fR -.RS 4 -Configurer le nombre de jours d\*(Aqavertissement avant que le changement de mot de passe ne soit obligatoire\&. La valeur -\fIDUR\('EE_AVERTISSEMENT\fR -est le nombre de jours pr\('ec\('edant la fin de validit\('e pendant lesquels un utilisateur sera pr\('evenu que son mot de passe est sur le point d\*(Aqarriver en fin de validit\('e\&. -.RE -.PP -Si aucune de ces options n\*(Aqest donn\('ee, -\fBchage\fR -utilise un mode interactif, demandant confirmation \(`a l\*(Aqutilisateur pour les valeurs de tous les champs\&. Entrez la nouvelle valeur pour modifier la valeur du champ, ou laissez la ligne vide pour conserver la valeur actuelle\&. La valeur actuelle est affich\('ee entre crochets\&. -.SH "NOTE" -.PP -Le programme -\fBchage\fR -n\('ecessite l\*(Aqutilisation d\*(Aqun fichier de mots de passe cach\('es (\(Fo\ \&shadow password file\ \&\(Fc)\&. -.PP -La commande -\fBchage\fR -est r\('eserv\('ee \(`a l\*(Aqutilisateur root, sauf pour l\*(Aqoption -\fB\-l\fR, qui peut \(^etre utilis\('ee par un utilisateur non privil\('egi\('e pour lui permettre de savoir quand son mot de passe ou son compte arrivera en fin de validit\('e\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.SH "VALEURS DE RETOUR" -.PP -La commande -\fBchage\fR -retourne les valeurs suivantes en quittant\ \&: -.PP -\fI0\fR -.RS 4 -succ\(`es -.RE -.PP -\fI1\fR -.RS 4 -permission refus\('ee -.RE -.PP -\fI2\fR -.RS 4 -erreur de syntaxe -.RE -.PP -\fI15\fR -.RS 4 -impossible de trouver le fichier des mots de passe cach\('es -.RE -.SH "VOIR AUSSI" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/fr/man1/chfn.1 b/man/fr/man1/chfn.1 deleted file mode 100644 index a45890d1..00000000 --- a/man/fr/man1/chfn.1 +++ /dev/null @@ -1,160 +0,0 @@ -'\" t -.\" Title: chfn -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "CHFN" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -chfn \- Modifier le nom complet et les informations associ\('ees \(`a un utilisateur -.SH "SYNOPSIS" -.HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] -.SH "DESCRIPTION" -.PP -La commande -\fBchfn\fR -modifie le nom complet d\*(Aqun utilisateur, son num\('ero de bureau, son num\('ero de t\('el\('ephone professionnel, son extension, et son num\('ero de t\('el\('ephone personnel\&. Ces informations sont g\('en\('eralement affich\('ees par -\fBfinger\fR(1) -ou d\*(Aqautres programmes similaires\&. Un utilisateur normal ne peut modifier que les informations associ\('ees \(`a son propre compte, avec les restrictions pr\('ecis\('ees dans -/etc/login\&.defs\&. (Par d\('efaut, les utilisateurs ne peuvent pas modifier leur nom complet)\&. Le superutilisateur peut modifier n\*(Aqimporte quel champ pour n\*(Aqimporte quel compte\&. De plus, seul le superutilisateur peut utiliser l\*(Aqoption -\fB\-o\fR -pour modifier les parties non pr\('ecis\('ees du champ GECOS\&. -.PP -Ces champs ne doivent contenir aucun \(Fo\ \&:\ \&\(Fc\&. \(`A l\*(Aqexception du champ -\fIautre\fR, ils ne doivent contenir aucune virgule ou signe \('egal\&. Il est \('egalement recommand\('e d\*(Aq\('eviter les caract\(`eres non US\-ASCII, mais cela n\*(Aqest impos\('e que pour les num\('eros de t\('el\('ephone\&. Le champ -\fIautre\fR -est utilis\('e pour garder des informations de compte utilis\('ees par d\*(Aqautres applications\&. -.SH "OPTIONS" -.PP -Les options applicables \(`a la commande -\fBchfn\fR -sont\ \&: -.PP -\fB\-f\fR, \fB\-\-full\-name\fR\ \&\fINOM_COMPLET\fR -.RS 4 -Modifier le nom complet de l\*(Aqutilisateur\&. -.RE -.PP -\fB\-h\fR, \fB\-\-home\-phone\fR\ \&\fITEL_PERSO\fR -.RS 4 -Modifier le num\('ero de t\('el\('ephone personnel de l\*(Aqutilisateur\&. -.RE -.PP -\fB\-o\fR, \fB\-\-other\fR\ \&\fIAUTRE\fR -.RS 4 -Modifier les informations GECO de l\*(Aqutilisateur\&. Ce champ est utilis\('e pour enregistrer les informations de l\*(Aqutilisateur utilis\('ees par d\*(Aqautres applications et peut \(^etre chang\('e seulement par un superutilisateur\&. -.RE -.PP -\fB\-r\fR, \fB\-\-room\fR\ \&\fINUM\('ERO_DE_BUREAU\fR -.RS 4 -Modifier le num\('ero de bureau de l\*(Aqutilisateur\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-w\fR, \fB\-\-work\-phone\fR\ \&\fITEL_PRO\fR -.RS 4 -Modifier le num\('ero de t\('el\('ephone professionnel de l\*(Aqutilisateur\&. -.RE -.PP -Si aucune option n\*(Aqest s\('electionn\('ee, -\fBchfn\fR -op\(`ere de mani\(`ere interactive, demandant \(`a l\*(Aqutilisateur d\*(Aqentrer les valeurs actuelles de chacun des champs\&. Entrer une nouvelle valeur pour la modifier, ou de laisser une ligne blanche pour conserver la valeur actuelle\&. La valeur actuelle est indiqu\('ee entre crochets (\fB[ ]\fR)\&. En l\*(Aqabsence d\*(Aqoption, -\fBchfn\fR -op\(`ere sur l\*(Aqutilisateur actuel\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBCHFN_AUTH\fR (bool\('een) -.RS 4 -La valeur -\fIyes\fR -indique que le programme -\fBchfn\fR -n\('ecessitera une authentification avant de proc\('eder \(`a tout changement, \(`a moins qu\*(Aqils ne soient ex\('ecut\('es par le superutilisateur\&. -.RE -.PP -\fBCHFN_RESTRICT\fR (cha\(^ine de caract\(`eres) -.RS 4 -Ce param\(`etre pr\('ecise quelles valeurs du champ -\fIgecos\fR -du fichier -passwd -peuvent \(^etre modifi\('ees par les utilisateurs ordinaires \(`a l\*(Aqaide du programme -\fBchfn\fR\&. Il est constitu\('e d\*(Aqune combinaison de lettres parmi -\fIf\fR, -\fIr\fR, -\fIw\fR -et -\fIh\fR, correspondant respectivement au nom complet, au num\('ero de bureau, au num\('ero de t\('el\('ephone professionnel et au num\('ero de t\('el\('ephone personnel\&. Pour des raisons de compatibilit\('e avec des versions ant\('erieures, -\fIyes\fR -est \('equivalent \(`a -\fIrwh\fR -et -\fIno\fR -\(`a -\fIfrwh\fR\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, seul le superutilisateur peut effectuer des modifications\&. Pour une configuration encore plus restrictive, il sera pr\('ef\('erable de ne pas installer -\fBchfn\fR -avec l\*(Aqindicateur SUID positionn\('e\&. -.RE -.PP -\fBLOGIN_STRING\fR (cha\(^ine de caract\(`eres) -.RS 4 -La cha\(^ine de caract\(`eres utilis\('ee pour l\*(Aqinvite de mot de passe\&. La valeur par d\('efaut est d\*(Aqutiliser "Password: " (\(Fo\ \&mot de passe\ \&:\ \&\(Fc), ou une traduction de cette cha\(^ine\&. Si vous d\('efinissez cette variable, l\*(Aqinvite ne sera pas traduite\&. -.sp -Si la cha\(^ine contient -\fI%s\fR, ces caract\(`eres seront remplac\('es par le nom de l\*(Aqutilisateur\&. -.RE -.SH "FICHIERS" -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBchsh\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/fr/man1/chsh.1 b/man/fr/man1/chsh.1 deleted file mode 100644 index d35cd853..00000000 --- a/man/fr/man1/chsh.1 +++ /dev/null @@ -1,118 +0,0 @@ -'\" t -.\" Title: chsh -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "CHSH" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -chsh \- Changer l\*(Aqinterpr\('eteur de commandes initial -.SH "SYNOPSIS" -.HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIoptions\fR] [\fILOGIN\fR] -.SH "DESCRIPTION" -.PP -La commande -\fBchsh\fR -modifie l\*(Aqinterpr\('eteur de commandes initial (\(Fo\ \&login shell\ \&\(Fc) de l\*(Aqutilisateur qui sera invoqu\('e lors des connexions de l\*(Aqutilisateur\&. Un utilisateur normal ne peut changer que l\*(Aqinterpr\('eteur associ\('e \(`a son propre compte\&. Le superutilisateur peut changer l\*(Aqinterpr\('eteur de commandes initial de n\*(Aqimporte quel compte\&. -.SH "OPTIONS" -.PP -Les options applicables \(`a la commande -\fBchsh\fR -sont\ \&: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fIINTERPR\('ETEUR\fR -.RS 4 -Nom du nouvel interpr\('eteur de commandes initial (\(Fo\ \&login shell\ \&\(Fc) de l\*(Aqutilisateur\&. Si ce champ est vide, le syst\(`eme s\('electionnera l\*(Aqinterpr\('eteur de commandes initial par d\('efaut\&. -.RE -.PP -Quand l\*(Aqoption -\fB\-s\fR -n\*(Aqest pas s\('electionn\('ee, -\fBchsh\fR -op\(`ere de fa\(,con interactive, demandant \(`a l\*(Aqutilisateur quel doit \(^etre le nouvel interpr\('eteur de commandes initial (\(Fo\ \&login shell\ \&\(Fc)\&. L\*(Aqutilisateur pourra entrer une nouvelle valeur pour modifier l\*(Aqinterpr\('eteur, ou laisser la ligne blanche pour conserver l\*(Aqinterpr\('eteur actuel\&. L\*(Aqinterpr\('eteur actuel est indiqu\('e entre crochets (\fI[\ \&]\fR)\&. -.SH "NOTE" -.PP -La seule restriction plac\('ee sur l\*(Aqinterpr\('eteur de commandes initial (\(Fo\ \&login shell\ \&\(Fc) est que cette commande doit faire partie de -/etc/shells, \(`a moins qu\*(Aqelle ne soit invoqu\('ee par le superutilisateur, qui peut ajouter n\*(Aqimporte quelle valeur\&. Un compte avec un interpr\('eteur de commandes initial restreint ne peut pas changer son interpr\('eteur\&. Pour cette raison, il est d\('econseill\('e de placer -/bin/rsh -dans -/etc/shells, puisqu\*(Aqune modification accidentelle vers un interpr\('eteur restreint emp\(^echera alors l\*(Aqutilisateur de revenir ensuite \(`a l\*(Aqinterpr\('eteur pr\('ec\('edent\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBCHSH_AUTH\fR (bool\('een) -.RS 4 -La valeur -\fIyes\fR -indique que le programme -\fBchsh\fR -n\('ecessitera une authentification avant de proc\('eder \(`a tout changement, \(`a moins qu\*(Aqils ne soient ex\('ecut\('es par le superutilisateur\&. -.RE -.PP -\fBLOGIN_STRING\fR (cha\(^ine de caract\(`eres) -.RS 4 -La cha\(^ine de caract\(`eres utilis\('ee pour l\*(Aqinvite de mot de passe\&. La valeur par d\('efaut est d\*(Aqutiliser "Password: " (\(Fo\ \&mot de passe\ \&:\ \&\(Fc), ou une traduction de cette cha\(^ine\&. Si vous d\('efinissez cette variable, l\*(Aqinvite ne sera pas traduite\&. -.sp -Si la cha\(^ine contient -\fI%s\fR, ces caract\(`eres seront remplac\('es par le nom de l\*(Aqutilisateur\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shells -.RS 4 -Liste des interpr\('eteurs de commandes initiaux valables\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBchfn\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/fr/man1/expiry.1 b/man/fr/man1/expiry.1 deleted file mode 100644 index d2c1b367..00000000 --- a/man/fr/man1/expiry.1 +++ /dev/null @@ -1,76 +0,0 @@ -'\" t -.\" Title: expiry -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "EXPIRY" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -expiry \- V\('erifier et s\('ecuriser la dur\('ee de validit\('e des mots de passe -.SH "SYNOPSIS" -.HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIoption\fR -.SH "DESCRIPTION" -.PP -Avec l\*(Aqoption -\fB\-c\fR, -\fBexpiry\fR -v\('erifie la validit\('e du mot de passe de l\*(Aqutilisateur actuel, et force (avec l\*(Aqoption -\fB\-f\fR) des modifications si n\('ecessaire\&. Il peut \(^etre appel\('e par un utilisateur normal\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBexpiry\fR -sont\ \&: -.PP -\fB\-c\fR, \fB\-\-check\fR -.RS 4 -V\('erifier la dur\('ee de validit\('e du mot de passe de l\*(Aqutilisateur courant\&. -.RE -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Forcer le changement du mot de passe si l\*(Aqutilisateur courant poss\(`ede un mot de passe qui a expir\('e\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/fr/man1/gpasswd.1 b/man/fr/man1/gpasswd.1 deleted file mode 100644 index 46791ebf..00000000 --- a/man/fr/man1/gpasswd.1 +++ /dev/null @@ -1,226 +0,0 @@ -'\" t -.\" Title: gpasswd -.\" Author: Rafal Maszkowski -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "GPASSWD" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -gpasswd \- Administrer /etc/group et /etc/gshadow -.SH "SYNOPSIS" -.HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fIoption\fR] \fIgroupe\fR -.SH "DESCRIPTION" -.PP -La commande -\fBgpasswd\fR -est utilis\('ee pour administrer -/etc/groupet /etc/gshadow\&. Chaque groupe peut avoir -des administrateurs, -des membres et un mot de passe\&. -.PP -Les administrateurs syst\(`eme peuvent utiliser l\*(Aqoption -\fB\-A\fR -pour d\('efinir un ou des administrateurs de groupe et l\*(Aqoption -\fB\-M\fR -pour d\('efinir les membres\&. Ils ont tous les droits des administrateurs et membres du groupe\&. -.PP -\fBgpasswd\fR -appel\('ee par -un administrateur de groupe -avec un nom de groupe demande seulement le nouveau mot de passe du -\fIgroupe\fR\&. -.PP -Si un mot de passe est configur\('e, les membres peuvent toujours utiliser -\fBnewgrp\fR(1) -sans mot de passe\&. Les non membres doivent fournir le mot de passe\&. -.SS "Notes sur les mots de passe de groupe" -.PP -Les mots de passe de groupe repr\('esentent naturellement un risque en mati\(`ere de s\('ecurit\('e, puisque plusieurs personnes ont connaissance du mot de passe\&. Cependant, les groupes sont utiles pour permettre la coop\('eration entre diff\('erents utilisateurs\&. -.SH "OPTIONS" -.PP -\(`A part les options -\fB\-A\fR -et -\fB\-M\fR, les options ne peuvent pas \(^etre combin\('ees\&. -.PP -Les options disponibles pour la commande -\fBgpasswd\fR -sont\ \&: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIutilisateur\fR -.RS 4 -Ajouter l\*(Aq\fIutilisateur\fR -\(`a ce -\fIgroupe\fR\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIutilisateur\fR -.RS 4 -Enlever l\*(Aq\fIutilisateur\fR -de ce -\fIgroupe\fR\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-Q\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\-password\fR -.RS 4 -Enlever le mot de passe pour ce -\fIgroupe\fR\&. Le mot de passe du groupe sera vide\&. Seuls les membres du groupe seront autoris\('es \(`a utiliser -\fBnewgrp\fR -pour rejoindre ce -\fIgroupe\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-restrict\fR -.RS 4 -Restreindre l\*(Aqacc\(`es \(`a ce -\fIgroupe\fR\&. Le mot de passe du groupe est d\('efini \(`a \(Fo\ \&!\ \&\(Fc\&. Seuls les membres du groupe seront autoris\('es \(`a utiliser -\fBnewgrp\fR -pour rejoindre ce -\fIgroupe\fR\&. -.RE -.PP -\fB\-A\fR, \fB\-\-administrators\fR\ \&\fIutilisateur\fR,\&.\&.\&. -.RS 4 -Configurer la liste des administrateurs\&. -.RE -.PP -\fB\-M\fR, \fB\-\-members\fR\ \&\fIutilisateur\fR,\&.\&.\&. -.RS 4 -Configurer la liste des membres du groupe\&. -.RE -.SH "AVERTISSEMENTS" -.PP -Cet outil ne fonctionne que sur -les fichiers -/etc/groupet /etc/gshadow\&. Par cons\('equent vous ne pouvez modifier aucun groupe NIS ou LDAP\&. Cela doit \(^etre effectu\('e sur le serveur correspondant\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBENCRYPT_METHOD\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder les mots de passes (si aucun algorithme n\*(Aqa \('et\('e indiqu\('e sur la ligne de commandes)\&. -.sp -Les valeurs suivantes sont accept\('ees\ \&: -\fIDES\fR -(par d\('efaut), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Remarque\ \&: ce param\(`etre remplace la variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (bool\('een) -.RS 4 -Indiquer si un mot de passe doit \(^etre chiffr\('e en utilisant l\*(Aqalgorithme bas\('e sur MD5\&. Si configur\('ee \(`a -\fIyes\fR, les nouveaux mots de passe seront chiffr\('es en utilisant l\*(Aqalgorithme bas\('e sur MD5 compatible avec celui utilis\('e par les versions r\('ecentes de FreeBSD\&. Il g\(`ere des mots de passe de longueur illimit\('ee et des cha\(^ines de salage plus longues\&. Configurez\-la \(`a -\fIno\fR -pour copier les mots de passe chiffr\('es sur d\*(Aqautres syst\(`emes qui ne comprennent pas le nouvel algorithme\&. la valeur par d\('efaut est -\fIno\fR\&. -.sp -Cette variable est \('ecras\('ee par la variable -\fBENCRYPT_METHOD\fR -ou par toute option de la ligne de commande utilis\('ee pour configurer l\*(Aqalgorithme de chiffrement\&. -.sp -Cette variable est obsol\(`ete\&. Vous devriez utiliser -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (nombre), \fBSHA_CRYPT_MAX_ROUNDS\fR (nombre) -.RS 4 -Quand -\fBENCRYPT_METHOD\fR -est configur\('ee \(`a -\fISHA256\fR -ou -\fISHA512\fR, cela d\('efinit le nombre de rounds de SHA utilis\('es par l\*(Aqalgorithme de chiffrement par d\('efaut (quand le nombre de rounds n\*(Aqest pas pr\('ecis\('e sur la ligne de commande)\&. -.sp -Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&. -.sp -Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&. -.sp -Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&. -.sp -Si une seule des variables -\fBSHA_CRYPT_MIN_ROUNDS\fR -ou -\fBSHA_CRYPT_MAX_ROUNDS\fR -est configur\('ee, alors cette valeur sera utilis\('ee\&. -.sp -Si -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, la valeur la plus \('elev\('ee sera utilis\('ee\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBnewgrp\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBgrpck\fR(8), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/fr/man1/groups.1 b/man/fr/man1/groups.1 deleted file mode 100644 index b9ba8caa..00000000 --- a/man/fr/man1/groups.1 +++ /dev/null @@ -1,63 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "GROUPS" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -groups \- Afficher la liste des groupes auxquels appartient l\*(Aqutilisateur -.SH "SYNOPSIS" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIutilisateur\fR] -.SH "DESCRIPTION" -.PP -La commande -\fBgroups\fR -affiche la liste des noms de groupe (ou leur identifiant num\('erique) de l\*(Aqutilisateur courant\&. Si une valeur n\*(Aqa pas d\*(Aqentr\('ee correspondante dans -/etc/group, l\*(Aqidentifiant num\('erique du groupe est affich\('e\&. Le param\(`etre optionnel -\fIutilisateur\fR -permet d\*(Aqafficher la liste des groupes pour cet utilisateur\&. -.SH "NOTE" -.PP -Sur les syst\(`emes qui ne g\(`erent pas l\*(Aqappartenance \(`a plusieurs groupes, seules les informations contenues dans -/etc/group -sont affich\('ees\&. L\*(Aqutilisateur doit utiliser -\fBnewgrp\fR -ou -\fBsg\fR -pour modifier l\*(Aqidentifiant de groupe r\('eel et effectif\&. -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2)\&. diff --git a/man/fr/man1/id.1 b/man/fr/man1/id.1 deleted file mode 100644 index 8744aab4..00000000 --- a/man/fr/man1/id.1 +++ /dev/null @@ -1,60 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "ID" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -id \- display current user and group ID names -.SH "SYNOPSIS" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "DESCRIPTION" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support multiple concurrent group membership\&. -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2) diff --git a/man/fr/man1/login.1 b/man/fr/man1/login.1 deleted file mode 100644 index 84c2d46d..00000000 --- a/man/fr/man1/login.1 +++ /dev/null @@ -1,476 +0,0 @@ -'\" t -.\" Title: login -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "LOGIN" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -login \- D\('emarrer une session sur le syst\(`eme -.SH "SYNOPSIS" -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIh\(^ote\fR] [\fInom_utilisateur\fR] [\fIENV=VAR\fR...] -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIh\(^ote\fR] \-f \fInom_utilisateur\fR -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] \-r\ \fIh\(^ote\fR -.SH "DESCRIPTION" -.PP -Le programme -\fBlogin\fR -permet d\*(Aq\('etablir une nouvelle session sur le syst\(`eme\&. Il est g\('en\('eralement invoqu\('e apr\(`es avoir r\('epondu \(`a l\*(Aqinvite de connexion -\fIlogin:\fR -sur le terminal de l\*(Aqutilisateur\&. -\fBlogin\fR -peut \(^etre sp\('ecifique \(`a l\*(Aqinterpr\('eteur de commandes et ne devrait pas \(^etre invoqu\('e comme un sous\-processus\&. Lorsqu\*(Aqil est appel\('e depuis un interpr\('eteur de commande, -\fBlogin\fR -doit \(^etre ex\('ecut\('e comme -\fB>exec login\fR, ce qui entra\(^ine la sortie de l\*(Aqinterpr\('eteur de commandes en cours (et ainsi emp\(^eche le nouvel utilisateur connect\('e de retourner \(`a la session de l\*(Aqappelant)\&. L\*(Aqex\('ecution de -\fBlogin\fR -depuis un interpr\('eteur de commandes autre qu\*(Aqun interpr\('eteur de commandes initial (\(Fo\ \&login shell\ \&\(Fc) produira un message d\*(Aqerreur\&. -.PP -Un mot de passe est ensuite demand\('e \(`a l\*(Aqutilisateur\&. L\*(Aqaffichage du mot de passe est d\('esactiv\('e pour \('eviter de r\('ev\('eler le mot de passe\&. Seul un petit nombre d\*(Aq\('echecs est permis avant que -\fBlogin\fR -ne quitte et que la liaison ne soit interrompue\&. -.PP -Si une date de fin de validit\('e du mot de passe a \('et\('e d\('efinie pour ce compte, un nouveau mot de passe pourra vous \(^etre demand\('e\&. Votre ancien mot de passe et votre nouveau mot de passe vous seront alors demand\('es avant de pouvoir continuer\&. Veuillez lire la page de manuel -\fBpasswd\fR(1) -pour plus d\*(Aqinformations\&. -.PP -Apr\(`es une connexion r\('eussie, vous serez inform\('e des messages du syst\(`eme et de la pr\('esence de courrier\&. Vous pouvez d\('esactiver l\*(Aqaffichage du message du syst\(`eme (/etc/motd), en cr\('eant un fichier vide -\&.hushlogin -dans le r\('epertoire de votre compte\&. Le message concernant les courriers sera \(Fo\ \&\fIYou have new mail\&.\fR\ \&\(Fc, \(Fo\ \&\fIYou have mail\&.\fR\ \&\(Fc, ou \(Fo\ \&\fINo Mail\&.\fR\ \&\(Fc suivant l\*(Aq\('etat de votre bo\(^ite aux lettres\&. -.PP -Vos identifiants d\*(Aqutilisateur et de groupe seront d\('efinis en fonction des valeurs sp\('ecifi\('ees dans le fichier -/etc/passwd\&. Les valeurs des variables d\*(Aqenvironnement -\fI$HOME\fR, -\fI$SHELL\fR, -\fI$PATH\fR, -\fI$LOGNAME\fR, et -\fI$MAIL\fR -seront d\('efinies en fonction des champs appropri\('es de l\*(Aqentr\('ee qui vous correspond\&. Les valeurs d\*(Aqulimit, d\*(Aqumask et de nice pourront \('egalement \(^etre affect\('ees en fonction des entr\('ees du champ GECOS\&. -.PP -Sur certains syst\(`emes, la variable d\*(Aqenvironnement -\fI$TERM\fR -sera initialis\('ee au type de terminal de votre tty, comme sp\('ecifi\('e dans -/etc/ttytype\&. -.PP -Un script d\*(Aqinitialisation pour votre interpr\('eteur de commandes pourra \('egalement \(^etre ex\('ecut\('e\&. Veuillez vous r\('ef\('erer \(`a la section de manuel appropri\('ee pour plus d\*(Aqinformations sur cette fonctionnalit\('e\&. -.PP -Une connexion \(`a un sous\-syst\(`eme est indiqu\('ee par la pr\('esence d\*(Aqun \(Fo\ \&*\ \&\(Fc comme premier caract\(`ere de l\*(Aqinterpr\('eteur de commandes initial\&. Le r\('epertoire personnel sera utilis\('e comme racine d\*(Aqun nouveau syst\(`eme de fichiers dans lequel l\*(Aqutilisateur sera connect\('e\&. -.PP -Le programme -\fBlogin\fR -n\*(Aqest PAS responsable de la suppression d\*(Aqutilisateurs dans le fichier utmp\&. Les responsables du nettoyage de l\*(Aqappartenance des sessions de terminal sont -\fBgetty\fR(8) -et -\fBinit\fR(8)\&. Si vous utilisez -\fBlogin\fR -depuis un interpr\('eteur de commandes sans -\fBexec\fR, l\*(Aqutilisateur que vous utilisez continuera \(`a appara\(^itre comme \('etant connect\('e m\(^eme apr\(`es s\*(Aq\(^etre d\('econnect\('e de cette \(Fo\ \&sous\-session\ \&\(Fc\&. -.SH "OPTIONS" -.PP -\fB\-f\fR -.RS 4 -Ne pas r\('ealiser d\*(Aqauthentification\&. L\*(Aqutilisateur est pr\('e\-authentifi\('e\&. -.sp -Remarque\ \&: Dans ce cas, -\fIusername\fR -est n\('ecessaire\&. -.RE -.PP -\fB\-h\fR -.RS 4 -Nom de l\*(Aqh\(^ote distant pour cette connexion\&. -.RE -.PP -\fB\-p\fR -.RS 4 -Pr\('eserver l\*(Aqenvironnement\&. -.RE -.PP -\fB\-r\fR -.RS 4 -Ex\('ecuter le protocole de connexion automatique (autologin) pour rlogin\&. -.RE -.PP -Les options -\fB\-r\fR, -\fB\-h\fR -et -\fB\-f\fR -ne peuvent \(^etre utilis\('ees que par root\&. -.SH "AVERTISSEMENTS" -.PP -Cette version de -\fBlogin\fR -comporte de nombreuses options de compilation\&. Seules certaines d\*(Aqentre elles peuvent avoir \('et\('e activ\('ees sur votre site\&. -.PP -L\*(Aqemplacement des fichiers peut varier suivant la configuration du syst\(`eme\&. -.PP -Le programme -\fBlogin\fR -n\*(Aqest PAS responsable de la suppression d\*(Aqutilisateurs dans le fichier utmp\&. Les responsables du nettoyage de l\*(Aqappartenance des sessions de terminal sont -\fBgetty\fR(8) -et -\fBinit\fR(8)\&. Si vous utilisez -\fBlogin\fR -depuis un interpr\('eteur de commandes sans -\fBexec\fR, l\*(Aqutilisateur que vous utilisez continuera \(`a appara\(^itre comme \('etant connect\('e m\(^eme apr\(`es s\*(Aq\(^etre d\('econnect\('e de cette \(Fo\ \&sous\-session\ \&\(Fc\&. -.PP -Comme pour n\*(Aqimporte quel programme, l\*(Aqapparence de -\fBlogin\fR -peut \(^etre imit\('ee\&. Si des utilisateurs non s\(^urs ont un acc\(`es physique \(`a la machine, un attaquant pourrait utiliser cet acc\(`es pour obtenir le mot de passe de la personne qui s\*(Aqassi\('erait ensuite face \(`a l\*(Aq\('ecran\&. Sous Linux, le m\('ecanisme SAK peut \(^etre utilis\('e par les utilisateurs pour initier un chemin de confiance et pr\('evenir ce genre d\*(Aqattaques\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBCONSOLE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, soit un chemin complet du fichier contenant les noms de p\('eriph\('eriques (un par ligne), soit une liste de noms du p\('eriph\('erique d\('elimit\('ee par des \(Fo\ \&:\ \&\(Fc\&. Les connexions d\*(Aqun administrateur ne seront autoris\('ees que depuis ces p\('eriph\('eriques\&. -.sp -S\*(Aqil n\*(Aqest pas d\('efini, root pourra se connecter depuis n\*(Aqimporte quel p\('eriph\('erique\&. -.sp -Le p\('eriph\('erique doit \(^etre pr\('ecis\('e sans le pr\('efixe /dev/\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (cha\(^ine de caract\(`eres) -.RS 4 -Une liste de groupes \(`a rajouter aux groupes suppl\('ementaires de l\*(Aqutilisateur lors d\*(Aqune connexion sur une console (d\('etermin\('e par le param\(`etre CONSOLE)\&. Par d\('efaut, aucun groupe n\*(Aqest ajout\('e\&. - -\(`A utiliser avec pr\('ecaution\ \&: il est possible que les utilisateurs aient un acc\(`es permanent \(`a ces groupes, et cela m\(^eme s\*(Aqils ne sont pas connect\('es sur la console\&. -.RE -.PP -\fBDEFAULT_HOME\fR (bool\('een) -.RS 4 -Indiquer si la connexion est permise si on ne peut pas acc\('eder au r\('epertoire personnel\&. Le r\('eglage par d\('efaut est \(Fo\ \&no\ \&\(Fc\&. -.sp -Si elle est configur\('ee \(`a -\fIyes\fR, l\*(Aqutilisateur va se connecter dans le r\('epertoire racine (/) s\*(Aqil n\*(Aqest pas possible d\*(Aqacc\('eder \(`a son r\('epertoire personnel\&. -.RE -.PP -\fBENV_HZ\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement HZ lorsqu\*(Aqun utilisateur se connecte\&. La valeur doit \(^etre pr\('ec\('ed\('ee par -\fIHZ=\fR\&. Une valeur commune sur Linux est -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_PATH\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement PATH quand un utilisateur ordinaire se connecte\&. La valeur est une liste de chemins s\('epar\('es par des deux points (par exemple -\fI/bin:/usr/bin\fR) et peut \(^etre pr\('ec\('ed\('ee par -\fIPATH=\fR\&. La valeur par d\('efaut est -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement PATH quand le super\-utilisateur se connecte\&. La valeur est une liste de chemins s\('epar\('es par deux points (par exemple -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) et peut \(^etre pr\('ec\('ed\('ee par -\fIPATH=\fR\&. La valeur par d\('efaut est -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement TZ quand un utilisateur se connecte\&. La valeur peut \(^etre le nom d\*(Aqun fuseau horaire pr\('ec\('ed\('e par -\fITZ=\fR -(par exemple -\fITZ=CST6CDT\fR), ou le chemin complet vers le fichier contenant la sp\('ecification du fuseau horaire (par exemple -/etc/tzname)\&. -.sp -Si un chemin complet est sp\('ecifi\('e mais que le fichier n\*(Aqexiste pas ou ne peut pas \(^etre lu, la valeur par d\('efaut utilis\('ee est -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si ce fichier existe et est lisible, l\*(Aqenvironnement de connexion sera lu \(`a\ \& partir de lui\&. Chaque ligne doit \(^etre sous la forme nom=valeur\&. -.sp -Les lignes commen\(,cant par un \(Fo\ \&#\ \&\(Fc sont consid\('er\('ees comme des commentaires, et sont ignor\('ees\&. -.RE -.PP -\fBERASECHAR\fR (nombre) -.RS 4 -Le caract\(`ere ERASE du terminal (\fI010\fR -= backspace, -\fI0177\fR -= DEL)\&. -.sp -La valeur peut \(^etre pr\('efix\('ee par \(Fo\ \&0\ \&\(Fc pour une valeur octale, ou \(Fo\ \&0x\ \&\(Fc pour une valeur hexad\('ecimale\&. -.RE -.PP -\fBFAIL_DELAY\fR (nombre) -.RS 4 -Le d\('elai en secondes avant qu\*(Aqun nouvel essai soit permis apr\(`es un \('echec de connexion\&. -.RE -.PP -\fBFAILLOG_ENAB\fR (bool\('een) -.RS 4 -Activer l\*(Aqenregistrement et l\*(Aqaffichage des informations d\*(Aq\('echec de connexion de -/var/log/faillog -.RE -.PP -\fBFAKE_SHELL\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, -\fBlogin\fR -ex\('ecutera cet interpr\('eteur de commandes au lieu de l\*(Aqinterpr\('eteur de l\*(Aqutilisateur sp\('ecifi\('e dans -/etc/passwd\&. -.RE -.PP -\fBFTMP_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, les \('echecs de connexion seront enregistr\('es dans le fichier sous le format utmp -.RE -.PP -\fBHUSHLOGIN_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, le fichier peut d\('esactiver tous les affichages habituels durant la s\('equence de connexion\&. Si un nom de chemin complet est sp\('ecifi\('e, alors le mode taiseux sera activ\('e si le nom ou l\*(Aqinterpr\('eteur de commandes de l\*(Aqutilisateur sont trouv\('es dans le fichier\&. Si ce n\*(Aqest pas un nom de chemin complet, alors le mode taiseux sera activ\('e si le fichier existe dans le r\('epertoire personnel de l\*(Aqutilisateur\&. -.RE -.PP -\fBISSUE_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, le fichier sera affich\('e avant chaque invite de connexion\&. -.RE -.PP -\fBKILLCHAR\fR (nombre) -.RS 4 -Le caract\(`ere KILL du terminal (\fI025\fR -= CTRL/U)\&. -.sp -La valeur peut \(^etre pr\('efix\('ee par \(Fo\ \&0\ \&\(Fc pour une valeur octale, ou \(Fo\ \&0x\ \&\(Fc pour une valeur hexad\('ecimale\&. -.RE -.PP -\fBLASTLOG_ENAB\fR (bool\('een) -.RS 4 -Activer la journalisation et l\*(Aqaffichage des informations de derni\(`ere connexion de /var/log/lastlog\&. -.RE -.PP -\fBLOGIN_RETRIES\fR (nombre) -.RS 4 -Le nombre maximum de tentatives de connexion en cas de mauvais mot de passe\&. -.RE -.PP -\fBLOGIN_STRING\fR (cha\(^ine de caract\(`eres) -.RS 4 -La cha\(^ine de caract\(`eres utilis\('ee pour l\*(Aqinvite de mot de passe\&. La valeur par d\('efaut est d\*(Aqutiliser "Password: " (\(Fo\ \&mot de passe\ \&:\ \&\(Fc), ou une traduction de cette cha\(^ine\&. Si vous d\('efinissez cette variable, l\*(Aqinvite ne sera pas traduite\&. -.sp -Si la cha\(^ine contient -\fI%s\fR, ces caract\(`eres seront remplac\('es par le nom de l\*(Aqutilisateur\&. -.RE -.PP -\fBLOGIN_TIMEOUT\fR (nombre) -.RS 4 -Le temps maximum en secondes pour la connexion\&. -.RE -.PP -\fBLOG_OK_LOGINS\fR (bool\('een) -.RS 4 -Activer la journalisation des connexions r\('eussies\&. -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (bool\('een) -.RS 4 -Activer l\*(Aqaffichage des noms d\*(Aqutilisateurs inconnus quand les \('echecs de connexions sont enregistr\('es\&. -.sp -Remarque\ \&: la journalisation des noms d\*(Aqutilisateurs inconnus peut \(^etre un probl\(`eme de s\('ecurit\('e si un utilisateur entre son mot de passe au lieu de son nom d\*(Aqutilisateur\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (bool\('een) -.RS 4 -Activer le contr\(^ole et l\*(Aqaffichage du statut de la bo\(^ite aux lettres durant la connexion\&. -.sp -Vous devriez le d\('esactiver si les fichiers de d\('emarrage de l\*(Aqinterpr\('eteur de commandes v\('erifient d\('ej\(`a la pr\('esence de courriers (\(Fo\ \&mail \-e\ \&\(Fc ou \('equivalent)\&. -.RE -.PP -\fBMAIL_DIR\fR (cha\(^ine de caract\(`eres) -.RS 4 -R\('epertoire d\*(Aqattente des courriels (\(Fo\ \&mail spool directory\ \&\(Fc)\&. Ce param\(`etre est n\('ecessaire pour manipuler les bo\(^ites \(`a lettres lorsque le compte d\*(Aqun utilisateur est modifi\('e ou supprim\('e\&. S\*(Aqil n\*(Aqest pas sp\('ecifi\('e, une valeur par d\('efaut d\('efinie \(`a la compilation est utilis\('ee\&. -.RE -.PP -\fBMAIL_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir l\*(Aqemplacement des bo\(^ites aux lettres des utilisateurs relativement \(`a leur r\('epertoire personnel\&. -.RE -.PP -Les param\(`etres -\fBMAIL_DIR\fR -et -\fBMAIL_FILE\fR -sont utilis\('es par -\fBuseradd\fR, -\fBusermod\fR -et -\fBuserdel\fR -pour cr\('eer, d\('eplacer ou supprimer les bo\(^ites aux lettres des utilisateurs\&. -.PP -Si -\fBMAIL_CHECK_ENAB\fR -est r\('egl\('e sur -\fIyes\fR, ces variables servent \('egalement \(`a d\('efinir la variable d\*(Aqenvironnement -\fBMAIL\fR\&. -.PP -\fBMOTD_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, liste d\('elimit\('ee par des \(Fo\ \&:\ \&\(Fc de fichiers de \(Fo\ \&message du jour\ \&\(Fc \(`a afficher lors de la connexion\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, nom de fichier dont la pr\('esence emp\(^echera les connexions de quelqu\*(Aqun d\*(Aqautre que le superutilisateur\&. Le contenu de ces fichiers doit \(^etre un message indiquant pourquoi les connexions sont d\('esactiv\('ees\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (bool\('een) -.RS 4 -Activer la v\('erification des restrictions de temps pr\('ecis\('ees dans -/etc/porttime\&. -.RE -.PP -\fBQUOTAS_ENAB\fR (bool\('een) -.RS 4 -Activer la mise en place de limites de resources depuis -/etc/limits -et ulimit, umask et niveau nice depuis les champs gecos de passwd\&. -.RE -.PP -\fBTTYGROUP\fR (cha\(^ine de caract\(`eres), \fBTTYPERM\fR (cha\(^ine de caract\(`eres) -.RS 4 -Les permissions de terminal\ \&: la connexion tty appartiendra au groupe -\fBTTYGROUP\fR -et les permissions seront configur\('ees \(`a -\fBTTYPERM\fR\&. -.sp -Par d\('efaut, le propri\('etaire du terminal est configur\('e au groupe primaire de l\*(Aqutilisateur et les permissions sont configur\('ees \(`a -\fI0600\fR\&. -.sp -\fBTTYGROUP\fR -peut \(^etre le nom d\*(Aqun groupe ou un identifiant num\('erique de groupe\&. -.sp -Si vous avez un programme -\fBwrite\fR -qui est \(Fo\ \&setgid\ \&\(Fc \(`a un groupe sp\('ecial auquel les terminaux appartiennent, d\('efinissez TTYGROUP comme l\*(Aqidentifiant num\('erique du groupe et TTYPERM \(`a 0620\&. Autrement laissez TTYGROUP d\('ecomment\('e et TTYPERM configur\('e soit \(`a 622 soit \(`a 600\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, fichier qui lie les lignes de tty \(`a la variable d\*(Aqenvironnement TERM\&. Chaque ligne du fichier est dans un format ressemblant \(`a \(Fo\ \&vt100 tty01\ \&\(Fc\&. -.RE -.PP -\fBULIMIT\fR (nombre) -.RS 4 -Valeur par d\('efaut d\*(Aq\fBulimit\fR\&. -.RE -.PP -\fBUMASK\fR (nombre) -.RS 4 -Valeur d\*(Aqinitialisation du masque de permissions\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, le masque des permissions sera initialis\('e \(`a 022\&. -.sp -\fBuseradd\fR -et -\fBnewusers\fR -utilisent ce masque pour d\('efinir les permissions d\*(Aqacc\(`es des r\('epertoires personnels qu\*(Aqils cr\('eent\&. -.sp -Il est \('egalement utilis\('e par -\fBlogin\fR -pour d\('efinir l\*(Aqumask initial de l\*(Aqutilisateur\&. Veuillez noter que cet umask peut \(^etre red\('efini par les GECOS de l\*(Aqutilisateur (si -\fBQUOTAS_ENAB\fR -est activ\('e) ou en pr\('ecisant une limite avec l\*(Aqidentifiant -\fIK\fR -dans -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (bool\('een) -.RS 4 -Activer la mise en place de bits de masque de groupe (\(Fo\ \&umask group bits\ \&\(Fc) identiques \(`a ceux du propri\('etaire (exemple\ \&: 022 \-> 002, 077 \-> 007) pour les utilisateurs non privil\('egi\('es, si l\*(AqUID est identique au GID et que l\*(Aqidentifiant de connexion est identique au groupe principal\&. -.sp -Si cette variable est configur\('ee \(`a -\fIyes\fR, -\fBuserdel\fR -supprimera le groupe de l\*(Aqutilisateur s\*(Aqil ne contient pas d\*(Aqautres membres, et -\fBuseradd\fR -cr\('eera par d\('efaut un groupe portant le nom de l\*(Aqutilisateur\&. -.RE -.SH "FICHIERS" -.PP -/var/run/utmp -.RS 4 -Liste des sessions de connexion en cours\&. -.RE -.PP -/var/log/wtmp -.RS 4 -Liste des sessions de connexion pr\('ec\('edentes\&. -.RE -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/motd -.RS 4 -Fichier contenant le message du syst\(`eme\&. -.RE -.PP -/etc/nologin -.RS 4 -Emp\(^echer les utilisateurs non\-root de se connecter\&. -.RE -.PP -/etc/ttytype -.RS 4 -Liste des types de terminaux\&. -.RE -.PP -$HOME/\&.hushlogin -.RS 4 -Supprimer l\*(Aqaffichage des messages du syst\(`eme\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBmail\fR(1), -\fBpasswd\fR(1), -\fBsh\fR(1), -\fBsu\fR(1), -\fBlogin.defs\fR(5), -\fBnologin\fR(5), -\fBpasswd\fR(5), -\fBsecuretty\fR(5), -\fBgetty\fR(8)\&. diff --git a/man/fr/man1/newgidmap.1 b/man/fr/man1/newgidmap.1 deleted file mode 100644 index 9ab97d67..00000000 --- a/man/fr/man1/newgidmap.1 +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\" Title: newgidmap -.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "NEWGIDMAP" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -newgidmap \- set the gid mapping of a user namespace -.SH "SYNOPSIS" -.HP \w'\fBnewgidmap\fR\ 'u -\fBnewgidmap\fR \fIpid\fR \fIgid\fR \fIlowergid\fR \fIcount\fR [\fIgid\fR\ \fIlowergid\fR\ \fIcount\fR\ [\ \fI\&.\&.\&.\fR\ ]] -.SH "DESCRIPTION" -.PP -The -\fBnewgidmap\fR -sets -/proc/[pid]/gid_map -based on its command line arguments and the gids allowed in -/etc/subgid\&. Note that the root user is not exempted from the requirement for a valid -/etc/subgid -entry\&. -.PP -After the pid argument, -\fBnewgidmap\fR -expects sets of 3 integers: -.PP -gid -.RS 4 -Beginning of the range of GIDs inside the user namespace\&. -.RE -.PP -lowergid -.RS 4 -Beginning of the range of GIDs outside the user namespace\&. -.RE -.PP -count -.RS 4 -Length of the ranges (both inside and outside the user namespace)\&. -.RE -.PP -\fBnewgidmap\fR -verifies that the caller is the owner of the process indicated by -\fBpid\fR -and that for each of the above sets, each of the GIDs in the range [lowergid, lowergid+count] is allowed to the caller according to -/etc/subgid -before setting -/proc/[pid]/gid_map\&. -.PP -Note that newgidmap may be used only once for a given process\&. -.SH "OPTIONS" -.PP -There currently are no options to the -\fBnewgidmap\fR -command\&. -.SH "FICHIERS" -.PP -/etc/subgid -.RS 4 -List of user\*(Aqs subordinate group IDs\&. -.RE -.PP -/proc/[pid]/gid_map -.RS 4 -Mapping of gids from one between user namespaces\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin.defs\fR(5), -\fBnewusers\fR(8), -\fBsubgid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/fr/man1/newgrp.1 b/man/fr/man1/newgrp.1 deleted file mode 100644 index fefdac45..00000000 --- a/man/fr/man1/newgrp.1 +++ /dev/null @@ -1,96 +0,0 @@ -'\" t -.\" Title: newgrp -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "NEWGRP" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -newgrp \- se connecter avec un nouveau groupe -.SH "SYNOPSIS" -.HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIgroupe\fR] -.SH "DESCRIPTION" -.PP -La commande -\fBnewgrp\fR -permet de changer l\*(Aqidentifiant de groupe de l\*(Aqutilisateur au cours d\*(Aqune session\&. Si l\*(Aqoption -\fB\-\fR -est fournie, l\*(Aqenvironnement de l\*(Aqutilisateur est r\('einitialis\('e, comme si l\*(Aqutilisateur venait de se connecter\&. Sinon, l\*(Aqenvironnement actuel, y compris le r\('epertoire de travail actuel est conserv\('e\&. -.PP -\fBnewgrp\fR -change l\*(Aqidentifiant de groupe r\('eel actuel \(`a la valeur du groupe indiqu\('e, ou au groupe par d\('efaut d\('efini dans -/etc/passwd -si aucun nom de groupe n\*(Aqest fourni\&. -\fBnewgrp\fR -essaiera \('egalement d\*(Aqajouter le groupe \(`a l\*(Aqensemble des groupes de l\*(Aqutilisateur\&. Si l\*(Aqutilisateur n\*(Aqest pas superutilisateur, un mot de passe lui sera demand\('e s\*(Aqil n\*(Aqutilise pas de mot de passe (dans -/etc/shadow, si cet utilisateur a une entr\('ee dans le fichier des mots de passe cach\('es, ou dans -/etc/passwd -sinon), mais que le groupe en a un, ou si l\*(Aqutilisateur n\*(Aqest pas dans la liste des membres de ce groupe et que ce groupe utilise un mot de passe\&. L\*(Aqacc\(`es sera refus\('e si le mot de passe du groupe est vide et que l\*(Aqutilisateur ne fait pas partie de ses membres\&. -.PP -S\*(Aqil y a une entr\('ee pour ce groupe dans -/etc/gshadow, alors la liste des membres et le mot de passe de ce groupe seront pris dans ce fichier, sinon, l\*(Aqentr\('ee du fichier -/etc/group -est utilis\('ee\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBSYSLOG_SG_ENAB\fR (bool\('een) -.RS 4 -Activer la journalisation \(Fo\ \&syslog\ \&\(Fc de l\*(Aqactivit\('e de -\fBsg\fR\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBsu\fR(1), -\fBsg\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/fr/man1/newuidmap.1 b/man/fr/man1/newuidmap.1 deleted file mode 100644 index 456fa2de..00000000 --- a/man/fr/man1/newuidmap.1 +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\" Title: newuidmap -.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "NEWUIDMAP" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -newuidmap \- set the uid mapping of a user namespace -.SH "SYNOPSIS" -.HP \w'\fBnewuidmap\fR\ 'u -\fBnewuidmap\fR \fIpid\fR \fIuid\fR \fIloweruid\fR \fIcount\fR [\fIuid\fR\ \fIloweruid\fR\ \fIcount\fR\ [\ \fI\&.\&.\&.\fR\ ]] -.SH "DESCRIPTION" -.PP -The -\fBnewuidmap\fR -sets -/proc/[pid]/uid_map -based on its command line arguments and the uids allowed in -/etc/subuid\&. Note that the root user is not exempted from the requirement for a valid -/etc/subuid -entry\&. -.PP -After the pid argument, -\fBnewuidmap\fR -expects sets of 3 integers: -.PP -uid -.RS 4 -Beginning of the range of UIDs inside the user namespace\&. -.RE -.PP -loweruid -.RS 4 -Beginning of the range of UIDs outside the user namespace\&. -.RE -.PP -count -.RS 4 -Length of the ranges (both inside and outside the user namespace)\&. -.RE -.PP -\fBnewuidmap\fR -verifies that the caller is the owner of the process indicated by -\fBpid\fR -and that for each of the above sets, each of the UIDs in the range [loweruid, loweruid+count] is allowed to the caller according to -/etc/subuid -before setting -/proc/[pid]/uid_map\&. -.PP -Note that newuidmap may be used only once for a given process\&. -.SH "OPTIONS" -.PP -There currently are no options to the -\fBnewuidmap\fR -command\&. -.SH "FICHIERS" -.PP -/etc/subuid -.RS 4 -List of user\*(Aqs subordinate user IDs\&. -.RE -.PP -/proc/[pid]/uid_map -.RS 4 -Mapping of uids from one between user namespaces\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin.defs\fR(5), -\fBnewusers\fR(8), -\fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBusermod\fR(8), -\fBuserdel\fR(8)\&. diff --git a/man/fr/man1/passwd.1 b/man/fr/man1/passwd.1 deleted file mode 100644 index 4d77bb2e..00000000 --- a/man/fr/man1/passwd.1 +++ /dev/null @@ -1,355 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "PASSWD" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -passwd \- Modifier le mot de passe d\*(Aqun utilisateur -.SH "SYNOPSIS" -.HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIoptions\fR] [\fILOGIN\fR] -.SH "DESCRIPTION" -.PP -La commande -\fBpasswd\fR -modifie les mots de passe des comptes d\*(Aqutilisateurs\&. Un utilisateur normal ne peut changer que son propre mot de passe, alors que le superutilisateur peut changer le mot de passe associ\('e \(`a n\*(Aqimporte quel compte\&. -\fBpasswd\fR -modifie \('egalement les dates de fin de validit\('e du compte ou du mot de passe associ\('e\&. -.SS "Modifications du mot de passe" -.PP -Dans un premier temps, l\*(Aqutilisateur doit fournir son ancien mot de passe, s\*(Aqil en avait un\&. Ce mot de passe est ensuite chiffr\('e puis compar\('e avec le mot de passe enregistr\('e\&. L\*(Aqutilisateur n\*(Aqa droit qu\*(Aq\(`a un seul essai pour entrer le mot de passe correct\&. Le superutilisateur peut contourner cette premi\(`ere \('etape de mani\(`ere \(`a changer les mots de passe ayant \('et\('e oubli\('es\&. -.PP -Une fois que le mot de passe a \('et\('e entr\('e, les informations de limite de validit\('e du mot de passe sont v\('erifi\('ees pour s\*(Aqassurer que l\*(Aqutilisateur est autoris\('e \(`a modifier son mot de passe \(`a cet instant\&. Dans le cas contraire, -\fBpasswd\fR -refuse de changer le mot de passe, et quitte\&. -.PP -Le nouveau mot de passe sera demand\('e deux fois \(`a l\*(Aqutilisateur\&. Le second mot de passe est compar\('e avec le premier\&. Ces deux mots de passe devront \(^etre identiques pour que le mot de passe soit chang\('e\&. -.PP -La complexit\('e de ce mot de passe est alors test\('ee\&. Comme ligne de conduite g\('en\('erale, un mot de passe doit toujours \(^etre constitu\('e de 6 \(`a 8 caract\(`eres en en choisissant un ou plus parmi chacun des ensembles suivants\ \&: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -caract\(`eres alphab\('etiques minuscules -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -chiffres de 0 \(`a 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -marques de ponctuation -.RE -.PP -Il faudra faire attention \(`a ne pas utiliser les caract\(`eres de suppression ou d\*(Aqeffacement\&. -\fBpasswd\fR -rejettera tout mot de passe dont la complexit\('e ne sera pas suffisante\&. -.SS "Astuces pour les mots de passe" -.PP -La s\('ecurit\('e d\*(Aqun mot de passe repose sur la force de l\*(Aqalgorithme de chiffrement et sur la taille de l\*(Aqespace de cl\('es utilis\('e\&. La m\('ethode de chiffrement des syst\(`emes -\fIUNIX\fR -est bas\('ee sur l\*(Aqalgorithme NBS\ \&DES\&. Des m\('ethodes plus r\('ecentes sont maintenant recommand\('ees (voir -\fBENCRYPT_METHOD\fR)\&. La taille de l\*(Aqespace de cl\('es d\('epend de l\*(Aqal\('ea du mot de passe utilis\('e\&. -.PP -Les compromissions de la s\('ecurit\('e des mots de passe r\('esultent le plus souvent d\*(Aqune n\('egligence dans le choix du mot de passe, ou lors de son utilisation\&. Pour cette raison, vous ne devez pas s\('electionner de mot de passe apparaissant dans un dictionnaire ou devant \(^etre \('ecrit\&. Le mot de passe ne doit pas non plus \(^etre un nom propre, un num\('ero min\('eralogique, une date de naissance, ou une adresse\&. En effet ceux\-ci pourraient \(^etre devin\('es pour violer la s\('ecurit\('e du syst\(`eme\&. -.PP -You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBpasswd\fR -sont\ \&: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Cette option ne peut \(^etre utilis\('ee qu\*(Aqavec -\fB\-S\fR -et permet d\*(Aqafficher l\*(Aq\('etat des mots de passe pour tous les utilisateurs\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR -.RS 4 -Supprimer le mot de passe (le rendre vide) d\*(Aqun utilisateur\&. C\*(Aqest une fa\(,con rapide de supprimer l\*(Aqauthentification par mot de passe pour un compte\&. Il rend le compte indiqu\('e sans mot de passe\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expire\fR -.RS 4 -Annuler imm\('ediatement la validit\('e du mot de passe d\*(Aqun compte\&. Ceci permet d\*(Aqobliger un utilisateur \(`a changer son mot de passe lors de sa prochaine connexion\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-i\fR, \fB\-\-inactive\fR\ \&\fIDUR\('EE_INACTIVIT\('E\fR -.RS 4 -Cette option permet de d\('esactiver un compte quelques temps apr\(`es expiration de son mot de passe\&. -\fIDUR\('EE_INACTIVIT\('E\fR -jours apr\(`es expiration de son mot de passe, l\*(Aqutilisateur ne pourra plus se connecter avec ce compte\&. -.RE -.PP -\fB\-k\fR, \fB\-\-keep\-tokens\fR -.RS 4 -Indiquer que la modification de mot de passe ne sera effectu\('ee que lors de l\*(Aqexpiration des jetons d\*(Aqauthentification (mots de passe)\&. C\*(Aqest utile dans le cas o\(`u l\*(Aqutilisateur voudrait conserver ses jetons d\*(Aqauthentification encore valables\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\fR -.RS 4 -Verrouiller le mot de passe du compte indiqu\('e\&. Cette option d\('esactive un mot de passe en le modifiant par une valeur qui ne correspond pas \(`a un mot de passe chiffr\('e possible (cela ajoute un \(Fo\ \&!\ \&\(Fc au d\('ebut du mot de passe)\&. -.sp -Veuillez noter que cela ne d\('esactive pas le compte\&. L\*(Aqutilisateur peut toujours se connecter en utilisant une autre m\('ethode d\*(Aqauthentification (par exemple une cl\('e SSH)\&. Pour d\('esactiver un compte, les administrateurs devraient utiliser -\fBusermod \-\-expiredate 1\fR -(cela d\('efinit la date d\*(Aqexpiration du compte au 2\ \&janvier\ \&1970)\&. -.sp -Les utilisateurs avec un mot de passe verrouill\('e ne sont pas autoris\('es \(`a le changer\&. -.RE -.PP -\fB\-n\fR, \fB\-\-mindays\fR\ \&\fIJOURS_MIN\fR -.RS 4 -D\('efinir le nombre minimum de jours entre chaque changement de mot de passe \(`a -\fIMIN_DAYS\fR\&. Une valeur de z\('ero pour ce champ indique que l\*(Aqutilisateur peut changer son mot de passe quand il le souhaite\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Mode silencieux\&. -.RE -.PP -\fB\-r\fR, \fB\-\-repository\fR\ \&\fIREPOSITORY\fR -.RS 4 -Modifier le mot de passe dans la base -\fIREPOSITORY\fR -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-S\fR, \fB\-\-status\fR -.RS 4 -Afficher l\*(Aq\('etat d\*(Aqun compte\&. Cet \('etat est constitu\('e de 7 champs\&. Le premier champ est le nom du compte\&. Le second champ indique si le mot de passe est bloqu\('e (L), n\*(Aqa pas de mot de passe (NP) ou a un mot de passe utilisable (P)\&. Le troisi\(`eme champ donne la date de derni\(`ere modification du mot de passe\&. Les quatre champs suivants sont\ \&: la dur\('ee minimum avant modification, la dur\('ee maximum de validit\('e, la dur\('ee d\*(Aqavertissement, et la dur\('ee d\*(Aqinactivit\('e autoris\('ee pour le mot de passe\&. Les dur\('ees sont exprim\('ees en jours\&. -.RE -.PP -\fB\-u\fR, \fB\-\-unlock\fR -.RS 4 -D\('everrouiller le mot de passe du compte indiqu\('e\&. Cette option r\('eactive un mot de passe en remettant le mot de passe \(`a sa valeur pr\('ec\('edente (la valeur pr\('esente avant l\*(Aqutilisation de l\*(Aqoption -\fB\-l\fR)\&. -.RE -.PP -\fB\-w\fR, \fB\-\-warndays\fR\ \&\fIDUR\('EE_AVERTISSEMENT\fR -.RS 4 -Configurer le nombre de jours d\*(Aqavertissement avant que le changement de mot de passe ne soit obligatoire\&. La valeur -\fIDUR\('EE_AVERTISSEMENT\fR -est le nombre de jours pr\('ec\('edant la fin de validit\('e pendant lesquels un utilisateur sera pr\('evenu que son mot de passe est sur le point d\*(Aqarriver en fin de validit\('e\&. -.RE -.PP -\fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIJOURS_MAX\fR -.RS 4 -Configurer le nombre maximum de jours pendant lesquels un mot de passe reste valable\&. Apr\(`es -\fIJOURS_MAX\fR, le mot de passe devra \(^etre modifi\('e\&. -.RE -.SH "AVERTISSEMENTS" -.PP -La v\('erification de la complexit\('e des mots de passe peut varier d\*(Aqun site \(`a l\*(Aqautre\&. Il est vivement conseill\('e aux utilisateurs de choisir un mot de passe aussi complexe que possible dans la limite de ce qu\*(Aqil est capable de m\('emoriser\&. -.PP -Il se peut que les utilisateurs ne puissent pas changer leur mot de passe sur un syst\(`eme si NIS est activ\('e et qu\*(Aqils ne sont pas connect\('es au serveur NIS\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBENCRYPT_METHOD\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder les mots de passes (si aucun algorithme n\*(Aqa \('et\('e indiqu\('e sur la ligne de commandes)\&. -.sp -Les valeurs suivantes sont accept\('ees\ \&: -\fIDES\fR -(par d\('efaut), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Remarque\ \&: ce param\(`etre remplace la variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (bool\('een) -.RS 4 -Indiquer si un mot de passe doit \(^etre chiffr\('e en utilisant l\*(Aqalgorithme bas\('e sur MD5\&. Si configur\('ee \(`a -\fIyes\fR, les nouveaux mots de passe seront chiffr\('es en utilisant l\*(Aqalgorithme bas\('e sur MD5 compatible avec celui utilis\('e par les versions r\('ecentes de FreeBSD\&. Il g\(`ere des mots de passe de longueur illimit\('ee et des cha\(^ines de salage plus longues\&. Configurez\-la \(`a -\fIno\fR -pour copier les mots de passe chiffr\('es sur d\*(Aqautres syst\(`emes qui ne comprennent pas le nouvel algorithme\&. la valeur par d\('efaut est -\fIno\fR\&. -.sp -Cette variable est \('ecras\('ee par la variable -\fBENCRYPT_METHOD\fR -ou par toute option de la ligne de commande utilis\('ee pour configurer l\*(Aqalgorithme de chiffrement\&. -.sp -Cette variable est obsol\(`ete\&. Vous devriez utiliser -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (bool\('een) -.RS 4 -Activer des v\('erifications suppl\('ementaires lors des changements de mot de passe\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (bool\('een) -.RS 4 -Avertir en cas de mots de passe faibles (mais les accepte quand m\(^eme) si vous \(^etes superutilisateur\&. -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (nombre) -.RS 4 -Nombre maximum d\*(Aqessais pour changer de mot de passe si refus\('e (trop facile)\&. -.RE -.PP -\fBPASS_MAX_LEN\fR (nombre), \fBPASS_MIN_LEN\fR (nombre) -.RS 4 -Nombre de caract\(`eres significatifs dans le mot de passe pour crypt()\&. La valeur par d\('efaut de -\fBPASS_MAX_LEN\fR -est 8\&. Ne la changez pas \(`a moins que votre crypt() ne soit meilleur\&. Ceci est ignor\('e si -\fBMD5_CRYPT_ENAB\fR -est configur\('ee \(`a -\fIyes\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (nombre), \fBSHA_CRYPT_MAX_ROUNDS\fR (nombre) -.RS 4 -Quand -\fBENCRYPT_METHOD\fR -est configur\('ee \(`a -\fISHA256\fR -ou -\fISHA512\fR, cela d\('efinit le nombre de rounds de SHA utilis\('es par l\*(Aqalgorithme de chiffrement par d\('efaut (quand le nombre de rounds n\*(Aqest pas pr\('ecis\('e sur la ligne de commande)\&. -.sp -Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&. -.sp -Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&. -.sp -Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&. -.sp -Si une seule des variables -\fBSHA_CRYPT_MIN_ROUNDS\fR -ou -\fBSHA_CRYPT_MAX_ROUNDS\fR -est configur\('ee, alors cette valeur sera utilis\('ee\&. -.sp -Si -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, la valeur la plus \('elev\('ee sera utilis\('ee\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.SH "VALEURS DE RETOUR" -.PP -La commande -\fBpasswd\fR -retourne les valeurs suivantes en quittant\ \&: -.PP -\fI0\fR -.RS 4 -succ\(`es -.RE -.PP -\fI1\fR -.RS 4 -permission refus\('ee -.RE -.PP -\fI2\fR -.RS 4 -combinaison d\*(Aqoptions non valable -.RE -.PP -\fI3\fR -.RS 4 -\('echec inattendu, rien n\*(Aqa \('et\('e fait -.RE -.PP -\fI4\fR -.RS 4 -\('echec inattendu, le fichier -passwd -est manquant -.RE -.PP -\fI5\fR -.RS 4 -fichier -passwd -en cours d\*(Aqutilisation, veuillez r\('eessayer plus tard -.RE -.PP -\fI6\fR -.RS 4 -param\(`etre non valable pour l\*(Aqoption -.RE -.SH "VOIR AUSSI" -.PP -\fBchpasswd\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBlogin.defs\fR(5),\fBusermod\fR(8)\&. diff --git a/man/fr/man1/sg.1 b/man/fr/man1/sg.1 deleted file mode 100644 index b2abe5d8..00000000 --- a/man/fr/man1/sg.1 +++ /dev/null @@ -1,92 +0,0 @@ -'\" t -.\" Title: sg -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "SG" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -sg \- ex\('ecuter une commande avec un autre identifiant de groupe -.SH "SYNOPSIS" -.HP \w'\fBsg\fR\ 'u -\fBsg\fR [\-] [groupe\ [\-c]\ commande] -.SH "DESCRIPTION" -.PP -La commande -\fBsg\fR -fonctionne de la m\(^eme mani\(`ere que -\fBnewgrp\fR, mais prend une commande comme param\(`etre\&. Cette commande sera ex\('ecut\('ee avec un interpr\('eteur de commandes -/bin/sh\&. Avec la plupart des interpr\('eteurs de commandes permettant d\*(Aqex\('ecuter -\fBsg\fR, si la commande comporte plusieurs mots, il faut la placer entre des guillemets (\(Fo\ \&"\ \&\(Fc)\&. Une autre diff\('erence entre -\fBnewgrp\fR -et -\fBsg\fR -est que certains interpr\('eteurs de commandes traitent -\fBnewgrp\fR -de fa\(,con particuli\(`ere, en se rempla\(,cant eux\-m\(^emes par une nouvelle instance d\*(Aqun interpr\('eteur que -\fBnewgrp\fR -cr\('ee\&. Ceci n\*(Aqest pas le cas de -\fBsg\fR, ce qui permet de retrouver le groupe pr\('ec\('edent \(`a la sortie de -\fBsg\fR\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBSYSLOG_SG_ENAB\fR (bool\('een) -.RS 4 -Activer la journalisation \(Fo\ \&syslog\ \&\(Fc de l\*(Aqactivit\('e de -\fBsg\fR\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBnewgrp\fR(1), -\fBsu\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/fr/man1/su.1 b/man/fr/man1/su.1 deleted file mode 100644 index 7dbce301..00000000 --- a/man/fr/man1/su.1 +++ /dev/null @@ -1,451 +0,0 @@ -'\" t -.\" Title: su -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "SU" "1" "18/09/2016" "shadow\-utils 4\&.4" "Commandes utilisateur" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -su \- Changer d\*(Aqidentifiant d\*(Aqutilisateur ou devenir superutilisateur -.SH "SYNOPSIS" -.HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fIoptions\fR] [\fInom_utilisateur\fR] -.SH "DESCRIPTION" -.PP -La commande -\fBsu\fR -permet de devenir un autre utilisateur pour la dur\('ee d\*(Aqune session\&. Invoqu\('e sans nom d\*(Aq\fButilisateur\fR, le comportement par d\('efaut de -\fBsu\fRest de devenir superutilisateur\&. Le param\(`etre optionnel -\fB\-\fR -permet d\*(Aqobtenir un environnement similaire \(`a celui que l\*(Aqutilisateur aurait obtenu lors d\*(Aqune connexion directe\&. -.PP -Des param\(`etres suppl\('ementaires peuvent \(^etre fournis apr\(`es le nom de l\*(Aqutilisateur\&. Dans ce cas, ils sont donn\('es \(`a l\*(Aqinterpr\('eteur de commandes de connexion de l\*(Aqutilisateur\&. En particulier, le param\(`etre \(Fo\ \&\fB\-c\fR\ \&\(Fc consid\(`ere que le param\(`etre suivant est une commande pour la plupart des interpr\('eteurs de commandes\&. La commande sera ex\('ecut\('ee par l\*(Aqinterpr\('eteur indiqu\('e dans -/etc/passwd -pour l\*(Aqutilisateur cible\&. -.PP -Vous pouvez utiliser le param\(`etre -\fB\-\-\fR -pour s\('eparer les options de -\fBsu\fR -des param\(`etres fournis par l\*(Aqinterpr\('eteur de commandes\&. -.PP -Un mot de passe sera demand\('e \(`a l\*(Aqutilisateur, si n\('ecessaire\&. Les mots de passe incorrects produisent un message d\*(Aqerreur\&. Toutes les tentatives, r\('eussies ou non, sont enregistr\('ees afin de d\('etecter tout abus du syst\(`eme\&. -.PP -L\*(Aqenvironnement actuel est fourni au nouvel interpr\('eteur de commandes\&. La valeur de -\fB$PATH\fR -est r\('einitialis\('ee \(`a -/bin:/usr/bin -pour les utilisateurs normaux, ou \(`a -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR -pour le superutilisateur\&. Ce comportement peut \(^etre modifi\('e avec les param\(`etres -\fIENV_PATH\fR -et -\fIENV_SUPATH\fR -dans -/etc/login\&.defs\&. -.PP -Une connexion \(`a un sous\-syst\(`eme est indiqu\('ee par la pr\('esence d\*(Aqun \(Fo\ \&*\ \&\(Fc comme premier caract\(`ere de l\*(Aqinterpr\('eteur de commandes initial\&. Le r\('epertoire personnel sera utilis\('e comme racine d\*(Aqun nouveau syst\(`eme de fichiers dans lequel l\*(Aqutilisateur sera connect\('e\&. -.SH "OPTIONS" -.PP -Les options applicables \(`a la commande -\fBsu\fR -sont\ \&: -.PP -\fB\-c\fR, \fB\-\-command\fR\ \&\fICOMMANDE\fR -.RS 4 -Indiquer une commande qui sera invoqu\('ee par l\*(Aqinterpr\('eteur de commandes en utilisant son option -\fB\-c\fR -.sp -The executed command will have no controlling terminal\&. This option cannot be used to execute interactive programs which need a controlling TTY\&. -.RE -.PP -\fB\-\fR, \fB\-l\fR, \fB\-\-login\fR -.RS 4 -Fournir \(`a l\*(Aqutilisateur un environnement similaire \(`a celui qu\*(Aqil aurait obtenu s\*(Aqil s\*(Aq\('etait connect\('e directement\&. -.sp -When -\fB\-\fR -is used, it must be specified before any -\fBusername\fR\&. For portability it is recommended to use it as last option, before any -\fBusername\fR\&. The other forms (\fB\-l\fR -and -\fB\-\-login\fR) do not have this restriction\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fIINTERPR\('ETEUR\fR -.RS 4 -Interpr\('eteur de commande devant \(^etre appel\('e\&. -.sp -L\*(Aqinterpr\('eteur de commandes \(`a appeler est choisi parmi (le choix de plus haute priorit\('e en t\(^ete)\ \&: -.PP -.RS 4 -Interpr\('eteur de commande indiqu\('e par \-\-shell\&. -.RE -.PP -.RS 4 -Si -\fB\-\-preserve\-environment\fR -est utilis\('e, l\*(Aqinterpr\('eteur de commandes indiqu\('e par la variable d\*(Aqenvironnement -\fB$SHELL\fR -sera utilis\('e\&. -.RE -.PP -.RS 4 -Interpr\('eteur de commandes indiqu\('e dans -/etc/passwd -pour l\*(Aqutilisateur cible\&. -.RE -.PP -.RS 4 -/bin/sh -si aucun interpr\('eteur de commandes ne peut \(^etre trouv\('e par l\*(Aqune des m\('ethodes ci\-dessus\&. -.RE -.sp -Si l\*(Aqutilisateur cible poss\(`ede un interpr\('eteur de commande restreint (par exemple, le champ de l\*(Aqinterpr\('eteur de commande dans -/etc/passwd -n\*(Aqest pas renseign\('e dans -/etc/shells), alors, ni l\*(Aqoption -\fB\-\-shell\fR -ni la variable d\*(Aqenvironnement -\fB$SHELL\fR -ne seront prises en compte \(`a moins que -\fBsu\fR -ne soit appel\('e par le superutilisateur\&. -.RE -.PP -\fB\-m\fR, \fB\-p\fR, \fB\-\-preserve\-environment\fR -.RS 4 -Pr\('eserver l\*(Aqenvironnement actuel, sauf pour\ \&: -.PP -\fB$PATH\fR -.RS 4 -r\('einitialise suivant les options -\fBENV_PATH\fR -ou -\fBENV_SUPATH\fR -dans -/etc/login\&.defs -(voir ci\-dessous)\ \&: -.RE -.PP -\fB$IFS\fR -.RS 4 -r\('einitialise \(`a -\(Fo\ \&\ \&\(Fc, s\*(Aqil a \('et\('e d\('efini\&. -.RE -.sp -Si l\*(Aqutilisateur cible poss\(`ede un interpr\('eteur de commandes restreint, cette option n\*(Aqa aucun effet (\(`a moins que -\fBsu\fR -ne soit appel\('e par le superutilisateur)\&. -.sp -Notez que le comportement par d\('efaut pour l\*(Aqenvironnement est le suivant\ \&: -.PP -.RS 4 -Les variables d\*(Aqenvironnement -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$USER\fR, -\fB$LOGNAME\fR, -\fB$PATH\fR -et -\fB$IFS\fR -sont r\('einitialis\('ees\&. -.RE -.PP -.RS 4 -Si -\fB\-\-login\fR -n\*(Aqest pas utilis\('ee, l\*(Aqenvironnement est copi\('e sauf pour les variables ci\-dessus\&. -.RE -.PP -.RS 4 -Si -\fB\-\-login\fR -est utilis\('ee, les variables d\*(Aqenvironnement -\fB$TERM\fR, -\fB$COLORTERM\fR, -\fB$DISPLAY\fR -et -\fB$XAUTHORITY\fR -sont copi\('ees si elles ont \('et\('e d\('efinies\&. -.RE -.PP -.RS 4 -Si -\fB\-\-login\fR -est utilis\('ee, les variables d\*(Aqenvironnement -\fB$TZ\fR, -\fB$HZ\fR -et -\fB$MAIL\fR -sont configur\('ees en accord avec les options -\fBENV_TZ\fR, -\fBENV_HZ\fR, -\fBMAIL_DIR\fR -et -\fBMAIL_FILE\fR -de -/etc/login\&.defs -(voir ci\-dessous)\&. -.RE -.PP -.RS 4 -Si -\fB\-\-login\fR -est utilis\('ee, les autres variables d\*(Aqenvironnement peuvent \(^etre configur\('ees par le fichier -\fBENVIRON_FILE\fR -(voir ci\-dessous)\&. -.RE -.RE -.SH "AVERTISSEMENTS" -.PP -Cette version de -\fBsu\fR -a de nombreuses options de compilation\&. Seules certaines d\*(Aqentre elles peuvent avoir \('et\('e activ\('ees sur votre site\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBCONSOLE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, soit un chemin complet du fichier contenant les noms de p\('eriph\('eriques (un par ligne), soit une liste de noms du p\('eriph\('erique d\('elimit\('ee par des \(Fo\ \&:\ \&\(Fc\&. Les connexions d\*(Aqun administrateur ne seront autoris\('ees que depuis ces p\('eriph\('eriques\&. -.sp -S\*(Aqil n\*(Aqest pas d\('efini, root pourra se connecter depuis n\*(Aqimporte quel p\('eriph\('erique\&. -.sp -Le p\('eriph\('erique doit \(^etre pr\('ecis\('e sans le pr\('efixe /dev/\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (cha\(^ine de caract\(`eres) -.RS 4 -Une liste de groupes \(`a rajouter aux groupes suppl\('ementaires de l\*(Aqutilisateur lors d\*(Aqune connexion sur une console (d\('etermin\('e par le param\(`etre CONSOLE)\&. Par d\('efaut, aucun groupe n\*(Aqest ajout\('e\&. - -\(`A utiliser avec pr\('ecaution\ \&: il est possible que les utilisateurs aient un acc\(`es permanent \(`a ces groupes, et cela m\(^eme s\*(Aqils ne sont pas connect\('es sur la console\&. -.RE -.PP -\fBDEFAULT_HOME\fR (bool\('een) -.RS 4 -Indiquer si la connexion est permise si on ne peut pas acc\('eder au r\('epertoire personnel\&. Le r\('eglage par d\('efaut est \(Fo\ \&no\ \&\(Fc\&. -.sp -Si elle est configur\('ee \(`a -\fIyes\fR, l\*(Aqutilisateur va se connecter dans le r\('epertoire racine (/) s\*(Aqil n\*(Aqest pas possible d\*(Aqacc\('eder \(`a son r\('epertoire personnel\&. -.RE -.PP -\fBENV_HZ\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement HZ lorsqu\*(Aqun utilisateur se connecte\&. La valeur doit \(^etre pr\('ec\('ed\('ee par -\fIHZ=\fR\&. Une valeur commune sur Linux est -\fIHZ=100\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si ce fichier existe et est lisible, l\*(Aqenvironnement de connexion sera lu \(`a\ \& partir de lui\&. Chaque ligne doit \(^etre sous la forme nom=valeur\&. -.sp -Les lignes commen\(,cant par un \(Fo\ \&#\ \&\(Fc sont consid\('er\('ees comme des commentaires, et sont ignor\('ees\&. -.RE -.PP -\fBENV_PATH\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement PATH quand un utilisateur ordinaire se connecte\&. La valeur est une liste de chemins s\('epar\('es par des deux points (par exemple -\fI/bin:/usr/bin\fR) et peut \(^etre pr\('ec\('ed\('ee par -\fIPATH=\fR\&. La valeur par d\('efaut est -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement PATH quand le super\-utilisateur se connecte\&. La valeur est une liste de chemins s\('epar\('es par deux points (par exemple -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) et peut \(^etre pr\('ec\('ed\('ee par -\fIPATH=\fR\&. La valeur par d\('efaut est -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement TZ quand un utilisateur se connecte\&. La valeur peut \(^etre le nom d\*(Aqun fuseau horaire pr\('ec\('ed\('e par -\fITZ=\fR -(par exemple -\fITZ=CST6CDT\fR), ou le chemin complet vers le fichier contenant la sp\('ecification du fuseau horaire (par exemple -/etc/tzname)\&. -.sp -Si un chemin complet est sp\('ecifi\('e mais que le fichier n\*(Aqexiste pas ou ne peut pas \(^etre lu, la valeur par d\('efaut utilis\('ee est -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBLOGIN_STRING\fR (cha\(^ine de caract\(`eres) -.RS 4 -La cha\(^ine de caract\(`eres utilis\('ee pour l\*(Aqinvite de mot de passe\&. La valeur par d\('efaut est d\*(Aqutiliser "Password: " (\(Fo\ \&mot de passe\ \&:\ \&\(Fc), ou une traduction de cette cha\(^ine\&. Si vous d\('efinissez cette variable, l\*(Aqinvite ne sera pas traduite\&. -.sp -Si la cha\(^ine contient -\fI%s\fR, ces caract\(`eres seront remplac\('es par le nom de l\*(Aqutilisateur\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (bool\('een) -.RS 4 -Activer le contr\(^ole et l\*(Aqaffichage du statut de la bo\(^ite aux lettres durant la connexion\&. -.sp -Vous devriez le d\('esactiver si les fichiers de d\('emarrage de l\*(Aqinterpr\('eteur de commandes v\('erifient d\('ej\(`a la pr\('esence de courriers (\(Fo\ \&mail \-e\ \&\(Fc ou \('equivalent)\&. -.RE -.PP -\fBMAIL_DIR\fR (cha\(^ine de caract\(`eres) -.RS 4 -R\('epertoire d\*(Aqattente des courriels (\(Fo\ \&mail spool directory\ \&\(Fc)\&. Ce param\(`etre est n\('ecessaire pour manipuler les bo\(^ites \(`a lettres lorsque le compte d\*(Aqun utilisateur est modifi\('e ou supprim\('e\&. S\*(Aqil n\*(Aqest pas sp\('ecifi\('e, une valeur par d\('efaut d\('efinie \(`a la compilation est utilis\('ee\&. -.RE -.PP -\fBMAIL_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir l\*(Aqemplacement des bo\(^ites aux lettres des utilisateurs relativement \(`a leur r\('epertoire personnel\&. -.RE -.PP -Les param\(`etres -\fBMAIL_DIR\fR -et -\fBMAIL_FILE\fR -sont utilis\('es par -\fBuseradd\fR, -\fBusermod\fR -et -\fBuserdel\fR -pour cr\('eer, d\('eplacer ou supprimer les bo\(^ites aux lettres des utilisateurs\&. -.PP -Si -\fBMAIL_CHECK_ENAB\fR -est r\('egl\('e sur -\fIyes\fR, ces variables servent \('egalement \(`a d\('efinir la variable d\*(Aqenvironnement -\fBMAIL\fR\&. -.PP -\fBQUOTAS_ENAB\fR (bool\('een) -.RS 4 -Activer la mise en place de limites de resources depuis -/etc/limits -et ulimit, umask et niveau nice depuis les champs gecos de passwd\&. -.RE -.PP -\fBSULOG_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, les activit\('es de su seront enregistr\('ees dans le fichier\&. -.RE -.PP -\fBSU_NAME\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, le nom de la commande \(`a afficher lorsque \(Fo\ \&su \-\ \&\(Fc est ex\('ecut\('ee\&. Par exemple, si elle est d\('efinie \(`a \(Fo\ \&su\ \&\(Fc alors un \(Fo\ \&ps\ \&\(Fc affichera la commande comme \(Fo\ \&\-su\ \&\(Fc\&. Si non d\('efinie, alors \(Fo\ \&ps\ \&\(Fc affichera le nom du shell qui sera en fait ex\('ecut\('e, par exemple quelque chose comme \(Fo\ \&\-sh\ \&\(Fc\&. -.RE -.PP -\fBSU_WHEEL_ONLY\fR (bool\('een) -.RS 4 -Si -\fIyes\fR, l\*(Aqutilisateur doit faire partie des membres du groupe avec le premier gid 0 dans -/etc/group -(appel\('e -\fIroot\fR -sur la plupart des syst\(`emes Linux) pour \(^etre capable de -\fBsu\fR -vers des comptes \(`a uid 0\&. Si ce groupe n\*(Aqexiste pas ou est vide, personne ne pourra -\fBsu\fR -vers un uid 0\&. -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (bool\('een) -.RS 4 -Activer la journalisation \(Fo\ \&syslog\ \&\(Fc de l\*(Aqactivit\('e de -\fBsu\fR -\- en plus de la journalisation sulog\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (bool\('een) -.RS 4 -Activer la mise en place de bits de masque de groupe (\(Fo\ \&umask group bits\ \&\(Fc) identiques \(`a ceux du propri\('etaire (exemple\ \&: 022 \-> 002, 077 \-> 007) pour les utilisateurs non privil\('egi\('es, si l\*(AqUID est identique au GID et que l\*(Aqidentifiant de connexion est identique au groupe principal\&. -.sp -Si cette variable est configur\('ee \(`a -\fIyes\fR, -\fBuserdel\fR -supprimera le groupe de l\*(Aqutilisateur s\*(Aqil ne contient pas d\*(Aqautres membres, et -\fBuseradd\fR -cr\('eera par d\('efaut un groupe portant le nom de l\*(Aqutilisateur\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.SH "VALEURS DE RETOUR" -.PP -En cas de succ\(`es, -\fBsu\fR -renvoie la valeur de sortie de la commande qu\*(Aqil a ex\('ecut\('ee\&. -.PP -Si cette commande s\*(Aqest termin\('ee par un signal, -\fBsu\fR -y ajoute 128 et renvoie le r\('esultat\&. -.PP -Si -\fBsu\fR -doit tuer la commande (parce qu\*(Aqil a \('et\('e demand\('e de terminer et que la commande ne s\*(Aqest pas termin\('ee \(`a temps), -\fBsu\fR -renvoie 255\&. -.PP -Certaines valeurs de retour de -\fBsu\fR -sont ind\('ependantes de la commande ex\('ecut\('ee\ \&: -.PP -\fI0\fR -.RS 4 -succ\(`es (\fB\-\-help\fR -uniquement) -.RE -.PP -\fI1\fR -.RS 4 -\('Echec syst\(`eme ou d\*(Aqauthentification -.RE -.PP -\fI126\fR -.RS 4 -La commande demand\('ee n\*(Aqa pas \('et\('e trouv\('ee\&. -.RE -.PP -\fI127\fR -.RS 4 -La commande demand\('ee n\*(Aqa pas pu \(^etre ex\('ecut\('ee\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin\fR(1), -\fBlogin.defs\fR(5), -\fBsg\fR(1), -\fBsh\fR(1)\&. diff --git a/man/fr/man3/getspnam.3 b/man/fr/man3/getspnam.3 deleted file mode 100644 index cd473da3..00000000 --- a/man/fr/man3/getspnam.3 +++ /dev/null @@ -1 +0,0 @@ -.so man3/shadow.3 diff --git a/man/fr/man3/shadow.3 b/man/fr/man3/shadow.3 deleted file mode 100644 index a81091e3..00000000 --- a/man/fr/man3/shadow.3 +++ /dev/null @@ -1,243 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Appels de biblioth\(`eque -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "SHADOW" "3" "18/09/2016" "shadow\-utils 4\&.4" "Appels de biblioth\(`eque" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -shadow, getspnam \- routines d\*(Aqutilisation des mots de passe cach\('es -.SH "SYNTAX" -.PP -\fI#include \fR -.PP -\fIstruct spwd *getspent();\fR -.PP -\fIstruct spwd *getspnam(char\fR -\fI*nom\fR\fI);\fR -.PP -\fIvoid setspent();\fR -.PP -\fIvoid endspent();\fR -.PP -\fIstruct spwd *fgetspent(FILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIstruct spwd *sgetspent(char\fR -\fI*cp\fR\fI);\fR -.PP -\fIint putspent(struct spwd\fR -\fI*p,\fR -\fIFICHIER\fR -\fI*fp\fR\fI);\fR -.PP -\fIint lckpwdf();\fR -.PP -\fIint ulckpwdf();\fR -.SH "DESCRIPTION" -.PP -\fIshadow\fR -manipule le contenu du fichier des mots de passe cach\('es, -/etc/shadow\&. La structure d\('efinie dans le fichier inclus est\ \&: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct spwd { - char *sp_namp; /* nom de connexion de l\*(Aqutilisateur */ - char *sp_pwdp; /* mot de passe chiffr\('e */ - long int sp_lstchg; /* dernier changement de mot de passe */ - long int sp_min; /* jours avant de pouvoir changer de mot de passe */ - long int sp_max; /* jours avant l\*(Aqobligation de changer de mot de passe */ - long int sp_warn; /* jours d\*(Aqavertissement avant la fin de validit\('e */ - long int sp_inact; /* jours avant que le compte soit inactif */ - long int sp_expire; /* date de fin de validit\('e du compte */ - unsigned long int sp_flag; /* r\('eserv\('e pour une utilisation future */ -} - -.fi -.if n \{\ -.RE -.\} -.PP -La signification de chaque champ est la suivante\ \&: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_namp \- pointeur vers le nom d\*(Aqutilisateur termin\('e par un z\('ero binaire (\(Fo\ \&null\-terminated\ \&\(Fc) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_pwdp \- pointeur vers le mot de passe termin\('e par un z\('ero binaire (\(Fo\ \&null\-terminated\ \&\(Fc) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_lstchg \- nombre de jours, compt\('es \(`a partir du 1er\ \&janvier\ \&1970, depuis la derni\(`ere modification du mot de passe -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_min \- nombre de jours pendant lesquels le mot de passe ne peut pas \(^etre chang\('e -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_max \- nombre maximal de jours avant que le mot de passe doive \(^etre chang\('e -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_warn \- nombre de jours avant que le mot de passe n\*(Aqarrive en fin de validit\('e pendant lesquels l\*(Aqutilisateur est averti de la fin prochaine de la validit\('e de son mot de passe -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_inact \- nombre de jours apr\(`es la fin de validit\('e du mot de passe avant de consid\('erer que le compte est inactif et soit d\('esactiv\('e -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_expire \- nombre de jours, compt\('es \(`a partir du 1er\ \&janvier\ \&1970, apr\(`es lesquels le compte sera d\('esactiv\('e -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_flag \- r\('eserv\('e pour une utilisation future -.RE -.SH "DESCRIPTION" -.PP -\fIGetspent\fR, -\fIgetspname\fR, -\fIfgetspent\fR, et -\fIsgetspent\fR -renvoient tous un pointeur vers une structure -\fIstruct spwd\fR\&. -\fIGetspent\fR -renvoie l\*(Aqentr\('ee suivante du fichier, et -\fIfgetspent\fR -renvoie l\*(Aqentr\('ee suivante du flux qui est consid\('er\('e comme \('etant un fichier au format correct\&. -\fISgetspent\fR -renvoie un pointeur vers une structure -\fIstruct spwd\fR -en utilisant la cha\(^ine de caract\(`ere fournie en entr\('ee\&. -\fIGetspnam\fR -cherche \(`a partir de la position courante une entr\('ee correspondant \(`a -\fInom\fR -dans le fichier fourni en entr\('ee\&. -.PP -\fISetspent\fR -et -\fIendspent\fR -peuvent \(^etre utilis\('es pour d\('ebuter et terminer l\*(Aqacc\(`es au fichier de mots de passe cach\('es\&. -.PP -Les fonctions -\fIlckpwdf\fR -et -\fIulckpwdf\fR -doivent \(^etre utilis\('ees pour garantir un acc\(`es exclusif au fichier -/etc/shadow\&. -\fILckpwdf\fR -essaie de placer un verrou avec -\fIpw_lock\fR -pendant 15 secondes\&. Il essaie ensuite de placer un second verrou en utilisant -\fIspw_lock\fR -pendant le reste de ces 15 secondes\&. Si un de ces verrous ne peut \(^etre plac\('e, -\fIlckpwdf\fR -renvoie \-1\&. Quand les deux verrous peuvent \(^etre plac\('es, la valeur 0 est renvoy\('ee\&. -.SH "DIAGNOSTICS" -.PP -Les fonctions renvoient NULL si plus aucune entr\('ee n\*(Aqest disponible ou si une erreur est survenue lors du traitement\&. Les fonctions dont la valeur de retour est un -\fIint\fR -renvoient 0 en cas de succ\(`es et \-1 en cas d\*(Aq\('echec\&. -.SH "AVERTISSEMENTS" -.PP -Ces fonctions peuvent n\*(Aq\(^etre utilis\('ees que par le superutilisateur car l\*(Aqacc\(`es au fichier de mots de passe cach\('es est restreint\&. -.SH "FICHIERS" -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBgetpwent\fR(3), -\fBshadow\fR(5)\&. diff --git a/man/fr/man5/faillog.5 b/man/fr/man5/faillog.5 deleted file mode 100644 index b6c7f47b..00000000 --- a/man/fr/man5/faillog.5 +++ /dev/null @@ -1,63 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "FAILLOG" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -faillog \- journal des \('echecs de connexion -.SH "DESCRIPTION" -.PP -/var/log/faillog -maintient un compte des \('echecs de connexion et les limites pour chaque compte\&. -.PP -Le fichier contient un nombre constant d\*(Aqenregistrements, tri\('es par identifiant d\*(Aqutilisateur num\('erique\&. Chaque enregistrement contient le nombre d\*(Aq\('echecs de connexion depuis la derni\(`ere connexion r\('eussie, le nombre maximum d\*(Aq\('echecs de connexion avant d\('esactivation du compte, la ligne sur laquelle a eu lieu le dernier \('echec de connexion, la date du dernier \('echec de connexion et la dur\('ee (en seconde) pendant laquelle le compte sera verrouill\('e apr\(`es un \('echec\&. -.PP -La structure du fichier est la suivante\ \&: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct faillog { - short fail_cnt; /* compteur des \('echecs */ - short fail_max; /* nb max avant d\('esactivation */ - char fail_line[12]; /* ligne du dernier \('echec */ - time_t fail_time; /* date du dernier \('echec */ - long fail_locktime;}; -.fi -.if n \{\ -.RE -.\} -.SH "FICHIERS" -.PP -/var/log/faillog -.RS 4 -Journal des \('echecs de connexion\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBfaillog\fR(8) diff --git a/man/fr/man5/gshadow.5 b/man/fr/man5/gshadow.5 deleted file mode 100644 index 49dbc290..00000000 --- a/man/fr/man5/gshadow.5 +++ /dev/null @@ -1,101 +0,0 @@ -'\" t -.\" Title: gshadow -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "GSHADOW" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -gshadow \- informations cach\('ees sur les groupes -.SH "DESCRIPTION" -.PP -/etc/gshadow -contient les informations cach\('ees sur les groupes\&. -.PP -Ce fichier ne doit pas \(^etre accessible en lecture par les utilisateurs normaux afin de maintenir la s\('ecurit\('e des mots de passe, en particuliers pour pr\('evenir les attaques par dictionnaires\&. -.PP -Chaque ligne de ce fichier contient les champs suivants, s\('epar\('es par des deux\-points (\(Fo\ \&:\ \&\(Fc)\ \&: -.PP -\fBnom du groupe\fR -.RS 4 -Ce doit \(^etre un nom de groupe valable, qui existe sur le syst\(`eme\&. -.RE -.PP -\fBmot de passe chiffr\('e\fR -.RS 4 -Consultez -\fBcrypt\fR(3) -pour plus d\*(Aqinformations sur le traitement de cette cha\(^ine\&. -.sp -Si le champ du mot de passe contient une cha\(^ine qui ne peut pas \(^etre un r\('esultat valable de -\fBcrypt\fR(3), par exemple si elle contient les caract\(`eres \(Fo\ \&!\ \&\(Fc ou \(Fo\ \&*\ \&\(Fc, les utilisateurs ne pourront pas utiliser le mot de passe UNIX pour acc\('eder au groupe (mais les membres du groupe n\*(Aqont pas besoin de mot de passe)\&. -.sp -The password is used when a user who is not a member of the group wants to gain the permissions of this group (see -\fBnewgrp\fR(1))\&. -.sp -Ce champ peut \(^etre vide\&. Dans ce cas seuls les membres du groupe peuvent obtenir les permissions du groupe\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.sp -Ce mot de passe remplace tout mot de passe indiqu\('e dans -/etc/group\&. -.RE -.PP -\fBadministrateurs\fR -.RS 4 -Ce champ doit \(^etre une liste d\*(Aqutilisateurs, s\('epar\('es par des virgules\&. -.sp -Les administrateurs peuvent modifier le mot de passe ou les membres du groupe\&. -.sp -Les administrateurs peuvent aussi avoir les m\(^emes permissions que les membres (voir ci\-dessous)\&. -.RE -.PP -\fBmembres\fR -.RS 4 -Ce champ doit \(^etre une liste d\*(Aqutilisateurs, s\('epar\('es par des virgules\&. -.sp -Les membres peuvent acc\('eder au groupe sans qu\*(Aqun mot de passe ne leur soit demand\('e\&. -.sp -Vous devez utiliser la m\(^eme liste d\*(Aqutilisateurs que dans -/etc/group\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBgpasswd\fR(5), -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBgrpconv\fR(8), -\fBnewgrp\fR(1)\&. diff --git a/man/fr/man5/limits.5 b/man/fr/man5/limits.5 deleted file mode 100644 index 723b839c..00000000 --- a/man/fr/man5/limits.5 +++ /dev/null @@ -1,273 +0,0 @@ -'\" t -.\" Title: limits -.\" Author: Luca Berra -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "LIMITS" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -limits \- d\('efinition des limites de ressources -.SH "DESCRIPTION" -.PP -Le fichier -\fIlimits\fR -(/etc/limits -par d\('efaut ou LIMITS_FILE d\('efinit dans -config\&.h) d\('ecrit les limites de ressource que vous voulez imposer\&. Il doit \(^etre poss\('ed\('e et ne doit \(^etre lisible que par le compte root\&. -.PP -Par d\('efaut, aucun quota (aucune limite) n\*(Aqest impos\('e \(`a \(Fo\ \&root\ \&\(Fc\&. En fait, il n\*(Aqest pas possible d\*(Aqimposer de cette fa\(,con de limite aux comptes root ou \('equivalents (comptes ayant un UID de 0)\&. -.PP -Chaque ligne d\('ecrit une limite pour un utilisateur, elle est de la forme suivante\ \&: -.PP -\fIutilisateur LISTE_DE_LIMITES\fR -.PP -ou sous la forme\ \&: -.PP -\fI@groupe LISTE_DE_LIMITES\fR -.PP -O\(`u -\fILISTE_DE_LIMITES\fR -est une cha\(^ine construite par la concat\('enation d\*(Aqune liste de limites de ressource\&. Chaque limite consiste en une lettre (identifiant le type de limite) et une valeur num\('erique\&. -.PP -Les identifiants possibles sont\ \&: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -A\ \&: espace d\*(Aqadressage maximal (en kilo octets) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -C\ \&: taille maximale d\*(Aqun fichier image de la m\('emoire (\(Fo\ \&core\ \&\(Fc, en kilo octets) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -D\ \&: taille maximale du segment de donn\('ees d\*(Aqun programme (en kilo octets) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -F: maximum file size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -K\ \&: masque de cr\('eation de fichier, d\('efini par -\fBumask\fR(2)\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -I\ \&: valeur nice maximum (0\&.\&.39 qui sera traduit en 20\&.\&.\-19) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -L\ \&: nombre maximal de connexions simultan\('ees pour cet utilisateur -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -M\ \&: taille maximale de m\('emoire verrouill\('ee (\(Fo\ \&locked\-in\-memory\ \&\(Fc, en kilo octets) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -N\ \&: nombre maximal de fichiers ouverts -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -O\ \&: priorit\('e temps r\('eel maximale -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -P\ \&: priorit\('e des processus, d\('efini par -\fBsetpriority\fR(2)\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -R\ \&: taille maximale de la m\('emoire r\('esidente (\(Fo\ \&resident set size\ \&\(Fc, en kilo octets) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -S\ \&: taille maximale de la pile (en kilo octets) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -T\ \&: temps processeur maximal consomm\('e (en minutes) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -U\ \&: nombre maximal de processus -.RE -.PP -Par exemple, -\fIL2D2048N5\fR -est une cha\(^ine -\fILISTE_DE_LIMITES\fR -valable\&. Pour faciliter la lecture, les entr\('ees suivantes sont \('equivalentes\ \&: -.sp -.if n \{\ -.RS 4 -.\} -.nf - utilisateur L2D2048N5 - utilisateur L2 D2048 N5 - -.fi -.if n \{\ -.RE -.\} -.PP -Be aware that after -\fIusername\fR -the rest of the line is considered a limit string, thus comments are not allowed\&. An invalid limits string will be rejected (not considered) by the -\fBlogin\fR -program\&. -.PP -L\*(Aqentr\('ee par d\('efaut est repr\('esent\('ee par un utilisateur d\('enomm\('e \(Fo\ \&\fI*\fR\ \&\(Fc\&. Si plusieurs entr\('ees par d\('efaut sont pr\('esentes dans le fichier de limites, alors seule la derni\(`ere sera prise en compte\&. -.PP -Les limites pr\('ecis\('ees sous la forme \(Fo\ \&\fI@groupe\fR\ \&\(Fc s\*(Aqappliquent aux membres du -\fIgroupe\fR -pr\('ecis\('e\&. -.PP -If more than one line with limits for a user exist, only the first line for this user will be considered\&. -.PP -If no lines are specified for a user, the last -\fI@group\fR -line matching a group whose the user is a member of will be considered, or the last line with default limits if no groups contain the user\&. -.PP -Un simple tiret \(Fo\ \&\fI\-\fR\ \&\(Fc sera suffisant pour d\('esactiver toute limite \(`a un utilisateur, -.PP -Afin de d\('esactiver une limite pour un utilisateur, un simple tiret \(Fo\ \&\fI\-\fR\ \&\(Fc peut \(^etre utilis\('e au lieu d\*(Aqune valeur num\('erique pour cette limite\&. -.PP -Notez \('egalement que les limites ne sont configur\('ees que PAR CONNEXION\&. Il n\*(Aqy a pas de limite globale ou permanente\&. Des limites globales pourraient voir le jour, mais pour l\*(Aqinstant, il faut faire sans\&. -.SH "FICHIERS" -.PP -/etc/limits -.RS 4 -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin\fR(1), -\fBsetpriority\fR(2), -\fBsetrlimit\fR(2)\&. diff --git a/man/fr/man5/login.access.5 b/man/fr/man5/login.access.5 deleted file mode 100644 index cdba1e69..00000000 --- a/man/fr/man5/login.access.5 +++ /dev/null @@ -1,67 +0,0 @@ -'\" t -.\" Title: login.access -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "LOGIN\&.ACCESS" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -login.access \- table de contr\(^ole des connexions -.SH "DESCRIPTION" -.PP -Le fichier -\fIlogin\&.access\fR -permet de sp\('ecifier des paires (utilisateur, h\(^ote) et/ou (utilisateur, tty) pour lesquelles toute connexion sera soit accept\('ee soit refus\('ee\&. -.PP -Lorsqu\*(Aqun utilisateur se connecte, le fichier -\fIlogin\&.access\fR -est lu jusqu\*(Aq\(`a la premi\(`ere entr\('ee correspondant \(`a la paire (utilisateur, h\(^ote) ou, dans le cas d\*(Aqune connexion ne passant pas par le r\('eseau, \(`a la premi\(`ere entr\('ee correspondant au couple (utilisateur, tty)\&. Le champ des permissions de la table pour cette entr\('ee d\('etermine alors si la connexion doit \(^etre accept\('ee ou refus\('ee\&. -.PP -Chaque ligne de la table de contr\(^ole des connexions (\(Fo\ \&login access control table\ \&\(Fc) est compos\('ee de trois champs s\('epar\('es par le caract\(`ere \(Fo\ \&:\ \&\(Fc\ \&: -.PP -\fIpermission\fR:\fIutilisateurs\fR:\fIorigines\fR -.PP -Le premier champ est soit un \(Fo\ \&\fI+\fR\ \&\(Fc (acc\(`es autoris\('e), soit un \(Fo\ \&\fI\-\fR\ \&\(Fc (acc\(`es refus\('e)\&. Le second champ est une liste d\*(Aqun ou plusieurs noms d\*(Aqutilisateurs ou de groupes, ou -\fIALL\fR -(correspond \(`a tous les utilisateurs)\&. Le troisi\(`eme champ est une liste d\*(Aqun ou plusieurs noms de tty (pour les connexions hors r\('eseau), noms d\*(Aqh\(^otes, noms de domaines (commen\(,cant par un \(Fo\ \&\&.\ \&\(Fc), adresses d\*(Aqh\(^ote, adresses de sous\-r\('eseau (terminant par un \(Fo\ \&\&.\ \&\(Fc), -\fIALL\fR -(pour sp\('ecifier n\*(Aqimporte quelle connexion), ou -\fILOCAL\fR -(correspond \(`a n\*(Aqimporte quelle cha\(^ine ne contenant pas de \(Fo\ \&\&.\ \&\(Fc)\&. Si vous utilisez NIS, vous pouvez utiliser @nomdegroupe pour les motifs d\*(Aqutilisateur et d\*(Aqh\(^ote\&. -.PP -L\*(Aqop\('erateur -\fIEXCEPT\fR -permet d\*(Aq\('ecrire des r\(`egles tr\(`es compactes\&. -.PP -Le fichier d\*(Aqinformations sur les groupes (/etc/group) n\*(Aqest utilis\('e que lorsqu\*(Aqun nom ne correspond \(`a aucun des utilisateurs connect\('es\&. Seuls les groupes pour lesquels la liste des utilisateurs est sp\('ecifi\('ee sont utilis\('es\ \&: le programme ne recherche pas parmi les groupes primaires des utilisateurs\&. -.SH "FICHIERS" -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin\fR(1)\&. diff --git a/man/fr/man5/login.defs.5 b/man/fr/man5/login.defs.5 deleted file mode 100644 index d8fd140b..00000000 --- a/man/fr/man5/login.defs.5 +++ /dev/null @@ -1,829 +0,0 @@ -'\" t -.\" Title: login.defs -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "LOGIN\&.DEFS" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -login.defs \- configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc -.SH "DESCRIPTION" -.PP -Le fichier -/etc/login\&.defs -d\('efinit la configuration de la suite shadow password (mots de passe cach\('es) pour le syst\(`eme\&. Ce fichier est indispensable\&. Son absence n\*(Aqemp\(^echera pas le syst\(`eme de fonctionner, mais aura probablement des cons\('equences ind\('esirables\&. -.PP -Ce fichier est un fichier texte, dont chaque ligne d\('ecrit un param\(`etre de configuration\&. Les lignes consistent en un nom et une valeur, s\('epar\('es par une espace\&. Les lignes blanches et les lignes de commentaires sont ignor\('ees\&. Les commentaires commencent par un caract\(`ere \(Fo\ \&#\ \&\(Fc, qui doit \(^etre le premier caract\(`ere non blanc de la ligne\&. -.PP -Les valeurs des param\(`etres sont de quatre types\ \&: cha\(^ines de caract\(`eres, bool\('eens, nombres et nombres longs\&. Une cha\(^ine de caract\(`eres est constitu\('ee de n\*(Aqimporte quels caract\(`eres imprimables\&. Un bool\('een est soit -\fIyes\fR -(oui), soit -\fIno\fR -(non)\&. Un param\(`etre bool\('een non d\('efini, ou d\('efini avec une valeur autre que celles\-l\(`a prendra la valeur -\fIno\fR\&. Un nombre (normal ou long) peut \(^etre soit d\('ecimal, soit octal (en pr\('ec\('edant la valeur d\*(Aqun -\fI0\fR), ou encore hexad\('ecimal (en pr\('ec\('edant la valeur de -\fI0x\fR)\&. La valeur maximale des param\(`etres num\('eriques normaux ou longs d\('epend de la machine\&. -.PP -Les param\(`etres de configuration suivants sont fournis\ \&: -.PP -\fBCHFN_AUTH\fR (bool\('een) -.RS 4 -La valeur -\fIyes\fR -indique que le programme -\fBchfn\fR -n\('ecessitera une authentification avant de proc\('eder \(`a tout changement, \(`a moins qu\*(Aqils ne soient ex\('ecut\('es par le superutilisateur\&. -.RE -.PP -\fBCHFN_RESTRICT\fR (cha\(^ine de caract\(`eres) -.RS 4 -Ce param\(`etre pr\('ecise quelles valeurs du champ -\fIgecos\fR -du fichier -passwd -peuvent \(^etre modifi\('ees par les utilisateurs ordinaires \(`a l\*(Aqaide du programme -\fBchfn\fR\&. Il est constitu\('e d\*(Aqune combinaison de lettres parmi -\fIf\fR, -\fIr\fR, -\fIw\fR -et -\fIh\fR, correspondant respectivement au nom complet, au num\('ero de bureau, au num\('ero de t\('el\('ephone professionnel et au num\('ero de t\('el\('ephone personnel\&. Pour des raisons de compatibilit\('e avec des versions ant\('erieures, -\fIyes\fR -est \('equivalent \(`a -\fIrwh\fR -et -\fIno\fR -\(`a -\fIfrwh\fR\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, seul le superutilisateur peut effectuer des modifications\&. Pour une configuration encore plus restrictive, il sera pr\('ef\('erable de ne pas installer -\fBchfn\fR -avec l\*(Aqindicateur SUID positionn\('e\&. -.RE -.PP -\fBCHSH_AUTH\fR (bool\('een) -.RS 4 -La valeur -\fIyes\fR -indique que le programme -\fBchsh\fR -n\('ecessitera une authentification avant de proc\('eder \(`a tout changement, \(`a moins qu\*(Aqils ne soient ex\('ecut\('es par le superutilisateur\&. -.RE -.PP -\fBCONSOLE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, soit un chemin complet du fichier contenant les noms de p\('eriph\('eriques (un par ligne), soit une liste de noms du p\('eriph\('erique d\('elimit\('ee par des \(Fo\ \&:\ \&\(Fc\&. Les connexions d\*(Aqun administrateur ne seront autoris\('ees que depuis ces p\('eriph\('eriques\&. -.sp -S\*(Aqil n\*(Aqest pas d\('efini, root pourra se connecter depuis n\*(Aqimporte quel p\('eriph\('erique\&. -.sp -Le p\('eriph\('erique doit \(^etre pr\('ecis\('e sans le pr\('efixe /dev/\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (cha\(^ine de caract\(`eres) -.RS 4 -Une liste de groupes \(`a rajouter aux groupes suppl\('ementaires de l\*(Aqutilisateur lors d\*(Aqune connexion sur une console (d\('etermin\('e par le param\(`etre CONSOLE)\&. Par d\('efaut, aucun groupe n\*(Aqest ajout\('e\&. - -\(`A utiliser avec pr\('ecaution\ \&: il est possible que les utilisateurs aient un acc\(`es permanent \(`a ces groupes, et cela m\(^eme s\*(Aqils ne sont pas connect\('es sur la console\&. -.RE -.PP -\fBCREATE_HOME\fR (boolean) -.RS 4 -Indiquer si un r\('epertoire personnel doit \(^etre cr\('e\('e par d\('efaut pour les nouveaux utilisateurs\&. -.sp -Ce r\('eglage ne s\*(Aqapplique pas pour les utilisateurs syst\(`eme, et peut \(^etre annul\('e sur la ligne de commande\&. -.RE -.PP -\fBDEFAULT_HOME\fR (bool\('een) -.RS 4 -Indiquer si la connexion est permise si on ne peut pas acc\('eder au r\('epertoire personnel\&. Le r\('eglage par d\('efaut est \(Fo\ \&no\ \&\(Fc\&. -.sp -Si elle est configur\('ee \(`a -\fIyes\fR, l\*(Aqutilisateur va se connecter dans le r\('epertoire racine (/) s\*(Aqil n\*(Aqest pas possible d\*(Aqacc\('eder \(`a son r\('epertoire personnel\&. -.RE -.PP -\fBENCRYPT_METHOD\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder les mots de passes (si aucun algorithme n\*(Aqa \('et\('e indiqu\('e sur la ligne de commandes)\&. -.sp -Les valeurs suivantes sont accept\('ees\ \&: -\fIDES\fR -(par d\('efaut), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Remarque\ \&: ce param\(`etre remplace la variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBENV_HZ\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement HZ lorsqu\*(Aqun utilisateur se connecte\&. La valeur doit \(^etre pr\('ec\('ed\('ee par -\fIHZ=\fR\&. Une valeur commune sur Linux est -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_PATH\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement PATH quand un utilisateur ordinaire se connecte\&. La valeur est une liste de chemins s\('epar\('es par des deux points (par exemple -\fI/bin:/usr/bin\fR) et peut \(^etre pr\('ec\('ed\('ee par -\fIPATH=\fR\&. La valeur par d\('efaut est -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement PATH quand le super\-utilisateur se connecte\&. La valeur est une liste de chemins s\('epar\('es par deux points (par exemple -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) et peut \(^etre pr\('ec\('ed\('ee par -\fIPATH=\fR\&. La valeur par d\('efaut est -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement TZ quand un utilisateur se connecte\&. La valeur peut \(^etre le nom d\*(Aqun fuseau horaire pr\('ec\('ed\('e par -\fITZ=\fR -(par exemple -\fITZ=CST6CDT\fR), ou le chemin complet vers le fichier contenant la sp\('ecification du fuseau horaire (par exemple -/etc/tzname)\&. -.sp -Si un chemin complet est sp\('ecifi\('e mais que le fichier n\*(Aqexiste pas ou ne peut pas \(^etre lu, la valeur par d\('efaut utilis\('ee est -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si ce fichier existe et est lisible, l\*(Aqenvironnement de connexion sera lu \(`a\ \& partir de lui\&. Chaque ligne doit \(^etre sous la forme nom=valeur\&. -.sp -Les lignes commen\(,cant par un \(Fo\ \&#\ \&\(Fc sont consid\('er\('ees comme des commentaires, et sont ignor\('ees\&. -.RE -.PP -\fBERASECHAR\fR (nombre) -.RS 4 -Le caract\(`ere ERASE du terminal (\fI010\fR -= backspace, -\fI0177\fR -= DEL)\&. -.sp -La valeur peut \(^etre pr\('efix\('ee par \(Fo\ \&0\ \&\(Fc pour une valeur octale, ou \(Fo\ \&0x\ \&\(Fc pour une valeur hexad\('ecimale\&. -.RE -.PP -\fBFAIL_DELAY\fR (nombre) -.RS 4 -Le d\('elai en secondes avant qu\*(Aqun nouvel essai soit permis apr\(`es un \('echec de connexion\&. -.RE -.PP -\fBFAILLOG_ENAB\fR (bool\('een) -.RS 4 -Activer l\*(Aqenregistrement et l\*(Aqaffichage des informations d\*(Aq\('echec de connexion de -/var/log/faillog -.RE -.PP -\fBFAKE_SHELL\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, -\fBlogin\fR -ex\('ecutera cet interpr\('eteur de commandes au lieu de l\*(Aqinterpr\('eteur de l\*(Aqutilisateur sp\('ecifi\('e dans -/etc/passwd\&. -.RE -.PP -\fBFTMP_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, les \('echecs de connexion seront enregistr\('es dans le fichier sous le format utmp -.RE -.PP -\fBGID_MAX\fR (nombre), \fBGID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques de groupes que les commandes -\fBuseradd\fR, -\fBgroupadd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation des groupes normaux\&. -.sp -La valeur par d\('efaut pour -\fBGID_MIN\fR -(respectivement -\fBGID_MAX\fR) est 1000 (respectivement 60000)\&. -.RE -.PP -\fBHUSHLOGIN_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, le fichier peut d\('esactiver tous les affichages habituels durant la s\('equence de connexion\&. Si un nom de chemin complet est sp\('ecifi\('e, alors le mode taiseux sera activ\('e si le nom ou l\*(Aqinterpr\('eteur de commandes de l\*(Aqutilisateur sont trouv\('es dans le fichier\&. Si ce n\*(Aqest pas un nom de chemin complet, alors le mode taiseux sera activ\('e si le fichier existe dans le r\('epertoire personnel de l\*(Aqutilisateur\&. -.RE -.PP -\fBISSUE_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, le fichier sera affich\('e avant chaque invite de connexion\&. -.RE -.PP -\fBKILLCHAR\fR (nombre) -.RS 4 -Le caract\(`ere KILL du terminal (\fI025\fR -= CTRL/U)\&. -.sp -La valeur peut \(^etre pr\('efix\('ee par \(Fo\ \&0\ \&\(Fc pour une valeur octale, ou \(Fo\ \&0x\ \&\(Fc pour une valeur hexad\('ecimale\&. -.RE -.PP -\fBLASTLOG_ENAB\fR (bool\('een) -.RS 4 -Activer la journalisation et l\*(Aqaffichage des informations de derni\(`ere connexion de /var/log/lastlog\&. -.RE -.PP -\fBLOG_OK_LOGINS\fR (bool\('een) -.RS 4 -Activer la journalisation des connexions r\('eussies\&. -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (bool\('een) -.RS 4 -Activer l\*(Aqaffichage des noms d\*(Aqutilisateurs inconnus quand les \('echecs de connexions sont enregistr\('es\&. -.sp -Remarque\ \&: la journalisation des noms d\*(Aqutilisateurs inconnus peut \(^etre un probl\(`eme de s\('ecurit\('e si un utilisateur entre son mot de passe au lieu de son nom d\*(Aqutilisateur\&. -.RE -.PP -\fBLOGIN_RETRIES\fR (nombre) -.RS 4 -Le nombre maximum de tentatives de connexion en cas de mauvais mot de passe\&. -.RE -.PP -\fBLOGIN_STRING\fR (cha\(^ine de caract\(`eres) -.RS 4 -La cha\(^ine de caract\(`eres utilis\('ee pour l\*(Aqinvite de mot de passe\&. La valeur par d\('efaut est d\*(Aqutiliser "Password: " (\(Fo\ \&mot de passe\ \&:\ \&\(Fc), ou une traduction de cette cha\(^ine\&. Si vous d\('efinissez cette variable, l\*(Aqinvite ne sera pas traduite\&. -.sp -Si la cha\(^ine contient -\fI%s\fR, ces caract\(`eres seront remplac\('es par le nom de l\*(Aqutilisateur\&. -.RE -.PP -\fBLOGIN_TIMEOUT\fR (nombre) -.RS 4 -Le temps maximum en secondes pour la connexion\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (bool\('een) -.RS 4 -Activer le contr\(^ole et l\*(Aqaffichage du statut de la bo\(^ite aux lettres durant la connexion\&. -.sp -Vous devriez le d\('esactiver si les fichiers de d\('emarrage de l\*(Aqinterpr\('eteur de commandes v\('erifient d\('ej\(`a la pr\('esence de courriers (\(Fo\ \&mail \-e\ \&\(Fc ou \('equivalent)\&. -.RE -.PP -\fBMAIL_DIR\fR (cha\(^ine de caract\(`eres) -.RS 4 -R\('epertoire d\*(Aqattente des courriels (\(Fo\ \&mail spool directory\ \&\(Fc)\&. Ce param\(`etre est n\('ecessaire pour manipuler les bo\(^ites \(`a lettres lorsque le compte d\*(Aqun utilisateur est modifi\('e ou supprim\('e\&. S\*(Aqil n\*(Aqest pas sp\('ecifi\('e, une valeur par d\('efaut d\('efinie \(`a la compilation est utilis\('ee\&. -.RE -.PP -\fBMAIL_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir l\*(Aqemplacement des bo\(^ites aux lettres des utilisateurs relativement \(`a leur r\('epertoire personnel\&. -.RE -.PP -Les param\(`etres -\fBMAIL_DIR\fR -et -\fBMAIL_FILE\fR -sont utilis\('es par -\fBuseradd\fR, -\fBusermod\fR -et -\fBuserdel\fR -pour cr\('eer, d\('eplacer ou supprimer les bo\(^ites aux lettres des utilisateurs\&. -.PP -Si -\fBMAIL_CHECK_ENAB\fR -est r\('egl\('e sur -\fIyes\fR, ces variables servent \('egalement \(`a d\('efinir la variable d\*(Aqenvironnement -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (bool\('een) -.RS 4 -Indiquer si un mot de passe doit \(^etre chiffr\('e en utilisant l\*(Aqalgorithme bas\('e sur MD5\&. Si configur\('ee \(`a -\fIyes\fR, les nouveaux mots de passe seront chiffr\('es en utilisant l\*(Aqalgorithme bas\('e sur MD5 compatible avec celui utilis\('e par les versions r\('ecentes de FreeBSD\&. Il g\(`ere des mots de passe de longueur illimit\('ee et des cha\(^ines de salage plus longues\&. Configurez\-la \(`a -\fIno\fR -pour copier les mots de passe chiffr\('es sur d\*(Aqautres syst\(`emes qui ne comprennent pas le nouvel algorithme\&. la valeur par d\('efaut est -\fIno\fR\&. -.sp -Cette variable est \('ecras\('ee par la variable -\fBENCRYPT_METHOD\fR -ou par toute option de la ligne de commande utilis\('ee pour configurer l\*(Aqalgorithme de chiffrement\&. -.sp -Cette variable est obsol\(`ete\&. Vous devriez utiliser -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBMOTD_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, liste d\('elimit\('ee par des \(Fo\ \&:\ \&\(Fc de fichiers de \(Fo\ \&message du jour\ \&\(Fc \(`a afficher lors de la connexion\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, nom de fichier dont la pr\('esence emp\(^echera les connexions de quelqu\*(Aqun d\*(Aqautre que le superutilisateur\&. Le contenu de ces fichiers doit \(^etre un message indiquant pourquoi les connexions sont d\('esactiv\('ees\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (bool\('een) -.RS 4 -Activer des v\('erifications suppl\('ementaires lors des changements de mot de passe\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (bool\('een) -.RS 4 -Avertir en cas de mots de passe faibles (mais les accepte quand m\(^eme) si vous \(^etes superutilisateur\&. -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (nombre) -.RS 4 -Nombre maximum d\*(Aqessais pour changer de mot de passe si refus\('e (trop facile)\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (nombre) -.RS 4 -Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette dur\('ee, une modification du mot de passe est obligatoire\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (nombre) -.RS 4 -Nombre minimum de jours autoris\('e avant la modification d\*(Aqun mot de passe\&. Toute tentative de modification du mot de passe avant cette dur\('ee est rejet\('ee\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (nombre) -.RS 4 -Nombre de jours durant lesquels l\*(Aqutilisateur recevra un avertissement avant que son mot de passe n\*(Aqarrive en fin de validit\('e\&. Une valeur n\('egative signifie qu\*(Aqaucun avertissement n\*(Aqest donn\('e\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, aucun avertissement n\*(Aqest donn\('e\&. -.RE -.PP -Les param\(`etres -\fBPASS_MAX_DAYS\fR, -\fBPASS_MIN_DAYS\fR -et -\fBPASS_WARN_AGE\fR -ne sont utilis\('es qu\*(Aqau moment de la cr\('eation d\*(Aqun compte\&. Les changements n\*(Aqaffecteront pas les comptes existants\&. -.PP -\fBPASS_MAX_LEN\fR (nombre), \fBPASS_MIN_LEN\fR (nombre) -.RS 4 -Nombre de caract\(`eres significatifs dans le mot de passe pour crypt()\&. La valeur par d\('efaut de -\fBPASS_MAX_LEN\fR -est 8\&. Ne la changez pas \(`a moins que votre crypt() ne soit meilleur\&. Ceci est ignor\('e si -\fBMD5_CRYPT_ENAB\fR -est configur\('ee \(`a -\fIyes\fR\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (bool\('een) -.RS 4 -Activer la v\('erification des restrictions de temps pr\('ecis\('ees dans -/etc/porttime\&. -.RE -.PP -\fBQUOTAS_ENAB\fR (bool\('een) -.RS 4 -Activer la mise en place de limites de resources depuis -/etc/limits -et ulimit, umask et niveau nice depuis les champs gecos de passwd\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (nombre), \fBSHA_CRYPT_MAX_ROUNDS\fR (nombre) -.RS 4 -Quand -\fBENCRYPT_METHOD\fR -est configur\('ee \(`a -\fISHA256\fR -ou -\fISHA512\fR, cela d\('efinit le nombre de rounds de SHA utilis\('es par l\*(Aqalgorithme de chiffrement par d\('efaut (quand le nombre de rounds n\*(Aqest pas pr\('ecis\('e sur la ligne de commande)\&. -.sp -Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&. -.sp -Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&. -.sp -Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&. -.sp -Si une seule des variables -\fBSHA_CRYPT_MIN_ROUNDS\fR -ou -\fBSHA_CRYPT_MAX_ROUNDS\fR -est configur\('ee, alors cette valeur sera utilis\('ee\&. -.sp -Si -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, la valeur la plus \('elev\('ee sera utilis\('ee\&. -.RE -.PP -\fBSULOG_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, les activit\('es de su seront enregistr\('ees dans le fichier\&. -.RE -.PP -\fBSU_NAME\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, le nom de la commande \(`a afficher lorsque \(Fo\ \&su \-\ \&\(Fc est ex\('ecut\('ee\&. Par exemple, si elle est d\('efinie \(`a \(Fo\ \&su\ \&\(Fc alors un \(Fo\ \&ps\ \&\(Fc affichera la commande comme \(Fo\ \&\-su\ \&\(Fc\&. Si non d\('efinie, alors \(Fo\ \&ps\ \&\(Fc affichera le nom du shell qui sera en fait ex\('ecut\('e, par exemple quelque chose comme \(Fo\ \&\-sh\ \&\(Fc\&. -.RE -.PP -\fBSU_WHEEL_ONLY\fR (bool\('een) -.RS 4 -Si -\fIyes\fR, l\*(Aqutilisateur doit faire partie des membres du groupe avec le premier gid 0 dans -/etc/group -(appel\('e -\fIroot\fR -sur la plupart des syst\(`emes Linux) pour \(^etre capable de -\fBsu\fR -vers des comptes \(`a uid 0\&. Si ce groupe n\*(Aqexiste pas ou est vide, personne ne pourra -\fBsu\fR -vers un uid 0\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (nombre), \fBSYS_GID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques de groupes que les commandes -\fBuseradd\fR, -\fBgroupadd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation de groupes syst\(`eme\&. -.sp -La valeur par d\('efaut pour -\fBSYS_GID_MIN\fR -(respectivement -\fBSYS_GID_MAX\fR) est 101 (respectivement -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (nombre), \fBSYS_UID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques d\*(Aqutilisateurs que les commandes -\fBuseradd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation d\*(Aqutilisateurs syst\(`eme\&. -.sp -La valeur par d\('efaut pour -\fBSYS_UID_MIN\fR -(respectivement -\fBSYS_UID_MAX\fR) est 101 (respectivement -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBSYSLOG_SG_ENAB\fR (bool\('een) -.RS 4 -Activer la journalisation \(Fo\ \&syslog\ \&\(Fc de l\*(Aqactivit\('e de -\fBsg\fR\&. -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (bool\('een) -.RS 4 -Activer la journalisation \(Fo\ \&syslog\ \&\(Fc de l\*(Aqactivit\('e de -\fBsu\fR -\- en plus de la journalisation sulog\&. -.RE -.PP -\fBTTYGROUP\fR (cha\(^ine de caract\(`eres), \fBTTYPERM\fR (cha\(^ine de caract\(`eres) -.RS 4 -Les permissions de terminal\ \&: la connexion tty appartiendra au groupe -\fBTTYGROUP\fR -et les permissions seront configur\('ees \(`a -\fBTTYPERM\fR\&. -.sp -Par d\('efaut, le propri\('etaire du terminal est configur\('e au groupe primaire de l\*(Aqutilisateur et les permissions sont configur\('ees \(`a -\fI0600\fR\&. -.sp -\fBTTYGROUP\fR -peut \(^etre le nom d\*(Aqun groupe ou un identifiant num\('erique de groupe\&. -.sp -Si vous avez un programme -\fBwrite\fR -qui est \(Fo\ \&setgid\ \&\(Fc \(`a un groupe sp\('ecial auquel les terminaux appartiennent, d\('efinissez TTYGROUP comme l\*(Aqidentifiant num\('erique du groupe et TTYPERM \(`a 0620\&. Autrement laissez TTYGROUP d\('ecomment\('e et TTYPERM configur\('e soit \(`a 622 soit \(`a 600\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, fichier qui lie les lignes de tty \(`a la variable d\*(Aqenvironnement TERM\&. Chaque ligne du fichier est dans un format ressemblant \(`a \(Fo\ \&vt100 tty01\ \&\(Fc\&. -.RE -.PP -\fBUID_MAX\fR (nombre), \fBUID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques d\*(Aqutilisateurs que les commandes -\fBuseradd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation d\*(Aqutilisateurs normaux\&. -.sp -La valeur par d\('efaut de -\fBUID_MIN\fR -(respectivement -\fBUID_MAX\fR) est 1000 (respectivement 60000)\&. -.RE -.PP -\fBULIMIT\fR (nombre) -.RS 4 -Valeur par d\('efaut d\*(Aq\fBulimit\fR\&. -.RE -.PP -\fBUMASK\fR (nombre) -.RS 4 -Valeur d\*(Aqinitialisation du masque de permissions\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, le masque des permissions sera initialis\('e \(`a 022\&. -.sp -\fBuseradd\fR -et -\fBnewusers\fR -utilisent ce masque pour d\('efinir les permissions d\*(Aqacc\(`es des r\('epertoires personnels qu\*(Aqils cr\('eent\&. -.sp -Il est \('egalement utilis\('e par -\fBlogin\fR -pour d\('efinir l\*(Aqumask initial de l\*(Aqutilisateur\&. Veuillez noter que cet umask peut \(^etre red\('efini par les GECOS de l\*(Aqutilisateur (si -\fBQUOTAS_ENAB\fR -est activ\('e) ou en pr\('ecisant une limite avec l\*(Aqidentifiant -\fIK\fR -dans -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERDEL_CMD\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, la commande est ex\('ecut\('ee lors de la suppression d\*(Aqun utilisateur\&. Elle pourra supprimer toutes les t\(^aches p\('eriodiques cron ou at, tous les travaux d\*(Aqimpression, etc\&. de l\*(Aqutilisateur (qui sera fourni comme premier param\(`etre)\&. -.sp -Le code de retour du script n\*(Aqest pas pris en compte\&. -.sp -Voici un script exemple, qui supprime le fichier d\*(Aqentr\('ee de cron et d\*(Aqat ainsi que les travaux d\*(Aqimpression en attente\ \&; -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# Check for the required argument\&. -if [ $# != 1 ]; then - echo "Usage: $0 username" - exit 1 -fi - -# Remove cron jobs\&. -crontab \-r \-u $1 - -# Remove at jobs\&. -# Note that it will remove any jobs owned by the same UID, -# even if it was shared by a different username\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# Remove print jobs\&. -lprm $1 - -# All done\&. -exit 0 - -.fi -.if n \{\ -.RE -.\} -.RE -.PP -\fBUSERGROUPS_ENAB\fR (bool\('een) -.RS 4 -Activer la mise en place de bits de masque de groupe (\(Fo\ \&umask group bits\ \&\(Fc) identiques \(`a ceux du propri\('etaire (exemple\ \&: 022 \-> 002, 077 \-> 007) pour les utilisateurs non privil\('egi\('es, si l\*(AqUID est identique au GID et que l\*(Aqidentifiant de connexion est identique au groupe principal\&. -.sp -Si cette variable est configur\('ee \(`a -\fIyes\fR, -\fBuserdel\fR -supprimera le groupe de l\*(Aqutilisateur s\*(Aqil ne contient pas d\*(Aqautres membres, et -\fBuseradd\fR -cr\('eera par d\('efaut un groupe portant le nom de l\*(Aqutilisateur\&. -.RE -.SH "R\('EF\('ERENCES CROIS\('EES" -.PP -Les r\('ef\('erences crois\('ees ci\-dessous montrent quels sont les param\(`etres utilis\('es par les diff\('erents programmes de la suite shadow password\&. -.PP -chfn -.RS 4 -CHFN_AUTH -CHFN_RESTRICT -LOGIN_STRING -.RE -.PP -chgpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chpasswd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chsh -.RS 4 -CHSH_AUTH LOGIN_STRING -.RE -.PP -gpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -groupadd -.RS 4 -GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN -.RE -.PP -groupdel -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmems -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmod -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpck -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpunconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -login -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE -ERASECHAR FAIL_DELAY -FAILLOG_ENAB -FAKE_SHELL -FTMP_FILE -HUSHLOGIN_FILE -ISSUE_FILE -KILLCHAR -LASTLOG_ENAB -LOGIN_RETRIES -LOGIN_STRING -LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB -MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB QUOTAS_ENAB -TTYGROUP TTYPERM TTYTYPE_FILE -ULIMIT UMASK -USERGROUPS_ENAB -.RE -.PP -newgrp / sg -.RS 4 -SYSLOG_SG_ENAB -.RE -.PP -newusers -.RS 4 -ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -passwd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -pwck -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -pwconv -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -su -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENVIRON_FILE -ENV_PATH ENV_SUPATH -ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB -SULOG_FILE SU_NAME -SU_WHEEL_ONLY -SYSLOG_SU_ENAB -USERGROUPS_ENAB -.RE -.PP -sulogin -.RS 4 -ENV_HZ -ENV_TZ -.RE -.PP -useradd -.RS 4 -CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -userdel -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB -.RE -.PP -usermod -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBsu\fR(1), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBpam\fR(8)\&. diff --git a/man/fr/man5/passwd.5 b/man/fr/man5/passwd.5 deleted file mode 100644 index 37e9bc43..00000000 --- a/man/fr/man5/passwd.5 +++ /dev/null @@ -1,171 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "PASSWD" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -passwd \- fichier des mots de passe -.SH "DESCRIPTION" -.PP -/etc/passwd -contient diff\('erentes informations sur les comptes utilisateurs\&. Ces informations consistent en sept champs s\('epar\('es par des deux\-points (\(Fo\ \&:\ \&\(Fc)\ \&: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -nom de connexion de l\*(Aqutilisateur (\(Fo\ \&login\ \&\(Fc) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -un mot de passe chiffr\('e optionnel -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -l\*(Aqidentifiant num\('erique de l\*(Aqutilisateur -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -l\*(Aqidentifiant num\('erique du groupe de l\*(Aqutilisateur -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -le nom complet de l\*(Aqutilisateur ou un champ de commentaires -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -le r\('epertoire personnel de l\*(Aqutilisateur -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -l\*(Aqinterpr\('eteur de commandes de l\*(Aqutilisateur (optionnel) -.RE -.PP -Le champ du mot de passe chiffr\('e peut \(^etre vide\&. Dans ce cas, aucun mot de passe n\*(Aqest n\('ecessaire pour s\*(Aqauthentifier avec le compte donn\('e\&. Cependant, certaines applications qui lisent le fichier -/etc/passwd -peuvent d\('ecider de ne donner aucun acc\(`es si le -\fImot de\fR -passe est vide\&. Si le mot de passe est un -\(Fo\ \&x\ \&\(Fc -minuscule, alors le mot de passe chiffr\('e se trouve dans le fichier -\fBshadow\fR(5)\ \&; il -\fIdoit\fR -y avoir une ligne correspondante dans le fichier -shadow, sinon le compte de l\*(Aqutilisateur n\*(Aqest pas valide\&. Si le mot de passe est constitu\('e d\*(Aqune autre cha\(^ine, alors il est consid\('er\('e comme un mot de passe chiffr\('e, comme indiqu\('e dans -\fBcrypt\fR(3)\&. -.PP -Le champ de commentaire est utilis\('e par diff\('erents utilitaires syst\(`eme, tels que -\fBfinger\fR(1)\&. -.PP -Le champ du r\('epertoire personnel de l\*(Aqutilisateur correspond au nom du r\('epertoire de travail initial\&. -\fBlogin\fR -utilise cette information pour d\('efinir la valeur de la variable d\*(Aqenvironnement -\fB$HOME\fR\&. -.PP -Le champ de l\*(Aqinterpr\('eteur de commandes correspond au nom de l\*(Aqinterpr\('eteur de commandes de l\*(Aqutilisateur, ou au nom d\*(Aqun programme initial \(`a ex\('ecuter\&. -\fBlogin\fR -utilise cette information pour d\('efinir la valeur de la variable d\*(Aqenvironnement -\fB$SHELL\fR\&. Si ce champ est vide, -/bin/sh -est utilis\('e par d\('efaut\&. -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -un mot de passe chiffr\('e optionnel -.RE -.PP -/etc/passwd\- -.RS 4 -Fichier de sauvegarde de /etc/passwd\&. -.sp -Notez que ce fichier est utilis\('e par les outils de la suite d\*(Aqoutils shadow, mais pas par tous les outils de gestion d\*(Aqutilisateurs et de mot de passes\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBcrypt\fR(3), -\fBgetent\fR(1), -\fBgetpwnam\fR(3), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBshadow\fR(5), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/fr/man5/porttime.5 b/man/fr/man5/porttime.5 deleted file mode 100644 index 094c5f7d..00000000 --- a/man/fr/man5/porttime.5 +++ /dev/null @@ -1,99 +0,0 @@ -'\" t -.\" Title: porttime -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "PORTTIME" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -porttime \- Fichier de configuration des droits d\*(Aqacc\(`es en fonction de la date et de l\*(Aqheure -.SH "DESCRIPTION" -.PP -\fIporttime\fR -contient une liste de tty, noms d\*(Aqutilisateurs, et horaires d\*(Aqacc\(`es autoris\('es\&. -.PP -Chaque entr\('ee consiste en trois champs s\('epar\('es par un caract\(`ere deux\-points \(Fo\ \&:\ \&\(Fc\&. Le premier champ est une liste de tty s\('epar\('es par des virgules, ou un ast\('erisque \(Fo\ \&*\ \&\(Fc pour indiquer que l\*(Aqentr\('ee correspond \(`a toutes les tty\&. Le second champ est une liste de noms d\*(Aqutilisateurs, ou un ast\('erisque pour indiquer que cette entr\('ee correspond \(`a n\*(Aqimporte quel utilisateur\&. Le troisi\(`eme champ est une liste d\*(Aqhoraires d\*(Aqacc\(`es autoris\('es\&. -.PP -Chaque horaire d\*(Aqacc\(`es consiste en z\('ero ou plusieurs abr\('eviations de jours de la semaine\ \&: -\fISu\fR -(dimanche), -\fIMo\fR -(lundi), -\fITu\fR -(mardi), -\fIWe\fR -(mercredi), -\fITh\fR -(jeudi), -\fIFr\fR -(vendredi), -\fISa\fR -(samedi), suivi d\*(Aqun couple d\*(Aqhoraires s\('epar\('es par un tiret\&. L\*(Aqabr\('eviation -\fIWk\fR -peut \(^etre utilis\('ee pour repr\('esenter les jours de la semaine du lundi au vendredi, et -\fIAl\fR -permet de sp\('ecifier l\*(Aqensemble des jours de la semaine\&. Par d\('efaut, si aucun jour n\*(Aqest sp\('ecifi\('e, -\fIAl\fR -est utilis\('e\&. -.SH "EXEMPLES" -.PP -L\*(Aqentr\('ee suivante autorise l\*(Aqacc\(`es \(`a l\*(Aqutilisateur -\fBjfh\fR -sur n\*(Aqimporte quel port pendant la semaine de 9 heures \(`a 17 heures\&. -.PP -*:jfh:Wk0900\-1700 -.PP -L\*(Aqentr\('ee suivante autorise l\*(Aqacc\(`es \(`a /dev/console uniquement aux utilisateurs -\fIroot\fR -et -\fIoper\fR -\(`a n\*(Aqimporte quelle heure\&. Ceci permet de montrer l\*(Aqimportance de l\*(Aqordre des entr\('ees dans le fichier -/etc/porttime\&. Les autres utilisateurs ne satisferont que la deuxi\(`eme entr\('ee, qui n\*(Aqautorise aucun acc\(`es\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - console:root,oper:Al0000\-2400 - console:*: - -.fi -.if n \{\ -.RE -.\} -.PP -L\*(Aqentr\('ee suivante autorise l\*(Aqacc\(`es \(`a tous les ports pour l\*(Aqutilisateur -\fIgames\fR, en dehors des heures de travail\&. -.PP -*:games:Wk1700\-0900,SaSu0000\-2400 -.SH "FICHIERS" -.PP -/etc/porttime -.RS 4 -Fichier contenant le port d\*(Aqacc\(`es\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin\fR(1)\&. diff --git a/man/fr/man5/shadow.5 b/man/fr/man5/shadow.5 deleted file mode 100644 index de1a0165..00000000 --- a/man/fr/man5/shadow.5 +++ /dev/null @@ -1,148 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "SHADOW" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -shadow \- fichier des mots de passe cach\('es -.SH "DESCRIPTION" -.PP -shadow -est un fichier qui contient les informations cach\('ees concernant les mots de passe des utilisateurs et leurs dates de validit\('e\&. -.PP -Ce fichier ne doit pas \(^etre accessible en lecture par les utilisateurs normaux afin de maintenir la s\('ecurit\('e des mots de passe, en particuliers pour pr\('evenir les attaques par dictionnaires\&. -.PP -Chaque ligne de ce fichier contient 9\ \&champs, s\('epar\('es par des deux\-points (\(Fo\ \&:\ \&\(Fc), dans l\*(Aqordre suivant\ \&: -.PP -\fBnom de connexion de l\*(Aqutilisateur (\(Fo\ \&login\ \&\(Fc)\fR -.RS 4 -Ce doit \(^etre un nom de compte valable, qui existe sur le syst\(`eme\&. -.RE -.PP -\fBmot de passe chiffr\('e\fR -.RS 4 -Consultez -\fBcrypt\fR(3) -pour plus d\*(Aqinformations sur le traitement de cette cha\(^ine\&. -.sp -Si le champ du mot de passe contient une cha\(^ine qui ne peut pas \(^etre un r\('esultat valable de -\fBcrypt\fR(3), par exemple si elle contient les caract\(`eres ! ou *, alors l\*(Aqutilisateur ne pourra pas utiliser son mot de passe UNIX pour se connecter (mais il se peut que l\*(Aqutilisateur puisse se connecter au syst\(`eme par d\*(Aqautres moyens)\&. -.sp -Ce champ peut \(^etre vide\&. Dans ce cas aucun mot de passe n\*(Aqest n\('ecessaire pour s\*(Aqauthentifier avec l\*(Aqidentifiant de connexion indiqu\('e\&. Cependant, certaines applications qui lisent le fichier -/etc/shadow -peuvent n\*(Aqautoriser aucun acc\(`es si le mot de passe est vide\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.RE -.PP -\fBdate du dernier changement de mot de passe\fR -.RS 4 -La date du dernier changement de mot de passe, exprim\('ee en nombre de jours depuis le 1er\ \&janvier\ \&1970\&. -.sp -The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&. -.sp -Un champ vide indique que les fonctionnalit\('es de vieillissement de mot de passe sont d\('esactiv\('ees\&. -.RE -.PP -\fB\(^age minimum du mot de passe\fR -.RS 4 -L\*(Aq\(^age minimum du mot de passe est la dur\('ee (en jour) que l\*(Aqutilisateur devra attendre avant de pouvoir le changer de nouveau\&. -.sp -Un champ vide ou une valeur de 0 signifie qu\*(Aqil n\*(Aqy a pas d\*(Aq\(^age minimum pour le mot de passe\&. -.RE -.PP -\fB\(^age maximum du mot de passe\fR -.RS 4 -L\*(Aq\(^age maximum du mot de passe est la dur\('ee (en jour) apr\(`es laquelle l\*(Aqutilisateur devra changer son mot de passe\&. -.sp -Une fois cette dur\('ee \('ecoul\('ee, le mot de passe restera valable\&. Il sera demand\('e \(`a l\*(Aqutilisateur de le changer la prochaine fois qu\*(Aqil se connectera\&. -.sp -Un champ vide signifie qu\*(Aqil n\*(Aqy a pour le mot de passe aucune limite d\*(Aq\(^age, aucune p\('eriode d\*(Aqavertissement d\*(Aqexpiration et aucune p\('eriode d\*(Aqinactivit\('e (voir ci\-dessous)\&. -.sp -Si l\*(Aq\(^age maximum du mot de passe est plus petit que l\*(Aq\(^age minimum du mot de passe, l\*(Aqutilisateur ne pourra pas changer son mot de passe\&. -.RE -.PP -\fBp\('eriode d\*(Aqavertissement d\*(Aqexpiration du mot de passe\fR -.RS 4 -La dur\('ee (en jour) pendant laquelle l\*(Aqutilisateur sera averti avant que le mot de passe n\*(Aqexpire (voir l\*(Aq\(^age maximum du mot de passe ci\-dessus)\&. -.sp -Un champ vide ou une valeur de 0 signifie qu\*(Aqil n\*(Aqy aura pas de p\('eriode d\*(Aqavertissement d\*(Aqexpiration du mot de passe\&. -.RE -.PP -\fBp\('eriode d\*(Aqinactivit\('e du mot de passe\fR -.RS 4 -La dur\('ee (en jour) pendant laquelle le mot de passe sera quand m\(^eme accept\('e apr\(`es son expiration (voir l\*(Aq\(^age maximum du mot de passe ci\-dessus)\&. L\*(Aqutilisateur devra mettre \(`a jour son mot de passe \(`a la prochaine connexion\&. -.sp -Apr\(`es expiration du mot de passe suivie de la p\('eriode d\*(Aqexpiration, plus aucune connexion n\*(Aqest possible en utilisant le mot de passe de l\*(Aqutilisateur\&. L\*(Aqutilisateur doit contacter son administrateur\&. -.sp -Un champ vide signifie qu\*(Aqaucune p\('eriode d\*(Aqinactivit\('e n\*(Aqest impos\('ee\&. -.RE -.PP -\fBdate de fin de validit\('e du compte\fR -.RS 4 -La date d\*(Aqexpiration du compte, exprim\('e en nombre de jours depuis le 1er\ \&janvier\ \&1970\&. -.sp -Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&. -.sp -Un champ vide signifie que le compte n\*(Aqexpirera jamais\&. -.sp -La valeur 0 ne doit pas \(^etre utilis\('ee puisqu\*(Aqelle peut \(^etre interpr\('et\('ee soit comme un compte sans expiration, soit comme ayant expir\('e le 1er\ \&janvier\ \&1970\&. -.RE -.PP -\fBchamp r\('eserv\('e\fR -.RS 4 -Ce champ est r\('eserv\('e pour une utilisation future\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/shadow\- -.RS 4 -Fichier de sauvegarde pour /etc/shadow\&. -.sp -Notez que ce fichier est utilis\('e par les outils de la suite d\*(Aqoutils shadow, mais pas par tous les outils de gestion d\*(Aqutilisateurs et de mot de passes\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBchage\fR(1), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/fr/man5/suauth.5 b/man/fr/man5/suauth.5 deleted file mode 100644 index 6f55d4c9..00000000 --- a/man/fr/man5/suauth.5 +++ /dev/null @@ -1,147 +0,0 @@ -'\" t -.\" Title: suauth -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "SUAUTH" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -suauth \- Fichier de contr\(^ole d\('etaill\('e de su -.SH "SYNOPSIS" -.HP \w'\fB/etc/suauth\fR\ 'u -\fB/etc/suauth\fR -.SH "DESCRIPTION" -.PP -Le fichier -/etc/suauth -est lu chaque fois que su est ex\('ecut\('e\&. Il permet de modifier le comportement de la commande su, en fonction de\ \&: -.sp -.if n \{\ -.RS 4 -.\} -.nf - 1) the user su is targeting - -.fi -.if n \{\ -.RE -.\} -.PP -2) l\*(Aqutilisateur qui ex\('ecute la commande su (ou un groupe dont il est membre) -.PP -Le fichier est format\('e de la fa\(,con suivante (les lignes commen\(,cant par un \(Fo\ \&#\ \&\(Fc sont des commentaires, et sont ignor\('ees)\ \&: -.sp -.if n \{\ -.RS 4 -.\} -.nf - vers\-id:par\-id:ACTION - -.fi -.if n \{\ -.RE -.\} -.PP -O\(`u vers\-id peut \(^etre le mot -\fIALL\fR, une liste de noms d\*(Aqutilisateurs s\('epar\('es par une virgule ou -\fIALL EXCEPT\fR -suivi d\*(Aqune liste d\*(Aqutilisateurs s\('epar\('es par une virgule\&. -.PP -from\-id is formatted the same as to\-id except the extra word -\fIGROUP\fR -is recognized\&. -\fIALL EXCEPT GROUP\fR -is perfectly valid too\&. Following -\fIGROUP\fR -appears one or more group names, delimited by ","\&. It is not sufficient to have primary group id of the relevant group, an entry in -\fB/etc/group\fR(5) -is necessary\&. -.PP -Les valeurs d\*(AqACTION valables sont\ \&: -.PP -\fIDENY\fR -.RS 4 -La tentative de changement d\*(Aqutilisateur est arr\(^et\('ee avant que le mot de passe ne soit demand\('e\&. -.RE -.PP -\fINOPASS\fR -.RS 4 -La tentative est automatiquement r\('eussie\&. Aucun mot de passe n\*(Aqest demand\('e\&. -.RE -.PP -\fIOWNPASS\fR -.RS 4 -Pour que la commande su soit r\('eussie, l\*(Aqutilisateur doit entrer son propre mot de passe\&. Ceci lui est demand\('e\&. -.RE -.PP -Notez qu\*(Aqil y a trois champs s\('epar\('es par un \(Fo\ \&deux\-points\ \&\(Fc\&. Ne pas accoler d\*(Aqespace \(`a ce \(Fo\ \&deux\-points\ \&\(Fc\&. Notez aussi que le fichier est examin\('e s\('equentiellement ligne par ligne, et que la premi\(`ere r\(`egle applicable est utilis\('ee sans que le reste du fichier ne soit examin\('e\&. Ceci permet \(`a l\*(Aqadministrateur syst\(`eme de d\('efinir un contr\(^ole aussi fin qu\*(Aqil le souhaite\&. -.SH "EXEMPLE" -.sp -.if n \{\ -.RS 4 -.\} -.nf - # exemple de fichier /etc/suauth - # - # Deux utilisateurs privil\('egi\('es peuvent - # devenir root avec leur propre mot de passe\&. - # - root:chris,birddog:OWNPASS - # - # Les autres ne peuvent pas de venir root avec - # su, \(`a l\*(Aqexception des membres du groupe wheel\&. - # Ceci correspond au comportement des BSD\&. - # - root:ALL EXCEPT GROUP wheel:DENY - # - # terry et birddog sont des comptes poss\('ed\('es - # par la m\(^eme personne\&. - # Un acc\(`es sans mot passe est am\('enag\('e - # entre ces deux comptes\&. - # - terry:birddog:NOPASS - birddog:terry:NOPASS - # - -.fi -.if n \{\ -.RE -.\} -.SH "FICHIERS" -.PP -/etc/suauth -.RS 4 -.RE -.SH "BOGUES" -.PP -Il en reste sans doute beaucoup\&. L\*(Aqanalyseur du fichier est particuli\(`erement impitoyable avec les erreurs de syntaxe\&. Il n\*(Aqautorise d\*(Aqespace qu\*(Aqen d\('ebut et fin de ligne, et seul le d\('elimiteur sp\('ecifique doit \(^etre utilis\('e\&. -.SH "DIAGNOSTICS" -.PP -Une erreur dans l\*(Aqanalyse du fichier est report\('ee via -\fBsyslogd\fR(8) -au niveau ERR dans la cat\('egorie AUTH\&. -.SH "VOIR AUSSI" -.PP -\fBsu\fR(1)\&. diff --git a/man/fr/man5/subgid.5 b/man/fr/man5/subgid.5 deleted file mode 100644 index 54cf0a44..00000000 --- a/man/fr/man5/subgid.5 +++ /dev/null @@ -1,100 +0,0 @@ -'\" t -.\" Title: subgid -.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "SUBGID" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -subgid \- the subordinate gid file -.SH "DESCRIPTION" -.PP -Each line in -/etc/subgid -contains a user name and a range of subordinate group ids that user is allowed to use\&. This is specified with three fields delimited by colons (\(Fo\ \&:\ \&\(Fc)\&. These fields are: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -login name or UID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerical subordinate group ID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerical subordinate group ID count -.RE -.PP -This file specifies the group IDs that ordinary users can use, with the -\fBnewgidmap\fR -command, to configure gid mapping in a user namespace\&. -.PP -Multiple ranges may be specified per user\&. -.PP -When large number of entries (10000\-100000 or more) are defined in -/etc/subgid, parsing performance penalty will become noticeable\&. In this case it is recommended to use UIDs instead of login names\&. Benchmarks have shown speed\-ups up to 20x\&. -.SH "FICHIERS" -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subgid\- -.RS 4 -Backup file for /etc/subgid\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin.defs\fR(5), -\fBnewgidmap\fR(1), -\fBnewuidmap\fR(1), -\fBnewusers\fR(8), -\fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8), -\fBuser_namespaces\fR(7)\&. diff --git a/man/fr/man5/subuid.5 b/man/fr/man5/subuid.5 deleted file mode 100644 index f876d1d9..00000000 --- a/man/fr/man5/subuid.5 +++ /dev/null @@ -1,100 +0,0 @@ -'\" t -.\" Title: subuid -.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formats et conversions de fichiers -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "SUBUID" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formats et conversions de fich" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -subuid \- the subordinate uid file -.SH "DESCRIPTION" -.PP -Each line in -/etc/subuid -contains a user name and a range of subordinate user ids that user is allowed to use\&. This is specified with three fields delimited by colons (\(Fo\ \&:\ \&\(Fc)\&. These fields are: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -login name or UID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerical subordinate user ID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerical subordinate user ID count -.RE -.PP -This file specifies the user IDs that ordinary users can use, with the -\fBnewuidmap\fR -command, to configure uid mapping in a user namespace\&. -.PP -Multiple ranges may be specified per user\&. -.PP -When large number of entries (10000\-100000 or more) are defined in -/etc/subuid, parsing performance penalty will become noticeable\&. In this case it is recommended to use UIDs instead of login names\&. Benchmarks have shown speed\-ups up to 20x\&. -.SH "FICHIERS" -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.PP -/etc/subuid\- -.RS 4 -Backup file for /etc/subuid\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin.defs\fR(5), -\fBnewgidmap\fR(1), -\fBnewuidmap\fR(1), -\fBnewusers\fR(1), -\fBsubgid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8), -\fBuser_namespaces\fR(7)\&. diff --git a/man/fr/man8/chgpasswd.8 b/man/fr/man8/chgpasswd.8 deleted file mode 100644 index 6684249a..00000000 --- a/man/fr/man8/chgpasswd.8 +++ /dev/null @@ -1,206 +0,0 @@ -'\" t -.\" Title: chgpasswd -.\" Author: Thomas K\(/loczko -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "CHGPASSWD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -chgpasswd \- Mettre \(`a jour par lot des mots de passe des groupes -.SH "SYNOPSIS" -.HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -La commande -\fBchgpasswd\fR -lit une liste de paires de noms de groupes et de mots de passe depuis l\*(Aqentr\('ee standard et utilise ces informations pour mettre \(`a jour un ensemble de groupes existants\&. Chaque ligne est au format suivant\ \&: -.PP -\fInom_utilisateur\fR:\fImot_de_passe\fR -.PP -Par d\('efaut, le mot de passe doit \(^etre fourni en clair, et est chiffr\('e par -\fBchgpasswd\fR\&. -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -variable of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -Cette commande est destin\('ee aux gros syst\(`emes pour lesquels un nombre importants de comptes sont cr\('e\('es en une seule fois\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBchgpasswd\fR -sont\ \&: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -Utiliser la m\('ethode pr\('ecis\('ee pour chiffrer les mots de passe\&. -.sp -Les m\('ethodes disponibles sont DES, MD5, NONE et SHA256 ou SHA512 si votre libc prend en charge ces m\('ethodes\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -Indiquer que les mots de passe fournis sont chiffr\('es\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -Permettre d\*(Aqutiliser le chiffrement MD5, plut\(^ot que DES, lorsque les mots de passe fournis ne sont pas chiffr\('es\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -Utiliser le nombre de rounds pr\('ecis\('e pour chiffrer les mots de passe\&. -.sp -La valeur 0 signifie que le syst\(`eme choisira la valeur par d\('efaut du nombre de rounds pour la m\('ethode de chiffrement (5\ \&000)\&. -.sp -Une valeur minimale de 1\ \&000 et une valeur maximale de 999\ \&999\ \&999 seront impos\('ees\&. -.sp -Vous ne pouvez utiliser cette m\('ethode qu\*(Aqavec les m\('ethodes de chiffrement SHA256 ou SHA512\&. -.sp -Par d\('efaut, le nombre de rounds est d\('efini par les variables SHA_CRYPT_MIN_ROUNDS et SHA_CRYPT_MAX_ROUNDS dans -/etc/login\&.defs\&. -.RE -.SH "AVERTISSEMENTS" -.PP -Pensez \(`a configurer les permissions ou umask afin d\*(Aqemp\(^echer la lecture des fichiers non chiffr\('es par les d\*(Aqautres utilisateurs\&. -.PP -Vous devez vous assurer que les mots de passe et la m\('ethode de chiffrement respectent la politique de mot de passe du syst\(`eme\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBENCRYPT_METHOD\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder les mots de passes (si aucun algorithme n\*(Aqa \('et\('e indiqu\('e sur la ligne de commandes)\&. -.sp -Les valeurs suivantes sont accept\('ees\ \&: -\fIDES\fR -(par d\('efaut), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Remarque\ \&: ce param\(`etre remplace la variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (bool\('een) -.RS 4 -Indiquer si un mot de passe doit \(^etre chiffr\('e en utilisant l\*(Aqalgorithme bas\('e sur MD5\&. Si configur\('ee \(`a -\fIyes\fR, les nouveaux mots de passe seront chiffr\('es en utilisant l\*(Aqalgorithme bas\('e sur MD5 compatible avec celui utilis\('e par les versions r\('ecentes de FreeBSD\&. Il g\(`ere des mots de passe de longueur illimit\('ee et des cha\(^ines de salage plus longues\&. Configurez\-la \(`a -\fIno\fR -pour copier les mots de passe chiffr\('es sur d\*(Aqautres syst\(`emes qui ne comprennent pas le nouvel algorithme\&. la valeur par d\('efaut est -\fIno\fR\&. -.sp -Cette variable est \('ecras\('ee par la variable -\fBENCRYPT_METHOD\fR -ou par toute option de la ligne de commande utilis\('ee pour configurer l\*(Aqalgorithme de chiffrement\&. -.sp -Cette variable est obsol\(`ete\&. Vous devriez utiliser -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (nombre), \fBSHA_CRYPT_MAX_ROUNDS\fR (nombre) -.RS 4 -Quand -\fBENCRYPT_METHOD\fR -est configur\('ee \(`a -\fISHA256\fR -ou -\fISHA512\fR, cela d\('efinit le nombre de rounds de SHA utilis\('es par l\*(Aqalgorithme de chiffrement par d\('efaut (quand le nombre de rounds n\*(Aqest pas pr\('ecis\('e sur la ligne de commande)\&. -.sp -Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&. -.sp -Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&. -.sp -Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&. -.sp -Si une seule des variables -\fBSHA_CRYPT_MIN_ROUNDS\fR -ou -\fBSHA_CRYPT_MAX_ROUNDS\fR -est configur\('ee, alors cette valeur sera utilis\('ee\&. -.sp -Si -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, la valeur la plus \('elev\('ee sera utilis\('ee\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBgpasswd\fR(1), -\fBgroupadd\fR(8), -\fBlogin.defs\fR(5)\&. diff --git a/man/fr/man8/chpasswd.8 b/man/fr/man8/chpasswd.8 deleted file mode 100644 index fb7d1d9c..00000000 --- a/man/fr/man8/chpasswd.8 +++ /dev/null @@ -1,210 +0,0 @@ -'\" t -.\" Title: chpasswd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "CHPASSWD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -chpasswd \- Mettre \(`a jour des mots de passe par lot -.SH "SYNOPSIS" -.HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -La commande -\fBchpasswd\fR -lit une liste de paires de noms d\*(Aqutilisateurs et de mots de passe depuis l\*(Aqentr\('ee standard et utilise ces informations pour mettre \(`a jour un groupe d\*(Aqutilisateurs existants\&. Chaque ligne est au format suivant\ \&: -.PP -\fInom_utilisateur\fR:\fImot_de_passe\fR -.PP -Par d\('efaut, les mots de passe doivent \(^etre fournis en clair, et sont chiffr\('es par -\fBchpasswd\fR\&. L\*(Aq\(^age du mot de passe sera \('egalement mis \(`a jour, s\*(Aqil est pr\('esent\&. -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -or -\fBMD5_CRYPT_ENAB\fR -variables of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -\fBchpasswd\fR -first updates all the passwords in memory, and then commits all the changes to disk if no errors occurred for any user\&. -.PP -Cette commande est destin\('ee aux gros syst\(`emes pour lesquels un nombre importants de comptes sont cr\('e\('es en une seule fois\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBchpasswd\fR -sont\ \&: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR\ \&\fIM\('ETHODE\fR -.RS 4 -Utiliser la m\('ethode pr\('ecis\('ee pour chiffrer les mots de passe\&. -.sp -Les m\('ethodes disponibles sont DES, MD5, NONE et SHA256 ou SHA512 si votre libc prend en charge ces m\('ethodes\&. -.sp -Par d\('efaut (si aucune des options -\fB\-c\fR, -\fB\-m\fR -ou -\fB\-e\fR -n\*(Aqest pr\('ecis\('ee), la m\('ethode de chiffrement est d\('efinie par les variables -\fBENCRYPT_METHOD\fR -ou -\fBMD5_CRYPT_ENAB\fR -de -/etc/login\&.defs\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -Indiquer que les mots de passe fournis sont chiffr\('es\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -Permettre d\*(Aqutiliser le chiffrement MD5, plut\(^ot que DES, lorsque les mots de passe fournis ne sont pas chiffr\('es\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIROUNDS\fR -.RS 4 -Utiliser le nombre de rounds pr\('ecis\('e pour chiffrer les mots de passe\&. -.sp -La valeur 0 signifie que le syst\(`eme choisira la valeur par d\('efaut du nombre de rounds pour la m\('ethode de chiffrement (5\ \&000)\&. -.sp -Une valeur minimale de 1\ \&000 et une valeur maximale de 999\ \&999\ \&999 seront impos\('ees\&. -.sp -Vous ne pouvez utiliser cette m\('ethode qu\*(Aqavec les m\('ethodes de chiffrement SHA256 ou SHA512\&. -.sp -Par d\('efaut, le nombre de rounds est d\('efini par les variables -\fBSHA_CRYPT_MIN_ROUNDS\fR -et -\fBSHA_CRYPT_MAX_ROUNDS\fR -dans -/etc/login\&.defs\&. -.RE -.SH "AVERTISSEMENTS" -.PP -Pensez \(`a configurer les permissions ou umask afin d\*(Aqemp\(^echer la lecture des fichiers non chiffr\('es par les d\*(Aqautres utilisateurs\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBENCRYPT_METHOD\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder les mots de passes (si aucun algorithme n\*(Aqa \('et\('e indiqu\('e sur la ligne de commandes)\&. -.sp -Les valeurs suivantes sont accept\('ees\ \&: -\fIDES\fR -(par d\('efaut), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Remarque\ \&: ce param\(`etre remplace la variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (bool\('een) -.RS 4 -Indiquer si un mot de passe doit \(^etre chiffr\('e en utilisant l\*(Aqalgorithme bas\('e sur MD5\&. Si configur\('ee \(`a -\fIyes\fR, les nouveaux mots de passe seront chiffr\('es en utilisant l\*(Aqalgorithme bas\('e sur MD5 compatible avec celui utilis\('e par les versions r\('ecentes de FreeBSD\&. Il g\(`ere des mots de passe de longueur illimit\('ee et des cha\(^ines de salage plus longues\&. Configurez\-la \(`a -\fIno\fR -pour copier les mots de passe chiffr\('es sur d\*(Aqautres syst\(`emes qui ne comprennent pas le nouvel algorithme\&. la valeur par d\('efaut est -\fIno\fR\&. -.sp -Cette variable est \('ecras\('ee par la variable -\fBENCRYPT_METHOD\fR -ou par toute option de la ligne de commande utilis\('ee pour configurer l\*(Aqalgorithme de chiffrement\&. -.sp -Cette variable est obsol\(`ete\&. Vous devriez utiliser -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (nombre), \fBSHA_CRYPT_MAX_ROUNDS\fR (nombre) -.RS 4 -Quand -\fBENCRYPT_METHOD\fR -est configur\('ee \(`a -\fISHA256\fR -ou -\fISHA512\fR, cela d\('efinit le nombre de rounds de SHA utilis\('es par l\*(Aqalgorithme de chiffrement par d\('efaut (quand le nombre de rounds n\*(Aqest pas pr\('ecis\('e sur la ligne de commande)\&. -.sp -Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&. -.sp -Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&. -.sp -Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&. -.sp -Si une seule des variables -\fBSHA_CRYPT_MIN_ROUNDS\fR -ou -\fBSHA_CRYPT_MAX_ROUNDS\fR -est configur\('ee, alors cette valeur sera utilis\('ee\&. -.sp -Si -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, la valeur la plus \('elev\('ee sera utilis\('ee\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBpasswd\fR(1), -\fBnewusers\fR(8), -\fBlogin.defs\fR(5),\fBuseradd\fR(8)\&. diff --git a/man/fr/man8/faillog.8 b/man/fr/man8/faillog.8 deleted file mode 100644 index de18b4a0..00000000 --- a/man/fr/man8/faillog.8 +++ /dev/null @@ -1,162 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "FAILLOG" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -faillog \- Examiner le fichier faillog, et configurer les limites d\*(Aq\('echecs de connexion -.SH "SYNOPSIS" -.HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -\fBfaillog\fR -affiche le contenu du journal des \('echecs de connexion (/var/log/faillog)\&. Il peut aussi configurer le d\('ecompte et les limitations de ces \('echecs\&. Ex\('ecuter -\fBfaillog\fR -sans argument n\*(Aqaffiche que la liste des \('echecs des utilisateurs qui ont d\('ej\(`a eu un \('echec de connexion\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBfaillog\fR -sont\ \&: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Afficher (ou agir sur) les enregistrements d\*(Aqerreurs de connexion pour tous les utilisateurs ayant une entr\('ee dans la base de donn\('ees -faillog\&. -.sp -La liste des utilisateurs peut \(^etre limit\('ee avec l\*(Aqoption -\fB\-u\fR\&. -.sp -En mode affichage, toujours limit\('ee aux utilisateurs existants, mais l\*(Aqaffichage des entr\('ees d\*(Aqerreur de connexion est impos\('e m\(^eme si elles sont vides\&. -.sp -Avec les options -\fB\-l\fR, -\fB\-m\fR, -\fB\-r\fR -ou -\fB\-t\fR -les enregistrements des utilisateurs sont modifi\('es, m\(^eme si l\*(Aqutilisateur n\*(Aqexiste pas sur le syst\(`eme\&. C\*(Aqest utile pour remettre \(`a z\('ero les enregistrements des utilisateurs qui ont \('et\('e supprim\('es ou pour mettre en place une politique pr\('eventive pour un ensemble d\*(Aqutilisateurs\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fISEC\fR -.RS 4 -Verrouiller le compte pendant -\fISEC\fR -secondes apr\(`es un \('echec de connexion\&. -.sp -L\*(Aqacc\(`es en \('ecriture sur -/var/log/faillog -est n\('ecessaire pour cette option\&. -.RE -.PP -\fB\-m\fR, \fB\-\-maximum\fR\ \&\fIMAX\fR -.RS 4 -Configurer le nombre maximum d\*(Aq\('echecs de connexion apr\(`es lequel le compte sera d\('esactiv\('e \(`a -\fIMAX\fR\&. -.sp -S\('electionner une valeur -\fIMAX\fR -de 0 a pour effet de ne placer aucune limite sur le nombre d\*(Aq\('echecs de connexion\&. -.sp -Le compteur d\*(Aqerreurs maximum doit toujours \(^etre 0 pour -\fIroot\fR -afin d\*(Aq\('eviter les attaques de type d\('eni de service sur le syst\(`eme\&. -.sp -L\*(Aqacc\(`es en \('ecriture sur -/var/log/faillog -est n\('ecessaire pour cette option\&. -.RE -.PP -\fB\-r\fR, \fB\-\-reset\fR -.RS 4 -Remettre \(`a z\('ero le compteur d\*(Aq\('echecs de connexion\&. -.sp -L\*(Aqacc\(`es en \('ecriture sur -/var/log/faillog -est n\('ecessaire pour cette option\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIJOURS\fR -.RS 4 -Afficher les entr\('ees de faillog plus r\('ecentes que -\fIJOURS\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIINTERVALLE\fR -.RS 4 -Afficher l\*(Aqentr\('ee de faillog ou maintient le d\('ecompte et les limitations (suivant que l\*(Aqoption -\fB\-l\fR, -\fB\-m\fR -ou -\fB\-r\fR -est utilis\('ee) seulement pour les utilisateurs indiqu\('es\&. -.sp -Les utilisateurs peuvent \(^etre pr\('ecis\('es par un nom de connexion, un identifiant num\('erique d\*(Aqutilisateur ou un -\fIINTERVALLE\fR -d\*(Aqutilisateurs\&. Cet -\fIINTERVALLE\fR -d\*(Aqutilisateurs peut \(^etre pr\('ecis\('e avec des valeurs minimale et maximale (\fIUID_MIN\-UID_MAX\fR), seulement une valeur maximale (\fI\-UID_MAX\fR) ou une valeur minimale (\fIUID_MIN\-\fR)\&. -.RE -.PP -Quand aucune des options -\fB\-l\fR, -\fB\-m\fR -ou -\fB\-r\fR -n\*(Aqest utilis\('ee, -\fBfaillog\fR -affiche l\*(Aqenregistrement des \('echecs de connexion des utilisateurs pr\('ecis\('es\&. -.SH "AVERTISSEMENTS" -.PP -\fBfaillog\fR -n\*(Aqaffiche que les utilisateurs n\*(Aqayant pas eu de connexion r\('eussie depuis leur dernier \('echec\&. Pour afficher un utilisateur ayant eu une connexion r\('eussie depuis son dernier \('echec, vous devez explicitement demander cet utilisateur avec l\*(Aqoption -\fB\-u\fR, ou demander l\*(Aqaffichage de tous les utilisateurs avec l\*(Aqoption -\fB\-a\fR\&. -.SH "FICHIERS" -.PP -/var/log/faillog -.RS 4 -Journal des \('echecs de connexion\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin\fR(1), -\fBfaillog\fR(5)\&. diff --git a/man/fr/man8/groupadd.8 b/man/fr/man8/groupadd.8 deleted file mode 100644 index 71d44011..00000000 --- a/man/fr/man8/groupadd.8 +++ /dev/null @@ -1,248 +0,0 @@ -'\" t -.\" Title: groupadd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "GROUPADD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -groupadd \- Cr\('eer un nouveau groupe -.SH "SYNOPSIS" -.HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIoptions\fR] \fIgroupe\fR -.SH "DESCRIPTION" -.PP -La commande -\fBgroupadd\fR -cr\('ee un nouveau compte de groupe en utilisant les valeurs sp\('ecifi\('ees sur la ligne de commande et les valeurs par d\('efaut du syst\(`eme\&. Le nouveau groupe sera ins\('er\('e dans les fichiers du syst\(`eme selon les besoins\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBgroupadd\fR -sont\ \&: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Avec cette option, la commande quittera juste avec un \('etat de succ\(`es si le groupe indiqu\('e existe d\('ej\(`a\&. Avec l\*(Aqoption -\fB\-g\fR, si l\*(Aqidentifiant de groupe indiqu\('e existe d\('ej\(`a, un autre identifiant de groupe (non utilis\('e) sera choisi (c\&.\-\(`a\-d\&. que -\fB\-g\fR -est d\('esactiv\('ee)\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -La valeur num\('erique de l\*(Aqidentifiant du groupe (\(Fo\ \&group ID\ \&\(Fc ou GID)\&. Cette valeur doit \(^etre unique, sauf si l\*(Aqoption -\fB\-o\fR -est utilis\('ee\&. La valeur ne doit pas \(^etre n\('egative\&. Par d\('efaut, le plus petit identifiant sup\('erieur au -\fBGID_MIN\fR -et aux identifiants des groupes existants est utilis\('e\&. -.sp -Voir aussi aussi la description des options -\fB\-r\fR -et -\fBGID_MAX\fR\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fICL\('E\fR=\fIVALEUR\fR -.RS 4 -Surcharger les valeurs par d\('efaut du fichier -/etc/login\&.defs -(GID_MIN, GID_MAX et autres)\&. L\*(Aqoption -\fB\-K\fR -peut \(^etre indiqu\('ee plusieurs fois\&. -.sp -Exemple\ \&: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI10\fR\ \&\fB\-K\fR\ \&\fIGID_MAX\fR=\fI499\fR -.sp -Remarque\ \&: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR -ne fonctionne pas pour l\*(Aqinstant\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Cette option permet d\*(Aqajouter un groupe avec un identifiant (\(Fo\ \&GID\ \&\(Fc) d\('ej\(`a utilis\('e\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIMOT_DE_PASSE\fR -.RS 4 -Le mot de passe chiffr\('e, comme renvoy\('e par -\fBcrypt\fR(3)\&. Le comportement par d\('efaut est de d\('esactiver le mot de passe\&. -.sp -\fBRemarque\ \&:\fR -l\*(Aqutilisation de cette option est d\('econseill\('ee car le mot de passe (ou le mot de passe chiffr\('e) peut \(^etre visible des utilisateurs qui affichent la liste des processus\&. -.sp -Il est n\('ecessaire de v\('erifier si le mot de passe respecte la politique de mots de passe du syst\(`eme\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Cr\('eer un groupe syst\(`eme\&. -.sp -Les identifiants num\('eriques des nouveaux groupes syst\(`emes sont choisis dans l\*(Aqintervalle -\fBSYS_GID_MIN\fR\-\fBSYS_GID_MAX\fR, d\('efini dans -login\&.defs, au lieu de -\fBGID_MIN\fR\-\fBGID_MAX\fR -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBGID_MAX\fR (nombre), \fBGID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques de groupes que les commandes -\fBuseradd\fR, -\fBgroupadd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation des groupes normaux\&. -.sp -La valeur par d\('efaut pour -\fBGID_MIN\fR -(respectivement -\fBGID_MAX\fR) est 1000 (respectivement 60000)\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.PP -\fBSYS_GID_MAX\fR (nombre), \fBSYS_GID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques de groupes que les commandes -\fBuseradd\fR, -\fBgroupadd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation de groupes syst\(`eme\&. -.sp -La valeur par d\('efaut pour -\fBSYS_GID_MIN\fR -(respectivement -\fBSYS_GID_MAX\fR) est 101 (respectivement -\fBGID_MIN\fR\-1)\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.SH "AVERTISSEMENTS" -.PP -Les noms de groupe doivent commencer par une lettre minuscule ou un tiret bas (\(Fo\ \&underscore\ \&\(Fc), et seuls des lettres minuscules, des chiffres, des \(Fo\ \&underscore\ \&\(Fc, ou des tirets peuvent suivre\&. Ils peuvent se terminer par un signe dollar\&. Soit, sous la forme d\*(Aqune expression rationnelle\ \&: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -Les noms de groupe sont limit\('es \(`a 16 caract\(`eres\&. -.PP -Vous ne pouvez pas ajouter d\*(Aqutilisateur \(`a un groupe NIS ou LDAP\&. Cela doit \(^etre effectu\('e sur le serveur correspondant\&. -.PP -Si le nom du groupe existe dans une base de donn\('ees externe, telle que NIS ou LDAP, -\fBgroupadd\fR -refusera de cr\('eer le groupe\&. -.SH "VALEURS DE RETOUR" -.PP -La commande -\fBgroupadd\fR -retourne les valeurs suivantes en quittant\ \&: -.PP -\fI0\fR -.RS 4 -succ\(`es -.RE -.PP -\fI2\fR -.RS 4 -erreur de syntaxe -.RE -.PP -\fI3\fR -.RS 4 -param\(`etre non valable pour l\*(Aqoption -.RE -.PP -\fI4\fR -.RS 4 -GID d\('ej\(`a utilis\('e (et -\fB\-o\fR -n\*(Aqest pas utilis\('e) -.RE -.PP -\fI9\fR -.RS 4 -nom de groupe d\('ej\(`a utilis\('e -.RE -.PP -\fI10\fR -.RS 4 -impossible de mettre \(`a jour le fichier des groupes -.RE -.SH "VOIR AUSSI" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/fr/man8/groupdel.8 b/man/fr/man8/groupdel.8 deleted file mode 100644 index 4bce03b1..00000000 --- a/man/fr/man8/groupdel.8 +++ /dev/null @@ -1,135 +0,0 @@ -'\" t -.\" Title: groupdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "GROUPDEL" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -groupdel \- Supprimer un groupe -.SH "SYNOPSIS" -.HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIoptions\fR] \fIGROUPE\fR -.SH "DESCRIPTION" -.PP -La commande -\fBgroupdel\fR -modifie les fichiers d\*(Aqadministration des comptes du syst\(`eme, en supprimant les entr\('ees qui se r\('ef\(`erent \(`a -\fIgroupe\fR\&. Le groupe indiqu\('e doit exister\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBgroupdel\fR -sont\ \&: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.SH "AVERTISSEMENTS" -.PP -Vous ne pouvez pas supprimer le groupe primaire d\*(Aqun utilisateur existant\&. Vous devez supprimer l\*(Aqutilisateur auparavant\&. -.PP -Vous devriez v\('erifier vous\-m\(^eme qu\*(Aqaucun fichier poss\('ed\('e par le groupe ne subsiste sur tous les syst\(`emes de fichiers\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.SH "VALEURS DE RETOUR" -.PP -La commande -\fBgroupdel\fR -renvoie les valeurs suivantes en quittant\ \&: -.PP -\fI0\fR -.RS 4 -succ\(`es -.RE -.PP -\fI2\fR -.RS 4 -erreur de syntaxe -.RE -.PP -\fI6\fR -.RS 4 -le groupe sp\('ecifi\('e n\*(Aqexiste pas -.RE -.PP -\fI8\fR -.RS 4 -impossible de supprimer le groupe primaire d\*(Aqun utilisateur existant -.RE -.PP -\fI10\fR -.RS 4 -impossible de mettre \(`a jour le fichier des groupes -.RE -.SH "VOIR AUSSI" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/fr/man8/groupmems.8 b/man/fr/man8/groupmems.8 deleted file mode 100644 index 86a1ea1e..00000000 --- a/man/fr/man8/groupmems.8 +++ /dev/null @@ -1,173 +0,0 @@ -'\" t -.\" Title: groupmems -.\" Author: George Kraft, IV -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "GROUPMEMS" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -groupmems \- Administrer les membres du groupe primaire d\*(Aqun utilisateur -.SH "SYNOPSIS" -.HP \w'\fBgroupmems\fR\ 'u -\fBgroupmems\fR \-a\ \fInom_utilisateur\fR | \-d\ \fInom_utilisateur\fR | [\-g\ \fInom_groupe\fR] | \-l | \-p -.SH "DESCRIPTION" -.PP -La commande -\fBgroupmems\fR -permet \(`a un utilisateur d\*(Aqadministrer la liste des membres de son propre groupe sans avoir les privil\(`eges du superutilisateur\&. L\*(Aqutilitaire -\fBgroupmems\fR -a \('et\('e con\(,cu pour les syst\(`emes qui configurent leurs utilisateurs de telle sorte qu\*(Aqils soient responsables de leur groupe primaire (par exemple guest/guest)\&. -.PP -Seul le superutilisateur, en tant qu\*(Aqadministrateur, peut utiliser -\fBgroupmems\fR -pour modifier la liste des membres d\*(Aqun autre groupe\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBgroupmems\fR -sont\ \&: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fInom_utilisateur\fR -.RS 4 -Add a user to the group membership list\&. -.sp -Si le fichier -/etc/gshadow -existe, et que le groupe n\*(Aqy a pas d\*(Aqentr\('ee, une nouvelle entr\('ee sera cr\('e\('ee\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fInom_utilisateur\fR -.RS 4 -Supprimer un utilisateur de la liste des membres du groupe\&. -.sp -Si le fichier -/etc/gshadow -existe, l\*(Aqutilisateur sera retir\('e de la liste des membres et des administrateurs du groupe\&. -.sp -Si le fichier -/etc/gshadow -existe, et que le groupe n\*(Aqy a pas d\*(Aqentr\('ee, une nouvelle entr\('ee sera cr\('e\('ee\&. -.RE -.PP -\fB\-g\fR, \fB\-\-group\fR\ \&\fInom_groupe\fR -.RS 4 -Le superutilisateur peut pr\('eciser la liste des membres du groupe \(`a modifier\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -Afficher la liste des membres du groupe\&. -.RE -.PP -\fB\-p\fR, \fB\-\-purge\fR -.RS 4 -Supprimer tous les utilisateurs de la liste des membres du groupe\&. -.sp -Si le fichier -/etc/gshadow -existe, et que le groupe n\*(Aqy a pas d\*(Aqentr\('ee, une nouvelle entr\('ee sera cr\('e\('ee\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.SH "CONFIGURATION" -.PP -L\*(Aqex\('ecutable -\fBgroupmems\fR -doit \(^etre install\('e en mode -2770 -avec pour utilisateur -\fIroot\fR -et pour groupe -\fIgroups\fR\&. L\*(Aqadministrateur syst\(`eme peut ajouter des utilisateurs au groupe -\fIgroups\fR -pour leur permettre ou leur interdire d\*(Aqutiliser -\fBgroupmems\fR -pour g\('erer leur propre liste de membres du groupe\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - $ groupadd \-r groups - $ chmod 2770 groupmems - $ chown root\&.groups groupmems - $ groupmems \-g groups \-a gk4 - -.fi -.if n \{\ -.RE -.\} -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -informations cach\('ees sur les groupes -.RE -.SH "VOIR AUSSI" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/fr/man8/groupmod.8 b/man/fr/man8/groupmod.8 deleted file mode 100644 index a10869cc..00000000 --- a/man/fr/man8/groupmod.8 +++ /dev/null @@ -1,204 +0,0 @@ -'\" t -.\" Title: groupmod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "GROUPMOD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -groupmod \- Modifier la d\('efinition d\*(Aqun groupe du syst\(`eme -.SH "SYNOPSIS" -.HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIoptions\fR] \fIGROUPE\fR -.SH "DESCRIPTION" -.PP -La commande -\fBgroupmod\fR -modifie la d\('efinition du -\fIGROUPE\fR -sp\('ecifi\('e en modifiant l\*(Aqentr\('ee correspondante de la base de donn\('ees des groupes\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBgroupmod\fR -sont\ \&: -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -L\*(Aqidentifiant num\('erique du groupe -\fIGROUPE\fR -sera modifi\('e vers -\fIGID\fR\&. -.sp -La valeur de -\fIGID\fR -doit \(^etre un nombre d\('ecimal positif\&. Cette valeur doit \(^etre unique, \(`a moins que l\*(Aqoption -\fB\-o\fR -ne soit utilis\('ee\&. -.sp -Les utilisateurs qui utilisent ce groupe comme groupe primaire seront mis \(`a jour pour garder le groupe comme groupe primaire\&. -.sp -Vous devrez modifier vous\-m\(^eme l\*(Aqidentifiant de groupe des fichiers ayant l\*(Aqancien identifiant de groupe qui doivent continuer \(`a appartenir au -\fIGROUPE\fR\&. -.sp -Aucun contr\(^ole ne sera effectu\('e sur les valeurs de -\fBGID_MIN\fR, -\fBGID_MAX\fR, -\fBSYS_GID_MIN\fR, ou -\fBSYS_GID_MAX\fR -du fichier -/etc/login\&.defs\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-n\fR, \fB\-\-new\-name\fR\ \&\fINOUVEAU_NOM_GROUPE\fR -.RS 4 -Le nom du groupe sera modifi\('e de -\fIGROUPE\fR -vers -\fINOUVEAU_NOM_GROUPE\fR\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -En combinaison avec l\*(Aqoption -\fB\-g\fR, cette option permet de changer l\*(Aqidentifiant du groupe (\fIGID\fR) vers une valeur d\('ej\(`a utilis\('ee\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIMOT_DE_PASSE\fR -.RS 4 -Mot de passe chiffr\('e, comme renvoy\('e par -\fBcrypt\fR(3)\&. -.sp -\fBRemarque\ \&:\fR -l\*(Aqutilisation de cette option est d\('econseill\('ee car le mot de passe (ou le mot de passe chiffr\('e) peut \(^etre visible des utilisateurs qui affichent la liste des processus\&. -.sp -Il est n\('ecessaire de v\('erifier si le mot de passe respecte la politique de mots de passe du syst\(`eme\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.SH "VALEURS DE RETOUR" -.PP -La commande -\fBgroupmod\fR -retourne les valeurs suivantes en quittant\ \&: -.PP -\fI0\fR -.RS 4 -succ\(`es -.RE -.PP -\fI2\fR -.RS 4 -erreur de syntaxe -.RE -.PP -\fI3\fR -.RS 4 -param\(`etre non valable pour l\*(Aqoption -.RE -.PP -\fI4\fR -.RS 4 -le groupe sp\('ecifi\('e n\*(Aqexiste pas -.RE -.PP -\fI6\fR -.RS 4 -le groupe sp\('ecifi\('e n\*(Aqexiste pas -.RE -.PP -\fI9\fR -.RS 4 -nom de groupe d\('ej\(`a utilis\('e -.RE -.PP -\fI10\fR -.RS 4 -impossible de mettre \(`a jour le fichier des groupes -.RE -.SH "VOIR AUSSI" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/fr/man8/grpck.8 b/man/fr/man8/grpck.8 deleted file mode 100644 index cfaef2f8..00000000 --- a/man/fr/man8/grpck.8 +++ /dev/null @@ -1,245 +0,0 @@ -'\" t -.\" Title: grpck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "GRPCK" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -grpck \- V\('erifier l\*(Aqint\('egrit\('e des fichiers d\*(Aqadministration des groupes -.SH "SYNOPSIS" -.HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [options] [\fIgroupe\fR\ [\ \fIshadow\fR\ ]] -.SH "DESCRIPTION" -.PP -La commande -\fBgrpck\fR -v\('erifie l\*(Aqint\('egrit\('e des informations sur les groupes du syst\(`eme\&. Toutes les entr\('ees de -/etc/group -et /etc/gshadow -sont v\('erifi\('ees afin de s\*(Aqassurer qu\*(Aqelles ont le bon format et qu\*(Aqelles contiennent des donn\('ees valables dans chaque champ\&. Une confirmation de l\*(Aqutilisateur sera demand\('ee pour d\('etruire les entr\('ees mal format\('ees ou ayant d\*(Aqautres erreurs non r\('ecup\('erables\&. -.PP -Voici les v\('erifications effectu\('ees\ \&: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -nombre correct de champs\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -unicit\('e et validit\('e des noms de groupe\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -validit\('e des identifiants de groupe -(seulement /etc/group)\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -validit\('e de la liste de membres -et d\*(Aqadministrateurs\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -correspondance d\*(Aqentr\('ee dans le fichier -/etc/gshadow -(respectivement -/etc/group -pour les v\('erifications de -gshadow)\&. -.RE -.PP -Une erreur dans le nombre de champs ou la non unicit\('e d\*(Aqun nom de groupe sera fatale\&. Si le nombre de champs n\*(Aqest pas correct, il sera demand\('e \(`a l\*(Aqutilisateur de supprimer la ligne\&. Si l\*(Aqutilisateur ne r\('epond pas par l\*(Aqaffirmative, les v\('erifications suivantes ne seront pas effectu\('ees\&. Il sera \('egalement demand\('e de supprimer les entr\('ees correspondant aux noms de groupe redondants, mais dans ce cas, les autres v\('erifications seront effectu\('ees\&. Toutes les autres erreurs ne sont que des avertissements et l\*(Aqutilisateur est encourag\('e \(`a utiliser -\fBgroupmod\fR -pour les corriger\&. -.PP -Les commandes qui op\(`erent sur -les fichiers -/etc/group -et /etc/gshadow -ne peuvent pas modifier les entr\('ees corrompues ou redondantes\&. -\fBgrpck\fR -doit \(^etre utilis\('ee dans ce cas pour supprimer ces entr\('ees\&. -.SH "OPTIONS" -.PP -Les options -\fB\-r\fR -et -\fB\-s\fR -ne peuvent pas \(^etre combin\('ees\&. -.PP -Les options disponibles pour la commande -\fBgrpck\fR -sont\ \&: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Ex\('ecute la commande -\fBgrpck\fR -en mode lecture seule\&. Cela signifie qu\*(Aq\(`a toutes les questions concernant des modifications il sera r\('epondu -\fIno\fR -sans l\*(Aqintervention de l\*(Aqutilisateur\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -Trie les entr\('ees de -/etc/group -et /etc/gshadow -par GID\&. -.RE -.PP -By default, -\fBgrpck\fR -operates on -/etc/group -and /etc/gshadow\&. The user may select alternate files with the -\fIgroup\fR -and \fIshadow\fR parameters\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.SH "VALEURS DE RETOUR" -.PP -La commande -\fBgrpck\fR -renvoie les valeurs suivantes en quittant\ \&: -.PP -\fI0\fR -.RS 4 -succ\(`es -.RE -.PP -\fI1\fR -.RS 4 -erreur de syntaxe -.RE -.PP -\fI2\fR -.RS 4 -une entr\('ee de groupe ou plus est incorrecte -.RE -.PP -\fI3\fR -.RS 4 -impossible d\*(Aqouvrir les fichiers group -.RE -.PP -\fI4\fR -.RS 4 -impossible de verrouiller les fichiers group -.RE -.PP -\fI5\fR -.RS 4 -impossible de mettre \(`a jour les fichiers group -.RE -.SH "VOIR AUSSI" -.PP -\fBgroup\fR(5), -\fBgroupmod\fR(8), -\fBgshadow\fR(5),\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBshadow\fR(5)\&. diff --git a/man/fr/man8/grpconv.8 b/man/fr/man8/grpconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/fr/man8/grpconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/fr/man8/grpunconv.8 b/man/fr/man8/grpunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/fr/man8/grpunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/fr/man8/lastlog.8 b/man/fr/man8/lastlog.8 deleted file mode 100644 index deadc850..00000000 --- a/man/fr/man8/lastlog.8 +++ /dev/null @@ -1,123 +0,0 @@ -'\" t -.\" Title: lastlog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "LASTLOG" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -lastlog \- signaler les connexions les plus r\('ecentes de tous les utilisateurs ou d\*(Aqun utilisateur donn\('e -.SH "SYNOPSIS" -.HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -\fBlastlog\fR -affiche le contenu du journal des derni\(`eres connexions (/var/log/lastlog)\&. Les champs -\fIUtilisateur\fR, -\fIPort\fR, date de -\fIDerni\(`ere\fR -connexion sont affich\('es\&. Par d\('efaut (aucune option de sp\('ecifi\('ee), les entr\('ees de lastlog sont affich\('ees tri\('ees par ordre d\*(Aqapparition dans -/etc/passwd\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBlastlog\fR -sont\ \&: -.PP -\fB\-b\fR, \fB\-\-before\fR\ \&\fIJOURS\fR -.RS 4 -N\*(Aqafficher que les entr\('ees du fichier lastlog plus anciennes que -\fIJOURS\fR\&. -.RE -.PP -\fB\-C\fR, \fB\-\-clear\fR -.RS 4 -Clear lastlog record of a user\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-S\fR, \fB\-\-set\fR -.RS 4 -Set lastlog record of a user to the current time\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIJOURS\fR -.RS 4 -Afficher les entr\('ees du fichier lastlog plus r\('ecentes que -\fIJOURS\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIINTERVALLE\fR -.RS 4 -N\*(Aqafficher que les entr\('ees correspondant aux utilisateurs indiqu\('es\&. -.sp -Les utilisateurs peuvent \(^etre pr\('ecis\('es par un nom de connexion, un identifiant num\('erique d\*(Aqutilisateur ou un -\fIINTERVALLE\fR -d\*(Aqutilisateurs\&. Cet -\fIINTERVALLE\fR -d\*(Aqutilisateurs peut \(^etre pr\('ecis\('e avec des valeurs minimale et maximale (\fIUID_MIN\-UID_MAX\fR), seulement une valeur maximale (\fI\-UID_MAX\fR) ou une valeur minimale (\fIUID_MIN\-\fR)\&. -.RE -.PP -Dans le cas o\(`u l\*(Aqutilisateur ne s\*(Aqest jamais connect\('e, le message \(Fo\ \&\fI**Never logged in**\fR\ \&\(Fc (\(Fo\ \&\fI**Jamais connect\('e**\fR\ \&\(Fc) est affich\('e \(`a la place des champs -\fIPort\fR -et date de -\fIDerni\(`ere\fR -connexion\&. -.PP -Seules les entr\('ees pour les utilisateurs actuels du syst\(`eme seront affich\('ees\&. D\*(Aqautres entr\('ees peuvent exister pour les utilisateurs supprim\('es pr\('ec\('edemment\&. -.SH "NOTE" -.PP -Le fichier -lastlog -est une base de donn\('ees qui contient des informations concernant la derni\(`ere connexion de chaque utilisateur\&. Vous n\*(Aqavez pas \(`a faire de rotation (avec -\fBlogrotate\fR) sur ce fichier\&. C\*(Aqest un fichier \(Fo\ \&creux\ \&\(Fc, donc sa taille sur le disque est bien plus petite que celle affich\('ee par \(Fo\ \&\fBls \-l\fR\ \&\(Fc (qui peut indiquer un tr\(`es gros fichier si vous avez des utilisateurs avec des UID \('elev\('es)\&. Vous pouvez afficher sa taille r\('eelle avec \(Fo\ \&\fBls \-s\fR\ \&\(Fc\&. -.SH "FICHIERS" -.PP -/var/log/lastlog -.RS 4 -Base de donn\('ees de l\*(Aqheure des connexions pr\('ec\('edentes des utilisateurs\&. -.RE -.SH "AVERTISSEMENTS" -.PP -S\*(Aqil y a des trous importants dans les valeurs des UID, -\fBlastlog\fR -s\*(Aqex\('ecutera plus lentement, sans affichage \(`a l\*(Aq\('ecran (par exemple, s\*(Aqil n\*(Aqy a pas d\*(Aqentr\('ee pour les utilisateurs ayant un UID compris entre 170 et 800 dans base de donn\('ees lastlog, le programme lastlog semblera bloqu\('e comme s\*(Aqil traitait les entr\('ees correspondant aux UID 171 \(`a 799)\&. diff --git a/man/fr/man8/logoutd.8 b/man/fr/man8/logoutd.8 deleted file mode 100644 index aa3106ef..00000000 --- a/man/fr/man8/logoutd.8 +++ /dev/null @@ -1,57 +0,0 @@ -'\" t -.\" Title: logoutd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "LOGOUTD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -logoutd \- Imposer les restrictions de connexion dans le temps -.SH "SYNOPSIS" -.HP \w'\fBlogoutd\fR\ 'u -\fBlogoutd\fR -.SH "DESCRIPTION" -.PP -\fBlogoutd\fR -impose les restrictions (sur les ports, la date et l\*(Aqheure de connexion) sp\('ecifi\('ees dans -/etc/porttime\&. -\fBlogoutd\fR -doit \(^etre d\('emarr\('e depuis -/etc/rc\&. Il analyse le fichier -/var/run/utmp -r\('eguli\(`erement et, pour chaque utilisateur, il v\('erifie que ce nom d\*(Aqutilisateur est autoris\('e \(`a \(^etre connect\('e \(`a ce port \(`a ce moment\&. Toute session en violation avec les restrictions de -/etc/porttime -est termin\('ee\&. -.SH "FICHIERS" -.PP -/etc/porttime -.RS 4 -Fichier contenant le port d\*(Aqacc\(`es\&. -.RE -.PP -/var/run/utmp -.RS 4 -Liste des sessions de connexion en cours\&. -.RE diff --git a/man/fr/man8/newusers.8 b/man/fr/man8/newusers.8 deleted file mode 100644 index b2efc6b4..00000000 --- a/man/fr/man8/newusers.8 +++ /dev/null @@ -1,432 +0,0 @@ -'\" t -.\" Title: newusers -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "NEWUSERS" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -newusers \- Mettre \(`a jour, ou cr\('eer de nouveaux utilisateurs par lots -.SH "SYNOPSIS" -.HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fIoptions\fR] [\fIfichier\fR] -.SH "DESCRIPTION" -.PP -La commande -\fBnewusers\fR -lit un -\fIfichier\fR\fI\fI (ou l\*(Aqentr\('ee standard par d\('efaut) et utilise ces informations pour mettre \(`a jour un groupe d\*(Aqutilisateurs existants ou pour cr\('eer de nouveaux utilisateurs\&. Chaque ligne est au m\(^eme format que le fichier des mots de passe (consultez \fR\fI\fBpasswd\fR(5)\fR\fI) avec les exceptions suivantes\ \&:\fR\fR -.PP -pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell -.PP -\fIpw_name\fR -.RS 4 -C\*(Aqest le nom de l\*(Aqutilisateur\&. -.sp -It can be the name of a new user or the name of an existing user (or a user created before by -\fBnewusers\fR)\&. In case of an existing user, the user\*(Aqs information will be changed, otherwise a new user will be created\&. -.RE -.PP -\fIpw_passwd\fR -.RS 4 -Ce champ sera chiffr\('e et utilis\('e comme nouvelle valeur du mot de passe chiffr\('e\&. -.RE -.PP -\fIpw_uid\fR -.RS 4 -Ce champ est utilis\('e pour d\('efinir l\*(AqUID de l\*(Aqutilisateur\&. -.sp -If the field is empty, a new (unused) UID will be defined automatically by -\fBnewusers\fR\&. -.sp -Si ce champ contient un nombre, ce nombre sera utilis\('e comme UID\&. -.sp -If this field contains the name of an existing user (or the name of a user created before by -\fBnewusers\fR), the UID of the specified user will be used\&. -.sp -Si l\*(AqUID d\*(Aqun utilisateur existant est modifi\('e, vous devrez configurer vous\-m\(^eme le propri\('etaire des fichiers de l\*(Aqutilisateur\&. -.RE -.PP -\fIpw_gid\fR -.RS 4 -Ce champ est utilis\('e pour d\('efinir l\*(Aqidentifiant du groupe primaire de l\*(Aqutilisateur\&. -.sp -Si ce champ contient le nom d\*(Aqun groupe existant (ou d\*(Aqun groupe cr\('e\('e pr\('ec\('edemment par -\fBnewusers\fR), le GID de ce groupe sera utilis\('e comme identifiant de groupe primaire pour l\*(Aqutilisateur\&. -.sp -Si ce champ est un nombre, ce nombre sera utilis\('e comme identifiant de groupe primaire de cet utilisateur\&. Si aucun groupe n\*(Aqexiste avec ce GID, un nouveau groupe sera cr\('e\('e avec ce GID et le nom de l\*(Aqutilisateur\&. -.sp -Si ce champ est vide, un nouveau groupe sera cr\('e\('e avec le nom de l\*(Aqutilisateur et un GID sera automatiquement d\('efini par -\fBnewusers\fR -pour \(^etre utilis\('e comme identifiant de groupe primaire pour l\*(Aqutilisateur et comme GID pour le nouveau groupe\&. -.sp -Si le champ contient le nom d\*(Aqun groupe qui n\*(Aqexiste pas (et qui n\*(Aqa pas \('et\('e cr\('e\('e pr\('ec\('edemment par -\fBnewusers\fR), un nouveau groupe sera cr\('e\('e avec le nom indiqu\('e et un GID sera automatiquement d\('efini par -\fBnewusers\fR -pour \(^etre utilis\('e comme identifiant de groupe primaire pour l\*(Aqutilisateur et comme identifiant pour le nouveau groupe\&. -.RE -.PP -\fIpw_gecos\fR -.RS 4 -Ce champ est copi\('e dans le champ GECOS de l\*(Aqutilisateur\&. -.RE -.PP -\fIpw_dir\fR -.RS 4 -Ce champ est utilis\('e pour d\('efinir le r\('epertoire personnel de l\*(Aqutilisateur\&. -.sp -Si ce champ n\*(Aqindique pas de r\('epertoire existant, le r\('epertoire indiqu\('e est cr\('e\('e, avec comme propri\('etaire l\*(Aqutilisateur en cours de cr\('eation ou mis \(`a jour et son groupe primaire\&. -.sp -Si le r\('epertoire personnel d\*(Aqun utilisateur existant est modifi\('e, -\fBnewusers\fR -ne d\('eplace ni ne copie le contenu de l\*(Aqancien r\('epertoire personnel \(`a la nouvelle place\&. Vous devrez effectuer cela vous\-m\(^eme\&. -.RE -.PP -\fIpw_shell\fR -.RS 4 -Ce champ d\('efinit l\*(Aqinterpr\('eteur de commande de l\*(Aqutilisateur\&. Aucune v\('erification n\*(Aqest effectu\('ee sur ce champ\&. -.RE -.PP -\fBnewusers\fR -essayera d\*(Aqabord de cr\('eer ou de modifier tous les utilisateurs indiqu\('es puis \('ecrira ces modifications dans les bases de donn\('ees d\*(Aqutilisateurs et de groupes\&. Si une erreur survient (en dehors de l\*(Aq\('ecriture finale des bases de donn\('ees), aucune modification ne sera propag\('ee dans les bases de donn\('ees\&. -.PP -Cette commande a \('et\('e con\(,cue pour les gros syst\(`emes pour lesquels un grand nombre de comptes sont mis \(`a jour en m\(^eme temps\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBnewusers\fR -sont\ \&: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -Utiliser la m\('ethode pr\('ecis\('ee pour chiffrer les mots de passe\&. -.sp -Les m\('ethodes disponibles sont DES, MD5, NONE et SHA256 ou SHA512 si votre libc prend en charge ces m\('ethodes\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Cr\('eer un compte syst\(`eme\&. -.sp -Les utilisateurs syst\(`eme seront cr\('e\('es sans information d\*(Aq\(^age dans -/etc/shadow -et leurs identifiants num\('eriques sont choisis dans l\*(Aqintervalle -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR, d\('efini dans -login\&.defs, au lieu de -\fBUID_MIN\fR\-\fBUID_MAX\fR -(et leur -\fBGID\fR -correspondant pour la cr\('eation de groupes)\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -Utiliser le nombre de rounds pr\('ecis\('e pour chiffrer les mots de passe\&. -.sp -La valeur 0 signifie que le syst\(`eme choisira la valeur par d\('efaut du nombre de rounds pour la m\('ethode de chiffrement (5\ \&000)\&. -.sp -Une valeur minimale de 1\ \&000 et une valeur maximale de 999\ \&999\ \&999 seront impos\('ees\&. -.sp -Vous ne pouvez utiliser cette m\('ethode qu\*(Aqavec les m\('ethodes de chiffrement SHA256 ou SHA512\&. -.sp -Par d\('efaut, le nombre de rounds est d\('efini par les variables SHA_CRYPT_MIN_ROUNDS et SHA_CRYPT_MAX_ROUNDS dans -/etc/login\&.defs\&. -.RE -.SH "AVERTISSEMENTS" -.PP -Le fichier d\*(Aqentr\('ee doit \(^etre correctement prot\('eg\('e puisqu\*(Aqil contient des mots de passe en clair\&. -.PP -Vous devez vous assurer que les mots de passe et la m\('ethode de chiffrement respectent la politique de mot de passe du syst\(`eme\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBENCRYPT_METHOD\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir les algorithmes de chiffrement par d\('efaut du syst\(`eme pour coder les mots de passes (si aucun algorithme n\*(Aqa \('et\('e indiqu\('e sur la ligne de commandes)\&. -.sp -Les valeurs suivantes sont accept\('ees\ \&: -\fIDES\fR -(par d\('efaut), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Remarque\ \&: ce param\(`etre remplace la variable -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBGID_MAX\fR (nombre), \fBGID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques de groupes que les commandes -\fBuseradd\fR, -\fBgroupadd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation des groupes normaux\&. -.sp -La valeur par d\('efaut pour -\fBGID_MIN\fR -(respectivement -\fBGID_MAX\fR) est 1000 (respectivement 60000)\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (bool\('een) -.RS 4 -Indiquer si un mot de passe doit \(^etre chiffr\('e en utilisant l\*(Aqalgorithme bas\('e sur MD5\&. Si configur\('ee \(`a -\fIyes\fR, les nouveaux mots de passe seront chiffr\('es en utilisant l\*(Aqalgorithme bas\('e sur MD5 compatible avec celui utilis\('e par les versions r\('ecentes de FreeBSD\&. Il g\(`ere des mots de passe de longueur illimit\('ee et des cha\(^ines de salage plus longues\&. Configurez\-la \(`a -\fIno\fR -pour copier les mots de passe chiffr\('es sur d\*(Aqautres syst\(`emes qui ne comprennent pas le nouvel algorithme\&. la valeur par d\('efaut est -\fIno\fR\&. -.sp -Cette variable est \('ecras\('ee par la variable -\fBENCRYPT_METHOD\fR -ou par toute option de la ligne de commande utilis\('ee pour configurer l\*(Aqalgorithme de chiffrement\&. -.sp -Cette variable est obsol\(`ete\&. Vous devriez utiliser -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (nombre) -.RS 4 -Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette dur\('ee, une modification du mot de passe est obligatoire\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (nombre) -.RS 4 -Nombre minimum de jours autoris\('e avant la modification d\*(Aqun mot de passe\&. Toute tentative de modification du mot de passe avant cette dur\('ee est rejet\('ee\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (nombre) -.RS 4 -Nombre de jours durant lesquels l\*(Aqutilisateur recevra un avertissement avant que son mot de passe n\*(Aqarrive en fin de validit\('e\&. Une valeur n\('egative signifie qu\*(Aqaucun avertissement n\*(Aqest donn\('e\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, aucun avertissement n\*(Aqest donn\('e\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (nombre), \fBSHA_CRYPT_MAX_ROUNDS\fR (nombre) -.RS 4 -Quand -\fBENCRYPT_METHOD\fR -est configur\('ee \(`a -\fISHA256\fR -ou -\fISHA512\fR, cela d\('efinit le nombre de rounds de SHA utilis\('es par l\*(Aqalgorithme de chiffrement par d\('efaut (quand le nombre de rounds n\*(Aqest pas pr\('ecis\('e sur la ligne de commande)\&. -.sp -Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute\&. Veuillez remarquer que plus de ressources processeur seront n\('ecessaires pour authentifier les utilisateurs\&. -.sp -Si non pr\('ecis\('ee, la libc utilisera le nombre de rounds par d\('efaut (5000)\&. -.sp -Les valeurs doivent \(^etre comprises dans l\*(Aqintervalle 1\ \&000\ \&\-\ \&999\ \&999\ \&999\&. -.sp -Si une seule des variables -\fBSHA_CRYPT_MIN_ROUNDS\fR -ou -\fBSHA_CRYPT_MAX_ROUNDS\fR -est configur\('ee, alors cette valeur sera utilis\('ee\&. -.sp -Si -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, la valeur la plus \('elev\('ee sera utilis\('ee\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (nombre), \fBSYS_GID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques de groupes que les commandes -\fBuseradd\fR, -\fBgroupadd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation de groupes syst\(`eme\&. -.sp -La valeur par d\('efaut pour -\fBSYS_GID_MIN\fR -(respectivement -\fBSYS_GID_MAX\fR) est 101 (respectivement -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (nombre), \fBSYS_UID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques d\*(Aqutilisateurs que les commandes -\fBuseradd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation d\*(Aqutilisateurs syst\(`eme\&. -.sp -La valeur par d\('efaut pour -\fBSYS_UID_MIN\fR -(respectivement -\fBSYS_UID_MAX\fR) est 101 (respectivement -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBUID_MAX\fR (nombre), \fBUID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques d\*(Aqutilisateurs que les commandes -\fBuseradd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation d\*(Aqutilisateurs normaux\&. -.sp -La valeur par d\('efaut de -\fBUID_MIN\fR -(respectivement -\fBUID_MAX\fR) est 1000 (respectivement 60000)\&. -.RE -.PP -\fBUMASK\fR (nombre) -.RS 4 -Valeur d\*(Aqinitialisation du masque de permissions\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, le masque des permissions sera initialis\('e \(`a 022\&. -.sp -\fBuseradd\fR -et -\fBnewusers\fR -utilisent ce masque pour d\('efinir les permissions d\*(Aqacc\(`es des r\('epertoires personnels qu\*(Aqils cr\('eent\&. -.sp -Il est \('egalement utilis\('e par -\fBlogin\fR -pour d\('efinir l\*(Aqumask initial de l\*(Aqutilisateur\&. Veuillez noter que cet umask peut \(^etre red\('efini par les GECOS de l\*(Aqutilisateur (si -\fBQUOTAS_ENAB\fR -est activ\('e) ou en pr\('ecisant une limite avec l\*(Aqidentifiant -\fIK\fR -dans -\fBlimits\fR(5)\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin.defs\fR(5), -\fBpasswd\fR(1), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8)\&. diff --git a/man/fr/man8/nologin.8 b/man/fr/man8/nologin.8 deleted file mode 100644 index 6ba87b39..00000000 --- a/man/fr/man8/nologin.8 +++ /dev/null @@ -1,51 +0,0 @@ -'\" t -.\" Title: nologin -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "NOLOGIN" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -nologin \- refuser poliment une connexion -.SH "SYNOPSIS" -.HP \w'\fBnologin\fR\ 'u -\fBnologin\fR -.SH "DESCRIPTION" -.PP -La commande -\fBnologin\fR -affiche un message indiquant que le compte n\*(Aqest pas disponible et retourne avec un code non nul\&. Elle peut \(^etre plac\('ee dans le champ indiquant l\*(Aqinterpr\('eteur de commandes pour les comptes qui ont \('et\('e d\('esactiv\('es\&. -.PP -Pour d\('esactiver toutes les connexions, veuillez consulter -\fBnologin\fR(5)\&. -.SH "VOIR AUSSI" -.PP -\fBlogin\fR(1), -\fBnologin\fR(5)\&. -.SH "HISTORIQUE" -.PP -The -\fBnologin\fR -command appeared in BSD 4\&.4\&. diff --git a/man/fr/man8/pwck.8 b/man/fr/man8/pwck.8 deleted file mode 100644 index 89a087a4..00000000 --- a/man/fr/man8/pwck.8 +++ /dev/null @@ -1,319 +0,0 @@ -'\" t -.\" Title: pwck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "PWCK" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -pwck \- V\('erifier l\*(Aqint\('egrit\('e des fichiers de mots de passe -.SH "SYNOPSIS" -.HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [options] [\fIpasswd\fR\ [\ \fIshadow\fR\ ]] -.SH "DESCRIPTION" -.PP -La commande -\fBpwck\fR -v\('erifie l\*(Aqint\('egrit\('e des informations du syst\(`eme concernant les utilisateurs et leur mots de passe\&. Toutes les entr\('ees des fichiers -/etc/passwd -et -/etc/shadow -sont v\('erifi\('ees afin de s\*(Aqassurer qu\*(Aqelles ont le bon format et qu\*(Aqelles contiennent des donn\('ees valables dans chaque champ\&. Une confirmation de l\*(Aqutilisateur sera demand\('ee pour d\('etruire les entr\('ees mal format\('ees ou ayant d\*(Aqautres erreurs non r\('ecup\('erables\&. -.PP -Voici les v\('erifications effectu\('ees\ \&: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -nombre correct de champs\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -unicit\('e et validit\('e des noms d\*(Aqutilisateur\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -validit\('e des identifiants d\*(Aqutilisateur et de groupe\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -validit\('e du groupe primaire\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -validit\('e du r\('epertoire personnel\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -validit\('e de l\*(Aqinterpr\('eteur de commandes initial (\(Fo\ \&login shell\ \&\(Fc)\&. -.RE -.PP -Les v\('erifications de -shadow -sont activ\('ees quand un second param\(`etre de fichier est indiqu\('e ou quand -/etc/shadow -existe sur le syst\(`eme\&. -.PP -Ces v\('erifications sont les suivantes\ \&: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -chaque entr\('ee de passwd a une entr\('ee correspondante dans shadow, et chaque entr\('ee shadow a une entr\('ee passwd correspondante\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -les mots de passe sont indiqu\('es dans le fichier des mot de passe cach\('es\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -les entr\('ees de shadow ont le bon nombre de champs\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -les entr\('ees de shadow sont uniques dans shadow\ \&; -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -la date du dernier changement de mot de passe n\*(Aqest pas dans le futur\&. -.RE -.PP -Une erreur dans le nombre de champs ou la non unicit\('e d\*(Aqun nom d\*(Aqutilisateur sera fatale\&. Si le nombre de champs n\*(Aqest pas correct, il sera demand\('e \(`a l\*(Aqutilisateur de supprimer la ligne\&. Si l\*(Aqutilisateur ne r\('epond pas par l\*(Aqaffirmative, les v\('erifications suivantes ne seront pas effectu\('ees\&. Il sera \('egalement demand\('e de supprimer les entr\('ees correspondant aux noms d\*(Aqutilisateur redondants, mais dans ce cas, les autres v\('erifications seront effectu\('ees\&. Toutes les autres erreurs ne sont que des avertissements et l\*(Aqutilisateur est encourag\('e \(`a utiliser -\fBusermod\fR -pour les corriger\&. -.PP -Les commandes qui op\(`erent sur le fichier -/etc/passwd -ne peuvent pas modifier les entr\('ees corrompues ou redondantes\&. -\fBpwck\fR -doit \(^etre utilis\('e dans ce cas pour retirer ces entr\('ees\&. -.SH "OPTIONS" -.PP -Les options -\fB\-r\fR -et -\fB\-s\fR -ne peuvent pas \(^etre combin\('ees\&. -.PP -Les options disponibles pour la commande -\fBpwck\fR -sont\ \&: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Ne signaler que les erreurs\&. Les avertissements qui ne n\('ecessitent pas une action de la part de l\*(Aqutilisateur ne seront pas affich\('es\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Permet d\*(Aqex\('ecuter -\fBpwck\fR -dans le mode lecture seule\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -Trie les entr\('ees de -/etc/passwd -et -/etc/shadow -par UID\&. -.RE -.PP -Par d\('efaut, -\fBpwck\fR -op\(`ere sur les fichiers -/etc/passwd -et -/etc/shadow -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBPASS_MAX_DAYS\fR (nombre) -.RS 4 -Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette dur\('ee, une modification du mot de passe est obligatoire\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (nombre) -.RS 4 -Nombre minimum de jours autoris\('e avant la modification d\*(Aqun mot de passe\&. Toute tentative de modification du mot de passe avant cette dur\('ee est rejet\('ee\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (nombre) -.RS 4 -Nombre de jours durant lesquels l\*(Aqutilisateur recevra un avertissement avant que son mot de passe n\*(Aqarrive en fin de validit\('e\&. Une valeur n\('egative signifie qu\*(Aqaucun avertissement n\*(Aqest donn\('e\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, aucun avertissement n\*(Aqest donn\('e\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.SH "VALEURS DE RETOUR" -.PP -La commande -\fBpwck\fR -retourne les valeurs suivantes en quittant\ \&: -.PP -\fI0\fR -.RS 4 -succ\(`es -.RE -.PP -\fI1\fR -.RS 4 -erreur de syntaxe -.RE -.PP -\fI2\fR -.RS 4 -une entr\('ee de mot de passe ou plus est incorrecte -.RE -.PP -\fI3\fR -.RS 4 -impossible d\*(Aqouvrir les fichiers de mots de passe -.RE -.PP -\fI4\fR -.RS 4 -impossible de verrouiller les fichiers de mots de passe -.RE -.PP -\fI5\fR -.RS 4 -impossible de mettre \(`a jour les fichiers des mots de passe -.RE -.PP -\fI6\fR -.RS 4 -impossible de trier les fichiers de mots de passe -.RE -.SH "VOIR AUSSI" -.PP -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBusermod\fR(8)\&. diff --git a/man/fr/man8/pwconv.8 b/man/fr/man8/pwconv.8 deleted file mode 100644 index 5e9f74fa..00000000 --- a/man/fr/man8/pwconv.8 +++ /dev/null @@ -1,203 +0,0 @@ -'\" t -.\" Title: pwconv -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "PWCONV" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -pwconv, pwunconv, grpconv, grpunconv \- Convertir vers ou depuis les fichiers de mots de passe ou de groupe cach\('es -.SH "SYNOPSIS" -.HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fIoptions\fR] -.HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fIoptions\fR] -.HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fIoptions\fR] -.HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -La commande -\fBpwconv\fR -cr\('ee le fichier -\fIshadow\fR -\(`a partir du fichier -\fIpasswd\fR -et d\*(Aqun \('eventuel fichier -\fIshadow\fR\&. -.PP -La commande -\fBpwunconv\fR -cr\('ee le fichier -\fIpasswd\fR -\(`a partir des fichiers -\fIpasswd\fR -et -\fIshadow\fR -puis supprime -\fIshadow\fR\&. -.PP -La commande -\fBgrpconv\fR -cr\('ee -\fIgshadow\fR -\(`a partir de -\fIgroup\fR -et d\*(Aqun \('eventuel fichier -\fIgshadow\fR\&. -.PP -La commande -\fBgrpunconv\fR -cr\('ee -\fIgroup\fR -\(`a partir des fichiers -\fIgroup\fR -et -\fIgshadow\fR -puis supprime -\fIgshadow\fR\&. -.PP -Ces quatre programmes op\(`erent sur les fichiers de mots de passe et d\*(Aqinformations sur les groupes cach\('es ou non\ \&: -/etc/passwd, -/etc/group, -/etc/shadow, et -/etc/gshadow\&. -.PP -Chaque programme place les verrous n\('ecessaires avant d\*(Aqeffectuer la conversion\&. -\fBpwconv\fR -et -\fBgrpconv\fR -sont similaires\&. Dans un premier temps, les entr\('ees du fichier de mots de passe cach\('es (/etc/shadow -ou -/etc/gshadow) qui n\*(Aqexistent pas dans le fichier principal (passwd -ou -group), sont retir\('ees\&. Ensuite, les entr\('ees du fichier -shadow -n\*(Aqayant pas pour mot de passe \(Fo\ \&x\ \&\(Fc dans le fichier -passwd -sont mises \(`a jour\&. Enfin, les mots de passe du fichier -passwd -sont remplac\('es par \(Fo\ \&x\ \&\(Fc\&. Ces programmes peuvent \(^etre utilis\('es pour une premi\(`ere conversion, ou bien pour une mise \(`a jour, si les fichiers principaux [\ \&NdT\ \&: non cach\('es\ \&] ont \('et\('e \('edit\('es \(`a la main\&. -.PP -Lors de l\*(Aqajout de nouvelles entr\('ees dans -/etc/shadow, -\fBpwconv\fR -utilisera les valeurs de -\fIPASS_MIN_DAYS\fR, -\fIPASS_MAX_DAYS\fR, et -\fIPASS_WARN_AGE\fR -d\('efinies dans le fichier -/etc/login\&.defs\&. -.PP -De m\(^eme, -\fBpwunconv\fR -et -\fBgrpunconv\fR -sont similaires\&. Les mots de passe des fichiers principaux sont mis \(`a jour \(`a partir des fichiers d\*(Aqinformations cach\('ees (\(Fo\ \&shadowed file\ \&\(Fc)\&. Les entr\('ees existant dans un fichier principal, mais pas dans le fichier cach\('e sont laiss\('ees\&. Enfin, le fichier cach\('e est supprim\('e\&. Certaines informations d\*(Aq\(^age des mots de passe sont perdues par -\fBpwunconv\fR\&. Il ne convertit que ce qu\*(Aqil peut\&. -.SH "OPTIONS" -.PP -Les options applicables aux commandes -\fBpwconv\fR, -\fBpwunconv\fR, -\fBgrpconv\fR -et -\fBgrpunconv\fR -sont\ \&: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.SH "BOGUES" -.PP -Des erreurs dans les fichiers de mots de passe ou d\*(Aqinformations sur les groupes (comme des entr\('ees invalides ou redondantes) peuvent conduire ces programmes \(`a boucler ind\('efiniment ou \(`a \('echouer d\*(Aqune mani\(`ere tout aussi \('etrange\&. Veuillez ex\('ecuter -\fBpwck\fR -et -\fBgrpck\fR -pour corriger ces erreurs avant de lancer toute conversion\&. -.SH "CONFIGURATION" -.PP -La variable de configuration suivante dans -/etc/login\&.defs -change le comportement de -\fBgrpconv\fR -et -\fBgrpunconv\fR\ \&: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -changent le comportement de -\fBpwconv\fR\ \&: -.PP -\fBPASS_MAX_DAYS\fR (nombre) -.RS 4 -Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette dur\('ee, une modification du mot de passe est obligatoire\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (nombre) -.RS 4 -Nombre minimum de jours autoris\('e avant la modification d\*(Aqun mot de passe\&. Toute tentative de modification du mot de passe avant cette dur\('ee est rejet\('ee\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (nombre) -.RS 4 -Nombre de jours durant lesquels l\*(Aqutilisateur recevra un avertissement avant que son mot de passe n\*(Aqarrive en fin de validit\('e\&. Une valeur n\('egative signifie qu\*(Aqaucun avertissement n\*(Aqest donn\('e\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, aucun avertissement n\*(Aqest donn\('e\&. -.RE -.SH "FICHIERS" -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBgrpck\fR(8), -\fBlogin.defs\fR(5), -\fBpwck\fR(8)\&. diff --git a/man/fr/man8/pwunconv.8 b/man/fr/man8/pwunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/fr/man8/pwunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/fr/man8/sulogin.8 b/man/fr/man8/sulogin.8 deleted file mode 100644 index 29ce40e3..00000000 --- a/man/fr/man8/sulogin.8 +++ /dev/null @@ -1,115 +0,0 @@ -'\" t -.\" Title: sulogin -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "SULOGIN" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -sulogin \- Single\-user login -.SH "SYNTAX" -.PP -\fBsulogin\fR -[\fItty\-device\fR] -.SH "DESCRIPTION" -.PP -The -\fBsulogin\fR -command is invoked by -\fBinit\fR -prior to allowing the user access to the system when in single user mode\&. This feature may only be available on certain systems where -\fBinit\fR -has been modified accordingly, or where the -/etc/inittab -has an entry for a single user login\&. -.PP -The user is prompted -.PP -Type control\-d to proceed with normal startup, (or give root password for system maintenance): -.PP -Input and output will be performed with the standard file descriptors unless the optional device name argument is provided\&. -.PP -If the user enters the correct root password, a login session is initiated\&. When -\fIEOF\fR -is pressed instead, the system enters multi\-user mode\&. -.PP -After the user exits the single\-user shell, or presses -\fIEOF\fR, the system begins the initialization process required to enter multi\-user mode\&. -.SH "AVERTISSEMENTS" -.PP -This command can only be used if -\fBinit\fR -has been modified to call -\fBsulogin\fR -instead of -/bin/sh, or if the user has set the -\fIinittab\fR -to support a single user login\&. For example, the line: -.PP -co:s:respawn:/etc/sulogin /dev/console -.PP -should execute the sulogin command in single user mode\&. -.PP -As complete an environment as possible is created\&. However, various devices may be unmounted or uninitialized and many of the user commands may be unavailable or nonfunctional as a result\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBENV_HZ\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement HZ lorsqu\*(Aqun utilisateur se connecte\&. La valeur doit \(^etre pr\('ec\('ed\('ee par -\fIHZ=\fR\&. Une valeur commune sur Linux est -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_TZ\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, sera utilis\('ee pour d\('efinir la variable d\*(Aqenvironnement TZ quand un utilisateur se connecte\&. La valeur peut \(^etre le nom d\*(Aqun fuseau horaire pr\('ec\('ed\('e par -\fITZ=\fR -(par exemple -\fITZ=CST6CDT\fR), ou le chemin complet vers le fichier contenant la sp\('ecification du fuseau horaire (par exemple -/etc/tzname)\&. -.sp -Si un chemin complet est sp\('ecifi\('e mais que le fichier n\*(Aqexiste pas ou ne peut pas \(^etre lu, la valeur par d\('efaut utilis\('ee est -\fITZ=CST6CDT\fR\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBlogin\fR(1), -\fBsh\fR(1), -\fBinit\fR(8)\&. diff --git a/man/fr/man8/useradd.8 b/man/fr/man8/useradd.8 deleted file mode 100644 index 7b13b899..00000000 --- a/man/fr/man8/useradd.8 +++ /dev/null @@ -1,746 +0,0 @@ -'\" t -.\" Title: useradd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "USERADD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -useradd \- cr\('eer un nouvel utilisateur ou modifier les informations par d\('efaut appliqu\('ees aux nouveaux utilisateurs -.SH "SYNOPSIS" -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fIoptions\fR] \fILOGIN\fR -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -Quand elle est invoqu\('ee sans l\*(Aqoption -\fB\-D\fR, la commande -\fBuseradd\fR -cr\('ee un nouveau compte utilisateur qui utilise les valeurs indiqu\('ees sur la ligne de commande et les valeurs par d\('efaut du syst\(`eme\&. En fonction des options de la ligne de commande, la commande -\fBuseradd\fR -fera la mise \(`a jour des fichiers du syst\(`eme, elle pourra cr\('eer le r\('epertoire personnel et copier les fichiers initiaux\&. -.PP -Par d\('efaut, un groupe sera \('egalement cr\('e\('e pour le nouvel utilisateur (voir -\fB\-g\fR, -\fB\-N\fR, -\fB\-U\fR, et -\fBUSERGROUPS_ENAB\fR) -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBuseradd\fR -sont\ \&: -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIR\('EP_BASE\fR -.RS 4 -R\('epertoire de base par d\('efaut du syst\(`eme si l\*(Aqoption -\fB\-d\fR\ \&\fIR\('EP_PERSO\fR -n\*(Aqest pas sp\('ecifi\('ee\&. -\fIR\('EP_BASE\fR -est concat\('en\('e avec le nom du compte pour d\('efinir le r\('epertoire personnel\&. Quand l\*(Aqoption -\fB\-m\fR -n\*(Aqest pas utilis\('ee, -\fIR\('EP_BASE\fR -doit exister\&. -.sp -Si cette option n\*(Aqest pas pr\('ecis\('ee, -\fBuseradd\fR -utilisera le r\('epertoire de base pr\('ecis\('e par la variable -\fBHOME\fR -dans -/etc/default/useradd -ou -/home -par d\('efaut\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENTAIRE\fR -.RS 4 -Toute cha\(^ine de texte\&. C\*(Aqest g\('en\('eralement une description courte du compte, elle est actuellement utilis\('ee comme champ pour le nom complet de l\*(Aqutilisateur\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\-dir\fR\ \&\fIR\('EP_PERSO\fR -.RS 4 -Le nouvel utilisateur sera cr\('e\('e en utilisant -\fIR\('EP_PERSO\fR -comme valeur de r\('epertoire de connexion de l\*(Aqutilisateur\&. Le comportement par d\('efaut est de concat\('ener -\fIUTILISATEUR\fR -au r\('epertoire -\fIR\('EP_BASE\fR, et de l\*(Aqutiliser en tant que nom de r\('epertoire de connexion\&. Il n\*(Aqest pas n\('ecessaire que le r\('epertoire -\fIR\('EP_PERSO\fR -existe mais il ne sera pas cr\('e\('e s\*(Aqil n\*(Aqexiste pas\&. -.RE -.PP -\fB\-D\fR, \fB\-\-defaults\fR -.RS 4 -Consultez ci\-dessous la sous\-section \(Fo\ \&Modifier les valeurs par d\('efaut\ \&\(Fc\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIDATE_FIN_VALIDIT\('E\fR -.RS 4 -Date \(`a laquelle le compte utilisateur sera d\('esactiv\('e\&. La date est indiqu\('ee dans le format -\fIAAAA\-MM\-JJ\fR\&. -.sp -Si non pr\('ecis\('e, -\fBuseradd\fR -utilisera la date d\*(Aqexpiration par d\('efaut pr\('ecis\('ee par la variable -\fBEXPIRE\fR -dans -/etc/default/useradd -ou une cha\(^ine vide (pas d\*(Aqexpiration) par d\('efaut\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIDUR\('EE_INACTIVIT\('E\fR -.RS 4 -Nombre de jours suivant la fin de validit\('e d\*(Aqun mot de passe apr\(`es lequel le compte est d\('efinitivement d\('esactiv\('e\&. Une valeur de 0 d\('esactive le compte d\(`es que le mot de passe a d\('epass\('e sa fin de validit\('e, et une valeur de \-1 d\('esactive cette fonctionnalit\('e\&. -.sp -Si non pr\('ecis\('e, -\fBuseradd\fR -utilisera la p\('eriode d\*(Aqinactivit\('e par d\('efaut pr\('ecis\('ee par la variable -\fBINACTIVE\fR -dans -/etc/default/useradd, ou \-1 par d\('efaut\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUPE\fR -.RS 4 -Nom du groupe ou identifiant num\('erique du groupe de connexion initial de l\*(Aqutilisateur\&. Le nom du groupe doit exister\&. Un num\('ero de groupe doit se r\('ef\('erer \(`a un groupe d\('ej\(`a existant\&. -.sp -Si non pr\('ecis\('e, le comportement de -\fBuseradd\fR -d\('ependra de la variable -\fBUSERGROUPS_ENAB\fR -dans -/etc/login\&.defs\&. Si cette variable est configur\('ee \(`a -\fIyes\fR -(ou si -\fB\-U/\-\-user\-group\fR -est pr\('ecis\('ee sur la ligne de commandes), un groupe sera cr\('e\('e pour l\*(Aqutilisateur, avec le m\(^eme nom que son identifiant\&. Si la variable est configur\('ee \(`a -\fIno\fR -(ou si -\fB\-N/\-\-no\-user\-group\fR -est pr\('ecis\('e sur la ligne de commandes), useradd configurera le groupe primaire du nouvel utilisateur \(`a la valeur pr\('ecis\('ee par la variable -\fBGROUP\fR -dans -/etc/default/useradd, ou 100 par d\('efaut\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUPE1\fR[\fI,GROUPE2,\&.\&.\&.\fR[\fI,GROUPEN\fR]]] -.RS 4 -Liste de groupes suppl\('ementaires auxquels appartient \('egalement l\*(Aqutilisateur\&. Chaque groupe est s\('epar\('e du suivant par une virgule, sans espace entre eux\&. Les groupes sont soumis aux m\(^emes restrictions que celles de l\*(Aqoption -\fB\-g\fR\&. Le comportement par d\('efaut pour l\*(Aqutilisateur est de n\*(Aqappartenir qu\*(Aqau groupe initial\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-k\fR, \fB\-\-skel\fR\ \&\fIR\('EP_SQUELETTE\fR -.RS 4 -Le r\('epertoire squelette, qui contient les fichiers et r\('epertoires qui seront copi\('es dans le r\('epertoire personnel de l\*(Aqutilisateur, quand le r\('epertoire personnel est cr\('e\('e par -\fBuseradd\fR\&. -.sp -Cette option n\*(Aqest valable que si l\*(Aqoption -\fB\-m\fR -(ou -\fB\-\-create\-home\fR) est utilis\('ee\&. -.sp -Si cette option n\*(Aqest pas pr\('ecis\('ee, le r\('epertoire squelette est d\('efini par la variable -\fBSKEL\fR -dans -/etc/default/useradd -ou, par d\('efaut, -/etc/skel\&. -.sp -Si possible, les ACL et les attributs \('etendus seront copi\('es\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fICL\('E\fR=\fIVALEUR\fR -.RS 4 -Overrides -/etc/login\&.defs -defaults (\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBUMASK\fR, -\fBPASS_MAX_DAYS\fR -and others)\&. - -Example: -\fB\-K\fR\ \&\fIPASS_MAX_DAYS\fR=\fI\-1\fR -can be used when creating system account to turn off password aging, even though system account has no password at all\&. Multiple -\fB\-K\fR -options can be specified, e\&.g\&.: -\fB\-K\fR\ \&\fIUID_MIN\fR=\fI100\fR\ \& -\fB\-K\fR\ \&\fIUID_MAX\fR=\fI499\fR -.RE -.PP -\fB\-l\fR, \fB\-\-no\-log\-init\fR -.RS 4 -N\*(Aqajoute pas l\*(Aqutilisateur aux bases de donn\('ees lastlog et faillog\&. -.sp -By default, the user\*(Aqs entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user\&. -.RE -.PP -\fB\-m\fR, \fB\-\-create\-home\fR -.RS 4 -Cr\('e\('e le r\('epertoire personnel de l\*(Aqutilisateur s\*(Aqil n\*(Aqexiste pas\&. Les fichiers et les r\('epertoires contenus dans le r\('epertoire squelette (qui peut \(^etre d\('efini avec l\*(Aqoption -\fB\-k\fR) sera copi\('e dans le r\('epertoire personnel\&. -.sp -Par d\('efaut, si cette option n\*(Aqest pas pr\('ecis\('ee et si -\fBCREATE_HOME\fR -n\*(Aqest pas activ\('ee, aucun r\('epertoire personnel ne sera cr\('e\('e\&. -.RE -.PP -\fB\-M\fR, \fB\-\-no\-create\-home\fR -.RS 4 -Ne cr\('ee pas le r\('epertoire personnel de l\*(Aqutilisateur, m\(^eme si la configuration globale au syst\(`eme contenue dans -/etc/login\&.defs -(\fBCREATE_HOME\fR) est configur\('ee \(`a -\fIyes\fR\&. -.RE -.PP -\fB\-N\fR, \fB\-\-no\-user\-group\fR -.RS 4 -Ne cr\('ee pas de groupe avec le m\(^eme nom que celui de l\*(Aqutilisateur, mais ajoute l\*(Aqutilisateur au groupe pr\('ecis\('e par l\*(Aqoption -\fB\-g\fR -ou par la variable -\fBGROUP\fR -dans -/etc/default/useradd\&. -.sp -Le comportement par d\('efaut (si les options -\fB\-g\fR, -\fB\-N\fR, et -\fB\-U\fR -ne sont pas pr\('ecis\('ees) est d\('efini par la variable -\fBUSERGROUPS_ENAB\fR -dans -/etc/login\&.defs\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Permet de cr\('eer un compte d\*(Aqutilisateur avec un identifiant (\(Fo\ \&UID\ \&\(Fc) dupliqu\('e (non unique)\&. -.sp -Cette option n\*(Aqest valable qu\*(Aqavec l\*(Aqoption -\fB\-u\fR\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIMOT_DE_PASSE\fR -.RS 4 -Le mot de passe chiffr\('e, comme renvoy\('e par -\fBcrypt\fR(3)\&. Le comportement par d\('efaut est de d\('esactiver le mot de passe\&. -.sp -\fBRemarque\ \&:\fR -l\*(Aqutilisation de cette option est d\('econseill\('ee car le mot de passe (ou le mot de passe chiffr\('e) peut \(^etre visible des utilisateurs qui affichent la liste des processus\&. -.sp -Il est n\('ecessaire de v\('erifier si le mot de passe respecte la politique de mots de passe du syst\(`eme\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Cr\('eer un compte syst\(`eme\&. -.sp -Les utilisateurs syst\(`eme seront cr\('e\('es sans information d\*(Aqexpiration dans -/etc/shadow, et leur identifiant num\('erique est choisi dans l\*(Aqintervalle -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR, d\('efini dans -/etc/login\&.defs, au lieu de -\fBUID_MIN\fR\-\fBUID_MAX\fR -(et leurs \('equivalents -\fBGID\fR -pour la cr\('eation des groupes)\&. -.sp -Note that -\fBuseradd\fR -will not create a home directory for such a user, regardless of the default setting in -/etc/login\&.defs -(\fBCREATE_HOME\fR)\&. You have to specify the -\fB\-m\fR -options if you want a home directory for a system account to be created\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fIINTERPR\('ETEUR\fR -.RS 4 -Le nom de l\*(Aqinterpr\('eteur de commandes initial de l\*(Aqutilisateur (\(Fo\ \&login shell\ \&\(Fc)\&. Le comportement par d\('efaut est de laisser ce champ vide\&. Le syst\(`eme s\('electionnera alors l\*(Aqinterpr\('eteur par d\('efaut indiqu\('e par la variable -\fBSHELL\fR -dans -/etc/default/useradd, ou une cha\(^ine vide par d\('efaut\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -La valeur num\('erique de l\*(Aqidentifiant de l\*(Aqutilisateur\&. Cette valeur doit \(^etre unique, sauf si l\*(Aqoption -\fB\-o\fR -est utilis\('ee\&. La valeur ne doit pas \(^etre n\('egative\&. Le comportement par d\('efaut est d\*(Aqutiliser la plus petite valeur d\*(Aqidentifiant \(`a la fois sup\('erieure ou \('egale \(`a -\fBUID_MIN\fR -et sup\('erieure aux identifiants de tous les autres utilisateurs\&. -.sp -Voir aussi aussi l\*(Aqoption -\fB\-r\fR -et la description de -\fBUID_MAX\fR\&. -.RE -.PP -\fB\-U\fR, \fB\-\-user\-group\fR -.RS 4 -Cr\('ee un groupe avec le m\(^eme nom que celui de l\*(Aqutilisateur, et ajoute l\*(Aqutilisateur \(`a ce groupe\&. -.sp -Le comportement par d\('efaut (si les options -\fB\-g\fR, -\fB\-N\fR, et -\fB\-U\fR -ne sont pas pr\('ecis\('ees) est d\('efini par la variable -\fBUSERGROUPS_ENAB\fR -dans -/etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fIUTILISATEUR_SELINUX\fR -.RS 4 -L\*(Aqutilisateur SELinux utilis\('e pour la connexion de l\*(Aqutilisateur\&. Le comportement par d\('efaut est de laisser ce champ vide\&. Le syst\(`eme s\('electionnera alors l\*(Aqutilisateur SELinux par d\('efaut\&. -.RE -.SS "Modifier les valeurs par d\('efaut" -.PP -Quand il est invoqu\('e avec seulement l\*(Aqoption -\fB\-D\fR, -\fBuseradd\fR -affichera les valeurs actuelles par d\('efaut\&. Quand il est invoqu\('e avec l\*(Aqoption -\fB\-D\fR -et d\*(Aqautres options, -\fBuseradd\fR -mettra \(`a jour les valeurs par d\('efaut des options pr\('ecis\('ees\&. Les options valables sont\ \&: -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIR\('EP_BASE\fR -.RS 4 -Pr\('efixe du chemin des r\('epertoires personnels pour les nouveaux utilisateurs\&. Le nom de l\*(Aqutilisateur sera attach\('e \(`a la fin de -\fIR\('EP_PERSO\fR -pour cr\('eer le nom du nouveau r\('epertoire personnel si l\*(Aqoption -\fB\-d\fR -n\*(Aqest pas utilis\('ee pendant la cr\('eation d\*(Aqun nouveau compte\&. -.sp -Cette option configure la variable -\fBHOME\fR -dans -/etc/default/useradd\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIDATE_FIN_VALIDIT\('E\fR -.RS 4 -Date \(`a laquelle le compte utilisateur sera d\('esactiv\('e\&. -.sp -Cette option configure la variable -\fBEXPIRE\fR -dans -/etc/default/useradd\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIDUR\('EE_INACTIVIT\('E\fR -.RS 4 -Nombre de jours apr\(`es la fin de validit\('e d\*(Aqun mot de passe avant que le compte ne soit d\('esactiv\('e\&. -.sp -Cette option configure la variable -\fBINACTIVE\fR -dans -/etc/default/useradd\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUPE\fR -.RS 4 -Le nom ou l\*(Aqidentifiant du groupe pour le groupe principal d\*(Aqun nouvel utilisateur (quand l\*(Aqoption -\fB\-N/\-\-no\-user\-group\fR -est utilis\('ee ou quand la variable -\fBUSERGROUPS_ENAB\fR -est configur\('ee \(`a -\fIno\fR -dans -/etc/login\&.defs)\&. Le nom du groupe doit exister, et un identifiant de groupe num\('erique doit avoir une entr\('ee existante\&. -.sp -Cette option configure la variable -\fBGROUP\fR -dans -/etc/default/useradd\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fIINTERPR\('ETEUR\fR -.RS 4 -Le nom de l\*(Aqinterpr\('eteur de commandes du nouvel utilisateur\&. -.sp -Cette option configure la variable -\fBSHELL\fR -dans -/etc/default/useradd\&. -.RE -.SH "NOTES" -.PP -L\*(Aqadministrateur syst\(`eme doit se charger de placer les fichiers par d\('efaut dans le r\('epertoire -/etc/skel -(ou tout autre r\('epertoire de mod\(`eles indiqu\('e dans -/etc/default/useradd -ou sur la ligne de commande)\&. -.SH "AVERTISSEMENTS" -.PP -Vous ne pouvez pas ajouter d\*(Aqutilisateur \(`a un groupe NIS ou LDAP\&. Cela doit \(^etre effectu\('e sur le serveur correspondant\&. -.PP -De la m\(^eme fa\(,con, si le nom de l\*(Aqutilisateur existe dans une base de donn\('ees externe, telle que NIS ou LDAP, -\fBuseradd\fR -refusera de cr\('eer le compte d\*(Aqutilisateur\&. -.PP -Les noms d\*(Aqutilisateur doivent commencer par une lettre minuscule ou un tiret bas (\(Fo\ \&underscore\ \&\(Fc), et seuls des lettres minuscules, des chiffres, des \(Fo\ \&underscore\ \&\(Fc, ou des tirets peuvent suivre\&. Ils peuvent se terminer par un signe dollar\&. Soit, sous la forme d\*(Aqune expression rationnelle\ \&: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -Les noms d\*(Aqutilisateur sont limit\('es \(`a 16 caract\(`eres\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBCREATE_HOME\fR (boolean) -.RS 4 -Indiquer si un r\('epertoire personnel doit \(^etre cr\('e\('e par d\('efaut pour les nouveaux utilisateurs\&. -.sp -Ce r\('eglage ne s\*(Aqapplique pas pour les utilisateurs syst\(`eme, et peut \(^etre annul\('e sur la ligne de commande\&. -.RE -.PP -\fBGID_MAX\fR (nombre), \fBGID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques de groupes que les commandes -\fBuseradd\fR, -\fBgroupadd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation des groupes normaux\&. -.sp -La valeur par d\('efaut pour -\fBGID_MIN\fR -(respectivement -\fBGID_MAX\fR) est 1000 (respectivement 60000)\&. -.RE -.PP -\fBMAIL_DIR\fR (cha\(^ine de caract\(`eres) -.RS 4 -R\('epertoire d\*(Aqattente des courriels (\(Fo\ \&mail spool directory\ \&\(Fc)\&. Ce param\(`etre est n\('ecessaire pour manipuler les bo\(^ites \(`a lettres lorsque le compte d\*(Aqun utilisateur est modifi\('e ou supprim\('e\&. S\*(Aqil n\*(Aqest pas sp\('ecifi\('e, une valeur par d\('efaut d\('efinie \(`a la compilation est utilis\('ee\&. -.RE -.PP -\fBMAIL_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir l\*(Aqemplacement des bo\(^ites aux lettres des utilisateurs relativement \(`a leur r\('epertoire personnel\&. -.RE -.PP -Les param\(`etres -\fBMAIL_DIR\fR -et -\fBMAIL_FILE\fR -sont utilis\('es par -\fBuseradd\fR, -\fBusermod\fR -et -\fBuserdel\fR -pour cr\('eer, d\('eplacer ou supprimer les bo\(^ites aux lettres des utilisateurs\&. -.PP -Si -\fBMAIL_CHECK_ENAB\fR -est r\('egl\('e sur -\fIyes\fR, ces variables servent \('egalement \(`a d\('efinir la variable d\*(Aqenvironnement -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (nombre) -.RS 4 -Nombre maximum de jours de validit\('e d\*(Aqun mot de passe\&. Apr\(`es cette dur\('ee, une modification du mot de passe est obligatoire\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (nombre) -.RS 4 -Nombre minimum de jours autoris\('e avant la modification d\*(Aqun mot de passe\&. Toute tentative de modification du mot de passe avant cette dur\('ee est rejet\('ee\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, la valeur de \-1 est utilis\('ee (ce qui enl\(`eve toute restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (nombre) -.RS 4 -Nombre de jours durant lesquels l\*(Aqutilisateur recevra un avertissement avant que son mot de passe n\*(Aqarrive en fin de validit\('e\&. Une valeur n\('egative signifie qu\*(Aqaucun avertissement n\*(Aqest donn\('e\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, aucun avertissement n\*(Aqest donn\('e\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (nombre), \fBSYS_GID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques de groupes que les commandes -\fBuseradd\fR, -\fBgroupadd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation de groupes syst\(`eme\&. -.sp -La valeur par d\('efaut pour -\fBSYS_GID_MIN\fR -(respectivement -\fBSYS_GID_MAX\fR) est 101 (respectivement -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (nombre), \fBSYS_UID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques d\*(Aqutilisateurs que les commandes -\fBuseradd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation d\*(Aqutilisateurs syst\(`eme\&. -.sp -La valeur par d\('efaut pour -\fBSYS_UID_MIN\fR -(respectivement -\fBSYS_UID_MAX\fR) est 101 (respectivement -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBUID_MAX\fR (nombre), \fBUID_MIN\fR (nombre) -.RS 4 -Plage d\*(Aqidentifiants num\('eriques d\*(Aqutilisateurs que les commandes -\fBuseradd\fR -ou -\fBnewusers\fR -peuvent utiliser pour la cr\('eation d\*(Aqutilisateurs normaux\&. -.sp -La valeur par d\('efaut de -\fBUID_MIN\fR -(respectivement -\fBUID_MAX\fR) est 1000 (respectivement 60000)\&. -.RE -.PP -\fBUMASK\fR (nombre) -.RS 4 -Valeur d\*(Aqinitialisation du masque de permissions\&. S\*(Aqil n\*(Aqest pas pr\('ecis\('e, le masque des permissions sera initialis\('e \(`a 022\&. -.sp -\fBuseradd\fR -et -\fBnewusers\fR -utilisent ce masque pour d\('efinir les permissions d\*(Aqacc\(`es des r\('epertoires personnels qu\*(Aqils cr\('eent\&. -.sp -Il est \('egalement utilis\('e par -\fBlogin\fR -pour d\('efinir l\*(Aqumask initial de l\*(Aqutilisateur\&. Veuillez noter que cet umask peut \(^etre red\('efini par les GECOS de l\*(Aqutilisateur (si -\fBQUOTAS_ENAB\fR -est activ\('e) ou en pr\('ecisant une limite avec l\*(Aqidentifiant -\fIK\fR -dans -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (bool\('een) -.RS 4 -Activer la mise en place de bits de masque de groupe (\(Fo\ \&umask group bits\ \&\(Fc) identiques \(`a ceux du propri\('etaire (exemple\ \&: 022 \-> 002, 077 \-> 007) pour les utilisateurs non privil\('egi\('es, si l\*(AqUID est identique au GID et que l\*(Aqidentifiant de connexion est identique au groupe principal\&. -.sp -Si cette variable est configur\('ee \(`a -\fIyes\fR, -\fBuserdel\fR -supprimera le groupe de l\*(Aqutilisateur s\*(Aqil ne contient pas d\*(Aqautres membres, et -\fBuseradd\fR -cr\('eera par d\('efaut un groupe portant le nom de l\*(Aqutilisateur\&. -.RE -.SH "FICHIERS" -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.PP -/etc/default/useradd -.RS 4 -Valeurs par d\('efaut pour la cr\('eation de comptes\&. -.RE -.PP -/etc/skel/ -.RS 4 -R\('epertoire contenant les fichiers par d\('efaut\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.SH "VALEURS DE RETOUR" -.PP -La commande -\fBuseradd\fR -retourne les valeurs suivantes en quittant\ \&: -.PP -\fI0\fR -.RS 4 -succ\(`es -.RE -.PP -\fI1\fR -.RS 4 -impossible de mettre \(`a jour le fichier des mots de passe -.RE -.PP -\fI2\fR -.RS 4 -erreur de syntaxe -.RE -.PP -\fI3\fR -.RS 4 -param\(`etre non valable pour l\*(Aqoption -.RE -.PP -\fI4\fR -.RS 4 -UID d\('ej\(`a utilis\('e (et pas d\*(Aqoption -\fB\-o\fR) -.RE -.PP -\fI6\fR -.RS 4 -le groupe sp\('ecifi\('e n\*(Aqexiste pas -.RE -.PP -\fI9\fR -.RS 4 -nom d\*(Aqutilisateur d\('ej\(`a utilis\('e -.RE -.PP -\fI10\fR -.RS 4 -impossible de mettre \(`a jour le fichier des groupes -.RE -.PP -\fI12\fR -.RS 4 -impossible de cr\('eer le r\('epertoire personnel -.RE -.PP -\fI14\fR -.RS 4 -can\*(Aqt update SELinux user mapping -.RE -.SH "VOIR AUSSI" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBnewusers\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/fr/man8/userdel.8 b/man/fr/man8/userdel.8 deleted file mode 100644 index ad285a68..00000000 --- a/man/fr/man8/userdel.8 +++ /dev/null @@ -1,296 +0,0 @@ -'\" t -.\" Title: userdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "USERDEL" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -userdel \- supprimer un compte utilisateur et les fichiers associ\('es -.SH "SYNOPSIS" -.HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [options] \fILOGIN\fR -.SH "DESCRIPTION" -.PP -La commande -\fBuserdel\fR -modifie les fichiers d\*(Aqadministration des comptes du syst\(`eme, en supprimant les entr\('ees qui se r\('ef\(`erent \(`a -\fILOGIN\fR\&. L\*(Aqutilisateur nomm\('e doit exister\&. -.SH "OPTIONS" -.PP -Les options disponibles de la commande -\fBuserdel\fR -sont\ \&: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Cette option impose la suppression de l\*(Aqutilisateur, m\(^eme s\*(Aqil est encore connect\('e\&. Elle force \('egalement -\fBuserdel\fR -\(`a supprimer son r\('epertoire personnel et sa file d\*(Aqattente des courriels, m\(^eme si un autre utilisateur utilise le m\(^eme r\('epertoire personnel ou si l\*(Aqutilisateur pr\('ecis\('e n\*(Aqest pas le propri\('etaire de la file d\*(Aqattente des courriels\&. Si -\fIUSERGROUPS_ENAB\fR -vaut -\fIyes\fR -dans -/etc/login\&.defs -et si un groupe existe avec le m\(^eme nom que l\*(Aqutilisateur supprim\('e, alors ce groupe sera supprim\('e, m\(^eme s\*(Aqil s\*(Aqagit du groupe primaire d\*(Aqun autre utilisateur\&. -.sp -\fIRemarque\ \&:\fR -Cette option est dangereuse, elle peut laisser votre syst\(`eme dans un \('etat incoh\('erent\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\fR -.RS 4 -Les fichiers pr\('esents dans le r\('epertoire personnel de l\*(Aqutilisateur seront supprim\('es en m\(^eme temps que le r\('epertoire lui\-m\(^eme, ainsi que le r\('epertoire d\*(Aqattente des courriels\&. Vous devrez rechercher et \('eliminer vous\-m\(^eme les fichiers situ\('es dans d\*(Aqautres syst\(`emes de fichiers\&. -.sp -Le r\('epertoire d\*(Aqattente des courriels est d\('efini par la variable -\fBMAIL_DIR\fR -dans -login\&.defs\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR -.RS 4 -\('Elimine toute association avec tout utilisateur SELinux pour la connexion de l\*(Aqutilisateur\&. -.RE -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBMAIL_DIR\fR (cha\(^ine de caract\(`eres) -.RS 4 -R\('epertoire d\*(Aqattente des courriels (\(Fo\ \&mail spool directory\ \&\(Fc)\&. Ce param\(`etre est n\('ecessaire pour manipuler les bo\(^ites \(`a lettres lorsque le compte d\*(Aqun utilisateur est modifi\('e ou supprim\('e\&. S\*(Aqil n\*(Aqest pas sp\('ecifi\('e, une valeur par d\('efaut d\('efinie \(`a la compilation est utilis\('ee\&. -.RE -.PP -\fBMAIL_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir l\*(Aqemplacement des bo\(^ites aux lettres des utilisateurs relativement \(`a leur r\('epertoire personnel\&. -.RE -.PP -Les param\(`etres -\fBMAIL_DIR\fR -et -\fBMAIL_FILE\fR -sont utilis\('es par -\fBuseradd\fR, -\fBusermod\fR -et -\fBuserdel\fR -pour cr\('eer, d\('eplacer ou supprimer les bo\(^ites aux lettres des utilisateurs\&. -.PP -Si -\fBMAIL_CHECK_ENAB\fR -est r\('egl\('e sur -\fIyes\fR, ces variables servent \('egalement \(`a d\('efinir la variable d\*(Aqenvironnement -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.PP -\fBUSERDEL_CMD\fR (cha\(^ine de caract\(`eres) -.RS 4 -Si d\('efinie, la commande est ex\('ecut\('ee lors de la suppression d\*(Aqun utilisateur\&. Elle pourra supprimer toutes les t\(^aches p\('eriodiques cron ou at, tous les travaux d\*(Aqimpression, etc\&. de l\*(Aqutilisateur (qui sera fourni comme premier param\(`etre)\&. -.sp -Le code de retour du script n\*(Aqest pas pris en compte\&. -.sp -Voici un script exemple, qui supprime le fichier d\*(Aqentr\('ee de cron et d\*(Aqat ainsi que les travaux d\*(Aqimpression en attente\ \&; -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# Check for the required argument\&. -if [ $# != 1 ]; then - echo "Usage: $0 username" - exit 1 -fi - -# Remove cron jobs\&. -crontab \-r \-u $1 - -# Remove at jobs\&. -# Note that it will remove any jobs owned by the same UID, -# even if it was shared by a different username\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# Remove print jobs\&. -lprm $1 - -# All done\&. -exit 0 - -.fi -.if n \{\ -.RE -.\} -.RE -.PP -\fBUSERGROUPS_ENAB\fR (bool\('een) -.RS 4 -Activer la mise en place de bits de masque de groupe (\(Fo\ \&umask group bits\ \&\(Fc) identiques \(`a ceux du propri\('etaire (exemple\ \&: 022 \-> 002, 077 \-> 007) pour les utilisateurs non privil\('egi\('es, si l\*(AqUID est identique au GID et que l\*(Aqidentifiant de connexion est identique au groupe principal\&. -.sp -Si cette variable est configur\('ee \(`a -\fIyes\fR, -\fBuserdel\fR -supprimera le groupe de l\*(Aqutilisateur s\*(Aqil ne contient pas d\*(Aqautres membres, et -\fBuseradd\fR -cr\('eera par d\('efaut un groupe portant le nom de l\*(Aqutilisateur\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "VALEURS DE RETOUR" -.PP -La commande -\fBuserdel\fR -retourne les valeurs suivantes en quittant\ \&: -.PP -\fI0\fR -.RS 4 -succ\(`es -.RE -.PP -\fI1\fR -.RS 4 -impossible de mettre \(`a jour le fichier des mots de passe -.RE -.PP -\fI2\fR -.RS 4 -erreur de syntaxe -.RE -.PP -\fI6\fR -.RS 4 -l\*(Aqutilisateur indiqu\('e n\*(Aqexiste pas -.RE -.PP -\fI8\fR -.RS 4 -l\*(Aqutilisateur est actuellement connect\('e -.RE -.PP -\fI10\fR -.RS 4 -impossible de mettre \(`a jour le fichier des groupes -.RE -.PP -\fI12\fR -.RS 4 -impossible de supprimer le r\('epertoire personnel -.RE -.SH "AVERTISSEMENTS" -.PP -\fBuserdel\fR -ne permet pas la suppression d\*(Aqun compte si des processus actifs lui appartiennent encore\&. Dans ce cas, il peut \(^etre n\('ecessaire de tuer ces processus ou de simplement verrouiller le mot de passe ou le compte de l\*(Aqutilisateur, afin de supprimer le compte plus tard\&. L\*(Aqoption -\fB\-f\fR -permet de forcer la suppression du compte\&. -.PP -Vous devez v\('erifier vous\-m\(^eme qu\*(Aqaucun fichier poss\('ed\('e par l\*(Aqutilisateur ne subsiste sur tous les syst\(`emes de fichiers\&. -.PP -Vous ne pouvez supprimer aucun attribut NIS d\*(Aqun client NIS\&. Cela doit \(^etre effectu\('e sur le serveur NIS\&. -.PP -Si -\fBUSERGROUPS_ENAB\fR -vaut -\fIyes\fR -(\(Fo\ \&oui\ \&\(Fc) dans -/etc/login\&.defs, -\fBuserdel\fR -supprimera le groupe ayant le m\(^eme nom que l\*(Aqutilisateur\&. Afin d\*(Aq\('eviter des incoh\('erences entre les fichiers passwd et group, -\fBuserdel\fR -v\('erifiera que le groupe n\*(Aqest pas utilis\('e comme groupe primaire d\*(Aqun autre utilisateur\ \&; si c\*(Aqest le cas un avertissement sera affich\('e et le groupe ne sera pas supprim\('e\&. L\*(Aqoption -\fB\-f\fR -permet d\*(Aqimposer la suppression du groupe\&. -.SH "VOIR AUSSI" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBlogin.defs\fR(5), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/fr/man8/usermod.8 b/man/fr/man8/usermod.8 deleted file mode 100644 index 045669a4..00000000 --- a/man/fr/man8/usermod.8 +++ /dev/null @@ -1,438 +0,0 @@ -'\" t -.\" Title: usermod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "USERMOD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -usermod \- Modifier un compte utilisateur -.SH "SYNOPSIS" -.HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIoptions\fR] \fILOGIN\fR -.SH "DESCRIPTION" -.PP -La commande -\fBusermod\fR -modifie les fichiers d\*(Aqadministration des comptes du syst\(`eme selon les modifications qui ont \('et\('e indiqu\('ees sur la ligne de commande\&. -.SH "OPTIONS" -.PP -Les options disponibles pour la commande -\fBusermod\fR -sont\ \&: -.PP -\fB\-a\fR, \fB\-\-append\fR -.RS 4 -Ajouter l\*(Aqutilisateur aux groupes suppl\('ementaires\&. N\*(Aqutilisez cette option qu\*(Aqavec l\*(Aqoption -\fB\-G\fR\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENTAIRE\fR -.RS 4 -La nouvelle valeur du champ de commentaire du fichier de mots de passe pour l\*(Aqutilisateur\&. Il est normalement modifi\('e en utilisant l\*(Aqutilitaire -\fBchfn\fR(1)\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\fR\ \&\fIHOME_DIR\fR -.RS 4 -Le nouveau r\('epertoire personnel de l\*(Aqutilisateur\&. -.sp -Si l\*(Aqoption -\fB\-m\fR -est fournie, le contenu du r\('epertoire personnel actuel sera d\('eplac\('e dans le nouveau r\('epertoire personnel, qui sera cr\('e\('e si n\('ecessaire\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIDATE_FIN_VALIDIT\('E\fR -.RS 4 -Date \(`a laquelle le compte utilisateur sera d\('esactiv\('e\&. La date est indiqu\('ee dans le format -\fIAAAA\-MM\-JJ\fR\&. -.sp -Un param\(`etre -\fIDATE_FIN_VALIDIT\('E\fR -vide d\('esactivera l\*(Aqexpiration du compte\&. -.sp -Cette option n\('ecessite un fichier -/etc/shadow\&. Une entr\('ee -/etc/shadow -sera cr\('e\('ee si il n\*(Aqy en avait pas\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIDUR\('EE_INACTIVIT\('E\fR -.RS 4 -Nombre de jours suivant la fin de validit\('e d\*(Aqun mot de passe apr\(`es lequel le compte est d\('efinitivement d\('esactiv\('e\&. -.sp -Une valeur de 0 d\('esactive le compte d\(`es que le mot de passe a d\('epass\('e sa fin de validit\('e, et une valeur de \-1 d\('esactive cette fonctionnalit\('e\&. -.sp -Cette option n\('ecessite un fichier -/etc/shadow\&. Une entr\('ee -/etc/shadow -sera cr\('e\('ee si il n\*(Aqy en avait pas\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUPE\fR -.RS 4 -Nom du groupe ou identifiant num\('erique du groupe de connexion initial de l\*(Aqutilisateur\&. Le groupe doit exister\&. -.sp -Tout fichier du r\('epertoire personnel de l\*(Aqutilisateur appartenant au groupe primaire pr\('ec\('edent de l\*(Aqutilisateur appartiendra \(`a ce nouveau groupe\&. -.sp -Le groupe propri\('etaire des fichiers en dehors du r\('epertoire personnel de l\*(Aqutilisateur doit \(^etre modifi\('e manuellement\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUPE1\fR[\fI,GROUPE2,\&.\&.\&.\fR[\fI,GROUPEN\fR]]] -.RS 4 -Liste de groupes suppl\('ementaires auxquels appartient \('egalement l\*(Aqutilisateur\&. Chaque groupe est s\('epar\('e du suivant par une virgule, sans espace entre eux\&. Les groupes sont soumis aux m\(^emes restrictions que celles de l\*(Aqoption -\fB\-g\fR\&. -.sp -Si l\*(Aqutilisateur fait actuellement partie d\*(Aqun groupe qui n\*(Aqest pas list\('e, l\*(Aqutilisateur sera supprim\('e du groupe\&. Ce comportement peut \(^etre modifi\('e par l\*(Aqoption -\fB\-a\fR, qui permet d\*(Aqajouter l\*(Aqutilisateur \(`a la liste actuelle des groupes suppl\('ementaires\&. -.RE -.PP -\fB\-l\fR, \fB\-\-login\fR\ \&\fINOUVEAU_LOGIN\fR -.RS 4 -Le nom de l\*(Aqutilisateur passera de -\fILOGIN\fR -\(`a -\fINOUVEAU_LOGIN\fR\&. Rien d\*(Aqautre ne sera modifi\('e\&. En particulier, le nom du r\('epertoire personnel et l\*(Aqemplacement de la bo\(^ite aux lettres de l\*(Aqutilisateur devrontprobablement \(^etre chang\('es pour refl\('eter le nouveau nom de connexion\&. -.RE -.PP -\fB\-L\fR, \fB\-\-lock\fR -.RS 4 -Verrouiller le mot de passe d\*(Aqun utilisateur\&. Cette option ajoute un \(Fo\ \&!\ \&\(Fc devant le mot de passe chiffr\('e, ce qui d\('esactive le mot de passe\&. Vous ne pouvez pas utiliser cette option avec -\fB\-p\fR -ou -\fB\-U\fR\&. -.sp -Remarque\ \&: pour verrouiller le compte (et pas seulement l\*(Aqacc\(`es au compte par un mot de passe), il est \('egalement n\('ecessaire de placer -\fIDATE_FIN_VALIDIT\('E\fR -\(`a -\fI1\fR\&. -.RE -.PP -\fB\-m\fR, \fB\-\-move\-home\fR -.RS 4 -D\('eplacer le contenu du r\('epertoire personnel de l\*(Aqutilisateur vers un nouvel emplacement\&. -.sp -Cette option ne fonctionne que lorsqu\*(Aqelle est combin\('ee avec l\*(Aqoption -\fB\-d\fR -(ou -\fB\-\-home\fR)\&. -.sp -\fBusermod\fR -essayera d\*(Aqadapter les permissions des fichiers et de copier les modes, ACL et attributs \('etendus\&. Cependant, vous risquez de devoir proc\('eder \(`a des modifications vous\-m\(^eme\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -En combinaison avec l\*(Aqoption -\fB\-u\fR, cette option permet de changer l\*(Aqidentifiant utilisateur vers une valeur d\('ej\(`a utilis\('ee\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIMOT_DE_PASSE\fR -.RS 4 -Mot de passe chiffr\('e, comme renvoy\('e par -\fBcrypt\fR(3)\&. -.sp -\fBRemarque\ \&:\fR -l\*(Aqutilisation de cette option est d\('econseill\('ee car le mot de passe (ou le mot de passe chiffr\('e) peut \(^etre visible des utilisateurs qui affichent la liste des processus\&. -.sp -Il est n\('ecessaire de v\('erifier si le mot de passe respecte la politique de mots de passe du syst\(`eme\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fIINTERPR\('ETEUR\fR -.RS 4 -Nom du nouvel interpr\('eteur de commandes initial (\(Fo\ \&login shell\ \&\(Fc) de l\*(Aqutilisateur\&. Si ce champ est vide, le syst\(`eme s\('electionnera l\*(Aqinterpr\('eteur de commandes initial par d\('efaut\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -La valeur num\('erique de l\*(Aqidentifiant de l\*(Aqutilisateur\&. -.sp -Cette valeur doit \(^etre unique, \(`a moins que l\*(Aqoption -\fB\-o\fR -ne soit utilis\('ee\&. La valeur ne doit pas \(^etre n\('egative\&. -.sp -La bo\(^ite aux lettres et tous les fichiers poss\('ed\('es par l\*(Aqutilisateur et qui sont situ\('es dans son r\('epertoire personnel verront leur identifiant d\*(Aqutilisateur automatiquement modifi\('e\&. -.sp -Le propri\('etaire des fichiers en dehors du r\('epertoire personnel de l\*(Aqutilisateur doit \(^etre modifi\('e manuellement\&. -.sp -Aucun contr\(^ole ne sera effectu\('e sur les valeurs de -\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBSYS_UID_MIN\fR, ou -\fBSYS_UID_MAX\fR -du fichier -/etc/login\&.defs\&. -.RE -.PP -\fB\-U\fR, \fB\-\-unlock\fR -.RS 4 -D\('everrouiller le mot de passe d\*(Aqun utilisateur\&. Cela supprime le \(Fo\ \&!\ \&\(Fc situ\('e devant le mot de passe chiffr\('e\&. Vous ne pouvez pas utiliser cette option avec -\fB\-p\fR -ou -\fB\-L\fR\&. -.sp -Remarque\ \&: pour d\('everrouiller le compte (et pas seulement l\*(Aqacc\(`es au compte via un mot de passe), vous devriez d\('efinir la valeur -\fIDATE_FIN_VALIDIT\('E\fR -(par exemple \(`a -\fI99999\fR -ou \(`a la valeur -\fBEXPIRE\fR -dans -/etc/default/useradd)\&. -.RE -.PP -\fB\-v\fR, \fB\-\-add\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate uids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-V\fR, \fB\-\-del\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate uids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-uids\fR -and -\fB\-\-add\-sub\-uids\fR -are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-w\fR, \fB\-\-add\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate gids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-W\fR, \fB\-\-del\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate gids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-gids\fR -and -\fB\-\-add\-sub\-gids\fR -are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fIUTILISATEUR_SELINUX\fR -.RS 4 -Le nouvel utilisateur SELinux utilis\('e pour la connexion de l\*(Aqutilisateur\&. -.sp -Un param\(`etre -\fISEUSER\fR -vide \('eliminera l\*(Aqassociation de l\*(Aqutilisateur SELinux pour l\*(Aqutilisateur -\fILOGIN\fR -(si sp\('ecifi\('ee) -.RE -.SH "AVERTISSEMENTS" -.PP -You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. -\fBusermod\fR -checks this on Linux\&. On other platforms it only uses utmp to check if the user is logged in\&. -.PP -Il est n\('ecessaire de changer manuellement le propri\('etaire des fichiers -\fBcrontab\fR -ou des travaux programm\('es par -\fBat\fR\&. -.PP -Les modifications qui concernent NIS doivent \(^etre effectu\('ees sur le serveur NIS\&. -.SH "CONFIGURATION" -.PP -Les variables de configuration suivantes dans -/etc/login\&.defs -modifient le comportement de cet outil\ \&: -.PP -\fBMAIL_DIR\fR (cha\(^ine de caract\(`eres) -.RS 4 -R\('epertoire d\*(Aqattente des courriels (\(Fo\ \&mail spool directory\ \&\(Fc)\&. Ce param\(`etre est n\('ecessaire pour manipuler les bo\(^ites \(`a lettres lorsque le compte d\*(Aqun utilisateur est modifi\('e ou supprim\('e\&. S\*(Aqil n\*(Aqest pas sp\('ecifi\('e, une valeur par d\('efaut d\('efinie \(`a la compilation est utilis\('ee\&. -.RE -.PP -\fBMAIL_FILE\fR (cha\(^ine de caract\(`eres) -.RS 4 -D\('efinir l\*(Aqemplacement des bo\(^ites aux lettres des utilisateurs relativement \(`a leur r\('epertoire personnel\&. -.RE -.PP -Les param\(`etres -\fBMAIL_DIR\fR -et -\fBMAIL_FILE\fR -sont utilis\('es par -\fBuseradd\fR, -\fBusermod\fR -et -\fBuserdel\fR -pour cr\('eer, d\('eplacer ou supprimer les bo\(^ites aux lettres des utilisateurs\&. -.PP -Si -\fBMAIL_CHECK_ENAB\fR -est r\('egl\('e sur -\fIyes\fR, ces variables servent \('egalement \(`a d\('efinir la variable d\*(Aqenvironnement -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (nombre) -.RS 4 -Nombre maximum de membres par entr\('ee de groupe\&. Lorsque le maximum est atteint, une nouvelle entr\('ee de groupe (ligne) est d\('emarr\('ee dans -/etc/group -(avec le m\(^eme nom, m\(^eme mot de passe, et m\(^eme GID)\&. -.sp -La valeur par d\('efaut est 0, ce qui signifie qu\*(Aqil n\*(Aqy a pas de limites pour le nombre de membres dans un groupe\&. -.sp -Cette fonctionnalit\('e (groupe d\('ecoup\('e) permet de limiter la longueur des lignes dans le fichier de groupes\&. Ceci est utile pour s\*(Aqassurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caract\(`eres\&. -.sp -Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25\&. -.sp -Remarque\ \&: les groupes d\('ecoup\('es ne sont peut\-\(^etre pas pris en charge par tous les outils (m\(^eme dans la suite d\*(Aqoutils Shadow)\&. Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configuration de la suite des mots de passe cach\('es \(Fo\ \&shadow password\ \&\(Fc\&. -.RE -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8)\&. diff --git a/man/fr/man8/vigr.8 b/man/fr/man8/vigr.8 deleted file mode 100644 index ff72d7ae..00000000 --- a/man/fr/man8/vigr.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/vipw.8 diff --git a/man/fr/man8/vipw.8 b/man/fr/man8/vipw.8 deleted file mode 100644 index 69f8e75c..00000000 --- a/man/fr/man8/vipw.8 +++ /dev/null @@ -1,134 +0,0 @@ -'\" t -.\" Title: vipw -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.4 -.\" Language: French -.\" -.TH "VIPW" "8" "18/09/2016" "shadow\-utils 4\&.4" "Commandes de gestion du syst\(`em" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOM" -vipw, vigr \- \('Editer les fichiers passwd, group, shadow ou gshadow -.SH "SYNOPSIS" -.HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIoptions\fR] -.HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -\fBvipw\fR -et -\fBvigr\fR -permettent de modifier les fichiers -/etc/passwd -et -/etc/group, respectivement\&. Avec l\*(Aqoption -\fB\-s\fR, ils permettent d\*(Aq\('editer les versions cach\('ees de ces fichiers\ \&: -/etc/shadow -et -/etc/gshadow, respectivement\&. Ces programmes placent les verrous n\('ecessaires afin d\*(Aq\('eviter toute corruption des fichiers\&. L\*(Aq\('editeur utilis\('e est choisi d\*(Aqabord en fonction de la variable d\*(Aqenvironnement -\fB$VISUAL\fR, puis de la variable d\*(Aqenvironnement -\fB$EDITOR\fR\&. \(`A d\('efaut, l\*(Aq\('editeur, -\fBvi\fR(1) -est utilis\('e quand ces variables ne sont pas d\('efinies\&. -.SH "OPTIONS" -.PP -Les options applicables aux commandes -\fBvipw\fR -et -\fBvigr\fR -sont\ \&: -.PP -\fB\-g\fR, \fB\-\-group\fR -.RS 4 -\('Editer la base de donn\('ees de groupes\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Afficher un message d\*(Aqaide et quitter\&. -.RE -.PP -\fB\-p\fR, \fB\-\-passwd\fR -.RS 4 -\('Editer la base de donn\('ees passwd\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Mode silencieux\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIR\('EP_CHROOT\fR -.RS 4 -Appliquer les changements dans le r\('epertoire -\fIR\('EP_CHROOT\fR -et utiliser les fichiers de configuration du r\('epertoire -\fIR\('EP_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shadow\fR -.RS 4 -\('Editer les bases de donn\('ees shadow ou gshadow\&. -.RE -.SH "ENVIRONNEMENT" -.PP -\fBVISUAL\fR -.RS 4 -L\*(Aq\('editeur \(`a utiliser -.RE -.PP -\fBEDITOR\fR -.RS 4 -L\*(Aq\('editeur \(`a utiliser si -\fBVISUAL\fR -n\*(Aqest pas d\('efinie\&. -.RE -.SH "FICHIERS" -.PP -/etc/group -.RS 4 -Informations sur les groupes\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informations s\('ecuris\('ees sur les groupes\&. -.RE -.PP -/etc/passwd -.RS 4 -Informations sur les comptes des utilisateurs\&. -.RE -.PP -/etc/shadow -.RS 4 -Informations s\('ecuris\('ees sur les comptes utilisateurs\&. -.RE -.SH "VOIR AUSSI" -.PP -\fBvi\fR(1), -\fBgroup\fR(5), -\fBgshadow\fR(5), -\fBpasswd\fR(5), , -\fBshadow\fR(5)\&. diff --git a/man/hu/Makefile.in b/man/hu/Makefile.in deleted file mode 100644 index 2d0f87e2..00000000 --- a/man/hu/Makefile.in +++ /dev/null @@ -1,651 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = man/hu -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ - "$(DESTDIR)$(man8dir)" -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/hu -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = \ - man1/chsh.1 \ - man1/gpasswd.1 \ - man1/groups.1 \ - man8/lastlog.8 \ - man1/login.1 \ - man1/newgrp.1 \ - man1/passwd.1 \ - man5/passwd.5 \ - man1/sg.1 \ - man1/su.1 - -EXTRA_DIST = $(man_MANS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/hu/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/hu/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man5 install-man8 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-man uninstall-man1 uninstall-man5 \ - uninstall-man8 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/hu/man1/chfn.1 b/man/hu/man1/chfn.1 new file mode 100644 index 00000000..44826aab --- /dev/null +++ b/man/hu/man1/chfn.1 @@ -0,0 +1,75 @@ +.\" +.\" chfn.1 \-\- change your finger information +.\" (c) 1994 by salvatore valente +.\" +.\" this program is free software. you can redistribute it and +.\" modify it under the terms of the gnu general public license. +.\" there is no warranty. +.\" +.\" $Author: kloczek $ +.\" $Revision: 1.4 $ +.\" $Date: 2005/12/01 20:38:25 $ +.\" +.TH CHFN 1 "October 13 1994" "chfn" "Linux Reference Manual" +.SH NƉV +chfn \- finger informĆ”ciók módosĆ­tĆ”sa +.SH VƁZLAT +.B chfn +[\ \-f\ teljes nĆ©v\ ] [\ \-o\ iroda\ ] [\ \-p\ irodai telefon\ ] +[\ \-h\ otthoni telefon\ ] [\ \-u\ ] [\ \-v\ ] [\ felhasznĆ”ló\ ] +.SH LEƍRƁS +A +.B chfn +segĆ­tsĆ©gĆ©vel megvĆ”ltoztathatók a finger informĆ”ciók. Ezeket a +.I /etc/passwd +fĆ”jl tartalmazza, Ć©s a +.B finger +programmal jelenĆ­thetőek meg. A linuxos +.B finger +nĆ©gy adatot Ć­r ki: valódi (polgĆ”ri) nevet, munkahelyi +szoba\- Ć©s telefonszĆ”mot Ć©s otthoni telefonszĆ”mot. +.SS PARANCSSOR +A nĆ©gy Ć©rtĆ©k bĆ”rmelyike megadható parancssorból. Ha paramĆ©terek nĆ©lkül +indĆ­tjuk, a +.B chfn +interaktĆ­v módba lĆ©p. +.SS INTERAKTƍV MƓD +Ilyenkor a +.B chfn +minden mezőt billentyűzetről kĆ©r be. A promptnĆ”l az Ćŗj Ć©rtĆ©keket kell +megadni. Az adatok az Enter lenyomĆ”sĆ”val vĆ”ltozatlanul hagyhatók, a "none" szó +beĆ­rĆ”sĆ”val a mező tartalma kiürül. +.SH OPCIƓK +.TP +.I "\-f, \-\-full\-name" +Teljes valódi nĆ©v megadĆ”sa. +.TP +.I "\-h, \-\-home\-phone" +Otthoni telefonszĆ”m. +.TP +.I "\-o, \-\-office" +Az irodai szobaszĆ”m módosĆ­tĆ”sa. +.TP +.I "\-p, \-\-office\-phone" +Irodai telefonszĆ”m megadĆ”sa. +.TP +.I "\-u, \-\-help" +SegĆ­tsĆ©g kiĆ­ratĆ”sa. +.TP +.I "\-v, \-\-version" +VerzióinformĆ”ció megjelenĆ­tĆ©se. +.SH LƁSD MƉG +.BR finger (1), +.BR passwd (5) +.SH SZERZŐ +Salvatore Valente +.SH MEGJEGYZƉS +Ford. megj.: A hosszĆŗ, valamint az \-u Ć©s \-v paramĆ©terek a +.B chfn +Julianne +Frances Haugh Ć”ltal Ć­rt vĆ”ltozatĆ”ban nem Ć©rvĆ©nyesek (pl. SuSE). +Az irodai telefon itt a \-w, a szobaszĆ”m az \-r opcióval adható meg. +Az \-o egy nem definiĆ”lt tartalmĆŗ mezőt tƶlt ki; ezt egyĆ©bkĆ©nt csak a root +módosĆ­thatja. +.SH MAGYAR FORDƍTƁS +GĆ”l Gyuri diff --git a/man/hu/man1/id.1 b/man/hu/man1/id.1 new file mode 100644 index 00000000..cae75b79 --- /dev/null +++ b/man/hu/man1/id.1 @@ -0,0 +1,63 @@ +.TH ID 1 "GNU Shell Utilities" "FSF" \" \-*\- nroff \-*\- +.SH NƉV +id \- kiĆ­rja a valósĆ”gos Ć©s effektĆ­v UID\-eket Ć©s GID\-eket +.SH ƁTTEKINTƉS +.B id +[\-gnruG] [\-\-group] [\-\-name] [\-\-real] [\-\-user] [\-\-groups] +[\-\-help] [\-\-version] [username] +.SH LEƍRƁS +Ezt a dokumentĆ”ciót a tovĆ”bbiakban nem tartjuk karban, Ć­gy +pontatlan vagy hiĆ”nyos lehet. A Texinfo dokumentĆ”ció a hiteles forrĆ”s. +.PP +Ez a kĆ©zikƶnyv lap az +.BR id +GNU vĆ”ltozatĆ”t Ć­rja le. Az +.B id +informĆ”ciót szolgĆ”ltat az adott felhasznĆ”lóról, vagy arról aki a +programot futtatja, ha felhasznĆ”ló nincs megadva. +AlapĆ©rtelmezĆ©sben a valódi felhasznĆ”lói ID\-t Ć­rja ki, +a valódi csoport ID\-t, az effektĆ­v felhasznĆ”lói ID\-t, ha az külƶnbƶzik a +valódi felhasznĆ”lói ID\-től, az effektĆ­v csoport ID\-t, ha az külƶnbƶzik a +valódi csoport ID\-től, Ć©s a kiegĆ©szĆ­tő csoportok ID\-it. +A parancs ezeket a paramĆ©tereket egy sorban, egymĆ”s utĆ”n +irja ki, zĆ”rójelben megadva a felhasznĆ”ló, illetve a csoport nevĆ©t. +.PP +Az alĆ”bbi opciókkal az +.B id +kĆ©pes a fenti informĆ”ciók egy rĆ©szĆ©nek a megjelenĆ­tĆ©sĆ©re is. +.SS OPCIƓK +.TP +.I "\-g, \-\-group" +Csak a csoport ID\-jĆ©t Ć­rja ki. +.TP +.I "\-G, \-\-groups" +Csak a kiegĆ©szĆ­tő csoportok ID\-it Ć­rja ki. +.TP +.I "\-\-help" +HasznĆ”lati Ćŗtmutatót Ć­r a standard kimenetre Ć©s kilĆ©p. +.TP +.I "\-n, \-\-name" +A nevet jelenĆ­ti meg az ID helyet. +SzüksĆ©ges az +.IR \-u , +.IR \-g , +vagy +.IR \-G +paramĆ©ter. +.TP +.I "\-r, \-\-real" +A valódi felhasznĆ”lói vagy csoport ID\-t jelenĆ­ti meg az effektĆ­v helyett. +SzüksĆ©ges +.IR \-u , +.IR \-g , +vagy +.IR \-G +paramĆ©ter. +.TP +.I "\-u, \-\-user" +Csak a felhasznĆ”ló ID\-jĆ©t jelenĆ­ti meg. +.TP +.I "\-\-version" +A program verziójĆ”ról Ć­r ki informĆ”ciót a standard kimenetre Ć©s kilĆ©p. +.SH MAGYAR FORDƍTƁS +Ɓmon TamĆ”s diff --git a/man/id/Makefile.in b/man/id/Makefile.in deleted file mode 100644 index 48968ef6..00000000 --- a/man/id/Makefile.in +++ /dev/null @@ -1,598 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = man/id -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)" -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/id -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = \ - man1/chsh.1 \ - man1/login.1 \ - man8/useradd.8 - -EXTRA_DIST = $(man_MANS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/id/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/id/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man8 install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-man uninstall-man1 uninstall-man8 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/it/Makefile.in b/man/it/Makefile.in deleted file mode 100644 index cf458eb5..00000000 --- a/man/it/Makefile.in +++ /dev/null @@ -1,757 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) -subdir = man/it -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ - "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" -man3dir = $(mandir)/man3 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/../generate_mans.mak \ - $(srcdir)/../generate_translations.mak $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/it -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ - man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ - man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) -man_nopam = \ - man5/limits.5 \ - man5/login.access.5 \ - man5/porttime.5 - -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_2) -LANG = $(notdir $(CURDIR)) -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_TRUE@SHADOWGRP_COND = gshadow -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_FALSE@TCB_COND = no_tcb -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids -CLEANFILES = .xml2po.mo $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/it/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/it/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man3: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man3dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.3[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@ENABLE_REGENERATE_MAN_FALSE@clean-local: -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man3 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ - uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man3 install-man5 install-man8 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-man uninstall-man1 \ - uninstall-man3 uninstall-man5 uninstall-man8 - -.PRECIOUS: Makefile - - -@ENABLE_REGENERATE_MAN_TRUE@config.xml: ../config.xml.in -@ENABLE_REGENERATE_MAN_TRUE@ $(MAKE) -C .. config.xml -@ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ xml2po --expand-all-entities -l $(LANG) -p ../po/$(LANG).po -o $@ ../$@ -@ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml -@ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $<; then \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^/%config;/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ else \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ fi - -@ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ -@ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< - -@ENABLE_REGENERATE_MAN_TRUE@clean-local: -@ENABLE_REGENERATE_MAN_TRUE@ for d in man1 man3 man5 man8; do [ -d $$d ] && rmdir $$d; done - -#$(man_MANS): -# @echo you need to run configure with --enable-man to generate man pages -# @false - -@ENABLE_REGENERATE_MAN_TRUE@man8/grpconv.8 man8/grpunconv.8 man8/pwunconv.8: man8/pwconv.8 - -@ENABLE_REGENERATE_MAN_TRUE@man3/getspnam.3: man3/shadow.3 - -@ENABLE_REGENERATE_MAN_TRUE@man8/vigr.8: man8/vipw.8 - -@ENABLE_REGENERATE_MAN_FALSE@$(man_MANS): -@ENABLE_REGENERATE_MAN_FALSE@ @echo you need to run configure with --enable-man to generate man pages -@ENABLE_REGENERATE_MAN_FALSE@ @false - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/it/man1/chage.1 b/man/it/man1/chage.1 deleted file mode 100644 index efa74f95..00000000 --- a/man/it/man1/chage.1 +++ /dev/null @@ -1,177 +0,0 @@ -'\" t -.\" Title: chage -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "CHAGE" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -chage \- cambia le informazioni sulla scadenza della password -.SH "SINOSSI" -.HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIopzioni\fR] \fILOGIN\fR -.SH "DESCRIZIONE" -.PP -\fBchage\fR -modifica il numero minimo di giorni tra i cambi di password e la data dell\*(Aqultimo cambio\&. Queste informazioni sono usate dal sistema per determinare quando un utente deve cambiare la propria password\&. -.SH "OPZIONI" -.PP -Il comando -\fBchage\fR -accetta le seguenti opzioni: -.PP -\fB\-d\fR, \fB\-\-lastday\fR\ \&\fIULTIMO_GIORNO\fR -.RS 4 -Imposta la data dell\*(Aqultimo cambio della password, espressa come il numero di giorni trascorsi dal 1 gennaio 1970\&. La data pu\(`o anche essere specificata nel formato AAAA\-MM\-GG o nella notazione comunemente usata nel proprio paese\&. -.RE -.PP -\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIDATA_SCADENZA\fR -.RS 4 -Imposta la data o il numero di giorni dal 1 gennaio 1970 dal quale l\*(Aqaccount utente non sar\(`a pi\(`u accessibile\&. La data pu\(`o essere inserita nel formato AAAA\-MM\-GG (o il formato pi\(`u comunemente utilizzato nel proprio paese)\&. Un utente il cui account sia bloccato deve contattare l\*(Aqamministratore di sistema prima di poter accedere nuovamente al sistema\&. -.sp -Se si passa il numero -\fI\-1\fR -come -\fIDATA_SCADENZA\fR, si rimuove la data di scadenza dell\*(Aqaccount\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-I\fR, \fB\-\-inactive\fR\ \&\fIINATTIVO\fR -.RS 4 -Imposta il numero di giorni di inattivit\(`a dopo la scadenza della password dopo i quali l\*(Aqaccount viene bloccato\&. L\*(Aqopzione -\fIINATTIVO\fR -indica il numero di giorni di inattivit\(`a\&. Un utente con l\*(Aqaccount bloccato deve contattare l\*(Aqamministratore prima di poter usare ancora il sistema\&. -.sp -Utilizzare il numero -\fI\-1\fR -come -\fIINATTIVO\fR -elimina l\*(Aqintervallo di inattivit\(`a dall\*(Aqaccount\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -Visualizza le informazioni sulla scadenza dell\*(Aqaccount\&. -.RE -.PP -\fB\-m\fR, \fB\-\-mindays\fR\ \&\fIMIN_GIORNI\fR -.RS 4 -Imposta il numero minimo di giorni tra i cambi di password a -\fIMIN_GIORNI\fR\&. Un valore pari a zero indica che l\*(Aqutente pu\(`o cambiare la propria password in qualsiasi momento\&. -.RE -.PP -\fB\-M\fR, \fB\-\-maxdays\fR\ \&\fIMAX_GIORNI\fR -.RS 4 -Imposta il numero massimo di giorni di validit\(`a di una password\&. Quando la somma di -\fIMAX_GIORNI\fR -e -\fIULTIMO_GIORNO\fR -\(`e inferiore alla data odierna, l\*(Aqutente \(`e obbligato a cambiare la password prima di poter usare ancora il proprio account\&. Questo evento pu\(`o essere reso noto in anticipo usando l\*(Aqopzione -\fB\-W\fR, che fornisce un preavviso all\*(Aqutente\&. -.sp -Usare il valore -\fI\-1\fR -come -\fIMAX_GIORNI\fR -rimuove il controllo sulla validit\(`a della password\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-W\fR, \fB\-\-warndays\fR\ \&\fIAVVISO_GIORNI\fR -.RS 4 -Imposta il numero di giorni di preavviso prima che sia obbligatorio cambiare la password\&. L\*(Aqopzione -\fIAVVISO_GIORNI\fR -indica il numero di giorni prima della scadenza della password in cui l\*(Aqutente viene avvertito dell\*(Aqimminente scadenza\&. -.RE -.PP -Se non viene specificata nessuna opzione, -\fBchage\fR -opera in modalit\(`a interattiva, chiedendo all\*(Aqutente il nuovo valore per ogni campo\&. Inserire un nuovo valore per modificare il campo, oppure lasciare la riga vuota per continuare a usare il valore attuale\&. I valori attuali vengono mostrati tra parentesi quadre -\fI[ ]\fR\&. -.SH "NOTA" -.PP -\fBchage\fR -richiede che il file delle password shadow sia disponibile\&. -.PP -L\*(Aquso del comando -\fBchage\fR -\(`e permesso solo all\*(Aqutente root, tranne per l\*(Aqopzione -\fB\-l\fR, che pu\(`o essere usata da un utente non privilegiato per conoscere la scadenza della propria password o dell\*(Aqaccount\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.SH "VALORI RESTITUITI" -.PP -Il comando -\fBchage\fR -restituisce i seguenti valori: -.PP -\fI0\fR -.RS 4 -successo -.RE -.PP -\fI1\fR -.RS 4 -permesso negato -.RE -.PP -\fI2\fR -.RS 4 -sintassi del comando errata -.RE -.PP -\fI15\fR -.RS 4 -non \(`e possibile trovare il file delle password shadow -.RE -.SH "VEDERE ANCHE" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/it/man1/chfn.1 b/man/it/man1/chfn.1 deleted file mode 100644 index b34710e8..00000000 --- a/man/it/man1/chfn.1 +++ /dev/null @@ -1,159 +0,0 @@ -'\" t -.\" Title: chfn -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "CHFN" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -chfn \- cambia il nome dell\*(Aqutente e altre informazioni -.SH "SINOSSI" -.HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fIopzioni\fR] [\fILOGIN\fR] -.SH "DESCRIZIONE" -.PP -\fBchfn\fR -\(`e usato per cambiare il nome completo dell\*(Aqutilizzatore, il numero di stanza dell\*(Aqufficio, quello di telefono dell\*(Aqufficio e di casa\&. Questi dati sono normalmente stampati dal programma -\fBfinger\fR(1) -o equivalenti\&. Un utente normale pu\(`o cambiare solo i dati relativi al proprio account, con eventuali altre limitazioni specificate in -/etc/login\&.defs\&. (La configurazione predefinita impedisce la modifica del proprio nome completo\&.) Il super utente pu\(`o cambiare tutte le informazioni di ciascun utente\&. Inoltre, solo il super utente pu\(`o usare l\*(Aqopzione -\fB\-o\fR -per la modifica delle parti non definite del campo GECOS\&. -.PP -Questi campi non possono contenere nessun carattere due punti\&. Ad eccezione del campo -\fIother\fR, non dovrebbero contenere nessuna virgola e nessun segno uguale\&. \(`E anche consigliato di evitare caratteri non US\-ACII, ma su questo viene fatto un controllo solo per il numero di telefono\&. Il campo -\fIother\fR -viene utilizzato per memorizzare informazioni sull\*(Aq\(Foaccounting\(Fc da altre applicazioni\&. -.SH "OPZIONI" -.PP -Il comando -\fBchfn\fR -accetta le seguenti opzioni: -.PP -\fB\-f\fR, \fB\-\-full\-name\fR\ \&\fINOME_COMPLETO\fR -.RS 4 -Cambia il nome completo dell\*(Aqutente\&. -.RE -.PP -\fB\-h\fR, \fB\-\-home\-phone\fR\ \&\fITELEFONO_CASA\fR -.RS 4 -Cambia il numero di telefono di casa dell\*(Aqutente\&. -.RE -.PP -\fB\-o\fR, \fB\-\-other\fR\ \&\fIALTRO\fR -.RS 4 -Cambia il campo GECOS per le altre informazioni\&. Questo campo viene utilizzato per memorizzare informazioni di \(Foaccounting\(Fc usate da altre applicazioni, e pu\(`o essere modificato solo dal super utente\&. -.RE -.PP -\fB\-r\fR, \fB\-\-room\fR\ \&\fINUMERO_STANZA\fR -.RS 4 -Cambia il numero della stanza dell\*(Aqutente\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-w\fR, \fB\-\-work\-phone\fR\ \&\fITELEFONO_LAVORO\fR -.RS 4 -Cambia il numero di telefono di lavoro dell\*(Aqutente\&. -.RE -.PP -Se nessuna delle opzioni \(`e selezionata, -\fBchfn\fR -opera in maniera interattiva, chiedendo all\*(Aqutente il valore da impostare per ogni campo\&. Inserire un nuovo valore per sostituire il contenuto attuale, oppure lasciare la riga vuota per non cambiarlo\&. Il valore attuale \(`e mostrato tra le parentesi -\fB[ ]\fR\&. Senza nessuna opzione, -\fBchfn\fR -opera sull\*(Aqaccount corrente\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBCHFN_AUTH\fR (booleano) -.RS 4 -Se -\fIyes\fR, il programma -\fBchfn\fR -richieder\(`a l\*(Aqautenticazione prima di apportare qualsiasi modifica, a meno che non sia eseguito dal super utente\&. -.RE -.PP -\fBCHFN_RESTRICT\fR (testo) -.RS 4 -Questo parametro specifica quali valori del campo -\fIgecos\fR -del file -/etc/passwd -possono essere cambiati da utenti normali usando il programma -\fBchfn\fR\&. Pu\(`o essere una combinazione qualsiasi delle lettere -\fIf\fR, -\fIr\fR, -\fIw\fR, -\fIh\fR -per \(FoNome completo (f)\(Fc, \(FoNumero stanza (r)\(Fc, \(FoTelefono di lavoro (w)\(Fc e \(FoTelefono di casa (h)\(Fc\&. Per compatibilit\(`a con precedenti versioni, -\fIyes\fR -\(`e quivalente a -\fIrwh\fR -e -\fIno\fR -\(`e equivalente a -\fIfrwh\fR\&. Se non specificato, solo il super utente pu\(`o effettuare modifiche\&. Le impostazioni pi\(`u stringenti si ottengono installando -\fBchfn\fR -non SUID\&. -.RE -.PP -\fBLOGIN_STRING\fR (testo) -.RS 4 -Il testo da utilizzare per richiedere la password\&. Il valore predefinito \(`e \(FoPassword: \(Fc o una sua traduzione\&. Se si imposta questa variabile allora il testo non verr\(`a tradotto\&. -.sp -Se il testo contiene -\fI%s\fR, questo verr\(`a sostituito dal nome dell\*(Aqutente\&. -.RE -.SH "FILE" -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBchsh\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/it/man1/chsh.1 b/man/it/man1/chsh.1 deleted file mode 100644 index 6454d39e..00000000 --- a/man/it/man1/chsh.1 +++ /dev/null @@ -1,117 +0,0 @@ -'\" t -.\" Title: chsh -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "CHSH" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -chsh \- cambia la shell di login -.SH "SINOSSI" -.HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIopzioni\fR] [\fILOGIN\fR] -.SH "DESCRIZIONE" -.PP -Il comando -\fBchsh\fR -cambia la shell di login dell\*(Aqutente, in altre parole determina il comando iniziale eseguito quando un utente accede al sistema\&. Chiunque pu\(`o cambiare la propria shell di login, mentre l\*(Aqamministratore pu\(`o cambiare la shell di login per ogni account\&. -.SH "OPZIONI" -.PP -Il comando -\fBchsh\fR -accetta le seguenti opzioni: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -Il nome della nuova shell di login dell\*(Aqutente\&. Lasciando questo campo vuoto si fa in modo che il sistema selezioni la shell di login predefinita\&. -.RE -.PP -Se non viene usata l\*(Aqopzione -\fB\-s\fR, -\fBchsh\fR -opera in maniera interattiva, mostrando all\*(Aqutente la shell attuale\&. Inserire il nuovo valore oppure lasciare la riga vuota per non modificare il valore attuale\&. La shell attuale \(`e mostrata tra parentesi -\fI[ ]\fR\&. -.SH "NOTA" -.PP -L\*(Aqunica limitazione sulla scelta della shell di login \(`e che il nome del comando deve essere presente in -/etc/shells; fa eccezione l\*(Aqamministratore di sistema, che \(`e libero di scegliere qualsiasi valore\&. Un account con una shell di login limitata non pu\(`o cambiare la propria shell di login\&. Per questo motivo \(`e sconsigliato includere -/bin/rsh -in -/etc/shells: se accidentalmente un utente selezionasse una shell limitata, non potrebbe pi\(`u tornare alla shell di login che usava originariamente\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBCHSH_AUTH\fR (booleano) -.RS 4 -Se -\fIyes\fR, il comando -\fBchsh\fR -richieder\(`a l\*(Aqautenticazione prima di apportare qualsiasi modifica, a meno che sia utilizzato dal super utente\&. -.RE -.PP -\fBLOGIN_STRING\fR (testo) -.RS 4 -Il testo da utilizzare per richiedere la password\&. Il valore predefinito \(`e \(FoPassword: \(Fc o una sua traduzione\&. Se si imposta questa variabile allora il testo non verr\(`a tradotto\&. -.sp -Se il testo contiene -\fI%s\fR, questo verr\(`a sostituito dal nome dell\*(Aqutente\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shells -.RS 4 -Elenco delle shell di login ammesse\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.SH "VEDERE ANCHE" -.PP -\fBchfn\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/it/man1/expiry.1 b/man/it/man1/expiry.1 deleted file mode 100644 index d2944bdc..00000000 --- a/man/it/man1/expiry.1 +++ /dev/null @@ -1,73 +0,0 @@ -'\" t -.\" Title: expiry -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "EXPIRY" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -expiry \- controlla e fa rispettare la scadenza della password -.SH "SINOSSI" -.HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIopzione\fR -.SH "DESCRIZIONE" -.PP -\fBexpiry\fR -controlla (\fB\-c\fR) la scadenza della password in uso e, se necessario, richiede (\fB\-f\fR) che venga cambiata quando necessario\&. Questo comando pu\(`o essere eseguito da un utente qualsiasi\&. -.SH "OPZIONI" -.PP -Il comando -\fBexpiry\fR -accetta le seguenti opzioni: -.PP -\fB\-c\fR, \fB\-\-check\fR -.RS 4 -Controlla la scadenza della password dell\*(Aqutente corrente\&. -.RE -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Forza un cambio di password se l\*(Aqutente corrente ha una password scaduta\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/it/man1/gpasswd.1 b/man/it/man1/gpasswd.1 deleted file mode 100644 index da3abb75..00000000 --- a/man/it/man1/gpasswd.1 +++ /dev/null @@ -1,232 +0,0 @@ -'\" t -.\" Title: gpasswd -.\" Author: Rafal Maszkowski -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "GPASSWD" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -gpasswd \- amministra /etc/group e /etc/gshadow -.SH "SINOSSI" -.HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fIopzione\fR] \fIgruppo\fR -.SH "DESCRIZIONE" -.PP -Il comando -\fBgpasswd\fR -\(`e utilizzato per amministrare -/etc/groupe /etc/gshadow\&. Ogni gruppo pu\(`o avereamministratori, -membri e una password\&. -.PP -Gli amministratori di sistema possono usare l\*(Aqopzione -\fB\-A\fR -per definire l\*(Aqamministratore/gli amministratori di gruppo e l\*(Aqopzione -\fB\-M\fR -per definire i membri ed hanno tutti i permessi degli amministratori di gruppo e dei membri\&. -.PP -\fBgpasswd\fR -richiamato da -un amminstatore di gruppo -con un nome di gruppo richiede solo la nuova password del -\fIgruppo\fR\&. -.PP -Se la password \(`e impostata i membri possono ancora usare -\fBnewgrp\fR(1) -senza la password, i non\-membri devono fornire la password\&. -.SS "Note sulle password di gruppo" -.PP -Le password di gruppo rappresentano un intrinseco problema di sicurezza perch\('e pi\(`u di una persona deve conoscerle\&. Ciononostante i gruppi sono uno strumento molto utile per la cooperazione tra vari utenti\&. -.SH "OPZIONI" -.PP -Ad eccezione di -\fB\-A\fR -e -\fB\-M\fR, le altre opzioni non possono essere combinate\&. -.PP -Il comando -\fBgpasswd\fR -accetta le seguenti opzioni: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIutente\fR -.RS 4 -Aggiunge -\fIutente\fR -al -\fIgruppo\fR -indicato\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIutente\fR -.RS 4 -Rimuove -\fIutente\fR -dal -\fIgruppo\fR -indicato\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-Q\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\-password\fR -.RS 4 -Rimuove la password dal -\fIgruppo\fR -indicato\&. La password del gruppo sar\(`a vuota\&. Solo ai membri del gruppo sar\(`a ammesso l\*(Aqaccesso tramite -\fBnewgrp\fR -al -\fIgruppo\fR -indicato\&. -.RE -.PP -\fB\-R\fR, \fB\-\-restrict\fR -.RS 4 -Limita l\*(Aqaccesso al -\fIgruppo\fR -indicato\&. La password del gruppo \(`e cambiata in \(Fo!\(Fc\&. Solo ai membri del gruppo con una password verr\(`a permesso di usare -\fBnewgrp\fR -per accedere al -\fIgruppo\fR -indicato\&. -.RE -.PP -\fB\-A\fR, \fB\-\-administrators\fR\ \&\fIutente\fR,\&.\&.\&. -.RS 4 -Imposta l\*(Aqelenco degli utenti amministratori\&. -.RE -.PP -\fB\-M\fR, \fB\-\-members\fR\ \&\fIutente\fR,\&.\&.\&. -.RS 4 -Definisce l\*(Aqelenco dei membri del gruppo\&. -.RE -.SH "AVVISI/CAVEAT" -.PP -Questo strumento opera solo sul file -/etc/groupe sul file /etc/gshadow\&. Quindi non si possono modificare gruppi NIS o LDAP\&. Questo dovrebbe essere fatto sul corrispondente server\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBENCRYPT_METHOD\fR (testo) -.RS 4 -Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne viene specificato uno a riga di comando)\&. -.sp -Pu\(`o avere uno dei seguenti valori: -\fIDES\fR -(predefinito), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Nota: questo parametro ha la precedenza sulla variabile -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (booleano) -.RS 4 -Indica se le password vanno cifrate usando l\*(Aqalgoritmo basato su MD5\&. Se impostato a -\fIyes\fR -le nuove password saranno cifrate usando un algoritmo basato su MD5 e compatibile con quello delle versioni pi\(`u recenti di FreeBSD\&. Supporta password di lunghezza qualsiasi e testi \(Fosalt\(Fc pi\(`u lunghi\&. Impostare a -\fIno\fR -se si devono copiare password su altri sistemi che non gestiscono l\*(Aqalgoritmo\&. Il valore predefinito \(`e -\fIno\fR\&. -.sp -Questa variabile ha meno priorit\(`a della variabile -\fBENCRYPT_METHOD\fR -e di qualsiasi opzione a riga di comando che imposta un algoritmo di cifratura\&. -.sp -Questa variabile non \(`e pi\(`u usata\&. Si dovrebbe utilizzare -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (numerico), \fBSHA_CRYPT_MAX_ROUNDS\fR (numerico) -.RS 4 -Quando -\fBENCRYPT_METHOD\fR -vale -\fISHA256\fR -o -\fISHA512\fR, questo definisce il numero di cicli SHA usati per l\*(Aqalgoritmo di cifratura (quando il numero di cicli non \(`e impostato a riga di comando)\&. -.sp -Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&. -.sp -Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&. -.sp -Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&. -.sp -Se viene impostato solo uno tra -\fBSHA_CRYPT_MIN_ROUNDS\fR -e -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora l\*(Aqunico valore viene utilizzato\&. -.sp -Se -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora viene utilizzato il maggiore\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBnewgrp\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBgrpck\fR(8), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/it/man1/groups.1 b/man/it/man1/groups.1 deleted file mode 100644 index 47bc1477..00000000 --- a/man/it/man1/groups.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "GROUPS" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -groups \- mostra i nomi dei gruppi correnti -.SH "SINOSSI" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIutente\fR] -.SH "DESCRIZIONE" -.PP -Per ciascuno dei gruppi correnti, il comando -\fBgroups\fR -mostra i nomi o i valori ID\&. Se un valore non ha nessuna voce corrispondente in -/etc/group, esso viene mostrato in forma numerica\&. Se viene specificato un -\fIutente\fR, vengono mostrati i gruppi a cui appartiene quel determinato -\fIutente\fR\&. -.SH "NOTA" -.PP -Sui sistemi che non supportano l\*(Aqappartenenza contemporanea a pi\(`u gruppi, vengono riportate le informazioni da -/etc/group\&. L\*(Aqutente deve usare -\fBnewgrp\fR -o -\fBsg\fR -per cambiare gli ID reale ed effettivo del gruppo\&. -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2)\&. diff --git a/man/it/man1/id.1 b/man/it/man1/id.1 deleted file mode 100644 index 5b1580bb..00000000 --- a/man/it/man1/id.1 +++ /dev/null @@ -1,60 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "ID" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -id \- display current user and group ID names -.SH "SINOSSI" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "DESCRIZIONE" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support multiple concurrent group membership\&. -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2) diff --git a/man/it/man1/login.1 b/man/it/man1/login.1 deleted file mode 100644 index e527ef6f..00000000 --- a/man/it/man1/login.1 +++ /dev/null @@ -1,485 +0,0 @@ -'\" t -.\" Title: login -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "LOGIN" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -login \- apre una sessione sul sistema -.SH "SINOSSI" -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fImacchina\fR] [\fInome\fR] [\fIENV=VAR\fR...] -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fImacchina\fR] \-f \fInome\fR -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] \-r\ \fImacchina\fR -.SH "DESCRIZIONE" -.PP -\fBlogin\fR -viene utilizzato per aprire una sessione sul sistema\&. Normalmente viene invocato automaticamente rispondendo al prompt -\fIlogin:\fR -del terminale\&. -\fBlogin\fR -pu\(`o essere trattato in maniera speciale dalla shell e non pu\(`o essere invocato come sottoprocesso\&. Quando \(`e richiamato dalla shell, -\fBlogin\fR -va invocato come -\fBexec login\fR -che termina la shell utente attuale (il che impedir\(`a al nuovo utente che accede, di poter ritornare alla sessione del chiamante)\&. Il tentativo di esecuzione di -\fBlogin\fR -da una shell che non sia quella di login produce un messaggio d\*(Aqerrore\&. -.PP -Se necessario viene quindi chiesta la password all\*(Aqutente\&. Durante questa operazione l\*(Aqeco sul terminale \(`e disabilitata per non rivelare la password\&. Solo un basso numero di tentativi falliti \(`e permesso prima che -\fBlogin\fR -termini e che la connessione sia interrotta\&. -.PP -Se la scadenza delle password \(`e abilitata per il proprio account, prima di proseguire ci pu\(`o essere la richiesta di una nuova password\&. Il programma chieder\(`a prima la vecchia password e poi la nuova per poter continuare\&. Per maggiori informazioni si faccia riferimento a -\fBpasswd\fR(1)\&. -.PP -Dopo aver completato correttamente l\*(Aqaccesso, vengono mostrati eventuali messaggi di sistema e si viene informati della presenza di nuova posta\&. Si pu\(`o evitare di visualizzare i messaggi in -/etc/motd -creando un file vuoto chiamato -\&.hushlogin -nella propria directory di login\&. Il messaggio relativo alla presenza di posta \(`e \(Fo\fIC\*(Aq\(`e nuova posta\&.\fR\(Fc, \(Fo\fIC\*(Aq\(`e posta\&.\fR\(Fc o \(Fo\fINessun messaggio di posta\&.\fR\(Fc a seconda dello stato della propria casella di posta\&. -.PP -I propri ID di utente e gruppo vengono poi impostati in base ai valori definiti nel file -/etc/passwd\&. I valori di -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$PATH\fR, -\fB$LOGNAME\fR -e -\fB$MAIL\fR -sono impostati in base ai campi appropriati nella voce della password\&. Anche i valori per ulimit, umask e nice possono essere impostati in base al campo GECOS\&. -.PP -In alcune installazioni la variabile d\*(Aqambiente -\fB$TERM\fR -pu\(`o essere impostata in base al tipo di terminale della propria connessione, come specificato in -/etc/ttytype\&. -.PP -Pu\(`o anche essere eseguito uno script di inizializzazione per il proprio interprete dei comandi\&. Fare riferimento alla relativa sezione di manuale per maggiori informazioni su questa funzione\&. -.PP -Un sottosistema di login \(`e indicato dalla presenza del carattere \(Fo*\(Fc all\*(Aqinizio della shell di login\&. La directory home impostata sar\(`a utilizzata come root di un nuovo file system al quale l\*(Aqutente accede\&. -.PP -Il programma -\fBlogin\fR -NON \(`e responsabile di rimuovere gli utenti dal file utmp\&. La correzione del proprietario di una sessione di terminale \(`e responsabilit\(`a di -\fBgetty\fR(8) -e -\fBinit\fR(8)\&. Se si usa -\fBlogin\fR -senza -\fBexec\fR -dal prompt della shell, allora l\*(Aqutente che si sta usando risulter\(`a sempre connesso al sistema anche oltre il termine della \(Fosottosessione\(Fc\&. -.SH "OPZIONI" -.PP -\fB\-f\fR -.RS 4 -Non effettua l\*(Aqautenticazione, l\*(Aqutente \(`e gi\(`a autenticato -.sp -Nota: in questo caso -\fIusername\fR -\(`e obbligatorio\&. -.RE -.PP -\fB\-h\fR -.RS 4 -Nome dell\*(Aqhost remoto per questo login\&. -.RE -.PP -\fB\-p\fR -.RS 4 -Non modifica l\*(Aqambiente\&. -.RE -.PP -\fB\-r\fR -.RS 4 -Attiva il protocollo autologin di rlogin\&. -.RE -.PP -Le opzioni -\fB\-r\fR, -\fB\-h\fR -e -\fB\-f\fR -possono essere utilizzate solo quando -\fBlogin\fR -viene invocato da root\&. -.SH "AVVISI/CAVEAT" -.PP -Questa versione di -\fBlogin\fR -ha molte opzioni di compilazione; in un determinato sistema potrebbe esserne in uso solo una parte\&. -.PP -La posizione dei file \(`e soggetta a differenze in base alla configurazione del sistema\&. -.PP -Il programma -\fBlogin\fR -NON \(`e responsabile di rimuovere gli utenti dal file utmp\&. La correzione del proprietario di una sessione di terminale \(`e responsabilit\(`a di -\fBgetty\fR(8) -e -\fBinit\fR(8)\&. Se si usa -\fBlogin\fR -senza -\fBexec\fR -dal prompt della shell, allora l\*(Aqutente che si sta usando risulter\(`a sempre connesso al sistema anche oltre il termine della \(Fosottosessione\(Fc\&. -.PP -Come per ogni programma, l\*(Aqaspetto di -\fBlogin\fR -pu\(`o essere simulata\&. Se utenti non fidati hanno accesso fisico alla macchina, essi potrebbero sfruttare questa cosa per ottenere la password della prossima persona che si siede davanti al terminale\&. In Linux si pu\(`o utilizzare il meccanismo SAK per iniziare un percorso sicuro che previene questo tipo di attacchi\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBCONSOLE\fR (testo) -.RS 4 -Se definito, o il percorso completo di un file che contiene l\*(Aqelenco di nomi di device (uno per riga) oppure un elenco di nomi di device separati da \(Fo:\(Fc\&. L\*(Aqaccesso come root verr\(`a permesso solo attraverso questi device\&. -.sp -Se non definito, root potr\(`a accedere da qualsiasi device\&. -.sp -Il nome di device deve essere specificato senza il prefisso /dev\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (testo) -.RS 4 -Elenco di gruppi da aggiungere ai gruppi supplementari dell\*(Aqutente quando questi accede dalla console (come determinato dalla impostazione CONSOLE)\&. Il valore predefinito \(`e nullo\&. - -Usare con cautela \- \(`e possibile che gli utenti ottengano l\*(Aqaccesso permanente a questi gruppi anche se non accedono dalla console\&. -.RE -.PP -\fBDEFAULT_HOME\fR (booleano) -.RS 4 -Indica se permettere l\*(Aqaccesso al sistema anche se non si pu\(`o accedere alla directory home\&. Il valore predefinito \(`e no\&. -.sp -Se impostato a -\fIyes\fR, l\*(Aqutente acceder\(`a alla directory root (/) nel caso che non sia possibile accedere alla propria directory home\&. -.RE -.PP -\fBENV_HZ\fR (testo) -.RS 4 -Se impostato viene utilizzato per definire il valore della variabile d\*(Aqambiente HZ al login dell\*(Aqutente\&. Il valore deve essere preceduto da -\fIHZ=\fR\&. Un valore comune per Linux \(`e -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_PATH\fR (testo) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (testo) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (testo) -.RS 4 -Se impostato viene usato per definire la variabile d\*(Aqambiente TZ al login dell\*(Aqutente\&. Il valore pu\(`o essere il nome di una \(Fotimezone\(Fc preceduta da -\fITZ=\fR -(ad esempio -\fITZ=CST6CDT\fR), o il percorso completo di un file che contenga la specifica della \(Fotimezone\(Fc (ad esempio -/etc/tzname)\&. -.sp -Se viene specificato il percorso completo di un file che per\(`o non esiste o non pu\(`o essere letto, allora viene utilizzato il valore predefinito -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (testo) -.RS 4 -Se questo file esiste ed \(`e leggibile, l\*(Aqambiente di login viene letto da l\(`i\&. Ogni riga deve essere nella forma nome=valore\&. -.sp -Le righe che iniziano con \(Fo#\(Fc sono trattate come commenti e ignorate\&. -.RE -.PP -\fBERASECHAR\fR (numerico) -.RS 4 -Carattere ERASE del terminale (\fI010\fR -= backspace, -\fI0177\fR -= Canc)\&. -.sp -Il valore deve avere il prefisso \(Fo0\(Fc se in ottale, o \(Fo0x\(Fc se esadecimale\&. -.RE -.PP -\fBFAIL_DELAY\fR (numerico) -.RS 4 -Numero di secondi prima che venga concesso un ulteriore tentativo dopo un accesso fallito\&. -.RE -.PP -\fBFAILLOG_ENAB\fR (booleano) -.RS 4 -Abilita la memorizzazione e mostra le informazioni sugli accessi falliti contenute in -/var/log/faillog\&. -.RE -.PP -\fBFAKE_SHELL\fR (testo) -.RS 4 -Se impostato, -\fBlogin\fR -eseguir\(`a questa shell al posto di quella utente specificata in -/etc/passwd\&. -.RE -.PP -\fBFTMP_FILE\fR (testo) -.RS 4 -Se impostato, gli accessi falliti verranno tracciati in questo file nel formato utmp\&. -.RE -.PP -\fBHUSHLOGIN_FILE\fR (testo) -.RS 4 -Se definito, questo file inibisce quanto stampato durante l\*(Aqaccesso\&. Se viene specificato un percorso completo, la modalit\(`a silenziosa (hushed) viene attivata se in quel file \(`e presente il nome dell\*(Aqutente o della shell dell\*(Aqutente\&. Se il percorso non \(`e completo, allora la modalit\(`a silenziosa viene attivata se quel file \(`e presente nella directory home dell\*(Aqutente\&. -.RE -.PP -\fBISSUE_FILE\fR (testo) -.RS 4 -Se definito, il file verr\(`a mostrato prima del prompt di login\&. -.RE -.PP -\fBKILLCHAR\fR (numerico) -.RS 4 -Il carattere da usare sul terminale per cancellare l\*(Aqintera riga (\fI025\fR -= CTRL\-U) -.sp -Il valore deve avere il prefisso \(Fo0\(Fc se in ottale, o \(Fo0x\(Fc se esadecimale\&. -.RE -.PP -\fBLASTLOG_ENAB\fR (booleano) -.RS 4 -Abilita la memorizzazione e la stampa delle informazioni sulle date degli ultimi accessi in /var/log/lastlog\&. -.RE -.PP -\fBLOGIN_RETRIES\fR (numerico) -.RS 4 -Massimo numero di tentativi di accesso per password errata\&. -.RE -.PP -\fBLOGIN_STRING\fR (testo) -.RS 4 -Il testo da utilizzare per richiedere la password\&. Il valore predefinito \(`e \(FoPassword: \(Fc o una sua traduzione\&. Se si imposta questa variabile allora il testo non verr\(`a tradotto\&. -.sp -Se il testo contiene -\fI%s\fR, questo verr\(`a sostituito dal nome dell\*(Aqutente\&. -.RE -.PP -\fBLOGIN_TIMEOUT\fR (numerico) -.RS 4 -Numero massimo di secondi per l\*(Aqaccesso\&. -.RE -.PP -\fBLOG_OK_LOGINS\fR (booleano) -.RS 4 -Abilita la tracciatura degli accessi avvenuti con successo\&. -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (booleano) -.RS 4 -Abilita l\*(Aqinclusione dei nomi utente sconosciuti quando si registrano gli accessi falliti\&. -.sp -Nota: memorizzare i nomi sconosciuti potrebbe diventare un problema legato alla sicurezza se un utente inserisce la propria password al posto del nome utente\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (testo) -.RS 4 -Abilita la verifica e stampa a video dello stato della casella di posta al momento dell\*(Aqaccesso al sistema\&. -.sp -Andrebbe disabilitato se i file di avvio della shell effettuano gi\(`a questo controllo (\(Fomailx \-e\(Fc o equivalente)\&. -.RE -.PP -\fBMAIL_DIR\fR (testo) -.RS 4 -La directory di spool per la posta\&. Questa \(`e necessaria per manipolare la casella di posta quando il corrispondente account utente viene modificato o cancellato\&. Se non \(`e specificata viene utilizzato un valore impostato al momento della compilazione\&. -.RE -.PP -\fBMAIL_FILE\fR (testo) -.RS 4 -Imposta la posizione delle caselle di posta degli utenti relative alla loro directory home\&. -.RE -.PP -Le variabili -\fBMAIL_DIR\fR -e -\fBMAIL_FILE\fR -vengono utilizzate da -\fBuseradd\fR, -\fBusermod\fR -e -\fBuserdel\fR -per creare, spostare e cancellare le caselle di posta dell\*(Aqutente\&. -.PP -Se -\fBMAIL_CHECK_ENAB\fR -\(`e impostata a -\fIyes\fR -allora sono anche utilizzate per impostare la variabile d\*(Aqambiente -\fBMAIL\fR\&. -.PP -\fBMOTD_FILE\fR (testo) -.RS 4 -Se definito \(`e una lista di nomi di file con \(Fomessaggi del giorno\(Fc separati da \(Fo:\(Fc che vengono mostrati subito dopo l\*(Aqaccesso\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (testo) -.RS 4 -Se definito \(`e il nome di un file che impedisce l\*(Aqaccesso degli utenti non root\&. Il suo contenuto dovrebbe essere un messaggio che indica il motivo per il quale l\*(Aqaccesso \(`e impedito\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (booleano) -.RS 4 -Abilita la verifica delle restrizioni temporali specificate in -/etc/porttime\&. -.RE -.PP -\fBQUOTAS_ENAB\fR (booleano) -.RS 4 -Abilita l\*(Aqimpostazione di limiti di risorsa definiti in -/etc/limits -e ulimit, umask e livello di \(Fonice\(Fc in base al campo gecos del passwd dell\*(Aqutente\&. -.RE -.PP -\fBTTYGROUP\fR (testo), \fBTTYPERM\fR (testo) -.RS 4 -I permessi del terminale: il tty usato per l\*(Aqaccesso sar\(`a di propriet\(`a del gruppo -\fBTTYGROUP\fR -e avr\(`a permessi impostati a -\fBTTYPERM\fR\&. -.sp -In maniera predefinita la propriet\(`a del terminale sar\(`a impostata al gruppo primario dell\*(Aqutente, mentre i permessi saranno -\fI0600\fR\&. -.sp -\fBTTYGROUP\fR -pu\(`o essere il nome del gruppo o il suo identificativo numerico\&. -.sp -Se si ha il comando -\fBwrite\fR -che \(`e \(Fosetgid\(Fc e ha un gruppo speciale che possiede i terminali, definire TTYGROUP con lo stesso gruppo e TTYPERM a 0620\&. Altrimenti lasciare TTYGROUP commentato e assegnare TTYPERM a 622 o 600\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (testo) -.RS 4 -Se definito si tratta di un file che mappa le linee tty nella variabile d\*(Aqambiente TERM\&. Ogni riga del file \(`e in un formato tipo \(Fovt100 tty01\(Fc\&. -.RE -.PP -\fBULIMIT\fR (numerico) -.RS 4 -Valore -\fBulimit\fR -predefinito\&. -.RE -.PP -\fBUMASK\fR (numerico) -.RS 4 -La maschera di permessi alla creazione dei file \(`e inizializzata con questo valore\&. Se non specificato la maschera viene impostata a 022\&. -.sp -\fBuseradd\fR -e -\fBnewusers\fR -usano questa maschera per impostare i permessi della directory home che creano\&. -.sp -Viene anche utilizzata da -\fBlogin\fR -per definire la maschera iniziale dell\*(Aqutente\&. Notare che questa maschera pu\(`o essere modificata dalla riga GECOS dell\*(Aqutente (se -\fBQUOTAS_ENAB\fR -\(`e impostato) o specificando un limite con l\*(Aqidentificativo -\fIK\fR -in -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (booleano) -.RS 4 -Abilita l\*(Aqimpostazione dei bit di gruppo di umask in modo che siano gli stessi dei bit del proprietario (esempio: 022 \-> 002, 077 \-> 007) per utenti non root a condizione che uid e gid siano identici e che il nome utente sia lo stesso del gruppo primario\&. -.sp -Se impostato a -\fIyes\fR, -\fBuserdel\fR -canceller\(`a il gruppo dell\*(Aqutente se non contiene altri membri, e -\fBuseradd\fR -creer\(`a automaticamente un gruppo con lo stesso nome dell\*(Aqutente\&. -.RE -.SH "FILE" -.PP -/var/run/utmp -.RS 4 -Elenco delle sessioni attive\&. -.RE -.PP -/var/log/wtmp -.RS 4 -Elenco delle precedenti sessioni di login\&. -.RE -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/motd -.RS 4 -File di sistema con il messaggio del giorno\&. -.RE -.PP -/etc/nologin -.RS 4 -Impedisce l\*(Aqaccesso al sistema per utenti diversi da root\&. -.RE -.PP -/etc/ttytype -.RS 4 -Elenco di tipi di terminale\&. -.RE -.PP -$HOME/\&.hushlogin -.RS 4 -Impedisce che vengano mostrati i messaggi di sistema\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.SH "VEDERE ANCHE" -.PP -\fBmail\fR(1), -\fBpasswd\fR(1), -\fBsh\fR(1), -\fBsu\fR(1), -\fBlogin.defs\fR(5), -\fBnologin\fR(5), -\fBpasswd\fR(5), -\fBsecuretty\fR(5), -\fBgetty\fR(8)\&. diff --git a/man/it/man1/newgrp.1 b/man/it/man1/newgrp.1 deleted file mode 100644 index a91bb5e0..00000000 --- a/man/it/man1/newgrp.1 +++ /dev/null @@ -1,94 +0,0 @@ -'\" t -.\" Title: newgrp -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "NEWGRP" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -newgrp \- effettua l\*(Aqaccesso a un nuovo gruppo -.SH "SINOSSI" -.HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIgruppo\fR] -.SH "DESCRIZIONE" -.PP -\fBnewgrp\fR -permette di cambiare il proprio ID di gruppo durante una sessione di login\&. Se viene specificato -\fB\-\fR, l\*(Aqambiente dell\*(Aqutente viene reinizializzato come se l\*(Aqutente stesse effettuando il login, altrimenti l\*(Aqambiente non viene modificato e la directory corrente non viene cambiata\&. -.PP -\fBnewgrp\fR -cambia l\*(AqID di gruppo attuale reale in base al gruppo passato come argomento oppure, se non si passa nessun argomento, al gruppo predefinito nel file -/etc/passwd\&. -\fBnewgrp\fR -cerca anche di inserire il gruppo tra quelli dell\*(Aqutente\&. Se non si tratta di root, all\*(Aqutente viene chiesta una password nel caso che il gruppo lo richieda e l\*(Aqutente non ne abbia (n\('e in -/etc/shadow -se l\*(Aqutente \(`e definito anche l\(`i, n\('e in -/etc/passwd -altrimenti), oppure se l\*(Aqutente non \(`e elencato tra i membri del gruppo e il gruppo ha una password\&. Viene negato l\*(Aqaccesso all\*(Aqutente nel caso che la password del gruppo sia vuota e l\*(Aqutente non ne faccia parte\&. -.PP -Se c\*(Aq\(`e una voce per questo gruppo nel file -/etc/gshadow, allora l\*(Aqelenco dei membri e la password di questo gruppo sono presi da questo file, altrimenti verr\(`a presa la voce da -/etc/group\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBSYSLOG_SG_ENAB\fR (booleano) -.RS 4 -Abilita il tracciamento dell\*(Aqattivit\(`a di -\fBsg\fR -su \(Fosyslog\(Fc\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBsu\fR(1), -\fBsg\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/it/man1/passwd.1 b/man/it/man1/passwd.1 deleted file mode 100644 index baac98de..00000000 --- a/man/it/man1/passwd.1 +++ /dev/null @@ -1,316 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "PASSWD" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -passwd \- cambia la password utente -.SH "SINOSSI" -.HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIopzioni\fR] [\fILOGIN\fR] -.SH "DESCRIZIONE" -.PP -\fBpasswd\fR -cambia la password per account utente\&. Un utente normale pu\(`o solo cambiare la password per il proprio account, mentre il super utente pu\(`o cambiarla per qualsiasi account\&. -\fBpasswd\fR -modifica anche l\*(Aqaccount o il periodo di validit\(`a della password associata\&. -.SS "Modifiche delle password" -.PP -All\*(Aqutente viene prima chiesta la propria password attuale, se presente\&. Questa password viene cifrata e confrontata con quella memorizzata\&. All\*(Aqutente viene data solo una possibilit\(`a di inserire la password corretta\&. Il super utente salta questo passo in modo da poter modificare password dimenticate\&. -.PP -Dopo che la password \(`e stata inserita, vengono controllati i parametri dell\*(Aqinvecchiamento delle password per verificare che l\*(Aqutente possa modificarla in questo momento\&. In caso negativo -\fBpasswd\fR -non fa cambiare la password ed esce\&. -.PP -All\*(Aqutente viene quindi chiesto di inserire la nuova password due volte\&. Le due password sono confrontate e devono essere uguali affinch\('e la password venga accettata\&. -.PP -Quindi viene misurata la complessit\(`a della password\&. In linea di massima le password dovrebbero contenere dai 6 agli 8 caratteri, includendovi uno o pi\(`u caratteri da ciascuno dei seguenti insiemi: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -lettere minuscole -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numeri da 0 a 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -segni di punteggiatura -.RE -.PP -Si deve fare attenzione a non inserire il carattere di cancellazione o di kill (azzeramento della riga)\&. -\fBpasswd\fR -non accetta password non sufficientemente complesse\&. -.SS "Suggerimenti per password utente" -.PP -La sicurezza di una password dipende dalla forza dell\*(Aqalgoritmo e dalla dimensione della chiave utilizzata\&. Il metodo originale di cifratura del sistema -\fIUNIX\fR -si basa sull\*(Aqalgoritmo NBS DES\&. Adesso sono da preferisi metodi di cifratura pi\(`u recenti (vedere -\fBENCRYPT_METHOD\fR)\&. La dimensione della chiave dipende dall\*(Aqaleatoriet\(`a della password indicata\&. -.PP -La compromissione di una password avviene normalmente a seguito di incuria nella scelta o nella gestione della password\&. Per questo motivo non si devono utilizzare password che appaiono nei dizionari o che devono essere scritte\&. La password non deve essere uno nome proprio, il numero della patente, la data di nascita o l\*(Aqindirizzo\&. Uno qualunque di questi potrebbe essere indovinato per violare la sicurezza del sistema\&. -.PP -You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength -.SH "OPZIONI" -.PP -Il comando -\fBpasswd\fR -accetta le seguenti opzioni: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Questa opzione pu\(`o essere utilizzata solo con -\fB\-S\fR -e mostra lo stato per ogni utente\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR -.RS 4 -Cancella la password utente (la rende vuota)\&. Questo \(`e un metodo veloce per disabilitare la password per l\*(Aqaccount\&. Imposta l\*(Aqaccount indicato come senza password\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expire\fR -.RS 4 -Fa scadere subito la password dell\*(Aqutente\&. Il che ha l\*(Aqeffetto di forzare un cambio password al successivo accesso da parte dell\*(Aqutente\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-i\fR, \fB\-\-inactive\fR\ \&\fIINATTIVO\fR -.RS 4 -Questa opzione viene utilizzata per disabilitare un account dopo che la password \(`e scaduta da un certo numero di giorni\&. Dopo che un account ha una password che \(`e scaduta da -\fIINATTIVO\fR -giorni, l\*(Aqutente non pu\(`o pi\(`u accedere con l\*(Aqaccount\&. -.RE -.PP -\fB\-k\fR, \fB\-\-keep\-tokens\fR -.RS 4 -Indica che il cambio password va effettuato solo per i token (password) di autenticazione scaduti\&. L\*(Aqutente vuole mantenere inalterati i token non scaduti\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\fR -.RS 4 -Blocca la password dell\*(Aqaccount indicato\&. Questa opzione disabilita una password modificandola in modo che non corrisponda a nessun valore cifrato (aggiunge un \(Fo!\(Fc all\*(Aqinizio della password)\&. -.sp -Notare che questo non disabilita l\*(Aqaccount\&. L\*(Aqutente pu\(`o sempre accedere al sistema tramite altri token di autenticazione (ad esempio una chiave SSH)\&. Per disabilitare l\*(Aqaccount l\*(Aqamministratore deve usare -\fBusermod \-\-expiredate 1\fR -(che imposta la data di scadenza al 2 gennaio 1970)\&. -.sp -Gli utenti con password bloccata non la possono cambiare\&. -.RE -.PP -\fB\-n\fR, \fB\-\-mindays\fR\ \&\fIMIN_GIORNI\fR -.RS 4 -Imposta il numero minimo di giorni tra i cambi di password a -\fIMIN_GIORNI\fR\&. Un valore pari a zero indica che l\*(Aqutente pu\(`o cambiare la propria password in qualsiasi momento\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Modalit\(`a silenziosa\&. -.RE -.PP -\fB\-r\fR, \fB\-\-repository\fR\ \&\fIREPOSITORY\fR -.RS 4 -cambia la password nel repository -\fIREPOSITORY\fR -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-S\fR, \fB\-\-status\fR -.RS 4 -Visualizza le informazioni sullo stato di un account\&. Lo stato consiste di 7 campi\&. Il primo campo \(`e il nome dell\*(Aqutente\&. Il secondo campo indica se l\*(Aqaccount ha una password bloccata (L), non ha password (NP) o ha una password valida (P)\&. Il terzo campo contiene la data di ultima modifica della password\&. I successivi quattro campi sono l\*(Aqet\(`a minima, la massima, il periodo di avviso e quello di inattivit\(`a\&. Queste et\(`a sono espresse in giorni\&. -.RE -.PP -\fB\-u\fR, \fB\-\-unlock\fR -.RS 4 -Sblocca la password dell\*(Aqaccount indicato\&. Questa opzione riabilita la password riportandola al suo valore precedente (il valore che c\*(Aqera prima di usare l\*(Aqopzione -\fB\-l\fR)\&. -.RE -.PP -\fB\-w\fR, \fB\-\-warndays\fR\ \&\fIAVVISO_GIORNI\fR -.RS 4 -Imposta il numero di giorni di preavviso prima che sia obbligatorio cambiare la password\&. L\*(Aqopzione -\fIAVVISO_GIORNI\fR -indica il numero di giorni precedenti alla scadenza della password durante i quali l\*(Aqutente viene avvertito dell\*(Aqimminente scadenza\&. -.RE -.PP -\fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIMAX_GIORNI\fR -.RS 4 -Imposta il massimo numero di giorni che una password rimane valida\&. Dopo -\fIMAX_GIORNI\fR -viene richiesto di cambiare la password\&. -.RE -.SH "AVVISI/CAVEAT" -.PP -Il controllo della complessit\(`a delle password varia da sistema a sistema\&. All\*(Aqutente \(`e caldamente consigliato si utilizzare una password che ritenga sufficientemente complessa\&. -.PP -Gli utenti possono non essere in grado di cambiare la propria password se NIS \(`e abilitato ed essi non sono collegati al server NIS\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBENCRYPT_METHOD\fR (testo) -.RS 4 -Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne viene specificato uno a riga di comando)\&. -.sp -Pu\(`o avere uno dei seguenti valori: -\fIDES\fR -(predefinito), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Nota: questo parametro ha la precedenza sulla variabile -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (booleano) -.RS 4 -Indica se le password vanno cifrate usando l\*(Aqalgoritmo basato su MD5\&. Se impostato a -\fIyes\fR -le nuove password saranno cifrate usando un algoritmo basato su MD5 e compatibile con quello delle versioni pi\(`u recenti di FreeBSD\&. Supporta password di lunghezza qualsiasi e testi \(Fosalt\(Fc pi\(`u lunghi\&. Impostare a -\fIno\fR -se si devono copiare password su altri sistemi che non gestiscono l\*(Aqalgoritmo\&. Il valore predefinito \(`e -\fIno\fR\&. -.sp -Questa variabile ha meno priorit\(`a della variabile -\fBENCRYPT_METHOD\fR -e di qualsiasi opzione a riga di comando che imposta un algoritmo di cifratura\&. -.sp -Questa variabile non \(`e pi\(`u usata\&. Si dovrebbe utilizzare -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (booleano) -.RS 4 -Abilita controlli addizionali durante il cambio password\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (booleano) -.RS 4 -Avvisa riguardo password deboli (anche se le permette egualmente) se si \(`e root\&. -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (numerico) -.RS 4 -Massimo numero di tentativi per cambiare una password (troppo facile)\&. -.RE -.PP -\fBPASS_MAX_LEN\fR (numerico), \fBPASS_MIN_LEN\fR (numerico) -.RS 4 -Numero di caratteri significativi della password per crypt()\&. -\fBPASS_MAX_LEN\fR -\(`e normalmente 8\&. Da non cambiare a meno che la propria crypt() sia migliore\&. Questo viene ignorato se -\fBMD5_CRYPT_ENAB\fR -\(`e impostata a -\fIyes\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (numerico), \fBSHA_CRYPT_MAX_ROUNDS\fR (numerico) -.RS 4 -Quando -\fBENCRYPT_METHOD\fR -vale -\fISHA256\fR -o -\fISHA512\fR, questo definisce il numero di cicli SHA usati per l\*(Aqalgoritmo di cifratura (quando il numero di cicli non \(`e impostato a riga di comando)\&. -.sp -Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&. -.sp -Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&. -.sp -Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&. -.sp -Se viene impostato solo uno tra -\fBSHA_CRYPT_MIN_ROUNDS\fR -e -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora l\*(Aqunico valore viene utilizzato\&. -.sp -Se -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora viene utilizzato il maggiore\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.SH "VALORI RESTITUITI" -.PP -Il comando -\fBpasswd\fR -restituisce i seguenti valori: -.SH "VEDERE ANCHE" -.PP -\fBchpasswd\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBlogin.defs\fR(5),\fBusermod\fR(8)\&. diff --git a/man/it/man1/sg.1 b/man/it/man1/sg.1 deleted file mode 100644 index 84540ea6..00000000 --- a/man/it/man1/sg.1 +++ /dev/null @@ -1,94 +0,0 @@ -'\" t -.\" Title: sg -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "SG" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -sg \- esegue un comando con un diverso ID di gruppo -.SH "SINOSSI" -.HP \w'\fBsg\fR\ 'u -\fBsg\fR [\-] [comando\ [\-c]\ group] -.SH "DESCRIZIONE" -.PP -Il comando -\fBsg\fR -funziona in maniera analoga a -\fBnewgrp\fR, ma accetta un comando che viene eseguito con la shell -/bin/sh\&. La maggior parte delle shell che permettono l\*(Aquso di -\fBsg\fR -richiede che i comandi composti da pi\(`u parole siano inclusi tra apici\&. Un\*(Aqaltra differenza tra -\fBnewgrp\fR -e -\fBsg\fR -\(`e che alcune shell trattano -\fBnewgrp\fR -in maniera speciale, sostituendo se stesse con la shell creata da -\fBnewgrp\fR\&. Questo non accade con -\fBsg\fR, per cui all\*(Aquscita del comando -\fBsg\fR -si ritorna al precedente ID di gruppo\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBSYSLOG_SG_ENAB\fR (booleano) -.RS 4 -Abilita il tracciamento dell\*(Aqattivit\(`a di -\fBsg\fR -su \(Fosyslog\(Fc\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBnewgrp\fR(1), -\fBsu\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/it/man1/su.1 b/man/it/man1/su.1 deleted file mode 100644 index 29d17e8e..00000000 --- a/man/it/man1/su.1 +++ /dev/null @@ -1,453 +0,0 @@ -'\" t -.\" Title: su -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "SU" "1" "18/09/2016" "shadow\-utils 4\&.4" "Comandi utente" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -su \- cambia ID utente o diventa amministratore -.SH "SINOSSI" -.HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fIopzioni\fR] [\fInome\fR] -.SH "DESCRIZIONE" -.PP -\fBsu\fR -permette di diventare un altro utente durante una sessione di login\&. Se nessun -\fBnome\fR -utente viene specificato, -\fBsu\fR -acquisice i privilegi di amministratore\&. L\*(Aqopzione -\fB\-\fR -pu\(`o essere usata per fornire un ambiente simile a quello che l\*(Aqutente troverebbe se effettuasse il login direttamente\&. -.PP -Dopo il nome utente, \(`e possibile specificare argomenti aggiuntivi da passare alla shell di login dell\*(Aqutente\&. In particolare, molti interpreti di comando adottano la convenzione per cui l\*(Aqopzione -\fB\-c\fR -seguita da un argomento fa s\(`i che quest\*(Aqultimo sia considerato un comando\&. Il comando viene eseguito dalla shell specificata in -/etc/passwd -per l\*(Aqutente di destinazione\&. -.PP -Si pu\(`o utilizzare -\fB\-\-\fR -per separare le opzioni di -\fBsu\fR -dagli argomenti passati alla shell\&. -.PP -All\*(Aqutente viene quindi chiesta la password, se necessario\&. Una password errata viene segnalata da un messaggio d\*(Aqerrore\&. Viene effettuato il log di tutti i tentativi, siano essi riusciti o meno, al fine di rilevare ogni abuso del sistema\&. -.PP -Le variabili d\*(Aqambiente in uso vengono passate alla nuova shell, eccetto il valore di -\fB$PATH\fR -che viene impostato a -/bin:/usr/bin -per gli utenti qualsiasi e a -/sbin:/bin:/usr/sbin:/usr/bin -per l\*(Aqamministratore\&. Questa impostazione \(`e controllata dalle definizioni -\fIENV_PATH\fR -ed -\fIENV_SUPATH\fR -in -/etc/login\&.defs\&. -.PP -Un sottosistema di login \(`e indicato dalla presenza del carattere \(Fo*\(Fc all\*(Aqinizio della shell di login\&. La directory home impostata sar\(`a utilizzata come root di un nuovo file system al quale l\*(Aqutente accede\&. -.SH "OPZIONI" -.PP -Il comando -\fBsu\fR -accetta le seguenti opzioni: -.PP -\fB\-c\fR, \fB\-\-command\fR\ \&\fICOMANDO\fR -.RS 4 -Specifica un comando che verr\(`a invocato dalla shell tramite la sua opzione -\fB\-c\fR\&. -.sp -The executed command will have no controlling terminal\&. This option cannot be used to execute interactive programs which need a controlling TTY\&. -.RE -.PP -\fB\-\fR, \fB\-l\fR, \fB\-\-login\fR -.RS 4 -Fornisce un ambiente simile a quello che un utente si attende quando effettua direttamente il login\&. -.sp -When -\fB\-\fR -is used, it must be specified before any -\fBusername\fR\&. For portability it is recommended to use it as last option, before any -\fBusername\fR\&. The other forms (\fB\-l\fR -and -\fB\-\-login\fR) do not have this restriction\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -La shell che verr\(`a invocata\&. -.sp -La shell invocata viene scelta da (in ordine di priorit\(`a): -.PP -.RS 4 -La shell specificata con \-\-shell\&. -.RE -.PP -.RS 4 -Se viene usato -\fB\-\-preserve\-environment\fR, la shell specificata dalla variabile d\*(Aqambiente -\fB$SHELL\fR\&. -.RE -.PP -.RS 4 -La shell indicata nel file -/etc/passwd -per l\*(Aqutente target\&. -.RE -.PP -.RS 4 -/bin/sh -se gli altri metodi falliscono\&. -.RE -.sp -Se l\*(Aqutente target ha una shell con restrizioni (cio\(`e se la sua shell presente in -/etc/passwd -non \(`e presente in -/etc/shells), allora l\*(Aqopzione -\fB\-\-shell\fR -e la variabile d\*(Aqambiente -\fB$SHELL\fR -non vengono prese in considerazione a meno che -\fBsu\fR -sia invocato da root\&. -.RE -.PP -\fB\-m\fR, \fB\-p\fR, \fB\-\-preserve\-environment\fR -.RS 4 -Mantiene l\*(Aqambiente attuale, fatta eccezione per: -.PP -\fB$PATH\fR -.RS 4 -reimpostato in accordo alle opzioni -\fBENV_PATH\fR -o -\fBENV_SUPATH\fR -del file -/etc/login\&.defs -(vedi sotto); -.RE -.PP -\fB$IFS\fR -.RS 4 -reimpostato a -\(Fo\(Fc -se era impostato\&. -.RE -.sp -Se l\*(Aqutente target ha una shell con restrizioni, questa opzione non ha effetto (a meno che -\fBsu\fR -sia invocato da root)\&. -.sp -Notare che il comportamento predefinito per l\*(Aqambiente \(`e il seguente: -.PP -.RS 4 -Le variabili d\*(Aqambiente -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$USER\fR, -\fB$LOGNAME\fR, -\fB$PATH\fR -e -\fB$IFS\fR -sono reimpostate\&. -.RE -.PP -.RS 4 -Se l\*(Aqopzione -\fB\-\-login\fR -non \(`e usata, l\*(Aqambiente \(`e copiato con l\*(Aqeccezione delle variabili elencate sopra\&. -.RE -.PP -.RS 4 -Se l\*(Aqopzione -\fB\-\-login\fR -\(`e utilizzata, le variabili -\fB$TERM\fR, -\fB$COLORTERM\fR, -\fB$DISPLAY\fR -e -\fB$XAUTHORITY\fR -sono copiate se risultano impostate\&. -.RE -.PP -.RS 4 -Se l\*(Aqopzione -\fB\-\-login\fR -\(`e utilizzata, le variabili d\*(Aqambiente -\fB$TZ\fR, -\fB$HZ\fR -e -\fB$MAIL\fR -sono impostate in accordo alle opzioni -\fBENV_TZ\fR, -\fBENV_HZ\fR, -\fBMAIL_DIR\fR -e -\fBMAIL_FILE\fR -specificate nel file -/etc/login\&.defs -(vedi sotto)\&. -.RE -.PP -.RS 4 -Se l\*(Aqopzione -\fB\-\-login\fR -\(`e utilizzata, altre variabili d\*(Aqambiente potrebbero essere impostate dal file -\fBENVIRON_FILE\fR -(vedi sotto)\&. -.RE -.RE -.SH "AVVISI/CAVEAT" -.PP -Questa versione di -\fBsu\fR -ha molte opzioni di compilazione; solo una parte di esse potrebbe essere in uso su un determinato sistema\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBCONSOLE\fR (testo) -.RS 4 -Se definito, o il percorso completo di un file che contiene l\*(Aqelenco di nomi di device (uno per riga) oppure un elenco di nomi di device separati da \(Fo:\(Fc\&. L\*(Aqaccesso come root verr\(`a permesso solo attraverso questi device\&. -.sp -Se non definito, root potr\(`a accedere da qualsiasi device\&. -.sp -Il nome di device deve essere specificato senza il prefisso /dev\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (testo) -.RS 4 -Elenco di gruppi da aggiungere ai gruppi supplementari dell\*(Aqutente quando questi accede dalla console (come determinato dalla impostazione CONSOLE)\&. Il valore predefinito \(`e nullo\&. - -Usare con cautela \- \(`e possibile che gli utenti ottengano l\*(Aqaccesso permanente a questi gruppi anche se non accedono dalla console\&. -.RE -.PP -\fBDEFAULT_HOME\fR (booleano) -.RS 4 -Indica se permettere l\*(Aqaccesso al sistema anche se non si pu\(`o accedere alla directory home\&. Il valore predefinito \(`e no\&. -.sp -Se impostato a -\fIyes\fR, l\*(Aqutente acceder\(`a alla directory root (/) nel caso che non sia possibile accedere alla propria directory home\&. -.RE -.PP -\fBENV_HZ\fR (testo) -.RS 4 -Se impostato viene utilizzato per definire il valore della variabile d\*(Aqambiente HZ al login dell\*(Aqutente\&. Il valore deve essere preceduto da -\fIHZ=\fR\&. Un valore comune per Linux \(`e -\fIHZ=100\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (testo) -.RS 4 -Se questo file esiste ed \(`e leggibile, l\*(Aqambiente di login viene letto da l\(`i\&. Ogni riga deve essere nella forma nome=valore\&. -.sp -Le righe che iniziano con \(Fo#\(Fc sono trattate come commenti e ignorate\&. -.RE -.PP -\fBENV_PATH\fR (testo) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (testo) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (testo) -.RS 4 -Se impostato viene usato per definire la variabile d\*(Aqambiente TZ al login dell\*(Aqutente\&. Il valore pu\(`o essere il nome di una \(Fotimezone\(Fc preceduta da -\fITZ=\fR -(ad esempio -\fITZ=CST6CDT\fR), o il percorso completo di un file che contenga la specifica della \(Fotimezone\(Fc (ad esempio -/etc/tzname)\&. -.sp -Se viene specificato il percorso completo di un file che per\(`o non esiste o non pu\(`o essere letto, allora viene utilizzato il valore predefinito -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBLOGIN_STRING\fR (testo) -.RS 4 -Il testo da utilizzare per richiedere la password\&. Il valore predefinito \(`e \(FoPassword: \(Fc o una sua traduzione\&. Se si imposta questa variabile allora il testo non verr\(`a tradotto\&. -.sp -Se il testo contiene -\fI%s\fR, questo verr\(`a sostituito dal nome dell\*(Aqutente\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (testo) -.RS 4 -Abilita la verifica e stampa a video dello stato della casella di posta al momento dell\*(Aqaccesso al sistema\&. -.sp -Andrebbe disabilitato se i file di avvio della shell effettuano gi\(`a questo controllo (\(Fomailx \-e\(Fc o equivalente)\&. -.RE -.PP -\fBMAIL_DIR\fR (testo) -.RS 4 -La directory di spool per la posta\&. Questa \(`e necessaria per manipolare la casella di posta quando il corrispondente account utente viene modificato o cancellato\&. Se non \(`e specificata viene utilizzato un valore impostato al momento della compilazione\&. -.RE -.PP -\fBMAIL_FILE\fR (testo) -.RS 4 -Imposta la posizione delle caselle di posta degli utenti relative alla loro directory home\&. -.RE -.PP -Le variabili -\fBMAIL_DIR\fR -e -\fBMAIL_FILE\fR -vengono utilizzate da -\fBuseradd\fR, -\fBusermod\fR -e -\fBuserdel\fR -per creare, spostare e cancellare le caselle di posta dell\*(Aqutente\&. -.PP -Se -\fBMAIL_CHECK_ENAB\fR -\(`e impostata a -\fIyes\fR -allora sono anche utilizzate per impostare la variabile d\*(Aqambiente -\fBMAIL\fR\&. -.PP -\fBQUOTAS_ENAB\fR (booleano) -.RS 4 -Abilita l\*(Aqimpostazione di limiti di risorsa definiti in -/etc/limits -e ulimit, umask e livello di \(Fonice\(Fc in base al campo gecos del passwd dell\*(Aqutente\&. -.RE -.PP -\fBSULOG_FILE\fR (testo) -.RS 4 -Se definito, tutta l\*(Aqattivit\(`a di \(Fosu\(Fc viene tracciata in questo file\&. -.RE -.PP -\fBSU_NAME\fR (testo) -.RS 4 -Se definito \(`e il nome del comando da mostrare quando si esegue \(Fosu \-\(Fc\&. Ad esempio, se lo di definisce come \(Fosu\(Fc allora \(Fops\(Fc mostrer\(`a che il comando \(`e \(Fo\-su\(Fc\&. Se non definito, \(Fops\(Fc mostrer\(`a il nome della shell invocata, come \(Fo\-sh\(Fc\&. -.RE -.PP -\fBSU_WHEEL_ONLY\fR (booleano) -.RS 4 -Se -\fIyes\fR, l\*(Aqutente deve essere elencato come membro del primo gruppo con gid 0 in -/etc/group -(chiamato -\fIroot\fR -in molti sistemi Linux) perch\('e sia possibile usare -\fBsu\fR -verso account con uid 0\&. Se il gruppo non esiste o \(`e vuoto, nessuno potr\(`a utilizzare -\fBsu\fR -verso uid 0\&. -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (booleano) -.RS 4 -Abilita la tracciatura su \(Fosyslog\(Fc dell\*(Aqattivit\(`a di -\fBsu\fR, oltre a quella sul file \(Fosulog\(Fc\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (booleano) -.RS 4 -Abilita l\*(Aqimpostazione dei bit di gruppo di umask in modo che siano gli stessi dei bit del proprietario (esempio: 022 \-> 002, 077 \-> 007) per utenti non root a condizione che uid e gid siano identici e che il nome utente sia lo stesso del gruppo primario\&. -.sp -Se impostato a -\fIyes\fR, -\fBuserdel\fR -canceller\(`a il gruppo dell\*(Aqutente se non contiene altri membri, e -\fBuseradd\fR -creer\(`a automaticamente un gruppo con lo stesso nome dell\*(Aqutente\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.SH "VALORI RESTITUITI" -.PP -In caso di successo, il valore restituito da -\fBsu\fR -\(`e quello del comando da esso eseguito\&. -.PP -Se questo comando \(`e terminato da un segnale, -\fBsu\fR -restituisce il numero del segnale pi\(`u 128\&. -.PP -Se \(Fosu\(Fc deve terminare il comando (perch\('e gli \(`e stato chiesto di terminare ma il comando non \(`e terminato in tempo), -\fBsu\fR -restituisce 255\&. -.PP -Alcuni dei codici d\*(Aquscita di -\fBsu\fR -sono indipendenti dal comando eseguito: -.PP -\fI0\fR -.RS 4 -successo (solo -\fB\-\-help\fR) -.RE -.PP -\fI1\fR -.RS 4 -Errore di sistema o di autenticazione -.RE -.PP -\fI126\fR -.RS 4 -Il comando richiesto non \(`e stato trovato -.RE -.PP -\fI127\fR -.RS 4 -Il comando richiesto non pu\(`o essere eseguito -.RE -" -.SH "VEDERE ANCHE" -.PP -\fBlogin\fR(1), -\fBlogin.defs\fR(5), -\fBsg\fR(1), -\fBsh\fR(1)\&. diff --git a/man/it/man3/getspnam.3 b/man/it/man3/getspnam.3 deleted file mode 100644 index cd473da3..00000000 --- a/man/it/man3/getspnam.3 +++ /dev/null @@ -1 +0,0 @@ -.so man3/shadow.3 diff --git a/man/it/man3/shadow.3 b/man/it/man3/shadow.3 deleted file mode 100644 index 1db393f7..00000000 --- a/man/it/man3/shadow.3 +++ /dev/null @@ -1,246 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Chiamate di libreria -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "SHADOW" "3" "18/09/2016" "shadow\-utils 4\&.4" "Chiamate di libreria" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -shadow, getspnam \- routine per file delle password cifrate -.SH "SINTASSI" -.PP -\fI#include \fR -.PP -\fIstruct spwd *getspent();\fR -.PP -\fIstruct spwd *getspnam(char\fR -\fI*nome\fR\fI);\fR -.PP -\fIvoid setspent();\fR -.PP -\fIvoid endspent();\fR -.PP -\fIstruct spwd *fgetspent(FILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIstruct spwd *sgetspent(char\fR -\fI*cp\fR\fI);\fR -.PP -\fIint putspent(struct spwd\fR -\fI*p,\fR -\fIFILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIint lckpwdf();\fR -.PP -\fIint ulckpwdf();\fR -.SH "DESCRIZIONE" -.PP -\fIshadow\fR -manipola il contenuto del file delle password shadow, -/etc/shadow\&. La struttura nel file -\fI#include\fR -\(`e la seguente: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct spwd { - char *sp_namp; /* login dell\*(Aqutente */ - char *sp_pwdp; /* password cifrata */ - long int sp_lstchg; /* ultimo cambio della password */ - long int sp_min; /* giorni minimi tra i cambi */ - long int sp_max; /* giorni massimi tra i cambi */ - long int sp_warn; /* giorni di preavviso */ - long int sp_inact; /* giorni di inattivit\(`a */ - long int sp_expire; /* data di scadenza dell\*(Aqaccount */ - unsigned long int sp_flag; /* riservato per uso futuro */ -} - -.fi -.if n \{\ -.RE -.\} -.PP -Ciascun campo significa: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_namp \- puntatore a una stringa null\-terminated che contiene il nome utente\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_pwdp \- puntatore a una stringa null\-terminated che contiene la password\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_lstchg \- giorni trascorsi dal 1 gennaio 1970 al momento in cui la password \(`e stata cambiata l\*(Aqultima volta\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_min \- giorni prima dei quali la password non pu\(`o essere cambiata\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_max \- giorni dopo i quali la password deve essere cambiata\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_warn \- giorni prima della scadenza della password in cui l\*(Aqutente viene avvertito\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_inact \- giorni dopo la scadenza della password dopo i quali l\*(Aqaccount viene considerato inattivo e disabilitato\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_expire \- giorni a partire dal 1 gennaio 1970 dopo i quali l\*(Aqaccount viene disabilitato\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_flag \- riservato per uso futuro\&. -.RE -.SH "DESCRIZIONE" -.PP -\fIgetspent\fR, -\fIgetspname\fR, -\fIfgetspent\fR -e -\fIsgetspent\fR -restituiscono tutte un puntatore a uno -\fIstruct spwd\fR\&. -\fIgetspent\fR -restituisce la voce successiva nel file, -\fIfgetspent\fR -la voce successiva nello stream specificato, che si suppone sia un file nel formato corretto\&. -\fIsgetspent\fR -restituisce un puntatore a uno -\fIstruct spwd\fR -usando come input la stringa fornita\&. -\fIgetspnam\fR -cerca una voce che corrisponde a -\fIname\fR -partendo dalla posizione corrente nel file\&. -.PP -\fIsetspent\fR -e -\fIendspent\fR -sono usate rispettivamente per iniziare e terminare l\*(Aqaccesso al file delle password shadow\&. -.PP -Le funzioni -\fIlckpwdf\fR -e -\fIulckpwdf\fR -si usano per garantire l\*(Aqaccesso esclusivo al file -/etc/shadow\&. -\fIlckpwdf\fR -prova ad acquisire il lock tramite -\fIpw_lock\fR -per un massimo di 15 secondi, dopodich\('e tenta di ottenere un secondo lock usando -\fIspw_lock\fR -per il tempo che rimane dei 15 secondi iniziali\&. Se anche uno solo dei due tentativi fallisce dopo un totale di 15 secondi, -\fIlckpwdf\fR -restituisce \-1, mentre restituisce 0 se riesce ad acquisire entrambi i lock\&. -.SH "DIAGNOSTICA" -.PP -Le funzioni restituiscono NULL se non ci sono altre voci disponibili o se si verifica un errore durante l\*(Aqelaborazione\&. Le funzioni di tipo -\fIint\fR -restituiscono 0 in caso di successo e \-1 in caso di errore\&. -.SH "AVVISI/CAVEAT" -.PP -Queste funzioni possono essere usate solo dall\*(Aqamministratore, perch\('e l\*(Aqaccesso al file delle password shadow \(`e riservato\&. -.SH "FILE" -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBgetpwent\fR(3), -\fBshadow\fR(5)\&. diff --git a/man/it/man5/faillog.5 b/man/it/man5/faillog.5 deleted file mode 100644 index dd9a2b2e..00000000 --- a/man/it/man5/faillog.5 +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formati di file e conversioni -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "FAILLOG" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formati di file e conversioni" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -faillog \- file di log degli accessi falliti -.SH "DESCRIZIONE" -.PP -/var/log/faillog -mantiene un contatore di accessi falliti e dei vari limiti per ogni account\&. -.PP -Questo file \(`e composto da record di lunghezza fissa, indicizzati dal valore numerico di UID\&. Ciascun record contiene il conteggio degli accessi falliti a partire dall\*(Aqultimo login corretto, il numero massimo di tentativi permessi prima che l\*(Aqaccount venga disabilitato, il terminale sul quale l\*(Aqultimo tentativo fallito \(`e avvenuto, la data in cui \(`e avvenuto, e infine il periodo (in secondi) durante il quale l\*(Aqaccount verr\(`a bloccato a seguito di un fallimento\&. -.PP -La struttura del file \(`e la seguente: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct faillog { - short fail_cnt; - short fail_max; - char fail_line[12]; - time_t fail_time; - long fail_locktime; -}; -.fi -.if n \{\ -.RE -.\} -.SH "FILE" -.PP -/var/log/faillog -.RS 4 -File per tracciare gli accessi falliti\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBfaillog\fR(8) diff --git a/man/it/man5/gshadow.5 b/man/it/man5/gshadow.5 deleted file mode 100644 index 327f9848..00000000 --- a/man/it/man5/gshadow.5 +++ /dev/null @@ -1,101 +0,0 @@ -'\" t -.\" Title: gshadow -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formati di file e conversioni -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "GSHADOW" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formati di file e conversioni" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -gshadow \- file shadow per i gruppi -.SH "DESCRIZIONE" -.PP -\fI/etc/gshadow\fR -contiene le informazioni shadow sugli account di gruppo\&. -.PP -Questo file non deve essere leggibile dagli utenti normali se si vuole mantenere la sicurezza sulle password\&. -.PP -Ogni riga di questo file contiene questi campi separati da due punti: -.PP -\fBnome del gruppo\fR -.RS 4 -Deve essere un nome di gruppo valido, che esista nel sistema\&. -.RE -.PP -\fBpassword cifrata\fR -.RS 4 -Fare riferimento a -\fBcrypt\fR(3) -per dettagli sul modo in cui questa stringa viene interpretata\&. -.sp -Se il campo password contiene un testo che non sia un risultato valido di -\fBcrypt\fR(3), ad esempio ! o *, gli utenti non potranno accedere a quel gruppo utilizzando la password unix (ma i membri del gruppo non necessitano di password)\&. -.sp -The password is used when a user who is not a member of the group wants to gain the permissions of this group (see -\fBnewgrp\fR(1))\&. -.sp -Questo campo pu\(`o essere vuoto, nel qual caso solo i membri del gruppo possono ottenere i permessi del gruppo\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.sp -Questa password ha la precedenza su ogni altra specificata in -/etc/group\&. -.RE -.PP -\fBamministratori\fR -.RS 4 -Deve essere una lista di nomi utente separati da virgole\&. -.sp -Gli amministratori possono cambiare la password o i membri del gruppo\&. -.sp -Gli amministratori hanno anche gli stessi permessi dei membri (vedere sotto), -.RE -.PP -\fBmembri\fR -.RS 4 -Deve essere una lista di nomi utente separati da virgole\&. -.sp -I membri possono accedere al gruppo senza che ne sia richiesta la password\&. -.sp -Si dovrebbe utilizzare la stessa lista di utenti di -/etc/group\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBgpasswd\fR(5), -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBgrpconv\fR(8), -\fBnewgrp\fR(1)\&. diff --git a/man/it/man5/limits.5 b/man/it/man5/limits.5 deleted file mode 100644 index d8a5056a..00000000 --- a/man/it/man5/limits.5 +++ /dev/null @@ -1,276 +0,0 @@ -'\" t -.\" Title: limits -.\" Author: Luca Berra -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formati di file e conversioni -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "LIMITS" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formati di file e conversioni" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -limits \- definizione dei limiti di risorsa -.SH "DESCRIZIONE" -.PP -Il file -\fIlimits\fR -(/etc/limits -o quanto definito da LIMITS_FILE in -config\&.h) descrive i limiti di risorsa che si vuole imporre\&. Deve essere di propriet\(`a di root e leggibile solo dall\*(Aqaccount root\&. -.PP -In maniera predefinita non c\*(Aq\(`e nessun limite alla quota di \(Foroot\(Fc\&. In effetti non c\*(Aq\(`e nessun modo per imporre una quota massima tramite questa procedura agli account equivalenti a root (cio\(`e tutti quelli con UID 0)\&. -.PP -Ogni riga descrive un limite per l\*(Aqutente in questo formato: -.PP -\fIutente TESTO_LIMITE\fR -.PP -oppure nel formato: -.PP -\fI@gruppo TESTO_LIMITE\fR -.PP -Dove -\fITESTO_LIMITE\fR -\(`e un testo dato dalla concatenazione di vari limiti di risorsa\&. Ogni limite consiste di una lettera identificativa seguita dal limite numerico\&. -.PP -Gli identificatori validi sono: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -A: spazio massimo di indirizzamento (kB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -C: dimensione massima dei file \(Focore\(Fc (kB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -D: spazio massimo per i dati (kB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -F: maximum file size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -K: maschera dei permessi per i file creati, impostata da -\fBumask\fR(2)\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -I: massimo valore di \(Fonice\(Fc (0\&.\&.39 che viene tradotto in 20\&.\&.\-19) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -L: massimo numero di accessi per questo utente -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -M: massima quantit\(`a di memoria bloccata (della quale non si pu\(`o fare \(Foswap\(Fc) (kB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -N: numero massimo di file aperti -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -O: massima priorit\(`a \(Foreal time\(Fc -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -P: priorit\(`a di processo, impostata con -\fBsetpriority\fR(2)\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -R: massimo \(Foresident set size\(Fc (kB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -S: dimensione massima della pila (kB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -T: quantit\(`a massima di tempo CPU (MIN) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -U: massimo numero di processi -.RE -.PP -Ad esempio, -\fIL2D2048N5\fR -\(`e uno testo valido per -\fITESTO_LIMITE\fR\&. Per sempicit\(`a di lettura le seguenti scritture sono equivalenti: -.sp -.if n \{\ -.RS 4 -.\} -.nf - nomeutente L2D2048N5 - nomeutente L2 D2048 N5 - -.fi -.if n \{\ -.RE -.\} -.PP -Be aware that after -\fIusername\fR -the rest of the line is considered a limit string, thus comments are not allowed\&. An invalid limits string will be rejected (not considered) by the -\fBlogin\fR -program\&. -.PP -L\*(Aqimpostazione predefinita \(`e quella che ha come nome utente \(Fo\fI*\fR\(Fc\&. Se si hanno varie righe -\fIpredefinite\fR -nel file -\fILIMITS_FILE\fR -verr\(`a utilizzata solo l\*(Aqultima\&. -.PP -I limiti specificati nella forma \(Fo\fI@gruppo\fR\(Fc si applicano ai membri del -\fIgruppo\fR -specificato\&. -.PP -If more than one line with limits for a user exist, only the first line for this user will be considered\&. -.PP -If no lines are specified for a user, the last -\fI@group\fR -line matching a group whose the user is a member of will be considered, or the last line with default limits if no groups contain the user\&. -.PP -Per eliminare completamente l\*(Aqimpostazione di limiti per un certo utente, si pu\(`o utilizzare \(Fo\fI\-\fR\(Fc\&. -.PP -Per disabilitare i limiti per un utente, un singolo trattino \(Fo\fI\-\fR\(Fc pu\(`o essere utilizzato al posto del valore numerico del limite\&. -.PP -Notare inoltre che tutte queste impostazioni sono effettuate ad ogni accesso\&. Non si tratta di impostazioni globali n\('e permanenti\&. Forse limiti globali saranno possibili in futuro, ma per ora devono bastare questi ;) -.SH "FILE" -.PP -/etc/limits -.RS 4 -.RE -.SH "VEDERE ANCHE" -.PP -\fBlogin\fR(1), -\fBsetpriority\fR(2), -\fBsetrlimit\fR(2)\&. diff --git a/man/it/man5/login.access.5 b/man/it/man5/login.access.5 deleted file mode 100644 index b4180628..00000000 --- a/man/it/man5/login.access.5 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: login.access -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formati di file e conversioni -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "LOGIN\&.ACCESS" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formati di file e conversioni" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -login.access \- tabella di controllo accessi -.SH "DESCRIZIONE" -.PP -Il file -\fIlogin\&.access\fR -specifica le combinazioni (utente, macchina) e/o (utente, terminale) per le quali un accesso sia accettato o rifiutato\&. -.PP -Quando avviene un accesso, il file -.PP -Ogni riga della tabella di controllo degli accessi ha tre campi separati dal carattere \(Fo:\(Fc: -.PP -\fIpermesso\fR:\fIutenti\fR:\fIorigini\fR -.PP -Il primo campo dovrebbe essere il carattere \(Fo\fI+\fR\(Fc (accesso concesso) o \(Fo\fI\-\fR\(Fc (accesso negato)\&. Il secondo campo dovrebbe essere un elenco di nomi utente o gruppi oppure -\fIALL\fR -(sempre vero)\&. Il terzo campo dovrebbe essere una lista di uno o pi\(`u nomi di terminale (per accesso locale), nomi di macchina, nomi di dominio (con il carattere \(Fo\&.\(Fc all\*(Aqinizio), indirizzi di macchina, numeri di rete internet (termina con il carattere \(Fo\&.\(Fc), -\fIALL\fR -(sempre vero) oppure -\fILOCAL\fR -(corrisponde a ogni testo che non contenga il carattere \(Fo\&.\(Fc)\&. Se si usa NIS si pu\(`o usare @nomenetgroup come nome macchina o utente\&. -.PP -L\*(Aqoperatore -\fIEXCEPT\fR -permette di scrivere regole molto compatte\&. -.PP -La ricerca nel file dei gruppi avviene solo quando il nome non corrisponde a quello dell\*(Aqutente che accede\&. I gruppi che possono corrispondere sono solo quelli nei quali l\*(Aqutente \(`e esplicitamente elencato: il programma non controlla l\*(Aqid del gruppo primario dell\*(Aqutente\&. -.SH "FILE" -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.SH "VEDERE ANCHE" -.PP -\fBlogin\fR(1)\&. diff --git a/man/it/man5/login.defs.5 b/man/it/man5/login.defs.5 deleted file mode 100644 index 28996218..00000000 --- a/man/it/man5/login.defs.5 +++ /dev/null @@ -1,824 +0,0 @@ -'\" t -.\" Title: login.defs -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formati di file e conversioni -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "LOGIN\&.DEFS" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formati di file e conversioni" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -login.defs \- configurazione del pacchetto password shadow -.SH "DESCRIZIONE" -.PP -Il file -/etc/login\&.defs -contiene la configurazione specifica per questo sistema relativa al pacchetto password shadow\&. Questo file \(`e obbligatorio\&. La sua assenza non bloccer\(`a l\*(Aqutilizzo del sistema, ma probabilmente sar\(`a causa di risultati non desiderati\&. -.PP -Questo file \(`e un file di testo leggibile nel quale ogni riga descrive un parametro di configurazione\&. Le righe consistono di una coppia nome valore separati da spazi\&. Le righe vuote e di commento sono ignorate\&. I commenti iniziano con con il simbolo "#" che deve essere il primo carattere diverso da spazio della riga\&. -.PP -I valori dei parametri possono essere di quattro tipi: testo, booleano, numerico e numerico lungo\&. Un testo pu\(`o contenere qualsiasi carattere stampabile\&. Un booleano dovrebbe essere uno tra -\fIyes\fR -e -\fIno\fR\&. Un parametro dal valore booleano non definito oppure uno che ha un valore diverso da quelli permessi verr\(`a equiparato al valore -\fIno\fR\&. I numerici (sia normali che lunghi) possono essere decimali, ottali (preceduti da -\fI0\fR) o esadecimali (preceduti da -\fI0x\fR)\&. Il valore massimo dei numerici normali e lunghi \(`e dipendente dalla macchina\&. -.PP -Sono forniti i seguenti parametri di configurazione: -.PP -\fBCHFN_AUTH\fR (booleano) -.RS 4 -Se -\fIyes\fR, il programma -\fBchfn\fR -richieder\(`a l\*(Aqautenticazione prima di apportare qualsiasi modifica, a meno che non sia eseguito dal super utente\&. -.RE -.PP -\fBCHFN_RESTRICT\fR (testo) -.RS 4 -Questo parametro specifica quali valori del campo -\fIgecos\fR -del file -/etc/passwd -possono essere cambiati da utenti normali usando il programma -\fBchfn\fR\&. Pu\(`o essere una combinazione qualsiasi delle lettere -\fIf\fR, -\fIr\fR, -\fIw\fR, -\fIh\fR -per \(FoNome completo (f)\(Fc, \(FoNumero stanza (r)\(Fc, \(FoTelefono di lavoro (w)\(Fc e \(FoTelefono di casa (h)\(Fc\&. Per compatibilit\(`a con precedenti versioni, -\fIyes\fR -\(`e quivalente a -\fIrwh\fR -e -\fIno\fR -\(`e equivalente a -\fIfrwh\fR\&. Se non specificato, solo il super utente pu\(`o effettuare modifiche\&. Le impostazioni pi\(`u stringenti si ottengono installando -\fBchfn\fR -non SUID\&. -.RE -.PP -\fBCHSH_AUTH\fR (booleano) -.RS 4 -Se -\fIyes\fR, il comando -\fBchsh\fR -richieder\(`a l\*(Aqautenticazione prima di apportare qualsiasi modifica, a meno che sia utilizzato dal super utente\&. -.RE -.PP -\fBCONSOLE\fR (testo) -.RS 4 -Se definito, o il percorso completo di un file che contiene l\*(Aqelenco di nomi di device (uno per riga) oppure un elenco di nomi di device separati da \(Fo:\(Fc\&. L\*(Aqaccesso come root verr\(`a permesso solo attraverso questi device\&. -.sp -Se non definito, root potr\(`a accedere da qualsiasi device\&. -.sp -Il nome di device deve essere specificato senza il prefisso /dev\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (testo) -.RS 4 -Elenco di gruppi da aggiungere ai gruppi supplementari dell\*(Aqutente quando questi accede dalla console (come determinato dalla impostazione CONSOLE)\&. Il valore predefinito \(`e nullo\&. - -Usare con cautela \- \(`e possibile che gli utenti ottengano l\*(Aqaccesso permanente a questi gruppi anche se non accedono dalla console\&. -.RE -.PP -\fBCREATE_HOME\fR (booleano) -.RS 4 -Indica se per i nuovi utenti va creata la directory home\&. -.sp -Questa impostazione non viene applicata agli utenti di sistema e pu\(`o essere modificata sulla riga di comando\&. -.RE -.PP -\fBDEFAULT_HOME\fR (booleano) -.RS 4 -Indica se permettere l\*(Aqaccesso al sistema anche se non si pu\(`o accedere alla directory home\&. Il valore predefinito \(`e no\&. -.sp -Se impostato a -\fIyes\fR, l\*(Aqutente acceder\(`a alla directory root (/) nel caso che non sia possibile accedere alla propria directory home\&. -.RE -.PP -\fBENCRYPT_METHOD\fR (testo) -.RS 4 -Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne viene specificato uno a riga di comando)\&. -.sp -Pu\(`o avere uno dei seguenti valori: -\fIDES\fR -(predefinito), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Nota: questo parametro ha la precedenza sulla variabile -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBENV_HZ\fR (testo) -.RS 4 -Se impostato viene utilizzato per definire il valore della variabile d\*(Aqambiente HZ al login dell\*(Aqutente\&. Il valore deve essere preceduto da -\fIHZ=\fR\&. Un valore comune per Linux \(`e -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_PATH\fR (testo) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (testo) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (testo) -.RS 4 -Se impostato viene usato per definire la variabile d\*(Aqambiente TZ al login dell\*(Aqutente\&. Il valore pu\(`o essere il nome di una \(Fotimezone\(Fc preceduta da -\fITZ=\fR -(ad esempio -\fITZ=CST6CDT\fR), o il percorso completo di un file che contenga la specifica della \(Fotimezone\(Fc (ad esempio -/etc/tzname)\&. -.sp -Se viene specificato il percorso completo di un file che per\(`o non esiste o non pu\(`o essere letto, allora viene utilizzato il valore predefinito -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (testo) -.RS 4 -Se questo file esiste ed \(`e leggibile, l\*(Aqambiente di login viene letto da l\(`i\&. Ogni riga deve essere nella forma nome=valore\&. -.sp -Le righe che iniziano con \(Fo#\(Fc sono trattate come commenti e ignorate\&. -.RE -.PP -\fBERASECHAR\fR (numerico) -.RS 4 -Carattere ERASE del terminale (\fI010\fR -= backspace, -\fI0177\fR -= Canc)\&. -.sp -Il valore deve avere il prefisso \(Fo0\(Fc se in ottale, o \(Fo0x\(Fc se esadecimale\&. -.RE -.PP -\fBFAIL_DELAY\fR (numerico) -.RS 4 -Numero di secondi prima che venga concesso un ulteriore tentativo dopo un accesso fallito\&. -.RE -.PP -\fBFAILLOG_ENAB\fR (booleano) -.RS 4 -Abilita la memorizzazione e mostra le informazioni sugli accessi falliti contenute in -/var/log/faillog\&. -.RE -.PP -\fBFAKE_SHELL\fR (testo) -.RS 4 -Se impostato, -\fBlogin\fR -eseguir\(`a questa shell al posto di quella utente specificata in -/etc/passwd\&. -.RE -.PP -\fBFTMP_FILE\fR (testo) -.RS 4 -Se impostato, gli accessi falliti verranno tracciati in questo file nel formato utmp\&. -.RE -.PP -\fBGID_MAX\fR (numerico), \fBGID_MIN\fR (numerico) -.RS 4 -Intervallo di ID di gruppo per la creazione di gruppi normali tramite -\fBuseradd\fR, -\fBgroupadd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBGID_MIN\fR -(rispettivamente -\fBGID_MAX\fR) \(`e 1000 (rispettivmente 60000)\&. -.RE -.PP -\fBHUSHLOGIN_FILE\fR (testo) -.RS 4 -Se definito, questo file inibisce quanto stampato durante l\*(Aqaccesso\&. Se viene specificato un percorso completo, la modalit\(`a silenziosa (hushed) viene attivata se in quel file \(`e presente il nome dell\*(Aqutente o della shell dell\*(Aqutente\&. Se il percorso non \(`e completo, allora la modalit\(`a silenziosa viene attivata se quel file \(`e presente nella directory home dell\*(Aqutente\&. -.RE -.PP -\fBISSUE_FILE\fR (testo) -.RS 4 -Se definito, il file verr\(`a mostrato prima del prompt di login\&. -.RE -.PP -\fBKILLCHAR\fR (numerico) -.RS 4 -Il carattere da usare sul terminale per cancellare l\*(Aqintera riga (\fI025\fR -= CTRL\-U) -.sp -Il valore deve avere il prefisso \(Fo0\(Fc se in ottale, o \(Fo0x\(Fc se esadecimale\&. -.RE -.PP -\fBLASTLOG_ENAB\fR (booleano) -.RS 4 -Abilita la memorizzazione e la stampa delle informazioni sulle date degli ultimi accessi in /var/log/lastlog\&. -.RE -.PP -\fBLOG_OK_LOGINS\fR (booleano) -.RS 4 -Abilita la tracciatura degli accessi avvenuti con successo\&. -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (booleano) -.RS 4 -Abilita l\*(Aqinclusione dei nomi utente sconosciuti quando si registrano gli accessi falliti\&. -.sp -Nota: memorizzare i nomi sconosciuti potrebbe diventare un problema legato alla sicurezza se un utente inserisce la propria password al posto del nome utente\&. -.RE -.PP -\fBLOGIN_RETRIES\fR (numerico) -.RS 4 -Massimo numero di tentativi di accesso per password errata\&. -.RE -.PP -\fBLOGIN_STRING\fR (testo) -.RS 4 -Il testo da utilizzare per richiedere la password\&. Il valore predefinito \(`e \(FoPassword: \(Fc o una sua traduzione\&. Se si imposta questa variabile allora il testo non verr\(`a tradotto\&. -.sp -Se il testo contiene -\fI%s\fR, questo verr\(`a sostituito dal nome dell\*(Aqutente\&. -.RE -.PP -\fBLOGIN_TIMEOUT\fR (numerico) -.RS 4 -Numero massimo di secondi per l\*(Aqaccesso\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (testo) -.RS 4 -Abilita la verifica e stampa a video dello stato della casella di posta al momento dell\*(Aqaccesso al sistema\&. -.sp -Andrebbe disabilitato se i file di avvio della shell effettuano gi\(`a questo controllo (\(Fomailx \-e\(Fc o equivalente)\&. -.RE -.PP -\fBMAIL_DIR\fR (testo) -.RS 4 -La directory di spool per la posta\&. Questa \(`e necessaria per manipolare la casella di posta quando il corrispondente account utente viene modificato o cancellato\&. Se non \(`e specificata viene utilizzato un valore impostato al momento della compilazione\&. -.RE -.PP -\fBMAIL_FILE\fR (testo) -.RS 4 -Imposta la posizione delle caselle di posta degli utenti relative alla loro directory home\&. -.RE -.PP -Le variabili -\fBMAIL_DIR\fR -e -\fBMAIL_FILE\fR -vengono utilizzate da -\fBuseradd\fR, -\fBusermod\fR -e -\fBuserdel\fR -per creare, spostare e cancellare le caselle di posta dell\*(Aqutente\&. -.PP -Se -\fBMAIL_CHECK_ENAB\fR -\(`e impostata a -\fIyes\fR -allora sono anche utilizzate per impostare la variabile d\*(Aqambiente -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (booleano) -.RS 4 -Indica se le password vanno cifrate usando l\*(Aqalgoritmo basato su MD5\&. Se impostato a -\fIyes\fR -le nuove password saranno cifrate usando un algoritmo basato su MD5 e compatibile con quello delle versioni pi\(`u recenti di FreeBSD\&. Supporta password di lunghezza qualsiasi e testi \(Fosalt\(Fc pi\(`u lunghi\&. Impostare a -\fIno\fR -se si devono copiare password su altri sistemi che non gestiscono l\*(Aqalgoritmo\&. Il valore predefinito \(`e -\fIno\fR\&. -.sp -Questa variabile ha meno priorit\(`a della variabile -\fBENCRYPT_METHOD\fR -e di qualsiasi opzione a riga di comando che imposta un algoritmo di cifratura\&. -.sp -Questa variabile non \(`e pi\(`u usata\&. Si dovrebbe utilizzare -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBMOTD_FILE\fR (testo) -.RS 4 -Se definito \(`e una lista di nomi di file con \(Fomessaggi del giorno\(Fc separati da \(Fo:\(Fc che vengono mostrati subito dopo l\*(Aqaccesso\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (testo) -.RS 4 -Se definito \(`e il nome di un file che impedisce l\*(Aqaccesso degli utenti non root\&. Il suo contenuto dovrebbe essere un messaggio che indica il motivo per il quale l\*(Aqaccesso \(`e impedito\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (booleano) -.RS 4 -Abilita controlli addizionali durante il cambio password\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (booleano) -.RS 4 -Avvisa riguardo password deboli (anche se le permette egualmente) se si \(`e root\&. -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (numerico) -.RS 4 -Massimo numero di tentativi per cambiare una password (troppo facile)\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (numerico) -.RS 4 -Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la password \(`e pi\(`u vecchia verr\(`a imposto il suo cambiamento\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (numerico) -.RS 4 -Il numero minimo di giorni tra due cambiamenti di password\&. Ogni tentativo di cambiare la password prima di questo periodo verr\(`a rifiutato\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (numerico) -.RS 4 -Il numero di giorni per i quali un utente va avvisato che la sua password sta per scadere\&. Se zero l\*(Aqutente viene avvisato solo alla scadenza\&. Un valore negativo indica che non si deve avvisare mai\&. Se non specificato allora non c\*(Aq\(`e nessun avviso\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR, -\fBPASS_MIN_DAYS\fR -e -\fBPASS_WARN_AGE\fR -sono utilizzate solo al momento della creazione dell\*(Aqaccount\&. Qualsiasi cambiamento di queste impostazioni non modifica gli account preesistenti\&. -.PP -\fBPASS_MAX_LEN\fR (numerico), \fBPASS_MIN_LEN\fR (numerico) -.RS 4 -Numero di caratteri significativi della password per crypt()\&. -\fBPASS_MAX_LEN\fR -\(`e normalmente 8\&. Da non cambiare a meno che la propria crypt() sia migliore\&. Questo viene ignorato se -\fBMD5_CRYPT_ENAB\fR -\(`e impostata a -\fIyes\fR\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (booleano) -.RS 4 -Abilita la verifica delle restrizioni temporali specificate in -/etc/porttime\&. -.RE -.PP -\fBQUOTAS_ENAB\fR (booleano) -.RS 4 -Abilita l\*(Aqimpostazione di limiti di risorsa definiti in -/etc/limits -e ulimit, umask e livello di \(Fonice\(Fc in base al campo gecos del passwd dell\*(Aqutente\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (numerico), \fBSHA_CRYPT_MAX_ROUNDS\fR (numerico) -.RS 4 -Quando -\fBENCRYPT_METHOD\fR -vale -\fISHA256\fR -o -\fISHA512\fR, questo definisce il numero di cicli SHA usati per l\*(Aqalgoritmo di cifratura (quando il numero di cicli non \(`e impostato a riga di comando)\&. -.sp -Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&. -.sp -Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&. -.sp -Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&. -.sp -Se viene impostato solo uno tra -\fBSHA_CRYPT_MIN_ROUNDS\fR -e -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora l\*(Aqunico valore viene utilizzato\&. -.sp -Se -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora viene utilizzato il maggiore\&. -.RE -.PP -\fBSULOG_FILE\fR (testo) -.RS 4 -Se definito, tutta l\*(Aqattivit\(`a di \(Fosu\(Fc viene tracciata in questo file\&. -.RE -.PP -\fBSU_NAME\fR (testo) -.RS 4 -Se definito \(`e il nome del comando da mostrare quando si esegue \(Fosu \-\(Fc\&. Ad esempio, se lo di definisce come \(Fosu\(Fc allora \(Fops\(Fc mostrer\(`a che il comando \(`e \(Fo\-su\(Fc\&. Se non definito, \(Fops\(Fc mostrer\(`a il nome della shell invocata, come \(Fo\-sh\(Fc\&. -.RE -.PP -\fBSU_WHEEL_ONLY\fR (booleano) -.RS 4 -Se -\fIyes\fR, l\*(Aqutente deve essere elencato come membro del primo gruppo con gid 0 in -/etc/group -(chiamato -\fIroot\fR -in molti sistemi Linux) perch\('e sia possibile usare -\fBsu\fR -verso account con uid 0\&. Se il gruppo non esiste o \(`e vuoto, nessuno potr\(`a utilizzare -\fBsu\fR -verso uid 0\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (numerico), \fBSYS_GID_MIN\fR (numerico) -.RS 4 -Intervallo di ID di gruppo utilizzato per la creazione di un gruppo di sistema da -\fBuseradd\fR, -\fBgroupadd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBSYS_GID_MIN\fR -(rispettivamente -\fBSYS_GID_MAX\fR) \(`e 101 (rispettivamente -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (numerico), \fBSYS_UID_MIN\fR (numerico) -.RS 4 -Intervallo di ID utente per la creazione degli utenti di sistema con -\fBuseradd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBSYS_UID_MIN\fR -(rispettivamente -\fBSYS_UID_MAX\fR) \(`e 101 (rispettivamente -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBSYSLOG_SG_ENAB\fR (booleano) -.RS 4 -Abilita il tracciamento dell\*(Aqattivit\(`a di -\fBsg\fR -su \(Fosyslog\(Fc\&. -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (booleano) -.RS 4 -Abilita la tracciatura su \(Fosyslog\(Fc dell\*(Aqattivit\(`a di -\fBsu\fR, oltre a quella sul file \(Fosulog\(Fc\&. -.RE -.PP -\fBTTYGROUP\fR (testo), \fBTTYPERM\fR (testo) -.RS 4 -I permessi del terminale: il tty usato per l\*(Aqaccesso sar\(`a di propriet\(`a del gruppo -\fBTTYGROUP\fR -e avr\(`a permessi impostati a -\fBTTYPERM\fR\&. -.sp -In maniera predefinita la propriet\(`a del terminale sar\(`a impostata al gruppo primario dell\*(Aqutente, mentre i permessi saranno -\fI0600\fR\&. -.sp -\fBTTYGROUP\fR -pu\(`o essere il nome del gruppo o il suo identificativo numerico\&. -.sp -Se si ha il comando -\fBwrite\fR -che \(`e \(Fosetgid\(Fc e ha un gruppo speciale che possiede i terminali, definire TTYGROUP con lo stesso gruppo e TTYPERM a 0620\&. Altrimenti lasciare TTYGROUP commentato e assegnare TTYPERM a 622 o 600\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (testo) -.RS 4 -Se definito si tratta di un file che mappa le linee tty nella variabile d\*(Aqambiente TERM\&. Ogni riga del file \(`e in un formato tipo \(Fovt100 tty01\(Fc\&. -.RE -.PP -\fBUID_MAX\fR (numerico), \fBUID_MIN\fR (numerico) -.RS 4 -Intervallo di ID utente da utilizzare nella creazione degli utenti normali tramite -\fBuseradd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBUID_MIN\fR -(rispettivamente -\fBUID_MAX\fR) \(`e 1000 (rispettivamente 60000)\&. -.RE -.PP -\fBULIMIT\fR (numerico) -.RS 4 -Valore -\fBulimit\fR -predefinito\&. -.RE -.PP -\fBUMASK\fR (numerico) -.RS 4 -La maschera di permessi alla creazione dei file \(`e inizializzata con questo valore\&. Se non specificato la maschera viene impostata a 022\&. -.sp -\fBuseradd\fR -e -\fBnewusers\fR -usano questa maschera per impostare i permessi della directory home che creano\&. -.sp -Viene anche utilizzata da -\fBlogin\fR -per definire la maschera iniziale dell\*(Aqutente\&. Notare che questa maschera pu\(`o essere modificata dalla riga GECOS dell\*(Aqutente (se -\fBQUOTAS_ENAB\fR -\(`e impostato) o specificando un limite con l\*(Aqidentificativo -\fIK\fR -in -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERDEL_CMD\fR (testo) -.RS 4 -Se definito, questo comando viene eseguito quando si cancella un utente\&. Dovrebbe rimuovere tutti i compiti di stampa/cron/at di propriet\(`a dell\*(Aqutente da cancellare (passato come primo argomento)\&. -.sp -Il codice d\*(Aquscita restituito dallo script non \(`e preso in considerazione\&. -.sp -Ecco uno script di esempio che rimuove i job dell\*(Aqutente, sia di cron che at che di stampa: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# Verifica la presenza dell\*(Aqargomento obbligatorio -if [ $# != 1 ]; then - echo "Uso: $0 username" - exit 1 -fi - -# Rimuove i compiti di cron -crontab \-r \-u $1 - -# Rimuove i compiti di at -# Nota che verranno rimossi tutti i compiti di propriet\(`a dello stesso UID, -# anche se condiviso con un altro nome utente\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# Rimuove le stampe -lprm $1 - -# Finito\&. -exit 0 - -.fi -.if n \{\ -.RE -.\} -.RE -.PP -\fBUSERGROUPS_ENAB\fR (booleano) -.RS 4 -Abilita l\*(Aqimpostazione dei bit di gruppo di umask in modo che siano gli stessi dei bit del proprietario (esempio: 022 \-> 002, 077 \-> 007) per utenti non root a condizione che uid e gid siano identici e che il nome utente sia lo stesso del gruppo primario\&. -.sp -Se impostato a -\fIyes\fR, -\fBuserdel\fR -canceller\(`a il gruppo dell\*(Aqutente se non contiene altri membri, e -\fBuseradd\fR -creer\(`a automaticamente un gruppo con lo stesso nome dell\*(Aqutente\&. -.RE -.SH "RIFERIMENTI INCROCIATI" -.PP -I seguenti riferimenti incrociati mostrano quali programmi del pacchetto shadow password utilizzano quali parametri\&. -.PP -chfn -.RS 4 -CHFN_AUTH -CHFN_RESTRICT -LOGIN_STRING -.RE -.PP -chgpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chpasswd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chsh -.RS 4 -CHSH_AUTH LOGIN_STRING -.RE -.PP -gpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -groupadd -.RS 4 -GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN -.RE -.PP -groupdel -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmems -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmod -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpck -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpunconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -login -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE -ERASECHAR FAIL_DELAY -FAILLOG_ENAB -FAKE_SHELL -FTMP_FILE -HUSHLOGIN_FILE -ISSUE_FILE -KILLCHAR -LASTLOG_ENAB -LOGIN_RETRIES -LOGIN_STRING -LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB -MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB QUOTAS_ENAB -TTYGROUP TTYPERM TTYTYPE_FILE -ULIMIT UMASK -USERGROUPS_ENAB -.RE -.PP -newgrp / sg -.RS 4 -SYSLOG_SG_ENAB -.RE -.PP -newusers -.RS 4 -ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -passwd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -pwck -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -pwconv -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -su -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENVIRON_FILE -ENV_PATH ENV_SUPATH -ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB -SULOG_FILE SU_NAME -SU_WHEEL_ONLY -SYSLOG_SU_ENAB -USERGROUPS_ENAB -.RE -.PP -sulogin -.RS 4 -ENV_HZ -ENV_TZ -.RE -.PP -useradd -.RS 4 -CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -userdel -.RS 4 -"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB -.RE -.PP -usermod -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP -.RE -.SH "VEDERE ANCHE" -.PP -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBsu\fR(1), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBpam\fR(8)\&. diff --git a/man/it/man5/passwd.5 b/man/it/man5/passwd.5 deleted file mode 100644 index 14e4f0bf..00000000 --- a/man/it/man5/passwd.5 +++ /dev/null @@ -1,177 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formati di file e conversioni -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "PASSWD" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formati di file e conversioni" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -passwd \- il file delle password -.SH "DESCRIZIONE" -.PP -/etc/passwd -contiene una riga per ogni account, con sette campi delimitati da due punti (\(Fo:\(Fc)\&. Questi campi sono: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -nome di login -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -password cifrata opzionale -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ID utente numerico -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ID gruppo numerico -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -nome utente o commento -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -directory home utente -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -interprete dei comandi utente opzionale -.RE -.PP -Il campo password cifrata pu\(`o essere vuoto, nel qual caso non viene richiesta nessuna password per autenticare lo specifico login\&. Tuttavia alcune applicazioni che leggono il file -/etc/passwd -possono decidere di non permettere -\fInessun\fR -accesso se il campo -\fIpassword\fR -\(`e vuoto\&. Se il campo -\fIpassword\fR -contiene solo una -\(Fox\(Fc -minuscola, la password cifrata \(`e invece memorizzata nel file -\fBshadow\fR(5); ci -\fIdeve\fR -essere una riga corrispondente nel file -/etc/shadow -altrimenti l\*(Aqaccount non sar\(`a valido\&. Se il campo -\fIpassword\fR -ha un qualsiasi altro contenuto allora viene trattato come password cifrata, come specificato da -\fBcrypt\fR(3)\&. -.PP -Il campo di commento \(`e utilizzato da vari strumenti di sistema come ad esempio -\fBfinger\fR(1)\&. -.PP -Il campo directory home fornisce il nome della directory di lavoro iniziale\&. Il programma -\fBlogin\fR -usa questa informazione per impostare il valore della variabile d\*(Aqambiente -\fB$HOME\fR\&. -.PP -Il campo interprete dei comandi fornisce il nome dell\*(Aqinterprete del linguaggio utente, o il nome del programma da invocare inizialmente\&. Il programma -\fBlogin\fR -utilizza questa informazione per impostare il valore della variabile d\*(Aqambiente -\fB$SHELL\fR\&. Se questo campo \(`e vuoto, il valore predefinito \(`e -/bin/sh\&. -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -file opzionale delle password cifrate -.RE -.PP -/etc/passwd\- -.RS 4 -Copia di backup di /etc/passwd\&. -.sp -Notare che questo file viene usato dagli strumenti del pacchetto shadow, ma non da tutti gli strumenti per la gestione di utenti e password\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBcrypt\fR(3), -\fBgetent\fR(1), -\fBgetpwnam\fR(3), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBshadow\fR(5), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/it/man5/porttime.5 b/man/it/man5/porttime.5 deleted file mode 100644 index 7f4ad3ca..00000000 --- a/man/it/man5/porttime.5 +++ /dev/null @@ -1,98 +0,0 @@ -'\" t -.\" Title: porttime -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formati di file e conversioni -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "PORTTIME" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formati di file e conversioni" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -porttime \- file delle porte e degli orari d\*(Aqaccesso -.SH "DESCRIZIONE" -.PP -\fIporttime\fR -contiene un elenco di device tty, nomi utente e orari di accesso permessi\&. -.PP -Ciascuna voce \(`e composta da tre campi separati da due punti\&. Il primo \(`e un elenco di device tty, separati da virgole, oppure un asterisco per indicare che la voce corrisponde a qualsiasi device\&. Il secondo campo \(`e un elenco di nomi utente, separati da virgole, oppure un asterisco per indicare che la voce corrisponde ad ogni utente\&. Il terzo campo \(`e un elenco degli orari, separati da virgole, in cui \(`e consentito l\*(Aqaccesso\&. -.PP -Un orario di accesso consiste in zero o pi\(`u giorni della settimana abbreviati in -\fIMo\fR -(luned\(`i), -\fITu\fR, -\fIWe\fR, -\fITh\fR, -\fIFr\fR, -\fISa\fR -e -\fISu\fR -(domenica), seguiti da una coppia di orari, separati da un trattino\&. L\*(Aqabbreviazione -\fIWk\fR -rappresenta tutti i giorni da luned\(`i a venerd\(`i, mentre -\fIAl\fR -indica tutti i giorni della settimana\&. Se non si specifica alcun giorno, viene usato implicitamente -\fIAl\fR\&. -.SH "ESEMPI" -.PP -La voce seguente permette l\*(Aqaccesso all\*(Aqutente -\fBjfh\fR -da qualsiasi porta durante i giorni lavorativi dalle 9 alle 17\&. -.PP -*:jfh:Wk0900\-1700 -.PP -Le voci seguenti permettono l\*(Aqaccesso solo agli utenti -\fIroot\fR -e -\fIoper\fR -da -/dev/console -a qualsiasi ora\&. Qui viene mostrato come il file -/etc/porttime -sia una lista ordinata di orari d\*(Aqaccesso: ogni altro utente corrisponderebbe alla seconda voce, che impedisce l\*(Aqaccesso in qualsiasi orario\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - console:root,oper:Al0000\-2400 - console:*: - -.fi -.if n \{\ -.RE -.\} -.PP -La voce seguente permette l\*(Aqaccesso all\*(Aqutente -\fIgames\fR -da qualsiasi porta durante gli orari non lavorativi\&. -.PP -*:games:Wk1700\-0900,SaSu0000\-2400 -.SH "FILE" -.PP -/etc/porttime -.RS 4 -File contenente gli accessi alle porte\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBlogin\fR(1)\&. diff --git a/man/it/man5/shadow.5 b/man/it/man5/shadow.5 deleted file mode 100644 index 27a12b75..00000000 --- a/man/it/man5/shadow.5 +++ /dev/null @@ -1,148 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formati di file e conversioni -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "SHADOW" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formati di file e conversioni" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -shadow \- file delle password shadow -.SH "DESCRIZIONE" -.PP -shadow -\(`e un file che contiene le informazioni sulle password per gli account degli utenti e, opzionalmente, le informazioni sulla durata delle password (\(Foaging\(Fc)\&. -.PP -Questo file non deve essere leggibile dagli utenti normali se si vuole mantenere la sicurezza sulle password\&. -.PP -Ciascuna riga di questo file contiene 9 campi separati da due punti (\(Fo:\(Fc), nel seguente ordine: -.PP -\fBnome di login\fR -.RS 4 -Deve essere un nome valido di un account esistente nel sistema\&. -.RE -.PP -\fBpassword cifrata\fR -.RS 4 -Fare riferimento a -\fBcrypt\fR(3) -per dettagli sul modo in cui questa stringa viene interpretata\&. -.sp -Se il campo password contiene un testo che non \(`e un risultato valido di -\fBcrypt\fR(3), come ad esempio ! o *, l\*(Aqutente non potr\(`a accedere al sistema utilizzando la password unix (ma potr\(`a accedere al sistema in altri modi)\&. -.sp -Questo campo pu\(`o essere vuoto, nel qual caso nessuna password \(`e richiesta per l\*(Aqautenticazione di questo specifico nome di login\&. Tuttavia alcune applicazioni che leggono -/etc/shadow -possono decidere di non permettere nessun accesso se il campo password \(`e vuoto\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.RE -.PP -\fBdata dell\*(Aqultimo cambio di password\fR -.RS 4 -Data dell\*(Aqultimo cambio di password espressa in numero di giorni a partire dal 1 gennaio 1970\&. -.sp -The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&. -.sp -Un campo vuoto implica che la scadenza della password \(`e disabilitata\&. -.RE -.PP -\fBet\(`a minima password\fR -.RS 4 -L\*(Aqet\(`a minima password \(`e il numero di giorni che l\*(Aqutente dovr\(`a attendere prima di poter cambiare nuovamente la propria password\&. -.sp -Un campo vuoto o con valore 0 indica che non c\*(Aq\(`e una et\(`a minima della password\&. -.RE -.PP -\fBet\(`a massima password\fR -.RS 4 -L\*(Aqet\(`a massima password \(`e il numero di giorni dopo il quale l\*(Aqutente deve cambiare la propria password\&. -.sp -Quando questo numero di giorni \(`e passato, la password pu\(`o ancora essere valida\&. All\*(Aqutente verr\(`a chiesto di cambiare la password durante il successivo accesso\&. -.sp -Un campo vuoto indica che non ci sono una et\(`a massima password, un periodo di avviso e nessun periodo di inattivit\(`a (vedere oltre)\&. -.sp -Se l\*(Aqet\(`a massima password \(`e minore dell\*(Aqet\(`a minima password, l\*(Aqutente non pu\(`o cambiare la propria password\&. -.RE -.PP -\fBperiodo avviso password\fR -.RS 4 -Il numero di giorni prima della scadenza di una password (vedere et\(`a massima password, sopra) durante il quale l\*(Aqutente riceve un avviso\&. -.sp -Un campo vuoto e il valore 0 indicano che non c\*(Aq\(`e un periodo di avviso password\&. -.RE -.PP -\fBperiodo inattivit\(`a password\fR -.RS 4 -Il numero di giorni dopo la scadenza della password (vedere et\(`a massima password, sopra) durante il quale la password \(`e ancora accettata (e l\*(Aqutente dovrebbe aggiornare la propria password al primo accesso)\&. -.sp -Dopo la scadenza della password e di questo periodo, l\*(Aqutente non potr\(`a accedere usando questa password, ma dovr\(`a contattare l\*(Aqamministratore\&. -.sp -Un campo vuoto implica che non \(`e applicato il periodo di inattivit\(`a\&. -.RE -.PP -\fBdata scadenza account\fR -.RS 4 -La data di scadenza dell\*(Aqaccount, espressa in numero di giorni dal 1 gennaio 1970\&. -.sp -Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&. -.sp -Un campo vuoto implica che l\*(Aqaccount non scade mai\&. -.sp -Il valore 0 non andrebbe usato perch\('e potrebbe essere interpretato come account che non scade o come scaduto il 1 gennaio 1970\&. -.RE -.PP -\fBcampo riservato\fR -.RS 4 -Questo campo \(`e riservato per uso futuro\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/shadow\- -.RS 4 -Copia di backup per /etc/shadow\&. -.sp -Notare che questo file viene usato dagli strumenti del pacchetto shadow, ma non da tutti gli strumenti per la gestione di utenti e password\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBchage\fR(1), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBsu\fR(1), -\fBsulogin\fR(8) diff --git a/man/it/man5/suauth.5 b/man/it/man5/suauth.5 deleted file mode 100644 index 7071cef8..00000000 --- a/man/it/man5/suauth.5 +++ /dev/null @@ -1,146 +0,0 @@ -'\" t -.\" Title: suauth -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Formati di file e conversioni -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "SUAUTH" "5" "18/09/2016" "shadow\-utils 4\&.4" "Formati di file e conversioni" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -suauth \- file di controllo dettagliato per \(Fosu\(Fc -.SH "SINOSSI" -.HP \w'\fB/etc/suauth\fR\ 'u -\fB/etc/suauth\fR -.SH "DESCRIZIONE" -.PP -Il file -/etc/suauth -viene utilizzato all\*(Aqinvocazione del comando \(Fosu\(Fc\&. Pu\(`o cambiare il comportamento del comando in base a: -.sp -.if n \{\ -.RS 4 -.\} -.nf - 1) the user su is targeting - -.fi -.if n \{\ -.RE -.\} -.PP -2) l\*(Aqutente che sta invocando \(Fosu\(Fc (o qualsiasi gruppo del quale questi faccia parte) -.PP -Il formato del file \(`e il seguente, con le righe che iniziano con \(Fo#\(Fc trattate come commenti e ignorate; -.sp -.if n \{\ -.RS 4 -.\} -.nf - id\-finale:id\-iniziale:AZIONE - -.fi -.if n \{\ -.RE -.\} -.PP -Dove \(Foid\-finale\(Fc \(`e la parola -\fIALL\fR -(tutti), un elenco di nomi utenti separati da \(Fo,\(Fc o le parole -\fIALL EXCEPT\fR -seguite da una lista di nomi utente separati da \(Fo,\(Fc\&. -.PP -from\-id is formatted the same as to\-id except the extra word -\fIGROUP\fR -is recognized\&. -\fIALL EXCEPT GROUP\fR -is perfectly valid too\&. Following -\fIGROUP\fR -appears one or more group names, delimited by ","\&. It is not sufficient to have primary group id of the relevant group, an entry in -\fB/etc/group\fR(5) -is necessary\&. -.PP -AZIONE pu\(`o essere una delle seguenti opzioni attualmente supportate\&. -.PP -\fIDENY\fR -.RS 4 -Il tentativo di usare \(Fosu\(Fc viene bloccato prima ancora che la password sia chiesta\&. -.RE -.PP -\fINOPASS\fR -.RS 4 -Il tentativo di usare \(Fosu\(Fc ha successo senza neppure chiedere la password\&. -.RE -.PP -\fIOWNPASS\fR -.RS 4 -Perch\('e \(Fosu\(Fc abbia successo, l\*(Aqutente deve inserire la propria password che verr\(`a espressamente richiesta\&. -.RE -.PP -Notare che ci sono tre campi diversi separati da \(Fo:\(Fc\&. Nessuno spazio deve affiancare i due punti\&. Notare anche che il file viene esaminato in maniera sequenziale una riga alla volta, e la prima regola applicabile viene utilizzata senza procede con la lettura delle successive\&. Questo permette all\*(Aqamministratore di sistema di impostare dei controlli allargati o puntuali, come preferisce\&. -.SH "ESEMPIO" -.sp -.if n \{\ -.RS 4 -.\} -.nf - # Esempio di file /etc/suauth - # - # Due utenti privilegiati possono usare - # su verso root con la propria password\&. - # - root:chris,birddog:OWNPASS - # - # Tutti gli altri non possono farlo a meno di non appartenere - # al groppo wheel\&. Questo \(`e come funziona in BSD\&. - # - root:ALL EXCEPT GROUP wheel:DENY - # - # Nel caso che terry e birddog siano account - # della stessa persona di permettere il passaggio - # tra loro senza richiedere la password\&. - # - terry:birddog:NOPASS - birddog:terry:NOPASS - # - -.fi -.if n \{\ -.RE -.\} -.SH "FILE" -.PP -/etc/suauth -.RS 4 -.RE -.SH "ERRORI" -.PP -Ce ne possono essere molti non visti\&. Il parser dei file \(`e particolarmente rigido sugli errori di sintassi, attendendo l\*(Aqassenza di spazi estranei (ad eccezione di inizio e fine riga) e specifici separatori per delimitare oggetti diversi\&. -.SH "DIAGNOSTICA" -.PP -Qualsiasi errore durante le lettura del file viene riportato tramite -\fBsyslogd\fR(8) -con livello ERR e \(Fofacility\(Fc AUTH\&. -.SH "VEDERE ANCHE" -.PP -\fBsu\fR(1)\&. diff --git a/man/it/man8/chgpasswd.8 b/man/it/man8/chgpasswd.8 deleted file mode 100644 index 9b0abe98..00000000 --- a/man/it/man8/chgpasswd.8 +++ /dev/null @@ -1,206 +0,0 @@ -'\" t -.\" Title: chgpasswd -.\" Author: Thomas K\(/loczko -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "CHGPASSWD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -chgpasswd \- aggiorna le password di gruppo in modalit\(`a non interattiva -.SH "SINOSSI" -.HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fIopzioni\fR] -.SH "DESCRIZIONE" -.PP -Il comando -\fBchgpasswd\fR -legge un elenco di coppie di nomi gruppo e password e usa queste informazioni per aggiornare un insieme di gruppi esistenti\&. Ciascuna riga usa il formato: -.PP -\fInome_gruppo\fR:\fIpassword\fR -.PP -Come impostazione predefinita la password deve essere in chiaro ed \(`e cifrata da -\fBchgpasswd\fR\&. -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -variable of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -Questo comando \(`e appositamente pensato per grossi sistemi in cui si abbia la necessit\(`a di creare molti account nello stesso momento\&. -.SH "OPZIONI" -.PP -Il comando -\fBchgpasswd\fR -accetta le seguenti opzioni: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -Utilizza il metodo specificato per cifrare le password\&. -.sp -I metodi disponibili sono DES, MD5, NONE e SHA256 o SHA512 se la propria libc lo consente\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -Le password fornite sono in forma cifrata\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -Usa la cifratura MD5 anzich\('e DES quando le password fornite non sono cifrate\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -Usa il numero specificato di cicli per cifrare la password\&. -.sp -Il valore 0 indica che il sistema utilizzer\(`a il numero predefinito di cicli per il metodo crypt (5000)\&. -.sp -I valori minimo di 1\&.000 e massimo di 999\&.999\&.999 sono forzati\&. -.sp -Si pu\(`o utilizzare questa opzione solo con i metodi di cifratura SHA256 o SHA512\&. -.sp -Il numero di cicli predefinito \(`e impostato con le variabili SHA_CRYPT_MIN_ROUNDS e SHA_CRYPT_MAX_ROUNDS nel file -/etc/login\&.defs\&. -.RE -.SH "AVVISI/CAVEAT" -.PP -Ricordarsi di impostare i permessi o umask in modo da prevenire la lettura in chiaro da parte di altri utenti\&. -.PP -Ci si deve accertare che le password e il metodo di cifratura rispettino le norme delle password del sistema\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBENCRYPT_METHOD\fR (testo) -.RS 4 -Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne viene specificato uno a riga di comando)\&. -.sp -Pu\(`o avere uno dei seguenti valori: -\fIDES\fR -(predefinito), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Nota: questo parametro ha la precedenza sulla variabile -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (booleano) -.RS 4 -Indica se le password vanno cifrate usando l\*(Aqalgoritmo basato su MD5\&. Se impostato a -\fIyes\fR -le nuove password saranno cifrate usando un algoritmo basato su MD5 e compatibile con quello delle versioni pi\(`u recenti di FreeBSD\&. Supporta password di lunghezza qualsiasi e testi \(Fosalt\(Fc pi\(`u lunghi\&. Impostare a -\fIno\fR -se si devono copiare password su altri sistemi che non gestiscono l\*(Aqalgoritmo\&. Il valore predefinito \(`e -\fIno\fR\&. -.sp -Questa variabile ha meno priorit\(`a della variabile -\fBENCRYPT_METHOD\fR -e di qualsiasi opzione a riga di comando che imposta un algoritmo di cifratura\&. -.sp -Questa variabile non \(`e pi\(`u usata\&. Si dovrebbe utilizzare -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (numerico), \fBSHA_CRYPT_MAX_ROUNDS\fR (numerico) -.RS 4 -Quando -\fBENCRYPT_METHOD\fR -vale -\fISHA256\fR -o -\fISHA512\fR, questo definisce il numero di cicli SHA usati per l\*(Aqalgoritmo di cifratura (quando il numero di cicli non \(`e impostato a riga di comando)\&. -.sp -Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&. -.sp -Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&. -.sp -Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&. -.sp -Se viene impostato solo uno tra -\fBSHA_CRYPT_MIN_ROUNDS\fR -e -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora l\*(Aqunico valore viene utilizzato\&. -.sp -Se -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora viene utilizzato il maggiore\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.SH "VEDERE ANCHE" -.PP -\fBgpasswd\fR(1), -\fBgroupadd\fR(8), -\fBlogin.defs\fR(5)\&. diff --git a/man/it/man8/chpasswd.8 b/man/it/man8/chpasswd.8 deleted file mode 100644 index 587ed921..00000000 --- a/man/it/man8/chpasswd.8 +++ /dev/null @@ -1,209 +0,0 @@ -'\" t -.\" Title: chpasswd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "CHPASSWD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -chpasswd \- aggiorna le password in modo non interattivo -.SH "SINOSSI" -.HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fIopzioni\fR] -.SH "DESCRIZIONE" -.PP -\fBchpasswd\fR -legge da standard input un elenco di coppie di nomi utente e password e usa queste informazioni per aggiornare un gruppo di utenti esistenti\&. Ciascuna riga usa il formato: -.PP -\fInome_utente\fR:\fIpassword\fR -.PP -Come impostazione predefinita, si devono fornire password in chiaro che vengono poi cifrate da -\fBchpasswd\fR\&. Vengono aggiornate, se presenti, anche le informazioni sulla durata delle password\&. -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -or -\fBMD5_CRYPT_ENAB\fR -variables of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -\fBchpasswd\fR -first updates all the passwords in memory, and then commits all the changes to disk if no errors occurred for any user\&. -.PP -Questo comando \(`e appositamente pensato per grossi sistemi in cui si abbia la necessit\(`a di creare molti account nello stesso momento\&. -.SH "OPZIONI" -.PP -Il comando -\fBchpasswd\fR -accetta le seguenti opzioni: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR\ \&\fIMETODO\fR -.RS 4 -Utilizza il metodo specificato per cifrare le password\&. -.sp -I metodi disponibili sono DES, MD5, NONE e SHA256 o SHA512 se la propria libc lo consente\&. -.sp -Normalmente (se nessuna delle opzioni -\fB\-c\fR, -\fB\-m\fR -o -\fB\-e\fR -viene specificata), il metodo di cifratura \(`e definito dalle variabili -\fBENCRYPT_METHOD\fR -o -\fBMD5_CRYPT_ENAB\fR -in -/etc/login\&.defs\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -Le password fornite sono in forma cifrata\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -Usa la cifratura MD5 anzich\('e DES quando le password fornite non sono cifrate\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fICICLI\fR -.RS 4 -Usa il numero specificato di cicli per cifrare la password\&. -.sp -Il valore 0 indica che il sistema utilizzer\(`a il numero predefinito di cicli per il metodo crypt (5000)\&. -.sp -I valori minimo di 1\&.000 e massimo di 999\&.999\&.999 sono forzati\&. -.sp -Si pu\(`o utilizzare questa opzione solo con i metodi di cifratura SHA256 o SHA512\&. -.sp -Il numero di cicli \(`e definito dalle variabili -\fBSHA_CRYPT_MIN_ROUNDS\fR -e -\fBSHA_CRYPT_MAX_ROUNDS\fR -in -/etc/login\&.defs\&. -.RE -.SH "AVVISI/CAVEAT" -.PP -Ricordarsi di impostare i permessi o umask in modo da prevenire la lettura in chiaro da parte di altri utenti\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBENCRYPT_METHOD\fR (testo) -.RS 4 -Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne viene specificato uno a riga di comando)\&. -.sp -Pu\(`o avere uno dei seguenti valori: -\fIDES\fR -(predefinito), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Nota: questo parametro ha la precedenza sulla variabile -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (booleano) -.RS 4 -Indica se le password vanno cifrate usando l\*(Aqalgoritmo basato su MD5\&. Se impostato a -\fIyes\fR -le nuove password saranno cifrate usando un algoritmo basato su MD5 e compatibile con quello delle versioni pi\(`u recenti di FreeBSD\&. Supporta password di lunghezza qualsiasi e testi \(Fosalt\(Fc pi\(`u lunghi\&. Impostare a -\fIno\fR -se si devono copiare password su altri sistemi che non gestiscono l\*(Aqalgoritmo\&. Il valore predefinito \(`e -\fIno\fR\&. -.sp -Questa variabile ha meno priorit\(`a della variabile -\fBENCRYPT_METHOD\fR -e di qualsiasi opzione a riga di comando che imposta un algoritmo di cifratura\&. -.sp -Questa variabile non \(`e pi\(`u usata\&. Si dovrebbe utilizzare -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (numerico), \fBSHA_CRYPT_MAX_ROUNDS\fR (numerico) -.RS 4 -Quando -\fBENCRYPT_METHOD\fR -vale -\fISHA256\fR -o -\fISHA512\fR, questo definisce il numero di cicli SHA usati per l\*(Aqalgoritmo di cifratura (quando il numero di cicli non \(`e impostato a riga di comando)\&. -.sp -Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&. -.sp -Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&. -.sp -Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&. -.sp -Se viene impostato solo uno tra -\fBSHA_CRYPT_MIN_ROUNDS\fR -e -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora l\*(Aqunico valore viene utilizzato\&. -.sp -Se -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora viene utilizzato il maggiore\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.SH "VEDERE ANCHE" -.PP -\fBpasswd\fR(1), -\fBnewusers\fR(8), -\fBlogin.defs\fR(5),\fBuseradd\fR(8)\&. diff --git a/man/it/man8/faillog.8 b/man/it/man8/faillog.8 deleted file mode 100644 index 252e1e58..00000000 --- a/man/it/man8/faillog.8 +++ /dev/null @@ -1,160 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "FAILLOG" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -faillog \- mostra le registrazioni e imposta i limiti degli accessi falliti -.SH "SINOSSI" -.HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIopzioni\fR] -.SH "DESCRIZIONE" -.PP -\fBfaillog\fR -mostra il contentuto del database degli accessi falliti (/var/log/faillog); pu\(`o anche essere usato per impostare i conteggi e i limiti dei tentativi falliti\&. Eseguire -\fBfaillog\fR -senza argomenti per ottenere un elenco degli utenti che hanno fallito almeno un tentativo di accesso\&. -.SH "OPZIONI" -.PP -Il comando -\fBfaillog\fR -accetta le seguenti opzioni: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Mostra (o opera su) registrazioni faillog per tutti gli utenti presenti nel database -faillog\&. -.sp -L\*(Aqintervallo di utenti pu\(`o essere ristretto con l\*(Aqopzione -\fB\-u\fR\&. -.sp -Nella modalit\(`a di visualizzazione, questo \(`e gi\(`a ristretto ai soli utenti esistenti, ma vengono mostrate anche eventuali registrazioni vuote\&. -.sp -Con le opzioni -\fB\-l\fR, -\fB\-m\fR, -\fB\-r\fR -e -\fB\-t\fR, le registrazioni degli utenti sono modificate anche se l\*(Aqutente non esiste nel sistema\&. Questo \(`e utile quando si vogliono azzerare le registrazioni degli utenti cancellati, o per definire in anticipo delle norme per intervalli di utenti\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fISEC\fR -.RS 4 -Blocca l\*(Aqaccount per -\fISEC\fR -secondi dopo un tentativo di accesso fallito\&. -.sp -Per questa opzione \(`e necessario l\*(Aqaccesso in scrittura a -/var/log/faillog\&. -.RE -.PP -\fB\-m\fR, \fB\-\-maximum\fR\ \&\fIMAX\fR -.RS 4 -Imposta a -\fIMAX\fR -il massimo numero di accessi falliti prima che l\*(Aqaccount sia disabilitato\&. -.sp -Impostare -\fIMAX\fR -al valore 0 ha l\*(Aqeffetto di non porre nessun limite al numero di accessi falliti\&. -.sp -Il numero massimo di fallimenti dovrebbe sempre essere 0 per -\fIroot\fR -in modo da evitare attacchi al sistema di tipo \(Fodenial of service\(Fc\&. -.sp -Per questa opzione \(`e necessario l\*(Aqaccesso in scrittura a -/var/log/faillog\&. -.RE -.PP -\fB\-r\fR, \fB\-\-reset\fR -.RS 4 -Azzera i contatori degli accessi falliti\&. -.sp -Per questa opzione \(`e necessario l\*(Aqaccesso in scrittura a -/var/log/faillog\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIGIORNI\fR -.RS 4 -Visualizza le registrazioni faillog pi\(`u recenti di -\fIGIORNI\fR -giorni\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIINTERVALLO\fR -.RS 4 -Mostra la registrazione degli accessi falliti o, se sono state usate le opzioni -\fB\-r\fR, -\fB\-m\fR -o -\fB\-l\fR, imposta contatori e limiti solo gli utenti specificati\&. -.sp -Gli utenti possono essere specificati utilizzando il loro nome oppure l\*(AqID numerico o tramite un -\fIINTERVALLO\fR -di utenti\&. Questo -\fIINTERVALLO\fR -di utenti ha tre forme: tra minimo e massimo (\fIUID_MIN\-UID_MAX\fR), fino ad un valore massimo (\fI\-UID_MAX\fR) o da un valore minimo (\fIUID_MIN\-\fR)\&. -.RE -.PP -Quando nessuna tra le opzioni -\fB\-l\fR, -\fB\-m\fR -o -\fB\-r\fR -\(`e utilizzata, -\fBfaillog\fR -mostra le voci dei fallimenti degli utenti specificati\&. -.SH "AVVISI/CAVEAT" -.PP -\fBfaillog\fR -mostra solo gli utenti che non hanno effettuato nessun accesso corretto dopo l\*(Aqultimo tentativo fallito\&. Un utente che abbia completato correttamente un accesso dopo l\*(Aqultimo tentativo fallito \(`e mostrato solo se viene richiesto esplicitamente con l\*(Aqopzione -\fB\-u\fR -o se viene richiesto di mostrare tutti gli utenti con l\*(Aqopzione -\fB\-a\fR\&. -.SH "FILE" -.PP -/var/log/faillog -.RS 4 -File per tracciare gli accessi falliti\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBlogin\fR(1), -\fBfaillog\fR(5)\&. diff --git a/man/it/man8/groupadd.8 b/man/it/man8/groupadd.8 deleted file mode 100644 index 4b073283..00000000 --- a/man/it/man8/groupadd.8 +++ /dev/null @@ -1,213 +0,0 @@ -'\" t -.\" Title: groupadd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "GROUPADD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -groupadd \- crea un nuovo gruppo -.SH "SINOSSI" -.HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIopzioni\fR] \fIgruppo\fR -.SH "DESCRIZIONE" -.PP -Il comando -\fBgroupadd\fR -crea un nuovo account di gruppo usando i valori specificati sulla riga di comando ed i valori predefiniti dal sistema\&. Il nuovo gruppo verr\(`a aggiunto ai file di sistema secondo necessit\(`a\&. -.SH "OPZIONI" -.PP -Il comando -\fBgroupadd\fR -accetta le seguenti opzioni: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Questa opzione fa s\(`i che il comando esca con esito positivo nel caso che il gruppo esista gi\(`a\&. Quando utilizzato con l\*(Aqopzione -\fB\-g\fR, e il GID specificato esiste, un altro GID (univoco) viene scelto (cio\(`e -\fB\-g\fR -viene ignorato)\&. -.RE -.PP -"\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -Il valore numerico dell\*(Aqidentificatore (ID) del gruppo\&. Questo valore deve essere univoco, a meno che non venga usata l\*(Aqopzione -\fB\-o\fR\&. Il valore deve essere non\-negativo\&. La scelta predefinita \(`e quella di usare il minimo valore di ID maggiore o eguale a -\fBGID_MIN\fR -e superiore a qualunque altro gruppo\&. -.sp -Vedere anche l\*(Aqopzione -\fB\-r\fR -e la descrizione di -\fBGID_MAX\fR\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR\&. -.RS 4 -Ha la precedenza sui valori predefiniti (GID_MIN, GID_MAX e altri) definiti in -/etc/login\&.defs\&. Pi\(`u opzioni -\fB\-K\fR -possono essere specificate\&. -.sp -Esempio: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI100\fR\ \&\fB\-K\fR\ \&\fIGID_MAX\fR=\fI499\fR -.sp -Nota: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR -non funziona ancora\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Questa opzione permette di aggiungere un gruppo con un GID non univoco\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -La password cifrata, come restituita da -\fBcrypt\fR(3)\&. Il comportamento predefinito \(`e di disabilitare la password\&. -.sp -\fBNota:\fR -questa opzione non \(`e consigliata perch\('e la password (o password cifrata) sar\(`a visibile agli utenti che elencano i processi\&. -.sp -Ci si deve accertare che la password rispetti le norme delle password del sistema\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Crea un gruppo di sistema\&. -.sp -L\*(Aqidentificativo numerico del nuovo gruppo di sistema \(`e scelto nell\*(Aqintervallo -\fBSYS_GID_MIN\fR\-\fBSYS_GID_MAX\fR -definito in -login\&.defs, al posto di -\fBGID_MIN\fR\-\fBGID_MAX\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBGID_MAX\fR (numerico), \fBGID_MIN\fR (numerico) -.RS 4 -Intervallo di ID di gruppo per la creazione di gruppi normali tramite -\fBuseradd\fR, -\fBgroupadd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBGID_MIN\fR -(rispettivamente -\fBGID_MAX\fR) \(`e 1000 (rispettivmente 60000)\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.PP -\fBSYS_GID_MAX\fR (numerico), \fBSYS_GID_MIN\fR (numerico) -.RS 4 -Intervallo di ID di gruppo utilizzato per la creazione di un gruppo di sistema da -\fBuseradd\fR, -\fBgroupadd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBSYS_GID_MIN\fR -(rispettivamente -\fBSYS_GID_MAX\fR) \(`e 101 (rispettivamente -\fBGID_MIN\fR\-1)\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.SH "AVVISI/CAVEAT" -.PP -I nomi di gruppo devono iniziare con una lettera minuscola o l\*(Aqunderscore, seguiti da lettere minuscole, cifre numeriche, underscore o trattini\&. Possono terminare con il simbolo del dollaro\&. In termini di espressioni regolari: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -I nomi di gruppo possono essere al massimo di 16 caratteri\&. -.PP -Non \(`e possibile aggiungere un gruppo NIS o LDAP\&. Questo deve essere fatto sul server corrispondente\&. -.PP -Se il nome di gruppo esiste gi\(`a in un database esterno come quello NIS o LDAP, -\fBgroupadd\fR -negher\(`a la richiesta di creazione del gruppo\&. -.SH "VALORI RESTITUITI" -.PP -Il comando -\fBgroupadd\fR -restituisce i seguenti valori: -.SH "VEDERE ANCHE" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/it/man8/groupdel.8 b/man/it/man8/groupdel.8 deleted file mode 100644 index fc6f7465..00000000 --- a/man/it/man8/groupdel.8 +++ /dev/null @@ -1,135 +0,0 @@ -'\" t -.\" Title: groupdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "GROUPDEL" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -groupdel \- rimuove un gruppo -.SH "SINOSSI" -.HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIopzioni\fR] \fIGRUPPO\fR -.SH "DESCRIZIONE" -.PP -Il comando -\fBgroupdel\fR -modifica i file di account di sistema rimuovendo tutte le voci che si riferiscono a -\fIGRUPPO\fR\&. Il gruppo indicato deve esistere\&. -.SH "OPZIONI" -.PP -Il comando -\fBgroupdel\fR -accetta le seguenti opzioni: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.SH "AVVISI/CAVEAT" -.PP -Non si pu\(`o rimuovere un gruppo che sia gruppo primario di un utente\&. Occorre rimuovere l\*(Aqutente prima di rimuovere il gruppo\&. -.PP -Occorre controllare manualmente tutti i file system per assicurarsi che non rimanga alcun file avente questo ID di gruppo\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.SH "VALORI RESTITUITI" -.PP -Il comando -\fBgroupdel\fR -restituisce i seguenti valori: -.PP -\fI0\fR -.RS 4 -successo -.RE -.PP -\fI2\fR -.RS 4 -sintassi del comando errata -.RE -.PP -\fI6\fR -.RS 4 -il gruppo specificato non esiste -.RE -.PP -\fI8\fR -.RS 4 -operazione impossibile perch\('e il gruppo \(`e primario per un utente -.RE -.PP -\fI10\fR -.RS 4 -non \(`e possibile aggiornare il file group -.RE -.SH "VEDERE ANCHE" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/it/man8/groupmems.8 b/man/it/man8/groupmems.8 deleted file mode 100644 index 545b7cf8..00000000 --- a/man/it/man8/groupmems.8 +++ /dev/null @@ -1,171 +0,0 @@ -'\" t -.\" Title: groupmems -.\" Author: George Kraft, IV -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "GROUPMEMS" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -groupmems \- membri amministratori del gruppo primario dell\*(Aqutente -.SH "SINOSSI" -.HP \w'\fBgroupmems\fR\ 'u -\fBgroupmems\fR \-a\ \fIuser_name\fR | \-d\ \fIuser_name\fR | [\-g\ \fIgroup_name\fR] | \-l | \-p -.SH "DESCRIZIONE" -.PP -Il comando -\fBgroupmems\fR -permette a utenti di amministrare la lista di membri del proprio gruppo senza richiedere i privilegi di amministratore\&. Il comando -\fBgroupmems\fR -\(`e per sistemi che configurano gli utenti perch\('e siano in un gruppo primario con lo stesso nome dell\*(Aqutente (esempio: guest/guest)\&. -.PP -Solo il super utente, come amministratore, pu\(`o utilizzare -\fBgroupmems\fR -per modificare l\*(Aqelenco di membri di altri gruppi\&. -.SH "OPZIONI" -.PP -Il comando -\fBgroupmems\fR -accetta le seguenti opzioni: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIuser_name\fR -.RS 4 -Add a user to the group membership list\&. -.sp -Se esiste il file -/etc/gshadow -e il gruppo non vi \(`e presente, viene aggiunto\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIuser_name\fR -.RS 4 -Cancella un utente dall\*(Aqelenco degli utenti del gruppo\&. -.sp -Se esiste il file -/etc/gshadow, l\*(Aqutente verr\(`a rimosso dalle liste di utenti e amministratori del gruppo\&. -.sp -Se esiste il file -/etc/gshadow -e il gruppo non vi \(`e presente, viene aggiunto\&. -.RE -.PP -\fB\-g\fR, \fB\-\-group\fR\ \&\fIgroup_name\fR -.RS 4 -Il super utente pu\(`o specificare quale elenco di membri del gruppo modificare\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -Elenca tutti i membri del gruppo\&. -.RE -.PP -\fB\-p\fR, \fB\-\-purge\fR -.RS 4 -Elimina tutti gli utenti dalla lista dei membri del gruppo\&. -.sp -Se esiste il file -/etc/gshadow -e il gruppo non vi \(`e presente, viene aggiunto\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.SH "CONFIGURAZIONE" -.PP -L\*(Aqeseguibile -\fBgroupmems\fR -dovrebbe avere i permessi -2770 -ed essere di propriet\(`a di -\fIroot\fR -e del gruppo -\fIgroups\fR\&. L\*(Aqamministratore di sistema pu\(`o aggiungere utenti al gruppo -\fIgroups\fR -per permettere loro di poter gestire l\*(Aqelenco di membri del proprio gruppo tramite il comando -\fBgroupmems\fR\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - $ groupadd \-r groups - $ chmod 2770 groupmems - $ chown root\&.groups groupmems - $ groupmems \-g groups \-a gk4 - -.fi -.if n \{\ -.RE -.\} -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -informazioni sicure sugli account di gruppo -.RE -.SH "VEDERE ANCHE" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/it/man8/groupmod.8 b/man/it/man8/groupmod.8 deleted file mode 100644 index 0853dfc9..00000000 --- a/man/it/man8/groupmod.8 +++ /dev/null @@ -1,171 +0,0 @@ -'\" t -.\" Title: groupmod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "GROUPMOD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -groupmod \- modifica la definizione di un gruppo del sistema -.SH "SINOSSI" -.HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIopzioni\fR] \fIGRUPPO\fR -.SH "DESCRIZIONE" -.PP -Il comando -\fBgroupmod\fR -cambia la definizione del -\fIGRUPPO\fR -modificando appropriatamente il database dei gruppi\&. -.SH "OPZIONI" -.PP -Il comando -\fBgroupmod\fR -accetta le seguenti opzioni: -.PP -"\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -Verr\(`a modificato l\*(AqID del -\fIGRUPPO\fR -in -\fIGID\fR\&. -.sp -Il valore -\fIGID\fR -deve essere un numero intero decimale non negativo\&. Deve essere univoco, a meno che non venga usata l\*(Aqopzione -\fB\-o\fR\&. -.sp -Gli utenti che hanno il gruppo come gruppo primario verranno aggiornati per mantenere tale gruppo come loro gruppo primario\&. -.sp -Tutti i file che hanno il vecchio ID di gruppo e devono continuare ad appartenere a -\fIGRUPPO\fR, devono essere aggiornati manualmente\&. -.sp -Non verr\(`a effettuato nessun controllo riguardo i limiti -\fBGID_MIN\fR, -\fBGID_MAX\fR, -\fBSYS_GID_MIN\fR -o -\fBSYS_GID_MAX\fR -definiti in -/etc/login\&.defs\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-n\fR, \fB\-\-new\-name\fR\ \&\fINUOVO_GRUPPO\fR -.RS 4 -Il nome del gruppo verr\(`a modificato da -\fIGRUPPO\fR -a -\fINUOVO_GRUPPO\fR\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Quando \(`e usato con l\*(Aqopzione -\fB\-g\fR, permette di cambiare il -\fIGID\fR -in un valore non univoco\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -La passwird cifrata, cos\(`i come viene restituita da -\fBcrypt\fR(3)\&. -.sp -\fBNota:\fR -questa opzione non \(`e consigliata perch\('e la password (o password cifrata) sar\(`a visibile agli utenti che elencano i processi\&. -.sp -Ci si deve accertare che la password rispetti le norme delle password del sistema\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.SH "VALORI RESTITUITI" -.PP -Il comando -\fBgroupmod\fR -esce con i seguenti valori: -.SH "VEDERE ANCHE" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/it/man8/grpck.8 b/man/it/man8/grpck.8 deleted file mode 100644 index 15385208..00000000 --- a/man/it/man8/grpck.8 +++ /dev/null @@ -1,240 +0,0 @@ -'\" t -.\" Title: grpck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "GRPCK" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -grpck \- verifica l\*(Aqintegrit\(`a dei file dei gruppi -.SH "SINOSSI" -.HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [opzioni] [\fIgruppo\fR\ [\ \fIshadow\fR\ ]] -.SH "DESCRIZIONE" -.PP -Il comando -\fBgrpck\fR -verifica l\*(Aqintegrit\(`a delle informazioni sui gruppi\&. Ogni voce in -/etc/groupe in /etc/gshadow -viene controllata per verificare che abbia il formato corretto e dati validi\&. Viene richiesto all\*(Aqutente di rimuovere le voci che non hanno un formato appropriato o che presentano altri errori impossibili da correggere\&. -.PP -Vengono fatti controlli per verificare che ogni voce abbia: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -il corretto numero di campi -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -un nome univoco e valido di gruppo -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -un identificatore valido di gruppo -(solo /etc/group) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -un elenco valido di membrie amministratori -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -una voce corrispondente nel file -/etc/gshadow -(rispettivamente -/etc/group -per i controlli in -gshadow) -.RE -.PP -Gli errori nelle verifiche sul corretto numero di campi e sull\*(Aqunivocit\(`a del nome del gruppo sono irrimediabili\&. Se una voce ha un numero errato di campi, all\*(Aqutente viene chiesto di cancellare l\*(Aqintera riga; se l\*(Aqutente non risponde affermativamente, vengono omessi tutti gli ulteriori controlli\&. Viene richiesta la cancellazione anche per le voci aventi il nome del gruppo duplicato, ma i rimanenti controlli vengono ugualmente effettuati\&. Tutti gli altri errori non sono gravi e l\*(Aqutente \(`e invitato a eseguire il comando -\fBgroupmod\fR -per correggerli\&. -.PP -I comandi che operano -sui file /etc/group e /etc/gshadow -non sono in grado di modificare voci corrotte o duplicate; in tali circostanze va usato -\fBgrpck\fR -per rimuovere le voci scorrette\&. -.SH "OPZIONI" -.PP -Le opzioni -\fB\-r\fR -e -\fB\-s\fR -non possono essere combinate\&. -.PP -Il comando -\fBgrpck\fR -accetta le seguenti opzioni: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Esegue il comando -\fBgrpck\fR -in sola lettura\&. Questo implica che sia risposto -\fIno\fR -automaticamente a tutte le domande relative alle modifiche\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -Ordina le voci in -/etc/group -e /etc/gshadowper GID\&. -.RE -.PP -By default, -\fBgrpck\fR -operates on -/etc/group -and /etc/gshadow\&. The user may select alternate files with the -\fIgroup\fR -and \fIshadow\fR parameters\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.SH "VALORI RESTITUITI" -.PP -Il comando -\fBgrpck\fR -restituisce i seguenti valori: -.PP -\fI0\fR -.RS 4 -successo -.RE -.PP -\fI1\fR -.RS 4 -sintassi del comando errata -.RE -.PP -\fI2\fR -.RS 4 -una o pi\(`u voci di gruppo contengono errori -.RE -.PP -\fI3\fR -.RS 4 -impossibile aprire i file dei gruppi -.RE -.PP -\fI4\fR -.RS 4 -impossibile fare il lock dei file dei gruppi -.RE -.PP -\fI5\fR -.RS 4 -impossibile aggiornare i file dei gruppi -.RE -.SH "VEDERE ANCHE" -.PP -\fBgroup\fR(5), -\fBgroupmod\fR(8), -\fBgshadow\fR(5),\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBshadow\fR(5)\&. diff --git a/man/it/man8/grpconv.8 b/man/it/man8/grpconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/it/man8/grpconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/it/man8/grpunconv.8 b/man/it/man8/grpunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/it/man8/grpunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/it/man8/lastlog.8 b/man/it/man8/lastlog.8 deleted file mode 100644 index 2e3d0f4c..00000000 --- a/man/it/man8/lastlog.8 +++ /dev/null @@ -1,120 +0,0 @@ -'\" t -.\" Title: lastlog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "LASTLOG" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -lastlog \- riepiloga gli accessi pi\(`u recenti di tutti gli utenti o dell\*(Aqutente dato -.SH "SINOSSI" -.HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIopzioni\fR] -.SH "DESCRIZIONE" -.PP -\fBlastlog\fR -formatta e mostra il log degli ultimi accessi, contenuto nel file -/var/log/lastlog\&. Le informazioni mostrate sono il -\fInome utente\fR, la -\fIporta\fR -e la -\fIdata dell\*(Aqultimo accesso\fR\&. Il comportamento predefinito (nessuna opzione specificata) \(`e di mostrare i record di ultimo accesso per tutti gli utenti, nell\*(Aqordine in cui compaiono in -/etc/passwd\&. -.SH "OPZIONI" -.PP -Il comando -\fBlastlog\fR -accetta le seguenti opzioni: -.PP -\fB\-b\fR, \fB\-\-before\fR\ \&\fIGIORNI\fR -.RS 4 -Mostra solo i record di ultimo accesso pi\(`u vecchi di -\fIGIORNI\fR -giorni\&. -.RE -.PP -\fB\-C\fR, \fB\-\-clear\fR -.RS 4 -Clear lastlog record of a user\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-S\fR, \fB\-\-set\fR -.RS 4 -Set lastlog record of a user to the current time\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIGIORNI\fR -.RS 4 -Mostra solo i record di ultimo accesso pi\(`u recenti di -\fIGIORNI\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIINTERVALLO\fR -.RS 4 -Mostra il record di ultimo accesso per l\*(Aqutente o gli utenti specificati da -\fILOGIN\fR\&. -.sp -Gli utenti possono essere specificati utilizzando il loro nome oppure l\*(AqID numerico o tramite un -\fIINTERVALLO\fR -di utenti\&. Questo -\fIINTERVALLO\fR -di utenti ha tre forme: tra minimo e massimo (\fIUID_MIN\-UID_MAX\fR), fino ad un valore massimo (\fI\-UID_MAX\fR) o da un valore minimo (\fIUID_MIN\-\fR)\&. -.RE -.PP -Se l\*(Aqutente non ha mai effettuato accessi al sistema viene mostrato, al posto della porta e della data, il messaggio \(Fo\fI**Nessun accesso effettuato**\fR\(Fc\&. -.PP -Solo le registrazioni degli utenti correnti del sistema verranno mostrate\&. Ci potrebbero essere altre registrazioni per utenti cancellati in precedenza\&. -.SH "NOTA" -.PP -Il file -lastlog -\(`e un database che contiene informazioni sull\*(Aqultimo accesso di ogni utente\&. Non deve essere ruotato\&. Si tratta di un file \(Fosparse\(Fc, quindi la sua dimensione \(`e minore di quanto normalmente mostrato da \(Fo\fBls \-l\fR\(Fc (che potrebbe indicare una dimensione veramente grande se si hanno utenti con grandi UID in -passwd)\&. Si pu\(`o vedere la dimensione effettiva con \(Fo\fBls \-s\fR\(Fc\&. -.SH "FILE" -.PP -/var/log/lastlog -.RS 4 -Database degli orari dei precedenti accessi utente\&. -.RE -.SH "AVVISI/CAVEAT" -.PP -Se ci sono dei grossi scarti tra i valori di UID, il programma lastlog pu\(`o restare in esecuzione per un tempo prolungato senza produrre output sullo schermo (ad es\&. se nel database lastlog non ci sono registrazioni per UID tra 170 e 800, il programma sembrer\(`a bloccato mentre esamina gli UID tra 171 e 799)\&. diff --git a/man/it/man8/logoutd.8 b/man/it/man8/logoutd.8 deleted file mode 100644 index 4e351a1d..00000000 --- a/man/it/man8/logoutd.8 +++ /dev/null @@ -1,57 +0,0 @@ -'\" t -.\" Title: logoutd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "LOGOUTD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -logoutd \- impone le limitazioni sugli orari d\*(Aqaccesso -.SH "SINOSSI" -.HP \w'\fBlogoutd\fR\ 'u -\fBlogoutd\fR -.SH "DESCRIZIONE" -.PP -\fBlogoutd\fR -fa rispettare le limitazioni sugli orari e sulle porte di accesso specificate in -/etc/porttime\&. -\fBlogoutd\fR -andrebbe avviato da -/etc/rc\&. Il file -/var/run/utmp -viene controllato periodicamente per verificare che a ciascun utente sia consentito l\*(Aqaccesso da quella determinata porta e all\*(Aqorario attuale\&. Ogni sessione di login che stia violando le limitazioni in -/etc/porttime -viene terminata\&. -.SH "FILE" -.PP -/etc/porttime -.RS 4 -File contenente gli accessi alle porte\&. -.RE -.PP -/var/run/utmp -.RS 4 -Elenco delle sessioni attive\&. -.RE diff --git a/man/it/man8/newusers.8 b/man/it/man8/newusers.8 deleted file mode 100644 index d91a4855..00000000 --- a/man/it/man8/newusers.8 +++ /dev/null @@ -1,431 +0,0 @@ -'\" t -.\" Title: newusers -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "NEWUSERS" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -newusers \- aggiorna e crea nuovi utenti in blocco -.SH "SINOSSI" -.HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fIopzioni\fR] [\fIfile\fR] -.SH "DESCRIZIONE" -.PP -Il comando -\fBnewusers\fR -legge un -\fIfile\fR -(o il proprio standard input) e utilizza queste informazioni per aggiornare l\*(Aqinsieme di utenti gi\(`a esistenti oppure per crearne di nuovi\&. Ogni riga \(`e nello stesso formato del file standard passwd (vedere -\fBpasswd\fR(5)) con le seguenti eccezioni: -.PP -pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell -.PP -\fIpw_name\fR -.RS 4 -Il nome dell\*(Aqutente\&. -.sp -It can be the name of a new user or the name of an existing user (or a user created before by -\fBnewusers\fR)\&. In case of an existing user, the user\*(Aqs information will be changed, otherwise a new user will be created\&. -.RE -.PP -\fIpw_passwd\fR -.RS 4 -Questo campo verr\(`a cifrato e utilizzato come nuovo valore per la password cifrata\&. -.RE -.PP -\fIpw_uid\fR -.RS 4 -Definisce l\*(AqUID dell\*(Aqutente\&. -.sp -If the field is empty, a new (unused) UID will be defined automatically by -\fBnewusers\fR\&. -.sp -Se questo campo contiene un numero, verr\(`a utilizzato come UID\&. -.sp -If this field contains the name of an existing user (or the name of a user created before by -\fBnewusers\fR), the UID of the specified user will be used\&. -.sp -Se viene cambiato l\*(AqUID di un utente esistente, la propriet\(`a dei file di propriet\(`a dell\*(Aqutente stesso andr\(`a cambiata manualmente\&. -.RE -.PP -\fIpw_gid\fR -.RS 4 -Definisce il l\*(AqID del gruppo primario dell\*(Aqutente\&. -.sp -Se questo campo contiene il nome di un gruppo esistente (o un gruppo creato in precedenza da -\fBnewusers\fR), verr\(`a utilizzato come ID del gruppo primario di questo utente il GID del gruppo stesso\&. -.sp -Se questo campo \(`e numerico, questo numero verr\(`a utilizzato come ID del gruppo primario dell\*(Aqutente\&. Se non esiste nessun gruppo con quel GID, ne viene creato uno con il nome dell\*(Aqutente e il GID specificato\&. -.sp -Se questo campo \(`e vuoto verr\(`a creato un nuovo gruppo con lo stesso nome dell\*(Aqutente e con un GID determinato automaticamente da -\fBnewusers\fR -da utilizzare come ID del gruppo primario dell\*(Aqutente e come GID del nuovo gruppo\&. -.sp -Se questo campo contiene il nome di un gruppo che non esiste (e non \(`e stato creato precedentemente da -\fBnewusers\fR), verr\(`a creato un nuovo gruppo con il nome specificato e un GID determinato automaticamente da -\fBnewusers\fR -perch\('e sia utilizzato come ID del gruppo primario dell\*(Aqutente e come GID per il nuovo gruppo\&. -.RE -.PP -\fIpw_gecos\fR -.RS 4 -Questo campo viene copiato nel campo GECOS dell\*(Aqutente\&. -.RE -.PP -\fIpw_dir\fR -.RS 4 -Questo campo \(`e utilizzato per impostare la directory home dell\*(Aqutente\&. -.sp -Se questo campo non contiene il nome di una directory esistente la directory viene creata, assegnandone la propriet\(`a all\*(Aqutente che si sta definendo o aggiornando e al suo gruppo primario\&. -.sp -Se si modifica la directory home di un utente esistente, -\fBnewusers\fR -non sposta o copia il contenuto della vecchia directory nella nuova\&. Questo va fatto manualmente\&. -.RE -.PP -\fIpw_shell\fR -.RS 4 -Questo campo definisce la shell dell\*(Aqutente\&. Su questo campo non viene fatto nessun controllo\&. -.RE -.PP -\fBnewusers\fR -prova prima a creare o modificare tutti gli utenti specificati e poi scrive tutte le modifiche sui database utente e gruppi\&. Se c\*(Aq\(`e un errore (eccetto sulla scrittura finale dei database) nessuna modifica viene scritta sui database\&. -.PP -Questo comando \(`e appositamente pensato per grossi sistemi nei quali molti account sono aggiornati allo stesso tempo\&. -.SH "OPZIONI" -.PP -Il comando -\fBnewusers\fR -accetta le seguenti opzioni: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -Utilizza il metodo specificato per cifrare le password\&. -.sp -I metodi disponibili sono DES, MD5, NONE e SHA256 o SHA512 se la propria libc lo consente\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Crea un account di sistema\&. -.sp -Gli utenti di sistema sono creati senza informazioni riguardo la scadenza della password in -/etc/shadow -e il loro identificativo numerico \(`e scelto nell\*(Aqintervallo -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR -definito nel file -login\&.defs, anzich\('e dell\*(Aqintervallo -\fBUID_MIN\fR\-\fBUID_MAX\fR -(e la loro controparte -\fBGID\fR -per la creazione dei gruppi)\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -Usa il numero specificato di cicli per cifrare la password\&. -.sp -Il valore 0 indica che il sistema utilizzer\(`a il numero predefinito di cicli per il metodo crypt (5000)\&. -.sp -I valori minimo di 1\&.000 e massimo di 999\&.999\&.999 sono forzati\&. -.sp -Si pu\(`o utilizzare questa opzione solo con i metodi di cifratura SHA256 o SHA512\&. -.sp -Il numero di cicli predefinito \(`e impostato con le variabili SHA_CRYPT_MIN_ROUNDS e SHA_CRYPT_MAX_ROUNDS nel file -/etc/login\&.defs\&. -.RE -.SH "AVVISI/CAVEAT" -.PP -Il file di input deve essere protetto poich\('e contiene password non cifrate\&. -.PP -Ci si deve accertare che le password e il metodo di cifratura rispettino le norme delle password del sistema\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBENCRYPT_METHOD\fR (testo) -.RS 4 -Definisce l\*(Aqalgoritmo di cifratura predefinito per le password (se non ne viene specificato uno a riga di comando)\&. -.sp -Pu\(`o avere uno dei seguenti valori: -\fIDES\fR -(predefinito), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Nota: questo parametro ha la precedenza sulla variabile -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBGID_MAX\fR (numerico), \fBGID_MIN\fR (numerico) -.RS 4 -Intervallo di ID di gruppo per la creazione di gruppi normali tramite -\fBuseradd\fR, -\fBgroupadd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBGID_MIN\fR -(rispettivamente -\fBGID_MAX\fR) \(`e 1000 (rispettivmente 60000)\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (booleano) -.RS 4 -Indica se le password vanno cifrate usando l\*(Aqalgoritmo basato su MD5\&. Se impostato a -\fIyes\fR -le nuove password saranno cifrate usando un algoritmo basato su MD5 e compatibile con quello delle versioni pi\(`u recenti di FreeBSD\&. Supporta password di lunghezza qualsiasi e testi \(Fosalt\(Fc pi\(`u lunghi\&. Impostare a -\fIno\fR -se si devono copiare password su altri sistemi che non gestiscono l\*(Aqalgoritmo\&. Il valore predefinito \(`e -\fIno\fR\&. -.sp -Questa variabile ha meno priorit\(`a della variabile -\fBENCRYPT_METHOD\fR -e di qualsiasi opzione a riga di comando che imposta un algoritmo di cifratura\&. -.sp -Questa variabile non \(`e pi\(`u usata\&. Si dovrebbe utilizzare -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (numerico) -.RS 4 -Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la password \(`e pi\(`u vecchia verr\(`a imposto il suo cambiamento\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (numerico) -.RS 4 -Il numero minimo di giorni tra due cambiamenti di password\&. Ogni tentativo di cambiare la password prima di questo periodo verr\(`a rifiutato\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (numerico) -.RS 4 -Il numero di giorni per i quali un utente va avvisato che la sua password sta per scadere\&. Se zero l\*(Aqutente viene avvisato solo alla scadenza\&. Un valore negativo indica che non si deve avvisare mai\&. Se non specificato allora non c\*(Aq\(`e nessun avviso\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (numerico), \fBSHA_CRYPT_MAX_ROUNDS\fR (numerico) -.RS 4 -Quando -\fBENCRYPT_METHOD\fR -vale -\fISHA256\fR -o -\fISHA512\fR, questo definisce il numero di cicli SHA usati per l\*(Aqalgoritmo di cifratura (quando il numero di cicli non \(`e impostato a riga di comando)\&. -.sp -Con molti cicli \(`e pi\(`u difficile trovare una password usando la forza bruta\&. Ma va notato che \(`e richiesta maggiore potenza di calcolo per autenticare gli utenti\&. -.sp -Se non specificato sar\(`a la libc a scegliere il numero di cicli (5000)\&. -.sp -Il valore deve essere compreso tra 1\&.000 e 999\&.999\&.999\&. -.sp -Se viene impostato solo uno tra -\fBSHA_CRYPT_MIN_ROUNDS\fR -e -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora l\*(Aqunico valore viene utilizzato\&. -.sp -Se -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, allora viene utilizzato il maggiore\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (numerico), \fBSYS_GID_MIN\fR (numerico) -.RS 4 -Intervallo di ID di gruppo utilizzato per la creazione di un gruppo di sistema da -\fBuseradd\fR, -\fBgroupadd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBSYS_GID_MIN\fR -(rispettivamente -\fBSYS_GID_MAX\fR) \(`e 101 (rispettivamente -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (numerico), \fBSYS_UID_MIN\fR (numerico) -.RS 4 -Intervallo di ID utente per la creazione degli utenti di sistema con -\fBuseradd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBSYS_UID_MIN\fR -(rispettivamente -\fBSYS_UID_MAX\fR) \(`e 101 (rispettivamente -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBUID_MAX\fR (numerico), \fBUID_MIN\fR (numerico) -.RS 4 -Intervallo di ID utente da utilizzare nella creazione degli utenti normali tramite -\fBuseradd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBUID_MIN\fR -(rispettivamente -\fBUID_MAX\fR) \(`e 1000 (rispettivamente 60000)\&. -.RE -.PP -\fBUMASK\fR (numerico) -.RS 4 -La maschera di permessi alla creazione dei file \(`e inizializzata con questo valore\&. Se non specificato la maschera viene impostata a 022\&. -.sp -\fBuseradd\fR -e -\fBnewusers\fR -usano questa maschera per impostare i permessi della directory home che creano\&. -.sp -Viene anche utilizzata da -\fBlogin\fR -per definire la maschera iniziale dell\*(Aqutente\&. Notare che questa maschera pu\(`o essere modificata dalla riga GECOS dell\*(Aqutente (se -\fBQUOTAS_ENAB\fR -\(`e impostato) o specificando un limite con l\*(Aqidentificativo -\fIK\fR -in -\fBlimits\fR(5)\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBlogin.defs\fR(5), -\fBpasswd\fR(1), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8)\&. diff --git a/man/it/man8/nologin.8 b/man/it/man8/nologin.8 deleted file mode 100644 index ebaca59f..00000000 --- a/man/it/man8/nologin.8 +++ /dev/null @@ -1,51 +0,0 @@ -'\" t -.\" Title: nologin -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "NOLOGIN" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -nologin \- rifiuta gentilmente l\*(Aqaccesso -.SH "SINOSSI" -.HP \w'\fBnologin\fR\ 'u -\fBnologin\fR -.SH "DESCRIZIONE" -.PP -Il comando -\fBnologin\fR -mostra un messaggio che indica che l\*(Aqaccount non \(`e disponibile ed esce con codice d\*(Aqerrore non zero\&. \(`E stato pensato come sostituto del campo shell per account che sono stati disabilitati\&. -.PP -Per diabilitare tutti gli accessi vedere -\fBnologin\fR(5)\&. -.SH "VEDERE ANCHE" -.PP -\fBlogin\fR(1), -\fBnologin\fR(5)\&. -.SH "CRONOLOGIA" -.PP -The -\fBnologin\fR -command appeared in BSD 4\&.4\&. diff --git a/man/it/man8/pwck.8 b/man/it/man8/pwck.8 deleted file mode 100644 index 515f1c5d..00000000 --- a/man/it/man8/pwck.8 +++ /dev/null @@ -1,319 +0,0 @@ -'\" t -.\" Title: pwck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "PWCK" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -pwck \- verifica l\*(Aqintegrit\(`a dei file delle password -.SH "SINOSSI" -.HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [opzioni] [\fIpasswd\fR\ [\ \fIshadow\fR\ ]] -.SH "DESCRIZIONE" -.PP -\fBpwck\fR -verifica l\*(Aqintegrit\(`a delle informazioni su utenti e autenticazione del sistema\&. Ogni voce in -/etc/passwd -e in -/etc/shadow -.PP -Vengono fatti controlli per verificare che ogni voce abbia: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -il corretto numero di campi -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -un nome utente univoco e valido -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -identificatori validi dell\*(Aqutente e del gruppo -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -un gruppo primario valido -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -una home directory valida -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -una shell di login valida -.RE -.PP -Le verifiche sul file -shadow -sono abilitate ogni volta che si usa un secondo argomento o quanto esiste nel sistema il file -/etc/shadow\&. -.PP -Le verifiche sono le seguenti: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ogni elemento del file passwd deve avere un corrispondente elemento in shadow, e viceversa -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -le password sono specificate nel file shadow -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -gli elementi di shadow hanno il corretto numero di campi -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -gli elementi di shadow sono unici -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -le date di ultima modifica non sono nel futuro -.RE -.PP -Gli errori nelle verifiche sul corretto numero di campi e sull\*(Aqunivocit\(`a del nome utente sono irrimediabili\&. Se una voce ha un numero errato di campi, all\*(Aqutente viene chiesto di cancellare l\*(Aqintera riga; se l\*(Aqutente non risponde affermativamente, vengono omessi tutti gli ulteriori controlli\&. Viene richiesta la cancellazione anche per le voci aventi il nome utente duplicato, ma i rimanenti controlli vengono ugualmente effettuati\&. Tutti gli altri errori non sono gravi e l\*(Aqutente \(`e invitato a eseguire il comando -\fBusermod\fR -per correggerli\&. -.PP -I comandi che operano sul file -/etc/passwd -non sono in grado di modificare voci corrotte o duplicate; in tali circostanze va usato -\fBpwck\fR -per rimuovere la voce scorretta\&. -.SH "OPZIONI" -.PP -Le opzioni -\fB\-r\fR -e -\fB\-s\fR -non possono essere combinate\&. -.PP -Il comando -\fBpwck\fR -accetta le seguenti opzioni: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Riporta solo gli errori\&. Gli avvisi che non richiedono azioni da parte dell\*(Aqutente non sono mostrati\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Esegue il comando -\fBpwck\fR -in sola lettura\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -Ordina gli elementi di -/etc/passwd -e -/etc/shadow -per UID\&. -.RE -.PP -Come impostazione predefinita, -\fBpwck\fR -opera sui file -/etc/passwd -e in -/etc/shadow\&. L\*(Aqutente pu\(`o selezionare file alternativi con i parametri -\fIpasswd\fR -e -\fIshadow\fR\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBPASS_MAX_DAYS\fR (numerico) -.RS 4 -Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la password \(`e pi\(`u vecchia verr\(`a imposto il suo cambiamento\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (numerico) -.RS 4 -Il numero minimo di giorni tra due cambiamenti di password\&. Ogni tentativo di cambiare la password prima di questo periodo verr\(`a rifiutato\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (numerico) -.RS 4 -Il numero di giorni per i quali un utente va avvisato che la sua password sta per scadere\&. Se zero l\*(Aqutente viene avvisato solo alla scadenza\&. Un valore negativo indica che non si deve avvisare mai\&. Se non specificato allora non c\*(Aq\(`e nessun avviso\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.SH "VALORI RESTITUITI" -.PP -Il comando -\fBpwck\fR -restituisce i seguenti valori: -.PP -\fI0\fR -.RS 4 -successo -.RE -.PP -\fI1\fR -.RS 4 -sintassi del comando errata -.RE -.PP -\fI2\fR -.RS 4 -una o pi\(`u voci di password conengono errori -.RE -.PP -\fI3\fR -.RS 4 -impossibile aprire i file delle password -.RE -.PP -\fI4\fR -.RS 4 -impossibile fare il lock dei file delle password -.RE -.PP -\fI5\fR -.RS 4 -impossibile aggiornare i file delle password -.RE -.PP -\fI6\fR -.RS 4 -impossibile ordinare i file delle password -.RE -.SH "VEDERE ANCHE" -.PP -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBusermod\fR(8)\&. diff --git a/man/it/man8/pwconv.8 b/man/it/man8/pwconv.8 deleted file mode 100644 index 271e4039..00000000 --- a/man/it/man8/pwconv.8 +++ /dev/null @@ -1,191 +0,0 @@ -'\" t -.\" Title: pwconv -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "PWCONV" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -pwconv, pwunconv, grpconv, grpunconv \- convertono a e da password e gruppi shadow\&. -.SH "SINOSSI" -.HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fIopzioni\fR] -.HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fIopzioni\fR] -.HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fIopzioni\fR] -.HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fIopzioni\fR] -.SH "DESCRIZIONE" -.PP -\fBpwconv\fR -crea -\fIshadow\fR -da -\fIpasswd\fR -e da un eventuale preesistente -\fIshadow\fR\&. -.PP -\fBpwunconv\fR -crea -\fIpasswd\fR -da -\fIpasswd\fR -e -\fIshadow\fR -e poi cancella -\fIshadow\fR\&. -.PP -\fBgrpconv\fR -crea -\fIgshadow\fR -da -\fIgroup\fR -e da un eventuale preesistente -\fIgshadow\fR\&. -.PP -\fBgrpunconv\fR -crea -\fIgroup\fR -da -\fIgroup\fR -e -\fIgshadow\fR -e quindi rimuove -\fIgshadow\fR\&. -.PP -Questi quattro programmi agiscono tutti sui file normali e oscurati (shadow) delle password e dei gruppi: -/etc/passwd, -/etc/group, -/etc/shadow -e -/etc/gshadow\&. -.PP -Ciascun programma, prima della conversione, acquisisce i lock necessari\&. -\fBpwconv\fR -e -\fBgrpconv\fR -sono simili\&. Per prima cosa vengono rimosse le voci nel file shadow che non esistono nel file principale\&. Quindi vengono aggiornate le voci oscurate che non hanno \(Fox\(Fc come password nel file principale\&. Vengono aggiunte le eventuali voci oscurate mancanti\&. Infine, le password nel file principale vengono sostituite con \(Fox\(Fc\&. Questi programmi possono essere usati per le conversioni iniziali cos\(`i come per aggiornare il file oscurato se il file principale viene modificato a mano\&. -.PP -\fBpwconv\fR -user\(`a i valori -\fIPASS_MIN_DAYS\fR, -\fIPASS_MAX_DAYS\fR -e -\fIPASS_WARN_AGE\fR -da -/etc/login\&.defs -al momento dell\*(Aqaggiunta di nuove voci a -/etc/shadow\&. -.PP -Analogamente, -\fBpwunconv\fR -e -\fBgrpunconv\fR -sono simili\&. Le password nel file principale vengono aggiornate dal file shadow\&. Voci che esistono nel file principale ma non nel file shadow vengono lasciate stare\&. Infine, viene rimosso il file shadow\&. Alcune informazioni sull\*(Aqinvecchiamento delle password vengono perse da -\fBpwunconv\fR\&. Convertir\(`a solo quello che potr\(`a\&. -.SH "OPZIONI" -.PP -Le opzioni che si possono applicare ai comandi -\fBpwconv\fR, -\fBpwunconv\fR, -\fBgrpconv\fR -e -\fBgrpunconv\fR -sono: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.SH "ERRORI" -.PP -Errori nel file delle password o dei gruppi (come elementi non validi o duplicati) possono causare dei cicli infiniti in questi programmi, oppure degli errori non prevedibili\&. Eseguire -\fBpwck\fR -e -\fBgrpck\fR -per correggere ogni eventuale errore prima di convertire da o verso password o gruppi shadow\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -influenzano il comportamento di -\fBgrpconv\fR -e -\fBgrpunconv\fR: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -influenzano il comportamento di -\fBpwconv\fR: -.PP -\fBPASS_MAX_DAYS\fR (numerico) -.RS 4 -Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la password \(`e pi\(`u vecchia verr\(`a imposto il suo cambiamento\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (numerico) -.RS 4 -Il numero minimo di giorni tra due cambiamenti di password\&. Ogni tentativo di cambiare la password prima di questo periodo verr\(`a rifiutato\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (numerico) -.RS 4 -Il numero di giorni per i quali un utente va avvisato che la sua password sta per scadere\&. Se zero l\*(Aqutente viene avvisato solo alla scadenza\&. Un valore negativo indica che non si deve avvisare mai\&. Se non specificato allora non c\*(Aq\(`e nessun avviso\&. -.RE -.SH "FILE" -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.SH "VEDERE ANCHE" -.PP -\fBgrpck\fR(8), -\fBlogin.defs\fR(5), -\fBpwck\fR(8)\&. diff --git a/man/it/man8/pwunconv.8 b/man/it/man8/pwunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/it/man8/pwunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/it/man8/sulogin.8 b/man/it/man8/sulogin.8 deleted file mode 100644 index 6c09296a..00000000 --- a/man/it/man8/sulogin.8 +++ /dev/null @@ -1,115 +0,0 @@ -'\" t -.\" Title: sulogin -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "SULOGIN" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -sulogin \- Single\-user login -.SH "SINTASSI" -.PP -\fBsulogin\fR -[\fItty\-device\fR] -.SH "DESCRIZIONE" -.PP -The -\fBsulogin\fR -command is invoked by -\fBinit\fR -prior to allowing the user access to the system when in single user mode\&. This feature may only be available on certain systems where -\fBinit\fR -has been modified accordingly, or where the -/etc/inittab -has an entry for a single user login\&. -.PP -The user is prompted -.PP -Type control\-d to proceed with normal startup, (or give root password for system maintenance): -.PP -Input and output will be performed with the standard file descriptors unless the optional device name argument is provided\&. -.PP -If the user enters the correct root password, a login session is initiated\&. When -\fIEOF\fR -is pressed instead, the system enters multi\-user mode\&. -.PP -After the user exits the single\-user shell, or presses -\fIEOF\fR, the system begins the initialization process required to enter multi\-user mode\&. -.SH "AVVISI/CAVEAT" -.PP -This command can only be used if -\fBinit\fR -has been modified to call -\fBsulogin\fR -instead of -/bin/sh, or if the user has set the -\fIinittab\fR -to support a single user login\&. For example, the line: -.PP -co:s:respawn:/etc/sulogin /dev/console -.PP -should execute the sulogin command in single user mode\&. -.PP -As complete an environment as possible is created\&. However, various devices may be unmounted or uninitialized and many of the user commands may be unavailable or nonfunctional as a result\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBENV_HZ\fR (testo) -.RS 4 -Se impostato viene utilizzato per definire il valore della variabile d\*(Aqambiente HZ al login dell\*(Aqutente\&. Il valore deve essere preceduto da -\fIHZ=\fR\&. Un valore comune per Linux \(`e -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_TZ\fR (testo) -.RS 4 -Se impostato viene usato per definire la variabile d\*(Aqambiente TZ al login dell\*(Aqutente\&. Il valore pu\(`o essere il nome di una \(Fotimezone\(Fc preceduta da -\fITZ=\fR -(ad esempio -\fITZ=CST6CDT\fR), o il percorso completo di un file che contenga la specifica della \(Fotimezone\(Fc (ad esempio -/etc/tzname)\&. -.sp -Se viene specificato il percorso completo di un file che per\(`o non esiste o non pu\(`o essere letto, allora viene utilizzato il valore predefinito -\fITZ=CST6CDT\fR\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBlogin\fR(1), -\fBsh\fR(1), -\fBinit\fR(8)\&. diff --git a/man/it/man8/useradd.8 b/man/it/man8/useradd.8 deleted file mode 100644 index 0c45bd3a..00000000 --- a/man/it/man8/useradd.8 +++ /dev/null @@ -1,696 +0,0 @@ -'\" t -.\" Title: useradd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "USERADD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -useradd \- crea un nuovo utente o aggiorna le informazioni predefinite per i nuovi utenti -.SH "SINOSSI" -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fIopzioni\fR] \fILOGIN\fR -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fIopzioni\fR] -.SH "DESCRIZIONE" -.PP -Quando viene invocato senza l\*(Aqopzione -\fB\-D\fR, il comando -\fBuseradd\fR -crea un nuovo account di utente usando i valori specificati sulla riga di comando ed i valori predefiniti dal sistema\&. A seconda dalle opzioni nella riga di comando, il comando -\fBuseradd\fR -aggiorner\(`a i file di sistema che lo necessitano, creer\(`a la home directory, e l\(`i verranno copiati i file iniziali\&. -.PP -Normalmente viene anche creato un gruppo per il nuovo utente (vedere -\fB\-g\fR, -\fB\-N\fR, -\fB\-U\fR -e -\fBUSERGROUPS_ENAB\fR)\&." -.SH "OPZIONI" -.PP -Il comando -\fBuseradd\fR -accetta le seguenti opzioni: -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIBASE_DIR\fR -.RS 4 -La directory base predefinita, nel caso che l\*(Aqopzione -\fB\-d\fR\ \&\fIHOME_DIR\fR -non sia specificata\&. -\fIBASE_DIR\fR -viene concatenata con il nome dell\*(Aqaccount per definire la directory home\&. Se l\*(Aqopzione -\fB\-m\fR -non \(`e usata, -\fIBASE_DIR\fR -deve esistere\&. -.sp -Se questa opzione non \(`e specificata, -\fBuseradd\fR -user\(`a la directory base specificata dalla variabile -\fBHOME\fR -in -/etc/default/useradd -oppure la costante -/home\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENTO\fR -.RS 4 -Un testo qualsiasi\&. Di norma \(`e una breve descrizione del login, ed \(`e attualmente usato come nome completo dell\*(Aqutente\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\-dir\fR\ \&\fIHOME_DIR\fR -.RS 4 -Il nuovo utente verr\(`a creato usando -\fIHOME_DIR\fR -come valore per la directory di login dell\*(Aqutente\&. Il comportamento predefinito \(`e di aggiungere il nome -\fILOGIN\fR -in fondo a -\fIBASE_DIR\fR -ed usare quello come nome di directory di login\&. Non \(`e necessario che la directory -\fIHOME_DIR\fR -esista, ma se non ci fosse non verr\(`a creata\&. -.RE -.PP -\fB\-D\fR, \fB\-\-defaults\fR -.RS 4 -Vedere oltre, la sezione \(FoCambiare i valori predefiniti\(Fc\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIDATA_SCADENZA\fR -.RS 4 -La data in cui l\*(Aqaccount dell\*(Aqutente verr\(`a disabilitato\&. La data \(`e specificata nel formato -\fIAAAA\-MM\-GG\fR\&. -.sp -Se non specificato diversamente, -\fBuseradd\fR -user\(`a la data di scadenza impostata con la variabile -\fBEXPIRE\fR -nel file -/etc/default/useradd -o un campo vuoto (nessuna scadenza)\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINATTIVO\fR -.RS 4 -Il numero di giorni dopo la scadenza della password prima che l\*(Aqaccount venga permanentemente disabilitato\&. Un valore pari a 0 disabilita l\*(Aqaccount non appena la password \(`e scaduta, ed un valore pari a \-1 disabilita questa funzionalit\(`a\&. -.sp -Il comportamento predefinito di -\fBuseradd\fR -\(`e di usare il periodo di inattivit\(`a specificato dalla variabile -\fBINACTIVE\fR -del file -/etc/default/useradd -oppure \-1 (con variabile assente)\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGRUPPO\fR -.RS 4 -Il nome o numero del gruppo di connessione iniziale dell\*(Aqutente\&. Il nome del gruppo deve esistere\&. Un numero di gruppo deve riferirsi ad un gruppo gi\(`a esistente\&. -.sp -Se non specificato, il comportamento di -\fBuseradd\fR -varier\(`a in base alla variabile -\fBUSERGROUPS_ENAB\fR -del file -/etc/login\&.defs\&. Se questa variabile \(`e impostata a -\fIyes\fR -(o se \(`e stata usata l\*(Aqopzione -\fB\-U/\-\-user\-group\fR -nella riga di comando) verr\(`a creato un gruppo per l\*(Aqutente con lo stesso nome\&. Se la variabile \(`e impostata a -\fIno\fR -(o se \(`e stata usata l\*(Aqopzione -\fB\-N/\-\-no\-user\-group\fR -nella riga di comando) useradd imposter\(`a il gruppo primario dell\*(Aqutente in base a quello impostato nella variabile -\fBGROUP\fR -del file -/etc/default/useradd -o a 100 se non specificato\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGRUPPO1\fR[\fI,GRUPPO2,\&.\&.\&.\fR[\fI,GRUPPON\fR]]] -.RS 4 -Una lista di gruppi supplementari di cui l\*(Aqutente \(`e altres\(`i membro\&. Ciascun gruppo \(`e separato dal successivo da una virgola, senza spazi bianchi intermedi\&. I gruppi sono soggetti alle stesse restrizioni del gruppo dato con l\*(Aqopzione -\fB\-g\fR\&. Il comportamento predefinito \(`e che l\*(Aqutente appartenga solo al gruppo iniziale\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-k\fR, \fB\-\-skel\fR\ \&\fISKEL_DIR\fR -.RS 4 -La directory \(Foskeleton\(Fc che contiene file e directory da copiare nella directory home dell\*(Aqutente quando viene creata da -\fBuseradd\fR\&. -.sp -Questa opzione \(`e valida solo se anche l\*(Aqopzione -\fB\-m\fR -(o -\fB\-\-create\-home\fR) \(`e stata specificata\&. -.sp -Se questa opzione non \(`e impostata, la directory \(Foskeleton\(Fc \(`e definita dalla variabile -\fBSKEL\fR -nel file -/etc/default/useradd -o, altrimenti, vale -/etc/skel\&. -.sp -Se possibile vengono copiate le ACL e gli attributi estesi\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR\&. -.RS 4 -Overrides -/etc/login\&.defs -defaults (\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBUMASK\fR, -\fBPASS_MAX_DAYS\fR -and others)\&. - -Example: -\fB\-K\fR\ \&\fIPASS_MAX_DAYS\fR=\fI\-1\fR -can be used when creating system account to turn off password aging, even though system account has no password at all\&. Multiple -\fB\-K\fR -options can be specified, e\&.g\&.: -\fB\-K\fR\ \&\fIUID_MIN\fR=\fI100\fR\ \& -\fB\-K\fR\ \&\fIUID_MAX\fR=\fI499\fR -.RE -.PP -\fB\-l\fR, \fB\-\-no\-log\-init\fR -.RS 4 -Non aggiunge l\*(Aqutente ai database \(Folastlog\(Fc e \(Fofaillog\(Fc\&. -.sp -By default, the user\*(Aqs entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user\&. -.RE -.PP -\fB\-m\fR, \fB\-\-create\-home\fR -.RS 4 -Crea la directory home dell\*(Aqutente nel caso in cui non esista\&. I file e directory contenuti nella directory \(Foskeleton\(Fc (che pu\(`o essere definita con l\*(Aqopzione -\fB\-k\fR) vengono copiati nella directory home\&. -.sp -Se questa opzione non viene utilizzata e se non \(`e attiva la voce -\fBCREATE_HOME\fR, la directory non viene creata\&. -.RE -.PP -\fB\-M\fR, \fB\-\-no\-create\-home\fR -.RS 4 -Non crea la directory home dell\*(Aqutente nonostante la configurazione di sistema in -/etc/login\&.defs -(\fBCREATE_HOME\fR) sia impostata a -\fIyes\fR\&. -.RE -.PP -\fB\-N\fR, \fB\-\-no\-user\-group\fR -.RS 4 -Non crea un gruppo con lo stesso nome dell\*(Aqutente, ma aggiunge l\*(Aqutente al gruppo specificato con l\*(Aqopzione -\fB\-g\fR -o tramite la variabile -\fBGROUP\fR -nel file -/etc/default/useradd\&. -.sp -Il comportamento predefinito (se le opzioni -\fB\-g\fR, -\fB\-N\fR -e -\fB\-U\fR -non sono specificate) \(`e definito dalla variabile -\fBUSERGROUPS_ENAB\fR -nel file -/etc/login\&.defs\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Permette la creazione di un utente con un UID duplicato (non unico)\&. -.sp -Questa opzione \(`e valida solo congiuntamente all\*(Aqopzione -\fB\-u\fR\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -La password cifrata, come restituita da -\fBcrypt\fR(3)\&. Il comportamento predefinito \(`e di disabilitare la password\&. -.sp -\fBNota:\fR -questa opzione non \(`e consigliata perch\('e la password (o password cifrata) sar\(`a visibile agli utenti che elencano i processi\&. -.sp -Ci si deve accertare che la password rispetti le norme delle password del sistema\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Crea un account di sistema\&. -.sp -Gli utenti di sistema vengono creati senza le informazioni sulla scadenza in -/etc/shadow -e con l\*(AqID numerico scelto nell\*(Aqintervallo -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR, definito nel file -/etc/login\&.defs, anzich\('e -\fBUID_MIN\fR\-\fBUID_MAX\fR -(e le loro controparti -\fBGID\fR -per la creazione dei gruppi)\&. -.sp -Note that -\fBuseradd\fR -will not create a home directory for such a user, regardless of the default setting in -/etc/login\&.defs -(\fBCREATE_HOME\fR)\&. You have to specify the -\fB\-m\fR -options if you want a home directory for a system account to be created\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -Il nome della shell di login dell\*(Aqutente\&. Il comportamento predefinito \(`e di lasciare vuoto questo campo, che fa s\(`i che il sistema selezioni la shell di connessione predefinita tramite la variabile -\fBSHELL\fR -in -/etc/default/useradd, oppure un testo vuoto\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -Il valore numerico dell\*(Aqidentificatore (ID) dell\*(Aqutente\&. Questo valore deve essere univoco, a meno che non venga usata l\*(Aqopzione -\fB\-o\fR\&. Il valore non deve essere negativo\&. La scelta predefinita \(`e quella di usare il minimo valore di ID maggiore o eguale a -\fBUID_MIN\fR -e maggiore a qualunque altro utente\&. -.sp -Vedere anche la descrizione dell\*(Aqopzione -\fB\-r\fR -e -\fBUID_MAX\fR -.RE -.PP -\fB\-U\fR, \fB\-\-user\-group\fR -.RS 4 -Crea un gruppo con lo stesso nome dell\*(Aqutente e aggiunge l\*(Aqutente al gruppo stesso\&. -.sp -Il comportamento predefinito (se le opzioni -\fB\-g\fR, -\fB\-N\fR -e -\fB\-U\fR -non sono specificate) \(`e definito dalla variabile -\fBUSERGROUPS_ENAB\fR -nel file -/etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fIUTENTESE\fR -.RS 4 -L\*(Aqutente SELinux per questo login utente\&. Lasciando questo campo vuoto si fa in modo che il sistema selezioni automaticamente l\*(Aqutente SELinux\&. -.RE -.SS "Cambiare i valori predefiniti" -.PP -Quando invocato con la sola opzione -\fB\-D\fR, -\fBuseradd\fR -mostrer\(`a i valori predefiniti correnti\&. Quando invocato con l\*(Aqopzione -\fB\-D\fR -e altre opzioni, -\fBuseradd\fR -aggiorner\(`a i valori predefiniti per le opzioni specificate\&. Le opzioni valide sono: -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIBASE_DIR\fR -.RS 4 -Il prefisso del percorso per la directory home del nuovo utente\&. Il nome dell\*(Aqutente verr\(`a aggiunto alla fine di -\fIBASE_DIR\fR -per creare il nome della nuova directory home, a meno che non venga usata l\*(Aqopzione -\fB\-d\fR -quando si crea un nuovo account\&. -.sp -Questa opzione imposta la variabile -\fBHOME\fR -del file -/etc/default/useradd\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIDATA_SCADENZA\fR -.RS 4 -La data in cui l\*(Aqaccount dell\*(Aqutente verr\(`a disabilitato\&. -.sp -Questa opzione imposta la variabile -\fBEXPIRE\fR -del file -/etc/default/useradd\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINATTIVO\fR -.RS 4 -Il numero di giorni dopo la scadenza di una password prima che l\*(Aqaccount venga disabilitato\&. -.sp -Questa opzione imposta la variabile -\fBINACTIVE\fR -del file -/etc/default/useradd\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGRUPPO\fR -.RS 4 -The group name or ID for a new user\*(Aqs initial group (when the -\fB\-N/\-\-no\-user\-group\fR -is used or when the -\fBUSERGROUPS_ENAB\fR -variable is set to -\fIno\fR -in -/etc/login\&.defs)\&. The named group must exist, and a numerical group ID must have an existing entry\&. -.sp -Questa opzione imposta la variabile -\fBGROUP\fR -nel file -/etc/default/useradd\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -Il nome della shell di login per il nuovo utente\&. -.sp -Questa opzione imposta la variabile -\fBSHELL\fR -del file -/etc/default/useradd\&. -.RE -.SH "NOTE" -.PP -L\*(Aqamministratore di sistema \(`e responsabile del posizionamento dei file utente predefiniti nella directory -/etc/skel/ -(o qualsiasi altra directory impostata in -/etc/default/useradd -o nella riga di comando)\&. -.SH "AVVISI/CAVEAT" -.PP -Non \(`e possibile aggiungere un utente ad un gruppo NIS o LDAP\&. Questo deve essere fatto sul server corrispondente\&. -.PP -Analogamente, se il nome utente esiste gi\(`a in un database esterno come NIS o LDAP, -\fBuseradd\fR -bloccher\(`a la creazione dell\*(Aqaccount\&. -.PP -I nomi utente devono iniziare con una lettera minuscola o un underscore, seguiti da lettere minuscole, cifre numeriche, underscore o trattini\&. Possono terminare con il simbolo del dollaro\&. In termini di espressioni regolari: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -I nomi utente non possono eccedere i 32 caratteri di lunghezza\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBCREATE_HOME\fR (booleano) -.RS 4 -Indica se per i nuovi utenti va creata la directory home\&. -.sp -Questa impostazione non viene applicata agli utenti di sistema e pu\(`o essere modificata sulla riga di comando\&. -.RE -.PP -\fBGID_MAX\fR (numerico), \fBGID_MIN\fR (numerico) -.RS 4 -Intervallo di ID di gruppo per la creazione di gruppi normali tramite -\fBuseradd\fR, -\fBgroupadd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBGID_MIN\fR -(rispettivamente -\fBGID_MAX\fR) \(`e 1000 (rispettivmente 60000)\&. -.RE -.PP -\fBMAIL_DIR\fR (testo) -.RS 4 -La directory di spool per la posta\&. Questa \(`e necessaria per manipolare la casella di posta quando il corrispondente account utente viene modificato o cancellato\&. Se non \(`e specificata viene utilizzato un valore impostato al momento della compilazione\&. -.RE -.PP -\fBMAIL_FILE\fR (testo) -.RS 4 -Imposta la posizione delle caselle di posta degli utenti relative alla loro directory home\&. -.RE -.PP -Le variabili -\fBMAIL_DIR\fR -e -\fBMAIL_FILE\fR -vengono utilizzate da -\fBuseradd\fR, -\fBusermod\fR -e -\fBuserdel\fR -per creare, spostare e cancellare le caselle di posta dell\*(Aqutente\&. -.PP -Se -\fBMAIL_CHECK_ENAB\fR -\(`e impostata a -\fIyes\fR -allora sono anche utilizzate per impostare la variabile d\*(Aqambiente -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (numerico) -.RS 4 -Il numero massimo di giorni che una password pu\(`o essere utilizzata\&. Se la password \(`e pi\(`u vecchia verr\(`a imposto il suo cambiamento\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (numerico) -.RS 4 -Il numero minimo di giorni tra due cambiamenti di password\&. Ogni tentativo di cambiare la password prima di questo periodo verr\(`a rifiutato\&. Se non specificato viene assunto \-1 (che disabilita questo controllo)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (numerico) -.RS 4 -Il numero di giorni per i quali un utente va avvisato che la sua password sta per scadere\&. Se zero l\*(Aqutente viene avvisato solo alla scadenza\&. Un valore negativo indica che non si deve avvisare mai\&. Se non specificato allora non c\*(Aq\(`e nessun avviso\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (numerico), \fBSYS_GID_MIN\fR (numerico) -.RS 4 -Intervallo di ID di gruppo utilizzato per la creazione di un gruppo di sistema da -\fBuseradd\fR, -\fBgroupadd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBSYS_GID_MIN\fR -(rispettivamente -\fBSYS_GID_MAX\fR) \(`e 101 (rispettivamente -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (numerico), \fBSYS_UID_MIN\fR (numerico) -.RS 4 -Intervallo di ID utente per la creazione degli utenti di sistema con -\fBuseradd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBSYS_UID_MIN\fR -(rispettivamente -\fBSYS_UID_MAX\fR) \(`e 101 (rispettivamente -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBUID_MAX\fR (numerico), \fBUID_MIN\fR (numerico) -.RS 4 -Intervallo di ID utente da utilizzare nella creazione degli utenti normali tramite -\fBuseradd\fR -o -\fBnewusers\fR\&. -.sp -Il valore predefinito per -\fBUID_MIN\fR -(rispettivamente -\fBUID_MAX\fR) \(`e 1000 (rispettivamente 60000)\&. -.RE -.PP -\fBUMASK\fR (numerico) -.RS 4 -La maschera di permessi alla creazione dei file \(`e inizializzata con questo valore\&. Se non specificato la maschera viene impostata a 022\&. -.sp -\fBuseradd\fR -e -\fBnewusers\fR -usano questa maschera per impostare i permessi della directory home che creano\&. -.sp -Viene anche utilizzata da -\fBlogin\fR -per definire la maschera iniziale dell\*(Aqutente\&. Notare che questa maschera pu\(`o essere modificata dalla riga GECOS dell\*(Aqutente (se -\fBQUOTAS_ENAB\fR -\(`e impostato) o specificando un limite con l\*(Aqidentificativo -\fIK\fR -in -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (booleano) -.RS 4 -Abilita l\*(Aqimpostazione dei bit di gruppo di umask in modo che siano gli stessi dei bit del proprietario (esempio: 022 \-> 002, 077 \-> 007) per utenti non root a condizione che uid e gid siano identici e che il nome utente sia lo stesso del gruppo primario\&. -.sp -Se impostato a -\fIyes\fR, -\fBuserdel\fR -canceller\(`a il gruppo dell\*(Aqutente se non contiene altri membri, e -\fBuseradd\fR -creer\(`a automaticamente un gruppo con lo stesso nome dell\*(Aqutente\&. -.RE -.SH "FILE" -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.PP -/etc/default/useradd -.RS 4 -Valori predefiniti per la creazione dell\*(Aqaccount\&. -.RE -.PP -/etc/skel/ -.RS 4 -Directory contenente i file predefiniti\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.SH "VALORI RESTITUITI" -.PP -Il comando -\fBuseradd\fR -restituisce i seguenti valori: -.SH "VEDERE ANCHE" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBnewusers\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/it/man8/userdel.8 b/man/it/man8/userdel.8 deleted file mode 100644 index 13bf466b..00000000 --- a/man/it/man8/userdel.8 +++ /dev/null @@ -1,297 +0,0 @@ -'\" t -.\" Title: userdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "USERDEL" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -userdel \- rimuove l\*(Aqaccount di un utente ed i file relativi -.SH "SINOSSI" -.HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [opzioni] \fILOGIN\fR -.SH "DESCRIZIONE" -.PP -Il comando -\fBuserdel\fR -modifica i file di account del sistema, rimuovendo tutte le voci che si riferiscono al nome utente -\fILOGIN\fR\&. L\*(Aqutente indicato deve esistere\&. -.SH "OPZIONI" -.PP -Il comando -\fBuserdel\fR -accetta le seguenti opzioni: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Questa opzione forza la cancellazione di un account utente anche se l\*(Aqutente \(`e ancora collegato al sistema\&. Inoltre forza -\fBuserdel\fR -a rimuovere la directory home dell\*(Aqutente e la casella di posta anche se un altro utente usa la stessa directory home o se la casella di posta non \(`e di propriet\(`a dell\*(Aqutente specificato\&. Se -\fBUSERGROUPS_ENAB\fR -\(`e impostato a -\fIyes\fR -in -/etc/login\&.defs -e se esiste un gruppo con lo stesso nome dell\*(Aqutente cancellato, allora il gruppo stesso viene cancellato anche se risulta il gruppo primario di un altro utente\&. -.sp -\fINota:\fR -questa opzione \(`e pericolosa e pu\(`o lasciare il sistema in uno stato incoerente\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\fR -.RS 4 -I file nella home directory dell\*(Aqutente verranno rimossi insieme alla home directory stessa e alla casella di posta dell\*(Aqutente\&. I file collocati in altri file system dovranno essere cercati e rimossi manualmente\&. -.sp -La directory di spool per la posta \(`e definita dalla variabile -\fBMAIL_DIR\fR -nel file -login\&.defs\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR -.RS 4 -Rimuove tutti gli utenti SELinux assegnati al login utente\&. -.RE -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBMAIL_DIR\fR (testo) -.RS 4 -La directory di spool per la posta\&. Questa \(`e necessaria per manipolare la casella di posta quando il corrispondente account utente viene modificato o cancellato\&. Se non \(`e specificata viene utilizzato un valore impostato al momento della compilazione\&. -.RE -.PP -\fBMAIL_FILE\fR (testo) -.RS 4 -Imposta la posizione delle caselle di posta degli utenti relative alla loro directory home\&. -.RE -.PP -Le variabili -\fBMAIL_DIR\fR -e -\fBMAIL_FILE\fR -vengono utilizzate da -\fBuseradd\fR, -\fBusermod\fR -e -\fBuserdel\fR -per creare, spostare e cancellare le caselle di posta dell\*(Aqutente\&. -.PP -Se -\fBMAIL_CHECK_ENAB\fR -\(`e impostata a -\fIyes\fR -allora sono anche utilizzate per impostare la variabile d\*(Aqambiente -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.PP -\fBUSERDEL_CMD\fR (testo) -.RS 4 -Se definito, questo comando viene eseguito quando si cancella un utente\&. Dovrebbe rimuovere tutti i compiti di stampa/cron/at di propriet\(`a dell\*(Aqutente da cancellare (passato come primo argomento)\&. -.sp -Il codice d\*(Aquscita restituito dallo script non \(`e preso in considerazione\&. -.sp -Ecco uno script di esempio che rimuove i job dell\*(Aqutente, sia di cron che at che di stampa: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# Verifica la presenza dell\*(Aqargomento obbligatorio -if [ $# != 1 ]; then - echo "Uso: $0 username" - exit 1 -fi - -# Rimuove i compiti di cron -crontab \-r \-u $1 - -# Rimuove i compiti di at -# Nota che verranno rimossi tutti i compiti di propriet\(`a dello stesso UID, -# anche se condiviso con un altro nome utente\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# Rimuove le stampe -lprm $1 - -# Finito\&. -exit 0 - -.fi -.if n \{\ -.RE -.\} -.RE -.PP -\fBUSERGROUPS_ENAB\fR (booleano) -.RS 4 -Abilita l\*(Aqimpostazione dei bit di gruppo di umask in modo che siano gli stessi dei bit del proprietario (esempio: 022 \-> 002, 077 \-> 007) per utenti non root a condizione che uid e gid siano identici e che il nome utente sia lo stesso del gruppo primario\&. -.sp -Se impostato a -\fIyes\fR, -\fBuserdel\fR -canceller\(`a il gruppo dell\*(Aqutente se non contiene altri membri, e -\fBuseradd\fR -creer\(`a automaticamente un gruppo con lo stesso nome dell\*(Aqutente\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "VALORI RESTITUITI" -.PP -Il comando -\fBuserdel\fR -esce con i seguenti valori: -.PP -\fI0\fR -.RS 4 -successo -.RE -.PP -\fI1\fR -.RS 4 -impossibile aggiornare il file delle password -.RE -.PP -\fI2\fR -.RS 4 -sintassi del comando errata -.RE -.PP -\fI6\fR -.RS 4 -l\*(Aqutente specificato non esiste -.RE -.PP -\fI8\fR -.RS 4 -utente attualmente connesso al sistema -.RE -.PP -\fI10\fR -.RS 4 -non \(`e possibile aggiornare il file group -.RE -.PP -\fI12\fR -.RS 4 -non \(`e possibile cancellare la directory home -.RE -.SH "AVVISI/CAVEAT" -.PP -\fBuserdel\fR -non permetter\(`a la cancellazione di un account se ci sono in esecuzione processi dell\*(Aqaccount stesso\&. In quel caso si deve prima terminare quei processi o bloccare la password o l\*(Aqaccount, e cancellare l\*(Aqaccount successivamente\&. L\*(Aqopzione -\fB\-f\fR -forza la cancellazione dell\*(Aqaccount\&. -.PP -Occorre controllare manualmente tutti i file system per assicurarsi che non rimanga nessun file di propriet\(`a di questo utente\&. -.PP -Non \(`e possibile rimuovere nessun attributo NIS su un client NIS\&. Questo deve essere fatto sul server NIS\&. -.PP -Se -\fBUSERGROUPS_ENAB\fR -\(`e impostato a -\fIyes\fR -in -/etc/login\&.defs, -\fBuserdel\fR -canceller\(`a il gruppo che ha lo stesso nome dell\*(Aqutente\&. Per evitare incoerenze tra i database di passwd e group, -\fBuserdel\fR -verificher\(`a che questo gruppo non sia utilizzato come gruppo primario da altri utenti, e nel caso emetter\(`a un avviso senza cancellare il gruppo\&. L\*(Aqopzione -\fB\-f\fR -forza la cancellazione di questo gruppo\&. -.SH "VEDERE ANCHE" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBlogin.defs\fR(5), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/it/man8/usermod.8 b/man/it/man8/usermod.8 deleted file mode 100644 index b8757066..00000000 --- a/man/it/man8/usermod.8 +++ /dev/null @@ -1,439 +0,0 @@ -'\" t -.\" Title: usermod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "USERMOD" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -usermod \- modifica l\*(Aqaccount di un utente -.SH "SINOSSI" -.HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIopzioni\fR] \fILOGIN\fR -.SH "DESCRIZIONE" -.PP -Il comando -\fBusermod\fR -modifica i file di account del sistema in modo da riflettere i cambiamenti che sono specificati sulla riga di comando\&. -.SH "OPZIONI" -.PP -Il comando -\fBusermod\fR -accetta le seguenti opzioni: -.PP -\fB\-a\fR, \fB\-\-append\fR -.RS 4 -Aggiunge l\*(Aqutente al/i gruppo/i supplmentare/i\&. Usare solo con l\*(Aqopzione -\fB\-G\fR\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENTO\fR -.RS 4 -Il nuovo valore per il campo commento dell\*(Aqutente nel file password\&. Normalmente viene modificato usando l\*(Aqutilit\(`a -\fBchfn\fR(1)\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\fR\ \&\fIHOME_DIR\fR -.RS 4 -La nuova directory home dell\*(Aqutente\&. -.sp -Se \(`e data l\*(Aqopzione -\fB\-m\fR -il contenuto della directory home corrente sar\(`a spostato nella nuova directory home, che viene creata se non esiste gi\(`a\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIDATA_SCADENZA\fR -.RS 4 -La data in cui l\*(Aqaccount dell\*(Aqutente verr\(`a disabilitato\&. La data \(`e specificata nel formato -\fIAAAA\-MM\-GG\fR\&. -.sp -Un argomento -\fIDATA_SCADENZA\fR -vuoto disabilita la scadenza dell\*(Aqaccount\&. -.sp -Questa opzione richiede il file -/etc/shadow\&. Se non c\*(Aq\(`e ancora viene creata una voce nel file -/etc/shadow\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINATTIVO\fR -.RS 4 -Il numero di giorni dopo la scadenza di una password prima che l\*(Aqaccount venga disabilitato permanentemente\&. -.sp -Il valore 0 disabilita l\*(Aqaccount non appena la password \(`e scaduta, e il valore \-1 disabilita questa funzionalit\(`a\&. -.sp -Questa opzione richiede il file -/etc/shadow\&. Se non c\*(Aq\(`e ancora viene creata una voce nel file -/etc/shadow\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGRUPPO\fR -.RS 4 -Il nome o numero del gruppo da assegnare alla connessione dell\*(Aqutente\&. Il gruppo deve esistere\&. -.sp -Tutti i file nella directory home dell\*(Aqutente che hanno come gruppo il precedente gruppo primario dell\*(Aqutente stesso verranno modificati perch\('e abbiano questo nuovo gruppo\&. -.sp -Il gruppo dei file che si trovano all\*(Aqesterno della directory home dell\*(Aqutente andr\(`a modificato manualmente\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGRUPPO1\fR[\fI,GRUPPO2,\&.\&.\&.\fR[\fI,GRUPPON\fR]]] -.RS 4 -Una lista di gruppi supplementari di cui l\*(Aqutente \(`e altres\(`i membro\&. Ciascun gruppo \(`e separato dal successivo da una virgola, senza spazi bianchi intermedi\&. I gruppi sono soggetti alle stesse restrizioni del gruppo dato con l\*(Aqopzione -\fB\-g\fR\&. -.sp -Se l\*(Aqutente \(`e attualmente membro di un gruppo che non \(`e elencato, l\*(Aqutente verr\(`a rimosso dal gruppo\&. Questo comportamento pu\(`o essere cambiato con l\*(Aqopzione -\fB\-a\fR -che aggiunge all\*(Aqutente i gruppi supplementari dei quali fa attualmente parte\&. -.RE -.PP -\fB\-l\fR, \fB\-\-login\fR\ \&\fINUOVO_LOGIN\fR -.RS 4 -Il nome dell\*(Aqutente verr\(`a cambiato da -\fILOGIN\fR -a -\fINUOVO_LOGIN\fR\&. Niente altro viene cambiato\&. In particolare, la directory home dell\*(Aqutente e la casella di posta dovrebbero probabilmente essere modificate manualmente in modo da riflettere il nuovo nome di login\&. -.RE -.PP -\fB\-L\fR, \fB\-\-lock\fR -.RS 4 -Blocca la password di un utente\&. Questo inserisce un \(Fo!\(Fc davanti alla password cifrata, disabilitandola\&. Non si pu\(`o utilizzare questa opzione con le opzioni -\fB\-p\fR -e -\fB\-U\fR\&. -.sp -Nota: se si vuole bloccare l\*(Aqaccount (non solo l\*(Aqaccesso tramite password), si deve anche impostare -\fIDATA_SCADENZA\fR -a -\fI1\fR\&. -.RE -.PP -\fB\-m\fR, \fB\-\-move\-home\fR -.RS 4 -Sposta il contenuto della directory home di un utente nella nuova posizione\&. -.sp -Questa opzione \(`e valida solo in combinazioone con l\*(Aqopzione -\fB\-d\fR -(o -\fB\-\-home\fR)\&. -.sp -\fBusermod\fR -cercher\(`a di adattare la propriet\(`a dei file e di copiare i permessi, le ACL e gli attributi estesi, ma successive modifiche manuali potrebbe comunque essere necessarie\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Quando \(`e usata con l\*(Aqopzione -\fB\-u\fR -questa opzione permette di modificare l\*(AqID utente in un valore non univoco\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -La passwird cifrata, cos\(`i come viene restituita da -\fBcrypt\fR(3)\&. -.sp -\fBNota:\fR -questa opzione non \(`e consigliata perch\('e la password (o password cifrata) sar\(`a visibile agli utenti che elencano i processi\&. -.sp -Ci si deve accertare che la password rispetti le norme delle password del sistema\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -Il nome della nuova shell di login dell\*(Aqutente\&. Lasciando questo campo vuoto si fa in modo che il sistema selezioni la shell di login predefinita\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -Il nuovo valore numerico dell\*(AqID utente\&. -.sp -Questo valore deve essere univoco, a meno che non sia utilizzata l\*(Aqopzione -\fB\-o\fR\&. Il valore non pu\(`o essere negativo\&. -.sp -La casella di posta dell\*(Aqutente e ogni altro file di propriet\(`a dell\*(Aqutente che si trovi all\*(Aqinterno della directory home avr\(`a l\*(AqID utente cambiato automaticamente\&. -.sp -La propriet\(`a dei file esterni alla directory home dell\*(Aqutente va corretta manualmente\&. -.sp -Non vengono fatti controlli riguardo -\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBSYS_UID_MIN\fR -o -\fBSYS_UID_MAX\fR -dal file -/etc/login\&.defs\&. -.RE -.PP -\fB\-U\fR, \fB\-\-unlock\fR -.RS 4 -Sblocca la password di un utente\&. Questo rimuove il \(Fo!\(Fc davanti alla password cifrata\&. Non si pu\(`o usare questa opzione con l\*(Aqopzione -\fB\-p\fR -o -\fB\-L\fR\&. -.sp -Nota: se si vuole sbloccare l\*(Aqaccount (non solo l\*(Aqaccesso con password) si deve anche impostare -\fIDATA_SCADENZA\fR -(per esempio a -\fI99999\fR -o al valore -\fBEXPIRE\fR -dal file -/etc/default/useradd)\&. -.RE -.PP -\fB\-v\fR, \fB\-\-add\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate uids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-V\fR, \fB\-\-del\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate uids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-uids\fR -and -\fB\-\-add\-sub\-uids\fR -are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-w\fR, \fB\-\-add\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate gids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-W\fR, \fB\-\-del\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate gids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-gids\fR -and -\fB\-\-add\-sub\-gids\fR -are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fIUTENTESE\fR -.RS 4 -Il nuovo utente SELinux per il login dell\*(Aqutente\&. -.sp -Un -\fIUTENTESE\fR -vuoto rimuover\(`a la mappatura per l\*(Aqutente SELinux da -\fILOGIN\fR -(se presente)\&. -.RE -.SH "AVVISI/CAVEAT" -.PP -You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. -\fBusermod\fR -checks this on Linux\&. On other platforms it only uses utmp to check if the user is logged in\&. -.PP -Si deve cambiare manualmente il proprietario di eventuali file -\fBcrontab\fR -e compiti -\fBat\fR\&. -.PP -Si devono apportare tutte le modifiche che riguardano NIS sul server NIS\&. -.SH "CONFIGURAZIONE" -.PP -Le seguenti variabili di configurazione in -/etc/login\&.defs -cambiano il comportamento di questo strumento: -.PP -\fBMAIL_DIR\fR (testo) -.RS 4 -La directory di spool per la posta\&. Questa \(`e necessaria per manipolare la casella di posta quando il corrispondente account utente viene modificato o cancellato\&. Se non \(`e specificata viene utilizzato un valore impostato al momento della compilazione\&. -.RE -.PP -\fBMAIL_FILE\fR (testo) -.RS 4 -Imposta la posizione delle caselle di posta degli utenti relative alla loro directory home\&. -.RE -.PP -Le variabili -\fBMAIL_DIR\fR -e -\fBMAIL_FILE\fR -vengono utilizzate da -\fBuseradd\fR, -\fBusermod\fR -e -\fBuserdel\fR -per creare, spostare e cancellare le caselle di posta dell\*(Aqutente\&. -.PP -Se -\fBMAIL_CHECK_ENAB\fR -\(`e impostata a -\fIyes\fR -allora sono anche utilizzate per impostare la variabile d\*(Aqambiente -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (numero) -.RS 4 -Numero massimo di membri per gruppo\&. Quando viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file -/etc/group -(con lo stesso nome, stessa password e stesso GID)\&. -.sp -Il valore predefinito \(`e 0, che non pone nessun limite al numero di membri per gruppo\&. -.sp -Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel file \(Fogroup\(Fc\&. Questo \(`e utile per essere certi che le righe per gruppi NIS non eccedano i 1024 caratteri\&. -.sp -Se si deve impostare questo limite, si pu\(`o usare 25\&. -.sp -Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento (anche all\*(Aqinterno del pacchetto Shadow)\&. Non si dovrebbe utilizzare questa variabile a meno di esserci forzati\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Configurazione del pacchetto password shadow -.RE -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8)\&. diff --git a/man/it/man8/vigr.8 b/man/it/man8/vigr.8 deleted file mode 100644 index ff72d7ae..00000000 --- a/man/it/man8/vigr.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/vipw.8 diff --git a/man/it/man8/vipw.8 b/man/it/man8/vipw.8 deleted file mode 100644 index 22480846..00000000 --- a/man/it/man8/vipw.8 +++ /dev/null @@ -1,135 +0,0 @@ -'\" t -.\" Title: vipw -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18/09/2016 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.4 -.\" Language: Italian -.\" -.TH "VIPW" "8" "18/09/2016" "shadow\-utils 4\&.4" "Comandi per la gestione del si" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NOME" -vipw, vigr \- modifica i file delle password, dei gruppi, delle password shadow o dei gruppi shadow -.SH "SINOSSI" -.HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIopzioni\fR] -.HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIopzioni\fR] -.SH "DESCRIZIONE" -.PP -I comandi -\fBvipw\fR -e -\fBvigr\fR -permettono di modificare rispettivamente i file -/etc/passwd -e -/etc/group\&. Con l\*(Aqopzione -\fB\-s\fR, vengono aperte le versioni shadow di quei file, rispettivamente -/etc/shadow -e -/etc/gshadow\&. I programmi si occupano di impostare i lock necessari per evitare la corruzione dei file\&. Per determinare l\*(Aqeditor da usare, i programmi prima provano con la variabile d\*(Aqambiente -\fB$VISUAL\fR, poi con la variabile d\*(Aqambiente -\fB$EDITOR\fR -e infine con l\*(Aqeditor predefinito, -\fBvi\fR(1)\&. -.SH "OPZIONI" -.PP -Le opzioni per i comandi -\fBvipw\fR -e -\fBvigr\fR -sono: -.PP -\fB\-g\fR, \fB\-\-group\fR -.RS 4 -Modifica del database \(Fogroup\(Fc\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Mostra un messaggio di aiuto ed esce\&. -.RE -.PP -\fB\-p\fR, \fB\-\-passwd\fR -.RS 4 -Modifica del database \(Fopasswd\(Fc\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Modalit\(`a silenziosa\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Effettua le modifiche nella directory -\fICHROOT_DIR\fR -e usa i file di configurazione dalla directory -\fICHROOT_DIR\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shadow\fR -.RS 4 -Modifica del database \(Foshadow\(Fc o \(Fogshadow\(Fc -.RE -.SH "VARIABILI D\*(AQAMBIENTE" -.PP -\fBVISUAL\fR -.RS 4 -Editor da utilizzare\&. -.RE -.PP -\fBEDITOR\fR -.RS 4 -Editor da utilizzare se -\fBVISUAL\fR -non \(`e impostata\&. -.RE -.SH "FILE" -.PP -/etc/group -.RS 4 -Informazioni sugli account di gruppo\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informazioni sicure sugli account di gruppo\&. -.RE -.PP -/etc/passwd -.RS 4 -Informazioni sugli account utente\&. -.RE -.PP -/etc/shadow -.RS 4 -Informazioni sicure sugli account utente\&. -.RE -.SH "VEDERE ANCHE" -.PP -\fBvi\fR(1), -\fBgroup\fR(5), -\fBgshadow\fR(5), , -\fBpasswd\fR(5), , -\fBshadow\fR(5) diff --git a/man/ja/Makefile.in b/man/ja/Makefile.in deleted file mode 100644 index bdcc2e40..00000000 --- a/man/ja/Makefile.in +++ /dev/null @@ -1,656 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) -subdir = man/ja -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ - "$(DESTDIR)$(man8dir)" -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/ja -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = man1/chage.1 man1/chfn.1 man8/chpasswd.8 man1/chsh.1 \ - man1/expiry.1 man5/faillog.5 man8/faillog.8 man1/gpasswd.1 \ - man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/groups.1 \ - man8/grpck.8 man8/grpconv.8 man8/grpunconv.8 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man5/shadow.5 \ - man1/su.1 man5/suauth.5 man8/useradd.8 man8/userdel.8 \ - man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) -man_nopam = \ - man5/limits.5 \ - man5/login.access.5 \ - man5/porttime.5 - -EXTRA_DIST = $(man_MANS) man1/id.1 man3/shadow.3 man8/sulogin.8 \ - $(am__append_2) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/ja/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/ja/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man5 install-man8 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-man uninstall-man1 uninstall-man5 \ - uninstall-man8 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/ko/Makefile.in b/man/ko/Makefile.in deleted file mode 100644 index 6823a4c2..00000000 --- a/man/ko/Makefile.in +++ /dev/null @@ -1,651 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = man/ko -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ - "$(DESTDIR)$(man8dir)" -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/ko -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = \ - man1/chfn.1 \ - man1/chsh.1 \ - man1/groups.1 \ - man1/login.1 \ - man5/passwd.5 \ - man1/su.1 \ - man8/vigr.8 \ - man8/vipw.8 - -# newgrp.1 must be updated -# newgrp.1 -EXTRA_DIST = $(man_MANS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/ko/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/ko/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man5 install-man8 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-man uninstall-man1 uninstall-man5 \ - uninstall-man8 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/ko/man1/id.1 b/man/ko/man1/id.1 new file mode 100644 index 00000000..a48aa266 --- /dev/null +++ b/man/ko/man1/id.1 @@ -0,0 +1,52 @@ +.TH ID 1L "GNU ģ‰˜ ģœ ķ‹øė¦¬ķ‹°" "FSF" \" \-*\- nroff \-*\- +.SH ģ“ė¦„ +id \- ģ‹¤ģ œ, 유효 UID와 GID넼 ģ¶œė „ķ•œė‹¤. +.SH ź°œģš” +.B id +[\-gnruG] [\-\-group] [\-\-name] [\-\-real] [\-\-user] [\-\-groups] +[\-\-help] [\-\-version] [username] +.SH 설명 +ģ“ ė§ØķŽ˜ģ“ģ§€ėŠ” GNU ė²„ģ „ģ˜ +.BR id +넼 다룬다. +.B id +ėŠ” 주얓진 ģ‚¬ģš©ģž, ė˜ėŠ” ģ‚¬ģš©ģžź°€ 주얓지지 ģ•ŠėŠ” 경우 ķ”„ė”œģ„øģŠ¤ģ˜ ģ£¼ģøģ— ėŒ€ķ•œ +정볓넼 ģ¶œė „ķ•œė‹¤. 기본적으딜 ģ‹¤ģ œ ģ‚¬ģš©ģž ID, ģ‹¤ģ œ 그룹 ID, ė§Œģ•½ ģ‹¤ģ œ ģ‚¬ģš©ģž +ID와 다넓다멓 유효 ģ‚¬ģš©ģž ID넼, ė§ˆģ°¬ź°€ģ§€ė”œ ģ‹¤ģ œ 그룹 ID와 다넓다멓 유효 그룹 +ID넼 ģ¶œė „ķ•˜ź³  추가 그룹 ID넼 ģ¶œė „ķ•œė‹¤. 각 ķ•­ėŖ©ģ€ ģ‹ė³„ ė¬øģž 그리고 ź“„ķ˜ø ģ•ˆģ— +ķ•“ė‹¹ķ•˜ėŠ” ģ‚¬ģš©ģž ė˜ėŠ” ź·øė£¹ėŖ…ģœ¼ė”œ ķ‘œķ˜„ėœė‹¤. +.PP +.B id +에 ģ˜µģ…˜ģ„ 주멓 ģœ„ģ—ģ„œ ģ—“ź±°ķ•œ ģ •ė³“ģ˜ ģ¼ė¶€ė§Œ 볓여준다. +.SS ģ˜µģ…˜ +.TP +.I "\-g, \-\-group" +ģ˜¤ė”œģ§€ 그룹 ID만 ģ¶œė „ķ•œė‹¤. +.TP +.I "\-G, \-\-groups" +추가 그룹만 ģ¶œė „ķ•œė‹¤. +.TP +.I "\-\-help" +ķ‘œģ¤€ģ¶œė „ģœ¼ė”œ ģ‚¬ģš©ė²•ģ„ ģ¶œė „ķ•˜ź³  ģ •ģƒģ ģœ¼ė”œ ģ¢…ė£Œķ•œė‹¤. +.TP +.I "\-n, \-\-name" +ID 번호 ėŒ€ģ‹  ģ‚¬ģš©ģžėŖ…, ź·øė£¹ėŖ…ģ„ ģ¶œė „ķ•œė‹¤. +.IR \-u , +.IR \-g , +ė˜ėŠ” +.IR \-G +넼 ķ•„ģš”ė”œ ķ•œė‹¤. +.TP +.I "\-r, \-\-real" +유효 ģ‚¬ģš©ģž, 유효 그룹 IDź°€ ģ•„ė‹ˆė¼ ģ‹¤ģ œ ID 넼 ģ¶œė „ķ•œė‹¤. +.IR \-u , +.IR \-g , +ė˜ėŠ” +.IR \-G +넼 ķ•„ģš”ė”œ ķ•œė‹¤. +.TP +.I "\-u, \-\-user" +ģ˜¤ė”œģ§€ ģ‚¬ģš©ģž ID 만 ģ¶œė „ķ•œė‹¤. +.TP +.I "\-\-version" +ķ‘œģ¤€ģ¶œė „ģœ¼ė”œ 버전정볓넼 ģ¶œė „ķ•˜ź³  ģ •ģƒģ ģœ¼ė”œ ģ¢…ė£Œķ•œė‹¤. diff --git a/man/ko/man1/newgrp.1 b/man/ko/man1/newgrp.1 new file mode 100644 index 00000000..31cc482c --- /dev/null +++ b/man/ko/man1/newgrp.1 @@ -0,0 +1,29 @@ +.\" Original author unknown. This man page is in the public domain. +.\" Modified Sat Oct 9 17:46:48 1993 by faith@cs.unc.edu +.TH NEWGRP 1 "9 October 1993" "Linux 1.2" "Linux Programmer's Manual" +.SH NAME +newgrp \- ģžģ‹ ģ“ ģ†Œģ†ėœ ź·øė£¹ģ„ 새 그룹으딜 바꾼다. +.SH SYNOPSIS +.BI "newgrp [ " group " ]" +.SH DESCRIPTION +.B Newgrp +ėŖ…ė ¹ģ€ +changes the group identification of its caller, analogously to +.BR login (1). +ėŖ…ė ¹ģœ¼ė”œ ė”œź·øģø ķ•  ė•Œ ģ‹ė³„ė˜ėŠ” ź·øė£¹ģ„ 바꾼다. +\fIgroup\fR으딜 ģ‚¬ģš©ė  수 ģžˆėŠ” ź°’ģ€ /etc/group ķŒŒģ¼ģ•ˆģ— +ģžˆėŠ” ź·øė£¹ģ˜ ģ“ė¦„ģ“ė‚˜, GID ź°’ģ“ģ—¬ģ•¼ ķ•˜ė©°, +명령행 ģøģžģ—ģ„œ ģ“ ź°’ģ„ ķŠ¹ė³„ķžˆ ģ§€ģ •ķ•˜ģ§€ ģ•Šģœ¼ė©“, ķ˜„ģž¬ ģžģ‹ ģ˜ +그룹으딜 바꾼다. +.LP +.SH FILES +.I /etc/group +.br +.I /etc/passwd + +.SH "SEE ALSO" +.BR login "(1), " group (5) + +.SH AUTHOR +Originally by Michael Haardt. Currently maintained by +Peter Orbaek (poe@daimi.aau.dk). diff --git a/man/man1/chage.1 b/man/man1/chage.1 deleted file mode 100644 index b748b71b..00000000 --- a/man/man1/chage.1 +++ /dev/null @@ -1,184 +0,0 @@ -'\" t -.\" Title: chage -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "CHAGE" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -chage \- change user password expiry information -.SH "SYNOPSIS" -.HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIoptions\fR] \fILOGIN\fR -.SH "DESCRIPTION" -.PP -The -\fBchage\fR -command changes the number of days between password changes and the date of the last password change\&. This information is used by the system to determine when a user must change his/her password\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBchage\fR -command are: -.PP -\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR -.RS 4 -Set the number of days since January 1st, 1970 when the password was last changed\&. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area)\&. -.RE -.PP -\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR -.RS 4 -Set the date or number of days since January 1, 1970 on which the user\*(Aqs account will no longer be accessible\&. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area)\&. A user whose account is locked must contact the system administrator before being able to use the system again\&. -.sp -Passing the number -\fI\-1\fR -as the -\fIEXPIRE_DATE\fR -will remove an account expiration date\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-I\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR -.RS 4 -Set the number of days of inactivity after a password has expired before the account is locked\&. The -\fIINACTIVE\fR -option is the number of days of inactivity\&. A user whose account is locked must contact the system administrator before being able to use the system again\&. -.sp -Passing the number -\fI\-1\fR -as the -\fIINACTIVE\fR -will remove an account\*(Aqs inactivity\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -Show account aging information\&. -.RE -.PP -\fB\-m\fR, \fB\-\-mindays\fR\ \&\fIMIN_DAYS\fR -.RS 4 -Set the minimum number of days between password changes to -\fIMIN_DAYS\fR\&. A value of zero for this field indicates that the user may change his/her password at any time\&. -.RE -.PP -\fB\-M\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAYS\fR -.RS 4 -Set the maximum number of days during which a password is valid\&. When -\fIMAX_DAYS\fR -plus -\fILAST_DAY\fR -is less than the current day, the user will be required to change his/her password before being able to use his/her account\&. This occurrence can be planned for in advance by use of the -\fB\-W\fR -option, which provides the user with advance warning\&. -.sp -Passing the number -\fI\-1\fR -as -\fIMAX_DAYS\fR -will remove checking a password\*(Aqs validity\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR -.RS 4 -Set the number of days of warning before a password change is required\&. The -\fIWARN_DAYS\fR -option is the number of days prior to the password expiring that a user will be warned his/her password is about to expire\&. -.RE -.PP -If none of the options are selected, -\fBchage\fR -operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of -\fI[ ]\fR -marks\&. -.SH "NOTE" -.PP -The -\fBchage\fR -program requires a shadow password file to be available\&. -.PP -The -\fBchage\fR -command is restricted to the root user, except for the -\fB\-l\fR -option, which may be used by an unprivileged user to determine when his/her password or account is due to expire\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.SH "EXIT VALUES" -.PP -The -\fBchage\fR -command exits with the following values: -.PP -\fI0\fR -.RS 4 -success -.RE -.PP -\fI1\fR -.RS 4 -permission denied -.RE -.PP -\fI2\fR -.RS 4 -invalid command syntax -.RE -.PP -\fI15\fR -.RS 4 -can\*(Aqt find the shadow password file -.RE -.SH "SEE ALSO" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/man1/chfn.1 b/man/man1/chfn.1 deleted file mode 100644 index 8ed40d7e..00000000 --- a/man/man1/chfn.1 +++ /dev/null @@ -1,163 +0,0 @@ -'\" t -.\" Title: chfn -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "CHFN" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -chfn \- change real user name and information -.SH "SYNOPSIS" -.HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] -.SH "DESCRIPTION" -.PP -The -\fBchfn\fR -command changes user fullname, office room number, office phone number, and home phone number information for a user\*(Aqs account\&. This information is typically printed by -\fBfinger\fR(1) -and similar programs\&. A normal user may only change the fields for her own account, subject to the restrictions in -/etc/login\&.defs\&. (The default configuration is to prevent users from changing their fullname\&.) The superuser may change any field for any account\&. Additionally, only the superuser may use the -\fB\-o\fR -option to change the undefined portions of the GECOS field\&. -.PP -These fields must not contain any colons\&. Except for the -\fIother\fR -field, they should not contain any comma or equal sign\&. It is also recommended to avoid non\-US\-ASCII characters, but this is only enforced for the phone numbers\&. The -\fIother\fR -field is used to store accounting information used by other applications\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBchfn\fR -command are: -.PP -\fB\-f\fR, \fB\-\-full\-name\fR\ \&\fIFULL_NAME\fR -.RS 4 -Change the user\*(Aqs full name\&. -.RE -.PP -\fB\-h\fR, \fB\-\-home\-phone\fR\ \&\fIHOME_PHONE\fR -.RS 4 -Change the user\*(Aqs home phone number\&. -.RE -.PP -\fB\-o\fR, \fB\-\-other\fR\ \&\fIOTHER\fR -.RS 4 -Change the user\*(Aqs other GECOS information\&. This field is used to store accounting information used by other applications, and can be changed only by a superuser\&. -.RE -.PP -\fB\-r\fR, \fB\-\-room\fR\ \&\fIROOM_NUMBER\fR -.RS 4 -Change the user\*(Aqs room number\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-u\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-w\fR, \fB\-\-work\-phone\fR\ \&\fIWORK_PHONE\fR -.RS 4 -Change the user\*(Aqs office phone number\&. -.RE -.PP -If none of the options are selected, -\fBchfn\fR -operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of -\fB[ ]\fR -marks\&. Without options, -\fBchfn\fR -prompts for the current user account\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBCHFN_AUTH\fR (boolean) -.RS 4 -If -\fIyes\fR, the -\fBchfn\fR -program will require authentication before making any changes, unless run by the superuser\&. -.RE -.PP -\fBCHFN_RESTRICT\fR (string) -.RS 4 -This parameter specifies which values in the -\fIgecos\fR -field of the -/etc/passwd -file may be changed by regular users using the -\fBchfn\fR -program\&. It can be any combination of letters -\fIf\fR, -\fIr\fR, -\fIw\fR, -\fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility, -\fIyes\fR -is equivalent to -\fIrwh\fR -and -\fIno\fR -is equivalent to -\fIfrwh\fR\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing -\fBchfn\fR -SUID\&. -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&. -.sp -If the string contains -\fI%s\fR, this will be replaced by the user\*(Aqs name\&. -.RE -.SH "FILES" -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBchsh\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/man1/chsh.1 b/man/man1/chsh.1 deleted file mode 100644 index 5974ec9b..00000000 --- a/man/man1/chsh.1 +++ /dev/null @@ -1,121 +0,0 @@ -'\" t -.\" Title: chsh -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "CHSH" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -chsh \- change login shell -.SH "SYNOPSIS" -.HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIoptions\fR] [\fILOGIN\fR] -.SH "DESCRIPTION" -.PP -The -\fBchsh\fR -command changes the user login shell\&. This determines the name of the user\*(Aqs initial login command\&. A normal user may only change the login shell for her own account; the superuser may change the login shell for any account\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBchsh\fR -command are: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -The name of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&. -.RE -.PP -If the -\fB\-s\fR -option is not selected, -\fBchsh\fR -operates in an interactive fashion, prompting the user with the current login shell\&. Enter the new value to change the shell, or leave the line blank to use the current one\&. The current shell is displayed between a pair of -\fI[ ]\fR -marks\&. -.SH "NOTE" -.PP -The only restriction placed on the login shell is that the command name must be listed in -/etc/shells, unless the invoker is the superuser, and then any value may be added\&. An account with a restricted login shell may not change her login shell\&. For this reason, placing -/bin/rsh -in -/etc/shells -is discouraged since accidentally changing to a restricted shell would prevent the user from ever changing her login shell back to its original value\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBCHSH_AUTH\fR (boolean) -.RS 4 -If -\fIyes\fR, the -\fBchsh\fR -program will require authentication before making any changes, unless run by the superuser\&. -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&. -.sp -If the string contains -\fI%s\fR, this will be replaced by the user\*(Aqs name\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shells -.RS 4 -List of valid login shells\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "SEE ALSO" -.PP -\fBchfn\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/man1/expiry.1 b/man/man1/expiry.1 deleted file mode 100644 index 30cfebaf..00000000 --- a/man/man1/expiry.1 +++ /dev/null @@ -1,74 +0,0 @@ -'\" t -.\" Title: expiry -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "EXPIRY" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -expiry \- check and enforce password expiration policy -.SH "SYNOPSIS" -.HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIoption\fR -.SH "DESCRIPTION" -.PP -The -\fBexpiry\fR -command checks (\fB\-c\fR) the current password expiration and forces (\fB\-f\fR) changes when required\&. It is callable as a normal user command\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBexpiry\fR -command are: -.PP -\fB\-c\fR, \fB\-\-check\fR -.RS 4 -Check the password expiration of the current user\&. -.RE -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Force a password change if the current user has an expired password\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/man1/gpasswd.1 b/man/man1/gpasswd.1 deleted file mode 100644 index 319188b2..00000000 --- a/man/man1/gpasswd.1 +++ /dev/null @@ -1,232 +0,0 @@ -'\" t -.\" Title: gpasswd -.\" Author: Rafal Maszkowski -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "GPASSWD" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -gpasswd \- administer /etc/group and /etc/gshadow -.SH "SYNOPSIS" -.HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fIoption\fR] \fIgroup\fR -.SH "DESCRIPTION" -.PP -The -\fBgpasswd\fR -command is used to administer -/etc/group, and /etc/gshadow\&. Every group can have -administrators, -members and a password\&. -.PP -System administrators can use the -\fB\-A\fR -option to define group administrator(s) and the -\fB\-M\fR -option to define members\&. They have all rights of group administrators and members\&. -.PP -\fBgpasswd\fR -called by -a group administrator -with a group name only prompts for the new password of the -\fIgroup\fR\&. -.PP -If a password is set the members can still use -\fBnewgrp\fR(1) -without a password, and non\-members must supply the password\&. -.SS "Notes about group passwords" -.PP -Group passwords are an inherent security problem since more than one person is permitted to know the password\&. However, groups are a useful tool for permitting co\-operation between different users\&. -.SH "OPTIONS" -.PP -Except for the -\fB\-A\fR -and -\fB\-M\fR -options, the options cannot be combined\&. -.PP -The options which apply to the -\fBgpasswd\fR -command are: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIuser\fR -.RS 4 -Add the -\fIuser\fR -to the named -\fIgroup\fR\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIuser\fR -.RS 4 -Remove the -\fIuser\fR -from the named -\fIgroup\fR\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-Q\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\-password\fR -.RS 4 -Remove the password from the named -\fIgroup\fR\&. The group password will be empty\&. Only group members will be allowed to use -\fBnewgrp\fR -to join the named -\fIgroup\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-restrict\fR -.RS 4 -Restrict the access to the named -\fIgroup\fR\&. The group password is set to "!"\&. Only group members with a password will be allowed to use -\fBnewgrp\fR -to join the named -\fIgroup\fR\&. -.RE -.PP -\fB\-A\fR, \fB\-\-administrators\fR\ \&\fIuser\fR,\&.\&.\&. -.RS 4 -Set the list of administrative users\&. -.RE -.PP -\fB\-M\fR, \fB\-\-members\fR\ \&\fIuser\fR,\&.\&.\&. -.RS 4 -Set the list of group members\&. -.RE -.SH "CAVEATS" -.PP -This tool only operates on the -/etc/group -and /etc/gshadow files\&. -Thus you cannot change any NIS or LDAP group\&. This must be performed on the corresponding server\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -This defines the system default encryption algorithm for encrypting passwords (if no algorithm are specified on the command line)\&. -.sp -It can take one of these values: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Note: this parameter overrides the -\fBMD5_CRYPT_ENAB\fR -variable\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to -\fIyes\fR, new passwords will be encrypted using the MD5\-based algorithm compatible with the one used by recent releases of FreeBSD\&. It supports passwords of unlimited length and longer salt strings\&. Set to -\fIno\fR -if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is -\fIno\fR\&. -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -This variable is deprecated\&. You should use -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -When -\fBENCRYPT_METHOD\fR -is set to -\fISHA256\fR -or -\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&. -.sp -With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&. -.sp -If not specified, the libc will choose the default number of rounds (5000)\&. -.sp -The values must be inside the 1000\-999,999,999 range\&. -.sp -If only one of the -\fBSHA_CRYPT_MIN_ROUNDS\fR -or -\fBSHA_CRYPT_MAX_ROUNDS\fR -values is set, then this value will be used\&. -.sp -If -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBnewgrp\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBgrpck\fR(8), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/man1/groups.1 b/man/man1/groups.1 deleted file mode 100644 index 6f829237..00000000 --- a/man/man1/groups.1 +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "GROUPS" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groups \- display current group names -.SH "SYNOPSIS" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "DESCRIPTION" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named -\fIuser\fR\&. -.SH "NOTE" -.PP -Systems which do not support concurrent group sets will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2)\&. diff --git a/man/man1/id.1 b/man/man1/id.1 deleted file mode 100644 index 82fdb12d..00000000 --- a/man/man1/id.1 +++ /dev/null @@ -1,60 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "ID" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -id \- display current user and group ID names -.SH "SYNOPSIS" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "DESCRIPTION" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support multiple concurrent group membership\&. -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2) diff --git a/man/man1/login.1 b/man/man1/login.1 deleted file mode 100644 index e291cc6c..00000000 --- a/man/man1/login.1 +++ /dev/null @@ -1,485 +0,0 @@ -'\" t -.\" Title: login -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "LOGIN" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -login \- begin session on the system -.SH "SYNOPSIS" -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fIusername\fR] [\fIENV=VAR\fR...] -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fIusername\fR -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] \-r\ \fIhost\fR -.SH "DESCRIPTION" -.PP -The -\fBlogin\fR -program is used to establish a new session with the system\&. It is normally invoked automatically by responding to the -\fIlogin:\fR -prompt on the user\*(Aqs terminal\&. -\fBlogin\fR -may be special to the shell and may not be invoked as a sub\-process\&. When called from a shell, -\fBlogin\fR -should be executed as -\fBexec login\fR -which will cause the user to exit from the current shell (and thus will prevent the new logged in user to return to the session of the caller)\&. Attempting to execute -\fBlogin\fR -from any shell but the login shell will produce an error message\&. -.PP -The user is then prompted for a password, where appropriate\&. Echoing is disabled to prevent revealing the password\&. Only a small number of password failures are permitted before -\fBlogin\fR -exits and the communications link is severed\&. -.PP -If password aging has been enabled for your account, you may be prompted for a new password before proceeding\&. You will be forced to provide your old password and the new password before continuing\&. Please refer to -\fBpasswd\fR(1) -for more information\&. -.PP -After a successful login, you will be informed of any system messages and the presence of mail\&. You may turn off the printing of the system message file, -/etc/motd, by creating a zero\-length file -\&.hushlogin -in your login directory\&. The mail message will be one of "\fIYou have new mail\&.\fR", "\fIYou have mail\&.\fR", or "\fINo Mail\&.\fR" according to the condition of your mailbox\&. -.PP -Your user and group ID will be set according to their values in the -/etc/passwd -file\&. The value for -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$PATH\fR, -\fB$LOGNAME\fR, and -\fB$MAIL\fR -are set according to the appropriate fields in the password entry\&. Ulimit, umask and nice values may also be set according to entries in the GECOS field\&. -.PP -On some installations, the environmental variable -\fB$TERM\fR -will be initialized to the terminal type on your tty line, as specified in -/etc/ttytype\&. -.PP -An initialization script for your command interpreter may also be executed\&. Please see the appropriate manual section for more information on this function\&. -.PP -A subsystem login is indicated by the presence of a "*" as the first character of the login shell\&. The given home directory will be used as the root of a new file system which the user is actually logged into\&. -.PP -The -\fBlogin\fR -program is NOT responsible for removing users from the utmp file\&. It is the responsibility of -\fBgetty\fR(8) -and -\fBinit\fR(8) -to clean up apparent ownership of a terminal session\&. If you use -\fBlogin\fR -from the shell prompt without -\fBexec\fR, the user you use will continue to appear to be logged in even after you log out of the "subsession"\&. -.SH "OPTIONS" -.PP -\fB\-f\fR -.RS 4 -Do not perform authentication, user is preauthenticated\&. -.sp -Note: In that case, -\fIusername\fR -is mandatory\&. -.RE -.PP -\fB\-h\fR -.RS 4 -Name of the remote host for this login\&. -.RE -.PP -\fB\-p\fR -.RS 4 -Preserve environment\&. -.RE -.PP -\fB\-r\fR -.RS 4 -Perform autologin protocol for rlogin\&. -.RE -.PP -The -\fB\-r\fR, -\fB\-h\fR -and -\fB\-f\fR -options are only used when -\fBlogin\fR -is invoked by root\&. -.SH "CAVEATS" -.PP -This version of -\fBlogin\fR -has many compilation options, only some of which may be in use at any particular site\&. -.PP -The location of files is subject to differences in system configuration\&. -.PP -The -\fBlogin\fR -program is NOT responsible for removing users from the utmp file\&. It is the responsibility of -\fBgetty\fR(8) -and -\fBinit\fR(8) -to clean up apparent ownership of a terminal session\&. If you use -\fBlogin\fR -from the shell prompt without -\fBexec\fR, the user you use will continue to appear to be logged in even after you log out of the "subsession"\&. -.PP -As with any program, -\fBlogin\fR\*(Aqs appearance can be faked\&. If non\-trusted users have physical access to a machine, an attacker could use this to obtain the password of the next person coming to sit in front of the machine\&. Under Linux, the SAK mechanism can be used by users to initiate a trusted path and prevent this kind of attack\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBCONSOLE\fR (string) -.RS 4 -If defined, either full pathname of a file containing device names (one per line) or a ":" delimited list of device names\&. Root logins will be allowed only upon these devices\&. -.sp -If not defined, root will be allowed on any device\&. -.sp -The device should be specified without the /dev/ prefix\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (string) -.RS 4 -List of groups to add to the user\*(Aqs supplementary groups set when logging in on the console (as determined by the CONSOLE setting)\&. Default is none\&. - -Use with caution \- it is possible for users to gain permanent access to these groups, even when not logged in on the console\&. -.RE -.PP -\fBDEFAULT_HOME\fR (boolean) -.RS 4 -Indicate if login is allowed if we can\*(Aqt cd to the home directory\&. Default is no\&. -.sp -If set to -\fIyes\fR, the user will login in the root (/) directory if it is not possible to cd to her home directory\&. -.RE -.PP -\fBENV_HZ\fR (string) -.RS 4 -If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by -\fIHZ=\fR\&. A common value on Linux is -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_PATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (string) -.RS 4 -If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by -\fITZ=\fR -(for example -\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example -/etc/tzname)\&. -.sp -If a full path is specified but the file does not exist or cannot be read, the default is to use -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (string) -.RS 4 -If this file exists and is readable, login environment will be read from it\&. Every line should be in the form name=value\&. -.sp -Lines starting with a # are treated as comment lines and ignored\&. -.RE -.PP -\fBERASECHAR\fR (number) -.RS 4 -Terminal ERASE character (\fI010\fR -= backspace, -\fI0177\fR -= DEL)\&. -.sp -The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&. -.RE -.PP -\fBFAIL_DELAY\fR (number) -.RS 4 -Delay in seconds before being allowed another attempt after a login failure\&. -.RE -.PP -\fBFAILLOG_ENAB\fR (boolean) -.RS 4 -Enable logging and display of -/var/log/faillog -login failure info\&. -.RE -.PP -\fBFAKE_SHELL\fR (string) -.RS 4 -If set, -\fBlogin\fR -will execute this shell instead of the users\*(Aq shell specified in -/etc/passwd\&. -.RE -.PP -\fBFTMP_FILE\fR (string) -.RS 4 -If defined, login failures will be logged in this file in a utmp format\&. -.RE -.PP -\fBHUSHLOGIN_FILE\fR (string) -.RS 4 -If defined, this file can inhibit all the usual chatter during the login sequence\&. If a full pathname is specified, then hushed mode will be enabled if the user\*(Aqs name or shell are found in the file\&. If not a full pathname, then hushed mode will be enabled if the file exists in the user\*(Aqs home directory\&. -.RE -.PP -\fBISSUE_FILE\fR (string) -.RS 4 -If defined, this file will be displayed before each login prompt\&. -.RE -.PP -\fBKILLCHAR\fR (number) -.RS 4 -Terminal KILL character (\fI025\fR -= CTRL/U)\&. -.sp -The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&. -.RE -.PP -\fBLASTLOG_ENAB\fR (boolean) -.RS 4 -Enable logging and display of /var/log/lastlog login time info\&. -.RE -.PP -\fBLOGIN_RETRIES\fR (number) -.RS 4 -Maximum number of login retries in case of bad password\&. -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&. -.sp -If the string contains -\fI%s\fR, this will be replaced by the user\*(Aqs name\&. -.RE -.PP -\fBLOGIN_TIMEOUT\fR (number) -.RS 4 -Max time in seconds for login\&. -.RE -.PP -\fBLOG_OK_LOGINS\fR (boolean) -.RS 4 -Enable logging of successful logins\&. -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (boolean) -.RS 4 -Enable display of unknown usernames when login failures are recorded\&. -.sp -Note: logging unknown usernames may be a security issue if an user enter her password instead of her login name\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (boolean) -.RS 4 -Enable checking and display of mailbox status upon login\&. -.sp -You should disable it if the shell startup files already check for mail ("mailx \-e" or equivalent)\&. -.RE -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -Defines the location of the users mail spool files relatively to their home directory\&. -.RE -.PP -The -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -variables are used by -\fBuseradd\fR, -\fBusermod\fR, and -\fBuserdel\fR -to create, move, or delete the user\*(Aqs mail spool\&. -.PP -If -\fBMAIL_CHECK_ENAB\fR -is set to -\fIyes\fR, they are also used to define the -\fBMAIL\fR -environment variable\&. -.PP -\fBMOTD_FILE\fR (string) -.RS 4 -If defined, ":" delimited list of "message of the day" files to be displayed upon login\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (string) -.RS 4 -If defined, name of file whose presence will inhibit non\-root logins\&. The contents of this file should be a message indicating why logins are inhibited\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (boolean) -.RS 4 -Enable checking of time restrictions specified in -/etc/porttime\&. -.RE -.PP -\fBQUOTAS_ENAB\fR (boolean) -.RS 4 -Enable setting of resource limits from -/etc/limits -and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&. -.RE -.PP -\fBTTYGROUP\fR (string), \fBTTYPERM\fR (string) -.RS 4 -The terminal permissions: the login tty will be owned by the -\fBTTYGROUP\fR -group, and the permissions will be set to -\fBTTYPERM\fR\&. -.sp -By default, the ownership of the terminal is set to the user\*(Aqs primary group and the permissions are set to -\fI0600\fR\&. -.sp -\fBTTYGROUP\fR -can be either the name of a group or a numeric group identifier\&. -.sp -If you have a -\fBwrite\fR -program which is "setgid" to a special group which owns the terminals, define TTYGROUP to the group number and TTYPERM to 0620\&. Otherwise leave TTYGROUP commented out and assign TTYPERM to either 622 or 600\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (string) -.RS 4 -If defined, file which maps tty line to TERM environment parameter\&. Each line of the file is in a format something like "vt100 tty01"\&. -.RE -.PP -\fBULIMIT\fR (number) -.RS 4 -Default -\fBulimit\fR -value\&. -.RE -.PP -\fBUMASK\fR (number) -.RS 4 -The file mode creation mask is initialized to this value\&. If not specified, the mask will be initialized to 022\&. -.sp -\fBuseradd\fR -and -\fBnewusers\fR -use this mask to set the mode of the home directory they create -.sp -It is also used by -\fBlogin\fR -to define users\*(Aq initial umask\&. Note that this mask can be overridden by the user\*(Aqs GECOS line (if -\fBQUOTAS_ENAB\fR -is set) or by the specification of a limit with the -\fIK\fR -identifier in -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -Enable setting of the umask group bits to be the same as owner bits (examples: 022 \-> 002, 077 \-> 007) for non\-root users, if the uid is the same as gid, and username is the same as the primary group name\&. -.sp -If set to -\fIyes\fR, -\fBuserdel\fR -will remove the user\*(Aqs group if it contains no more members, and -\fBuseradd\fR -will create by default a group with the name of the user\&. -.RE -.SH "FILES" -.PP -/var/run/utmp -.RS 4 -List of current login sessions\&. -.RE -.PP -/var/log/wtmp -.RS 4 -List of previous login sessions\&. -.RE -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/motd -.RS 4 -System message of the day file\&. -.RE -.PP -/etc/nologin -.RS 4 -Prevent non\-root users from logging in\&. -.RE -.PP -/etc/ttytype -.RS 4 -List of terminal types\&. -.RE -.PP -$HOME/\&.hushlogin -.RS 4 -Suppress printing of system messages\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "SEE ALSO" -.PP -\fBmail\fR(1), -\fBpasswd\fR(1), -\fBsh\fR(1), -\fBsu\fR(1), -\fBlogin.defs\fR(5), -\fBnologin\fR(5), -\fBpasswd\fR(5), -\fBsecuretty\fR(5), -\fBgetty\fR(8)\&. diff --git a/man/man1/newgidmap.1 b/man/man1/newgidmap.1 deleted file mode 100644 index 479053c1..00000000 --- a/man/man1/newgidmap.1 +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\" Title: newgidmap -.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "NEWGIDMAP" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -newgidmap \- set the gid mapping of a user namespace -.SH "SYNOPSIS" -.HP \w'\fBnewgidmap\fR\ 'u -\fBnewgidmap\fR \fIpid\fR \fIgid\fR \fIlowergid\fR \fIcount\fR [\fIgid\fR\ \fIlowergid\fR\ \fIcount\fR\ [\ \fI\&.\&.\&.\fR\ ]] -.SH "DESCRIPTION" -.PP -The -\fBnewgidmap\fR -sets -/proc/[pid]/gid_map -based on its command line arguments and the gids allowed in -/etc/subgid\&. Note that the root user is not exempted from the requirement for a valid -/etc/subgid -entry\&. -.PP -After the pid argument, -\fBnewgidmap\fR -expects sets of 3 integers: -.PP -gid -.RS 4 -Beginning of the range of GIDs inside the user namespace\&. -.RE -.PP -lowergid -.RS 4 -Beginning of the range of GIDs outside the user namespace\&. -.RE -.PP -count -.RS 4 -Length of the ranges (both inside and outside the user namespace)\&. -.RE -.PP -\fBnewgidmap\fR -verifies that the caller is the owner of the process indicated by -\fBpid\fR -and that for each of the above sets, each of the GIDs in the range [lowergid, lowergid+count] is allowed to the caller according to -/etc/subgid -before setting -/proc/[pid]/gid_map\&. -.PP -Note that newgidmap may be used only once for a given process\&. -.SH "OPTIONS" -.PP -There currently are no options to the -\fBnewgidmap\fR -command\&. -.SH "FILES" -.PP -/etc/subgid -.RS 4 -List of user\*(Aqs subordinate group IDs\&. -.RE -.PP -/proc/[pid]/gid_map -.RS 4 -Mapping of gids from one between user namespaces\&. -.RE -.SH "SEE ALSO" -.PP -\fBlogin.defs\fR(5), -\fBnewusers\fR(8), -\fBsubgid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/man1/newgrp.1 b/man/man1/newgrp.1 deleted file mode 100644 index 556589b1..00000000 --- a/man/man1/newgrp.1 +++ /dev/null @@ -1,98 +0,0 @@ -'\" t -.\" Title: newgrp -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "NEWGRP" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -newgrp \- log in to a new group -.SH "SYNOPSIS" -.HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIgroup\fR] -.SH "DESCRIPTION" -.PP -The -\fBnewgrp\fR -command is used to change the current group ID during a login session\&. If the optional -\fB\-\fR -flag is given, the user\*(Aqs environment will be reinitialized as though the user had logged in, otherwise the current environment, including current working directory, remains unchanged\&. -.PP -\fBnewgrp\fR -changes the current real group ID to the named group, or to the default group listed in -/etc/passwd -if no group name is given\&. -\fBnewgrp\fR -also tries to add the group to the user groupset\&. If not root, the user will be prompted for a password if she does not have a password (in -/etc/shadow -if this user has an entry in the shadowed password file, or in -/etc/passwd -otherwise) and the group does, or if the user is not listed as a member and the group has a password\&. The user will be denied access if the group password is empty and the user is not listed as a member\&. -.PP -If there is an entry for this group in -/etc/gshadow, then the list of members and the password of this group will be taken from this file, otherwise, the entry in -/etc/group -is considered\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsg\fR -activity\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBsu\fR(1), -\fBsg\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/man1/newuidmap.1 b/man/man1/newuidmap.1 deleted file mode 100644 index 8e8ccad4..00000000 --- a/man/man1/newuidmap.1 +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\" Title: newuidmap -.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "NEWUIDMAP" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -newuidmap \- set the uid mapping of a user namespace -.SH "SYNOPSIS" -.HP \w'\fBnewuidmap\fR\ 'u -\fBnewuidmap\fR \fIpid\fR \fIuid\fR \fIloweruid\fR \fIcount\fR [\fIuid\fR\ \fIloweruid\fR\ \fIcount\fR\ [\ \fI\&.\&.\&.\fR\ ]] -.SH "DESCRIPTION" -.PP -The -\fBnewuidmap\fR -sets -/proc/[pid]/uid_map -based on its command line arguments and the uids allowed in -/etc/subuid\&. Note that the root user is not exempted from the requirement for a valid -/etc/subuid -entry\&. -.PP -After the pid argument, -\fBnewuidmap\fR -expects sets of 3 integers: -.PP -uid -.RS 4 -Beginning of the range of UIDs inside the user namespace\&. -.RE -.PP -loweruid -.RS 4 -Beginning of the range of UIDs outside the user namespace\&. -.RE -.PP -count -.RS 4 -Length of the ranges (both inside and outside the user namespace)\&. -.RE -.PP -\fBnewuidmap\fR -verifies that the caller is the owner of the process indicated by -\fBpid\fR -and that for each of the above sets, each of the UIDs in the range [loweruid, loweruid+count] is allowed to the caller according to -/etc/subuid -before setting -/proc/[pid]/uid_map\&. -.PP -Note that newuidmap may be used only once for a given process\&. -.SH "OPTIONS" -.PP -There currently are no options to the -\fBnewuidmap\fR -command\&. -.SH "FILES" -.PP -/etc/subuid -.RS 4 -List of user\*(Aqs subordinate user IDs\&. -.RE -.PP -/proc/[pid]/uid_map -.RS 4 -Mapping of uids from one between user namespaces\&. -.RE -.SH "SEE ALSO" -.PP -\fBlogin.defs\fR(5), -\fBnewusers\fR(8), -\fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBusermod\fR(8), -\fBuserdel\fR(8)\&. diff --git a/man/man1/passwd.1 b/man/man1/passwd.1 deleted file mode 100644 index 1492e45a..00000000 --- a/man/man1/passwd.1 +++ /dev/null @@ -1,359 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "PASSWD" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -passwd \- change user password -.SH "SYNOPSIS" -.HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIoptions\fR] [\fILOGIN\fR] -.SH "DESCRIPTION" -.PP -The -\fBpasswd\fR -command changes passwords for user accounts\&. A normal user may only change the password for his/her own account, while the superuser may change the password for any account\&. -\fBpasswd\fR -also changes the account or associated password validity period\&. -.SS "Password Changes" -.PP -The user is first prompted for his/her old password, if one is present\&. This password is then encrypted and compared against the stored password\&. The user has only one chance to enter the correct password\&. The superuser is permitted to bypass this step so that forgotten passwords may be changed\&. -.PP -After the password has been entered, password aging information is checked to see if the user is permitted to change the password at this time\&. If not, -\fBpasswd\fR -refuses to change the password and exits\&. -.PP -The user is then prompted twice for a replacement password\&. The second entry is compared against the first and both are required to match in order for the password to be changed\&. -.PP -Then, the password is tested for complexity\&. As a general guideline, passwords should consist of 6 to 8 characters including one or more characters from each of the following sets: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -lower case alphabetics -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -digits 0 thru 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -punctuation marks -.RE -.PP -Care must be taken not to include the system default erase or kill characters\&. -\fBpasswd\fR -will reject any password which is not suitably complex\&. -.SS "Hints for user passwords" -.PP -The security of a password depends upon the strength of the encryption algorithm and the size of the key space\&. The legacy -\fIUNIX\fR -System encryption method is based on the NBS DES algorithm\&. More recent methods are now recommended (see -\fBENCRYPT_METHOD\fR)\&. The size of the key space depends upon the randomness of the password which is selected\&. -.PP -Compromises in password security normally result from careless password selection or handling\&. For this reason, you should not select a password which appears in a dictionary or which must be written down\&. The password should also not be a proper name, your license number, birth date, or street address\&. Any of these may be used as guesses to violate system security\&. -.PP -You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength -.SH "OPTIONS" -.PP -The options which apply to the -\fBpasswd\fR -command are: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -This option can be used only with -\fB\-S\fR -and causes show status for all users\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR -.RS 4 -Delete a user\*(Aqs password (make it empty)\&. This is a quick way to disable a password for an account\&. It will set the named account passwordless\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expire\fR -.RS 4 -Immediately expire an account\*(Aqs password\&. This in effect can force a user to change his/her password at the user\*(Aqs next login\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-i\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR -.RS 4 -This option is used to disable an account after the password has been expired for a number of days\&. After a user account has had an expired password for -\fIINACTIVE\fR -days, the user may no longer sign on to the account\&. -.RE -.PP -\fB\-k\fR, \fB\-\-keep\-tokens\fR -.RS 4 -Indicate password change should be performed only for expired authentication tokens (passwords)\&. The user wishes to keep their non\-expired tokens as before\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\fR -.RS 4 -Lock the password of the named account\&. This option disables a password by changing it to a value which matches no possible encrypted value (it adds a \(aa!\(aa at the beginning of the password)\&. -.sp -Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use -\fBusermod \-\-expiredate 1\fR -(this set the account\*(Aqs expire date to Jan 2, 1970)\&. -.sp -Users with a locked password are not allowed to change their password\&. -.RE -.PP -\fB\-n\fR, \fB\-\-mindays\fR\ \&\fIMIN_DAYS\fR -.RS 4 -Set the minimum number of days between password changes to -\fIMIN_DAYS\fR\&. A value of zero for this field indicates that the user may change his/her password at any time\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Quiet mode\&. -.RE -.PP -\fB\-r\fR, \fB\-\-repository\fR\ \&\fIREPOSITORY\fR -.RS 4 -change password in -\fIREPOSITORY\fR -repository -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-S\fR, \fB\-\-status\fR -.RS 4 -Display account status information\&. The status information consists of 7 fields\&. The first field is the user\*(Aqs login name\&. The second field indicates if the user account has a locked password (L), has no password (NP), or has a usable password (P)\&. The third field gives the date of the last password change\&. The next four fields are the minimum age, maximum age, warning period, and inactivity period for the password\&. These ages are expressed in days\&. -.RE -.PP -\fB\-u\fR, \fB\-\-unlock\fR -.RS 4 -Unlock the password of the named account\&. This option re\-enables a password by changing the password back to its previous value (to the value before using the -\fB\-l\fR -option)\&. -.RE -.PP -\fB\-w\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR -.RS 4 -Set the number of days of warning before a password change is required\&. The -\fIWARN_DAYS\fR -option is the number of days prior to the password expiring that a user will be warned that his/her password is about to expire\&. -.RE -.PP -\fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAYS\fR -.RS 4 -Set the maximum number of days a password remains valid\&. After -\fIMAX_DAYS\fR, the password is required to be changed\&. -.RE -.SH "CAVEATS" -.PP -Password complexity checking may vary from site to site\&. The user is urged to select a password as complex as he or she feels comfortable with\&. -.PP -Users may not be able to change their password on a system if NIS is enabled and they are not logged into the NIS server\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -This defines the system default encryption algorithm for encrypting passwords (if no algorithm are specified on the command line)\&. -.sp -It can take one of these values: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Note: this parameter overrides the -\fBMD5_CRYPT_ENAB\fR -variable\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to -\fIyes\fR, new passwords will be encrypted using the MD5\-based algorithm compatible with the one used by recent releases of FreeBSD\&. It supports passwords of unlimited length and longer salt strings\&. Set to -\fIno\fR -if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is -\fIno\fR\&. -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -This variable is deprecated\&. You should use -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (boolean) -.RS 4 -Enable additional checks upon password changes\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (boolean) -.RS 4 -Warn about weak passwords (but still allow them) if you are root\&. -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (number) -.RS 4 -Maximum number of attempts to change password if rejected (too easy)\&. -.RE -.PP -\fBPASS_MAX_LEN\fR (number), \fBPASS_MIN_LEN\fR (number) -.RS 4 -Number of significant characters in the password for crypt()\&. -\fBPASS_MAX_LEN\fR -is 8 by default\&. Don\*(Aqt change unless your crypt() is better\&. This is ignored if -\fBMD5_CRYPT_ENAB\fR -set to -\fIyes\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -When -\fBENCRYPT_METHOD\fR -is set to -\fISHA256\fR -or -\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&. -.sp -With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&. -.sp -If not specified, the libc will choose the default number of rounds (5000)\&. -.sp -The values must be inside the 1000\-999,999,999 range\&. -.sp -If only one of the -\fBSHA_CRYPT_MIN_ROUNDS\fR -or -\fBSHA_CRYPT_MAX_ROUNDS\fR -values is set, then this value will be used\&. -.sp -If -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "EXIT VALUES" -.PP -The -\fBpasswd\fR -command exits with the following values: -.PP -\fI0\fR -.RS 4 -success -.RE -.PP -\fI1\fR -.RS 4 -permission denied -.RE -.PP -\fI2\fR -.RS 4 -invalid combination of options -.RE -.PP -\fI3\fR -.RS 4 -unexpected failure, nothing done -.RE -.PP -\fI4\fR -.RS 4 -unexpected failure, -passwd -file missing -.RE -.PP -\fI5\fR -.RS 4 -passwd -file busy, try again -.RE -.PP -\fI6\fR -.RS 4 -invalid argument to option -.RE -.SH "SEE ALSO" -.PP -\fBchpasswd\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBlogin.defs\fR(5), -\fBusermod\fR(8)\&. diff --git a/man/man1/sg.1 b/man/man1/sg.1 deleted file mode 100644 index bda1a13c..00000000 --- a/man/man1/sg.1 +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\" Title: sg -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "SG" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -sg \- execute command as different group ID -.SH "SYNOPSIS" -.HP \w'\fBsg\fR\ 'u -\fBsg\fR [\-] [group\ [\-c\ ]\ command] -.SH "DESCRIPTION" -.PP -The -\fBsg\fR -command works similar to -\fBnewgrp\fR -but accepts a command\&. The command will be executed with the -/bin/sh -shell\&. With most shells you may run -\fBsg\fR -from, you need to enclose multi\-word commands in quotes\&. Another difference between -\fBnewgrp\fR -and -\fBsg\fR -is that some shells treat -\fBnewgrp\fR -specially, replacing themselves with a new instance of a shell that -\fBnewgrp\fR -creates\&. This doesn\*(Aqt happen with -\fBsg\fR, so upon exit from a -\fBsg\fR -command you are returned to your previous group ID\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsg\fR -activity\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBnewgrp\fR(1), -\fBsu\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/man1/su.1 b/man/man1/su.1 deleted file mode 100644 index 066e76d9..00000000 --- a/man/man1/su.1 +++ /dev/null @@ -1,450 +0,0 @@ -'\" t -.\" Title: su -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: User Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "SU" "1" "09/18/2016" "shadow\-utils 4\&.4" "User Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -su \- change user ID or become superuser -.SH "SYNOPSIS" -.HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fIoptions\fR] [\fIusername\fR] -.SH "DESCRIPTION" -.PP -The -\fBsu\fR -command is used to become another user during a login session\&. Invoked without a -\fBusername\fR, -\fBsu\fR -defaults to becoming the superuser\&. The optional argument -\fB\-\fR -may be used to provide an environment similar to what the user would expect had the user logged in directly\&. -.PP -Additional arguments may be provided after the username, in which case they are supplied to the user\*(Aqs login shell\&. In particular, an argument of -\fB\-c\fR -will cause the next argument to be treated as a command by most command interpreters\&. The command will be executed by the shell specified in -/etc/passwd -for the target user\&. -.PP -You can use the -\fB\-\-\fR -argument to separate -\fBsu\fR -options from the arguments supplied to the shell\&. -.PP -The user will be prompted for a password, if appropriate\&. Invalid passwords will produce an error message\&. All attempts, both valid and invalid, are logged to detect abuse of the system\&. -.PP -The current environment is passed to the new shell\&. The value of -\fB$PATH\fR -is reset to -/bin:/usr/bin -for normal users, or -/sbin:/bin:/usr/sbin:/usr/bin -for the superuser\&. This may be changed with the -\fBENV_PATH\fR -and -\fBENV_SUPATH\fR -definitions in -/etc/login\&.defs\&. -.PP -A subsystem login is indicated by the presence of a "*" as the first character of the login shell\&. The given home directory will be used as the root of a new file system which the user is actually logged into\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBsu\fR -command are: -.PP -\fB\-c\fR, \fB\-\-command\fR\ \&\fICOMMAND\fR -.RS 4 -Specify a command that will be invoked by the shell using its -\fB\-c\fR\&. -.sp -The executed command will have no controlling terminal\&. This option cannot be used to execute interactive programs which need a controlling TTY\&. -.RE -.PP -\fB\-\fR, \fB\-l\fR, \fB\-\-login\fR -.RS 4 -Provide an environment similar to what the user would expect had the user logged in directly\&. -.sp -When -\fB\-\fR -is used, it must be specified before any -\fBusername\fR\&. For portability it is recommended to use it as last option, before any -\fBusername\fR\&. The other forms (\fB\-l\fR -and -\fB\-\-login\fR) do not have this restriction\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -The shell that will be invoked\&. -.sp -The invoked shell is chosen from (highest priority first): -.PP -.RS 4 -The shell specified with \-\-shell\&. -.RE -.PP -.RS 4 -If -\fB\-\-preserve\-environment\fR -is used, the shell specified by the -\fB$SHELL\fR -environment variable\&. -.RE -.PP -.RS 4 -The shell indicated in the -/etc/passwd -entry for the target user\&. -.RE -.PP -.RS 4 -/bin/sh -if a shell could not be found by any above method\&. -.RE -.sp -If the target user has a restricted shell (i\&.e\&. the shell field of this user\*(Aqs entry in -/etc/passwd -is not listed in -/etc/shells), then the -\fB\-\-shell\fR -option or the -\fB$SHELL\fR -environment variable won\*(Aqt be taken into account, unless -\fBsu\fR -is called by root\&. -.RE -.PP -\fB\-m\fR, \fB\-p\fR, \fB\-\-preserve\-environment\fR -.RS 4 -Preserve the current environment, except for: -.PP -\fB$PATH\fR -.RS 4 -reset according to the -/etc/login\&.defs -options -\fBENV_PATH\fR -or -\fBENV_SUPATH\fR -(see below); -.RE -.PP -\fB$IFS\fR -.RS 4 -reset to -\(lq\(rq, if it was set\&. -.RE -.sp -If the target user has a restricted shell, this option has no effect (unless -\fBsu\fR -is called by root)\&. -.sp -Note that the default behavior for the environment is the following: -.PP -.RS 4 -The -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$USER\fR, -\fB$LOGNAME\fR, -\fB$PATH\fR, and -\fB$IFS\fR -environment variables are reset\&. -.RE -.PP -.RS 4 -If -\fB\-\-login\fR -is not used, the environment is copied, except for the variables above\&. -.RE -.PP -.RS 4 -If -\fB\-\-login\fR -is used, the -\fB$TERM\fR, -\fB$COLORTERM\fR, -\fB$DISPLAY\fR, and -\fB$XAUTHORITY\fR -environment variables are copied if they were set\&. -.RE -.PP -.RS 4 -If -\fB\-\-login\fR -is used, the -\fB$TZ\fR, -\fB$HZ\fR, and -\fB$MAIL\fR -environment variables are set according to the -/etc/login\&.defs -options -\fBENV_TZ\fR, -\fBENV_HZ\fR, -\fBMAIL_DIR\fR, and -\fBMAIL_FILE\fR -(see below)\&. -.RE -.PP -.RS 4 -If -\fB\-\-login\fR -is used, other environment variables might be set by the -\fBENVIRON_FILE\fR -file (see below)\&. -.RE -.sp -.RE -.SH "CAVEATS" -.PP -This version of -\fBsu\fR -has many compilation options, only some of which may be in use at any particular site\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBCONSOLE\fR (string) -.RS 4 -If defined, either full pathname of a file containing device names (one per line) or a ":" delimited list of device names\&. Root logins will be allowed only upon these devices\&. -.sp -If not defined, root will be allowed on any device\&. -.sp -The device should be specified without the /dev/ prefix\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (string) -.RS 4 -List of groups to add to the user\*(Aqs supplementary groups set when logging in on the console (as determined by the CONSOLE setting)\&. Default is none\&. - -Use with caution \- it is possible for users to gain permanent access to these groups, even when not logged in on the console\&. -.RE -.PP -\fBDEFAULT_HOME\fR (boolean) -.RS 4 -Indicate if login is allowed if we can\*(Aqt cd to the home directory\&. Default is no\&. -.sp -If set to -\fIyes\fR, the user will login in the root (/) directory if it is not possible to cd to her home directory\&. -.RE -.PP -\fBENV_HZ\fR (string) -.RS 4 -If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by -\fIHZ=\fR\&. A common value on Linux is -\fIHZ=100\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (string) -.RS 4 -If this file exists and is readable, login environment will be read from it\&. Every line should be in the form name=value\&. -.sp -Lines starting with a # are treated as comment lines and ignored\&. -.RE -.PP -\fBENV_PATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (string) -.RS 4 -If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by -\fITZ=\fR -(for example -\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example -/etc/tzname)\&. -.sp -If a full path is specified but the file does not exist or cannot be read, the default is to use -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&. -.sp -If the string contains -\fI%s\fR, this will be replaced by the user\*(Aqs name\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (boolean) -.RS 4 -Enable checking and display of mailbox status upon login\&. -.sp -You should disable it if the shell startup files already check for mail ("mailx \-e" or equivalent)\&. -.RE -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -Defines the location of the users mail spool files relatively to their home directory\&. -.RE -.PP -The -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -variables are used by -\fBuseradd\fR, -\fBusermod\fR, and -\fBuserdel\fR -to create, move, or delete the user\*(Aqs mail spool\&. -.PP -If -\fBMAIL_CHECK_ENAB\fR -is set to -\fIyes\fR, they are also used to define the -\fBMAIL\fR -environment variable\&. -.PP -\fBQUOTAS_ENAB\fR (boolean) -.RS 4 -Enable setting of resource limits from -/etc/limits -and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&. -.RE -.PP -\fBSULOG_FILE\fR (string) -.RS 4 -If defined, all su activity is logged to this file\&. -.RE -.PP -\fBSU_NAME\fR (string) -.RS 4 -If defined, the command name to display when running "su \-"\&. For example, if this is defined as "su" then a "ps" will display the command is "\-su"\&. If not defined, then "ps" would display the name of the shell actually being run, e\&.g\&. something like "\-sh"\&. -.RE -.PP -\fBSU_WHEEL_ONLY\fR (boolean) -.RS 4 -If -\fIyes\fR, the user must be listed as a member of the first gid 0 group in -/etc/group -(called -\fIroot\fR -on most Linux systems) to be able to -\fBsu\fR -to uid 0 accounts\&. If the group doesn\*(Aqt exist or is empty, no one will be able to -\fBsu\fR -to uid 0\&. -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsu\fR -activity \- in addition to sulog file logging\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -Enable setting of the umask group bits to be the same as owner bits (examples: 022 \-> 002, 077 \-> 007) for non\-root users, if the uid is the same as gid, and username is the same as the primary group name\&. -.sp -If set to -\fIyes\fR, -\fBuserdel\fR -will remove the user\*(Aqs group if it contains no more members, and -\fBuseradd\fR -will create by default a group with the name of the user\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "EXIT VALUES" -.PP -On success, -\fBsu\fR -returns the exit value of the command it executed\&. -.PP -If this command was terminated by a signal, -\fBsu\fR -returns the number of this signal plus 128\&. -.PP -If su has to kill the command (because it was asked to terminate, and the command did not terminate in time), -\fBsu\fR -returns 255\&. -.PP -Some exit values from -\fBsu\fR -are independent from the executed command: -.PP -\fI0\fR -.RS 4 -success (\fB\-\-help\fR -only) -.RE -.PP -\fI1\fR -.RS 4 -System or authentication failure -.RE -.PP -\fI126\fR -.RS 4 -The requested command was not found -.RE -.PP -\fI127\fR -.RS 4 -The requested command could not be executed -.RE -.SH "SEE ALSO" -.PP -\fBlogin\fR(1), -\fBlogin.defs\fR(5), -\fBsg\fR(1), -\fBsh\fR(1)\&. diff --git a/man/man3/getspnam.3 b/man/man3/getspnam.3 deleted file mode 100644 index cd473da3..00000000 --- a/man/man3/getspnam.3 +++ /dev/null @@ -1 +0,0 @@ -.so man3/shadow.3 diff --git a/man/man3/shadow.3 b/man/man3/shadow.3 deleted file mode 100644 index bc6b2dad..00000000 --- a/man/man3/shadow.3 +++ /dev/null @@ -1,245 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Library Calls -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "SHADOW" "3" "09/18/2016" "shadow\-utils 4\&.4" "Library Calls" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -shadow, getspnam \- encrypted password file routines -.SH "SYNTAX" -.PP -\fI#include \fR -.PP -\fIstruct spwd *getspent();\fR -.PP -\fIstruct spwd *getspnam(char\fR -\fI*name\fR\fI);\fR -.PP -\fIvoid setspent();\fR -.PP -\fIvoid endspent();\fR -.PP -\fIstruct spwd *fgetspent(FILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIstruct spwd *sgetspent(char\fR -\fI*cp\fR\fI);\fR -.PP -\fIint putspent(struct spwd\fR -\fI*p,\fR -\fIFILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIint lckpwdf();\fR -.PP -\fIint ulckpwdf();\fR -.SH "DESCRIPTION" -.PP -\fIshadow\fR -manipulates the contents of the shadow password file, -/etc/shadow\&. The structure in the -\fI#include\fR -file is: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct spwd { - char *sp_namp; /* user login name */ - char *sp_pwdp; /* encrypted password */ - long int sp_lstchg; /* last password change */ - long int sp_min; /* days until change allowed\&. */ - long int sp_max; /* days before change required */ - long int sp_warn; /* days warning for expiration */ - long int sp_inact; /* days before account inactive */ - long int sp_expire; /* date when account expires */ - unsigned long int sp_flag; /* reserved for future use */ -} - -.fi -.if n \{\ -.RE -.\} -.PP -The meanings of each field are: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_namp \- pointer to null\-terminated user name -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_pwdp \- pointer to null\-terminated password -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_lstchg \- days since Jan 1, 1970 password was last changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_min \- days before which password may not be changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_max \- days after which password must be changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_warn \- days before password is to expire that user is warned of pending password expiration -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_inact \- days after password expires that account is considered inactive and disabled -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_expire \- days since Jan 1, 1970 when account will be disabled -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_flag \- reserved for future use -.RE -.SH "DESCRIPTION" -.PP -\fIgetspent\fR, -\fIgetspname\fR, -\fIfgetspent\fR, and -\fIsgetspent\fR -each return a pointer to a -\fIstruct spwd\fR\&. -\fIgetspent\fR -returns the next entry from the file, and -\fIfgetspent\fR -returns the next entry from the given stream, which is assumed to be a file of the proper format\&. -\fIsgetspent\fR -returns a pointer to a -\fIstruct spwd\fR -using the provided string as input\&. -\fIgetspnam\fR -searches from the current position in the file for an entry matching -\fIname\fR\&. -.PP -\fIsetspent\fR -and -\fIendspent\fR -may be used to begin and end, respectively, access to the shadow password file\&. -.PP -The -\fIlckpwdf\fR -and -\fIulckpwdf\fR -routines should be used to insure exclusive access to the -/etc/shadow -file\&. -\fIlckpwdf\fR -attempts to acquire a lock using -\fIpw_lock\fR -for up to 15 seconds\&. It continues by attempting to acquire a second lock using -\fIspw_lock\fR -for the remainder of the initial 15 seconds\&. Should either attempt fail after a total of 15 seconds, -\fIlckpwdf\fR -returns \-1\&. When both locks are acquired 0 is returned\&. -.SH "DIAGNOSTICS" -.PP -Routines return NULL if no more entries are available or if an error occurs during processing\&. Routines which have -\fIint\fR -as the return value return 0 for success and \-1 for failure\&. -.SH "CAVEATS" -.PP -These routines may only be used by the superuser as access to the shadow password file is restricted\&. -.SH "FILES" -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBgetpwent\fR(3), -\fBshadow\fR(5)\&. diff --git a/man/man5/faillog.5 b/man/man5/faillog.5 deleted file mode 100644 index bcf568bd..00000000 --- a/man/man5/faillog.5 +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "FAILLOG" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -faillog \- login failure logging file -.SH "DESCRIPTION" -.PP -/var/log/faillog -maintains a count of login failures and the limits for each account\&. -.PP -The file contains fixed length records, indexed by numerical UID\&. Each record contains the count of login failures since the last successful login; the maximum number of failures before the account is disabled; the line on which the last login failure occurred; the date of the last login failure; and the duration (in seconds) during which the account will be locked after a failure\&. -.PP -The structure of the file is: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct faillog { - short fail_cnt; - short fail_max; - char fail_line[12]; - time_t fail_time; - long fail_locktime; -}; -.fi -.if n \{\ -.RE -.\} -.SH "FILES" -.PP -/var/log/faillog -.RS 4 -Failure logging file\&. -.RE -.SH "SEE ALSO" -.PP -\fBfaillog\fR(8) diff --git a/man/man5/gshadow.5 b/man/man5/gshadow.5 deleted file mode 100644 index cdbbe440..00000000 --- a/man/man5/gshadow.5 +++ /dev/null @@ -1,101 +0,0 @@ -'\" t -.\" Title: gshadow -.\" Author: Nicolas FranƧois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "GSHADOW" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -gshadow \- shadowed group file -.SH "DESCRIPTION" -.PP -/etc/gshadow -contains the shadowed information for group accounts\&. -.PP -This file must not be readable by regular users if password security is to be maintained\&. -.PP -Each line of this file contains the following colon\-separated fields: -.PP -\fBgroup name\fR -.RS 4 -It must be a valid group name, which exist on the system\&. -.RE -.PP -\fBencrypted password\fR -.RS 4 -Refer to -\fBcrypt\fR(3) -for details on how this string is interpreted\&. -.sp -If the password field contains some string that is not a valid result of -\fBcrypt\fR(3), for instance ! or *, users will not be able to use a unix password to access the group (but group members do not need the password)\&. -.sp -The password is used when a user who is not a member of the group wants to gain the permissions of this group (see -\fBnewgrp\fR(1))\&. -.sp -This field may be empty, in which case only the group members can gain the group permissions\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.sp -This password supersedes any password specified in -/etc/group\&. -.RE -.PP -\fBadministrators\fR -.RS 4 -It must be a comma\-separated list of user names\&. -.sp -Administrators can change the password or the members of the group\&. -.sp -Administrators also have the same permissions as the members (see below)\&. -.RE -.PP -\fBmembers\fR -.RS 4 -It must be a comma\-separated list of user names\&. -.sp -Members can access the group without being prompted for a password\&. -.sp -You should use the same list of users as in -/etc/group\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBgpasswd\fR(5), -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBgrpconv\fR(8), -\fBnewgrp\fR(1)\&. diff --git a/man/man5/limits.5 b/man/man5/limits.5 deleted file mode 100644 index cb3d1cd5..00000000 --- a/man/man5/limits.5 +++ /dev/null @@ -1,274 +0,0 @@ -'\" t -.\" Title: limits -.\" Author: Luca Berra -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "LIMITS" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -limits \- resource limits definition -.SH "DESCRIPTION" -.PP -The -\fIlimits\fR -file (/etc/limits -by default or LIMITS_FILE defined -config\&.h) describes the resource limits you wish to impose\&. It should be owned by root and readable by root account only\&. -.PP -By default no quota is imposed on \*(Aqroot\*(Aq\&. In fact, there is no way to impose limits via this procedure to root\-equiv accounts (accounts with UID 0)\&. -.PP -Each line describes a limit for a user in the form: -.PP -\fIuser LIMITS_STRING\fR -.PP -or in the form: -.PP -\fI@group LIMITS_STRING\fR -.PP -The -\fILIMITS_STRING\fR -is a string of a concatenated list of resource limits\&. Each limit consists of a letter identifier followed by a numerical limit\&. -.PP -The valid identifiers are: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -A: max address space (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -C: max core file size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -D: max data size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -F: maximum file size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -K: file creation mask, set by -\fBumask\fR(2)\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -I: max nice value (0\&.\&.39 which translates to 20\&.\&.\-19) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -L: max number of logins for this user -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -M: max locked\-in\-memory address space (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -N: max number of open files -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -O: max real time priority -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -P: process priority, set by -\fBsetpriority\fR(2)\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -R: max resident set size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -S: max stack size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -T: max CPU time (MIN) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -U: max number of processes -.RE -.PP -For example, -\fIL2D2048N5\fR -is a valid -\fILIMITS_STRING\fR\&. For reading convenience, the following entries are equivalent: -.sp -.if n \{\ -.RS 4 -.\} -.nf - username L2D2048N5 - username L2 D2048 N5 - -.fi -.if n \{\ -.RE -.\} -.PP -Be aware that after -\fIusername\fR -the rest of the line is considered a limit string, thus comments are not allowed\&. An invalid limits string will be rejected (not considered) by the -\fBlogin\fR -program\&. -.PP -The default entry is denoted by username "\fI*\fR"\&. If you have multiple -\fIdefault\fR -entries in your -\fILIMITS_FILE\fR, then the last one will be used as the default entry\&. -.PP -The limits specified in the form "\fI@group\fR" apply to the members of the specified -\fIgroup\fR\&. -.PP -If more than one line with limits for a user exist, only the first line for this user will be considered\&. -.PP -If no lines are specified for a user, the last -\fI@group\fR -line matching a group whose the user is a member of will be considered, or the last line with default limits if no groups contain the user\&. -.PP -To completely disable limits for a user, a single dash "\fI\-\fR" will do\&. -.PP -To disable a limit for a user, a single dash "\fI\-\fR" can be used instead of the numerical value for this limit\&. -.PP -Also, please note that all limit settings are set PER LOGIN\&. They are not global, nor are they permanent\&. Perhaps global limits will come, but for now this will have to do ;) -.SH "FILES" -.PP -/etc/limits -.RS 4 -.RE -.SH "SEE ALSO" -.PP -\fBlogin\fR(1), -\fBsetpriority\fR(2), -\fBsetrlimit\fR(2)\&. diff --git a/man/man5/login.access.5 b/man/man5/login.access.5 deleted file mode 100644 index 06bcfb3c..00000000 --- a/man/man5/login.access.5 +++ /dev/null @@ -1,67 +0,0 @@ -'\" t -.\" Title: login.access -.\" Author: Marek Michałkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "LOGIN\&.ACCESS" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -login.access \- login access control table -.SH "DESCRIPTION" -.PP -The -\fIlogin\&.access\fR -file specifies (user, host) combinations and/or (user, tty) combinations for which a login will be either accepted or refused\&. -.PP -When someone logs in, the -\fIlogin\&.access\fR -is scanned for the first entry that matches the (user, host) combination, or, in case of non\-networked logins, the first entry that matches the (user, tty) combination\&. The permissions field of that table entry determines whether the login will be accepted or refused\&. -.PP -Each line of the login access control table has three fields separated by a ":" character: -.PP -\fIpermission\fR:\fIusers\fR:\fIorigins\fR -.PP -The first field should be a "\fI+\fR" (access granted) or "\fI\-\fR" (access denied) character\&. The second field should be a list of one or more login names, group names, or -\fIALL\fR -(always matches)\&. The third field should be a list of one or more tty names (for non\-networked logins), host names, domain names (begin with "\&."), host addresses, internet network numbers (end with "\&."), -\fIALL\fR -(always matches) or -\fILOCAL\fR -(matches any string that does not contain a "\&." character)\&. If you run NIS you can use @netgroupname in host or user patterns\&. -.PP -The -\fIEXCEPT\fR -operator makes it possible to write very compact rules\&. -.PP -The group file is searched only when a name does not match that of the logged\-in user\&. Only groups are matched in which users are explicitly listed: the program does not look at a user\*(Aqs primary group id value\&. -.SH "FILES" -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "SEE ALSO" -.PP -\fBlogin\fR(1)\&. diff --git a/man/man5/login.defs.5 b/man/man5/login.defs.5 deleted file mode 100644 index 532c7175..00000000 --- a/man/man5/login.defs.5 +++ /dev/null @@ -1,826 +0,0 @@ -'\" t -.\" Title: login.defs -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "LOGIN\&.DEFS" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -login.defs \- shadow password suite configuration -.SH "DESCRIPTION" -.PP -The -/etc/login\&.defs -file defines the site\-specific configuration for the shadow password suite\&. This file is required\&. Absence of this file will not prevent system operation, but will probably result in undesirable operation\&. -.PP -This file is a readable text file, each line of the file describing one configuration parameter\&. The lines consist of a configuration name and value, separated by whitespace\&. Blank lines and comment lines are ignored\&. Comments are introduced with a "#" pound sign and the pound sign must be the first non\-white character of the line\&. -.PP -Parameter values may be of four types: strings, booleans, numbers, and long numbers\&. A string is comprised of any printable characters\&. A boolean should be either the value -\fIyes\fR -or -\fIno\fR\&. An undefined boolean parameter or one with a value other than these will be given a -\fIno\fR -value\&. Numbers (both regular and long) may be either decimal values, octal values (precede the value with -\fI0\fR) or hexadecimal values (precede the value with -\fI0x\fR)\&. The maximum value of the regular and long numeric parameters is machine\-dependent\&. -.PP -The following configuration items are provided: -.PP -\fBCHFN_AUTH\fR (boolean) -.RS 4 -If -\fIyes\fR, the -\fBchfn\fR -program will require authentication before making any changes, unless run by the superuser\&. -.RE -.PP -\fBCHFN_RESTRICT\fR (string) -.RS 4 -This parameter specifies which values in the -\fIgecos\fR -field of the -/etc/passwd -file may be changed by regular users using the -\fBchfn\fR -program\&. It can be any combination of letters -\fIf\fR, -\fIr\fR, -\fIw\fR, -\fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility, -\fIyes\fR -is equivalent to -\fIrwh\fR -and -\fIno\fR -is equivalent to -\fIfrwh\fR\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing -\fBchfn\fR -SUID\&. -.RE -.PP -\fBCHSH_AUTH\fR (boolean) -.RS 4 -If -\fIyes\fR, the -\fBchsh\fR -program will require authentication before making any changes, unless run by the superuser\&. -.RE -.PP -\fBCONSOLE\fR (string) -.RS 4 -If defined, either full pathname of a file containing device names (one per line) or a ":" delimited list of device names\&. Root logins will be allowed only upon these devices\&. -.sp -If not defined, root will be allowed on any device\&. -.sp -The device should be specified without the /dev/ prefix\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (string) -.RS 4 -List of groups to add to the user\*(Aqs supplementary groups set when logging in on the console (as determined by the CONSOLE setting)\&. Default is none\&. - -Use with caution \- it is possible for users to gain permanent access to these groups, even when not logged in on the console\&. -.RE -.PP -\fBCREATE_HOME\fR (boolean) -.RS 4 -Indicate if a home directory should be created by default for new users\&. -.sp -This setting does not apply to system users, and can be overridden on the command line\&. -.RE -.PP -\fBDEFAULT_HOME\fR (boolean) -.RS 4 -Indicate if login is allowed if we can\*(Aqt cd to the home directory\&. Default is no\&. -.sp -If set to -\fIyes\fR, the user will login in the root (/) directory if it is not possible to cd to her home directory\&. -.RE -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -This defines the system default encryption algorithm for encrypting passwords (if no algorithm are specified on the command line)\&. -.sp -It can take one of these values: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Note: this parameter overrides the -\fBMD5_CRYPT_ENAB\fR -variable\&. -.RE -.PP -\fBENV_HZ\fR (string) -.RS 4 -If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by -\fIHZ=\fR\&. A common value on Linux is -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_PATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (string) -.RS 4 -If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by -\fITZ=\fR -(for example -\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example -/etc/tzname)\&. -.sp -If a full path is specified but the file does not exist or cannot be read, the default is to use -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (string) -.RS 4 -If this file exists and is readable, login environment will be read from it\&. Every line should be in the form name=value\&. -.sp -Lines starting with a # are treated as comment lines and ignored\&. -.RE -.PP -\fBERASECHAR\fR (number) -.RS 4 -Terminal ERASE character (\fI010\fR -= backspace, -\fI0177\fR -= DEL)\&. -.sp -The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&. -.RE -.PP -\fBFAIL_DELAY\fR (number) -.RS 4 -Delay in seconds before being allowed another attempt after a login failure\&. -.RE -.PP -\fBFAILLOG_ENAB\fR (boolean) -.RS 4 -Enable logging and display of -/var/log/faillog -login failure info\&. -.RE -.PP -\fBFAKE_SHELL\fR (string) -.RS 4 -If set, -\fBlogin\fR -will execute this shell instead of the users\*(Aq shell specified in -/etc/passwd\&. -.RE -.PP -\fBFTMP_FILE\fR (string) -.RS 4 -If defined, login failures will be logged in this file in a utmp format\&. -.RE -.PP -\fBGID_MAX\fR (number), \fBGID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of regular groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBGID_MIN\fR -(resp\&. -\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&. -.RE -.PP -\fBHUSHLOGIN_FILE\fR (string) -.RS 4 -If defined, this file can inhibit all the usual chatter during the login sequence\&. If a full pathname is specified, then hushed mode will be enabled if the user\*(Aqs name or shell are found in the file\&. If not a full pathname, then hushed mode will be enabled if the file exists in the user\*(Aqs home directory\&. -.RE -.PP -\fBISSUE_FILE\fR (string) -.RS 4 -If defined, this file will be displayed before each login prompt\&. -.RE -.PP -\fBKILLCHAR\fR (number) -.RS 4 -Terminal KILL character (\fI025\fR -= CTRL/U)\&. -.sp -The value can be prefixed "0" for an octal value, or "0x" for an hexadecimal value\&. -.RE -.PP -\fBLASTLOG_ENAB\fR (boolean) -.RS 4 -Enable logging and display of /var/log/lastlog login time info\&. -.RE -.PP -\fBLOG_OK_LOGINS\fR (boolean) -.RS 4 -Enable logging of successful logins\&. -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (boolean) -.RS 4 -Enable display of unknown usernames when login failures are recorded\&. -.sp -Note: logging unknown usernames may be a security issue if an user enter her password instead of her login name\&. -.RE -.PP -\fBLOGIN_RETRIES\fR (number) -.RS 4 -Maximum number of login retries in case of bad password\&. -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&. -.sp -If the string contains -\fI%s\fR, this will be replaced by the user\*(Aqs name\&. -.RE -.PP -\fBLOGIN_TIMEOUT\fR (number) -.RS 4 -Max time in seconds for login\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (boolean) -.RS 4 -Enable checking and display of mailbox status upon login\&. -.sp -You should disable it if the shell startup files already check for mail ("mailx \-e" or equivalent)\&. -.RE -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -Defines the location of the users mail spool files relatively to their home directory\&. -.RE -.PP -The -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -variables are used by -\fBuseradd\fR, -\fBusermod\fR, and -\fBuserdel\fR -to create, move, or delete the user\*(Aqs mail spool\&. -.PP -If -\fBMAIL_CHECK_ENAB\fR -is set to -\fIyes\fR, they are also used to define the -\fBMAIL\fR -environment variable\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to -\fIyes\fR, new passwords will be encrypted using the MD5\-based algorithm compatible with the one used by recent releases of FreeBSD\&. It supports passwords of unlimited length and longer salt strings\&. Set to -\fIno\fR -if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is -\fIno\fR\&. -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -This variable is deprecated\&. You should use -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBMOTD_FILE\fR (string) -.RS 4 -If defined, ":" delimited list of "message of the day" files to be displayed upon login\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (string) -.RS 4 -If defined, name of file whose presence will inhibit non\-root logins\&. The contents of this file should be a message indicating why logins are inhibited\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (boolean) -.RS 4 -Enable additional checks upon password changes\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (boolean) -.RS 4 -Warn about weak passwords (but still allow them) if you are root\&. -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (number) -.RS 4 -Maximum number of attempts to change password if rejected (too easy)\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a negative value means no warning is given\&. If not specified, no warning will be provided\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR, -\fBPASS_MIN_DAYS\fR -and -\fBPASS_WARN_AGE\fR -are only used at the time of account creation\&. Any changes to these settings won\*(Aqt affect existing accounts\&. -.PP -\fBPASS_MAX_LEN\fR (number), \fBPASS_MIN_LEN\fR (number) -.RS 4 -Number of significant characters in the password for crypt()\&. -\fBPASS_MAX_LEN\fR -is 8 by default\&. Don\*(Aqt change unless your crypt() is better\&. This is ignored if -\fBMD5_CRYPT_ENAB\fR -set to -\fIyes\fR\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (boolean) -.RS 4 -Enable checking of time restrictions specified in -/etc/porttime\&. -.RE -.PP -\fBQUOTAS_ENAB\fR (boolean) -.RS 4 -Enable setting of resource limits from -/etc/limits -and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -When -\fBENCRYPT_METHOD\fR -is set to -\fISHA256\fR -or -\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&. -.sp -With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&. -.sp -If not specified, the libc will choose the default number of rounds (5000)\&. -.sp -The values must be inside the 1000\-999,999,999 range\&. -.sp -If only one of the -\fBSHA_CRYPT_MIN_ROUNDS\fR -or -\fBSHA_CRYPT_MAX_ROUNDS\fR -values is set, then this value will be used\&. -.sp -If -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&. -.RE -.PP -\fBSULOG_FILE\fR (string) -.RS 4 -If defined, all su activity is logged to this file\&. -.RE -.PP -\fBSU_NAME\fR (string) -.RS 4 -If defined, the command name to display when running "su \-"\&. For example, if this is defined as "su" then a "ps" will display the command is "\-su"\&. If not defined, then "ps" would display the name of the shell actually being run, e\&.g\&. something like "\-sh"\&. -.RE -.PP -\fBSU_WHEEL_ONLY\fR (boolean) -.RS 4 -If -\fIyes\fR, the user must be listed as a member of the first gid 0 group in -/etc/group -(called -\fIroot\fR -on most Linux systems) to be able to -\fBsu\fR -to uid 0 accounts\&. If the group doesn\*(Aqt exist or is empty, no one will be able to -\fBsu\fR -to uid 0\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of system groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBSYS_GID_MIN\fR -(resp\&. -\fBSYS_GID_MAX\fR) is 101 (resp\&. -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number) -.RS 4 -Range of user IDs used for the creation of system users by -\fBuseradd\fR -or -\fBnewusers\fR\&. -.sp -The default value for -\fBSYS_UID_MIN\fR -(resp\&. -\fBSYS_UID_MAX\fR) is 101 (resp\&. -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsg\fR -activity\&. -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsu\fR -activity \- in addition to sulog file logging\&. -.RE -.PP -\fBTTYGROUP\fR (string), \fBTTYPERM\fR (string) -.RS 4 -The terminal permissions: the login tty will be owned by the -\fBTTYGROUP\fR -group, and the permissions will be set to -\fBTTYPERM\fR\&. -.sp -By default, the ownership of the terminal is set to the user\*(Aqs primary group and the permissions are set to -\fI0600\fR\&. -.sp -\fBTTYGROUP\fR -can be either the name of a group or a numeric group identifier\&. -.sp -If you have a -\fBwrite\fR -program which is "setgid" to a special group which owns the terminals, define TTYGROUP to the group number and TTYPERM to 0620\&. Otherwise leave TTYGROUP commented out and assign TTYPERM to either 622 or 600\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (string) -.RS 4 -If defined, file which maps tty line to TERM environment parameter\&. Each line of the file is in a format something like "vt100 tty01"\&. -.RE -.PP -\fBUID_MAX\fR (number), \fBUID_MIN\fR (number) -.RS 4 -Range of user IDs used for the creation of regular users by -\fBuseradd\fR -or -\fBnewusers\fR\&. -.sp -The default value for -\fBUID_MIN\fR -(resp\&. -\fBUID_MAX\fR) is 1000 (resp\&. 60000)\&. -.RE -.PP -\fBULIMIT\fR (number) -.RS 4 -Default -\fBulimit\fR -value\&. -.RE -.PP -\fBUMASK\fR (number) -.RS 4 -The file mode creation mask is initialized to this value\&. If not specified, the mask will be initialized to 022\&. -.sp -\fBuseradd\fR -and -\fBnewusers\fR -use this mask to set the mode of the home directory they create -.sp -It is also used by -\fBlogin\fR -to define users\*(Aq initial umask\&. Note that this mask can be overridden by the user\*(Aqs GECOS line (if -\fBQUOTAS_ENAB\fR -is set) or by the specification of a limit with the -\fIK\fR -identifier in -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERDEL_CMD\fR (string) -.RS 4 -If defined, this command is run when removing a user\&. It should remove any at/cron/print jobs etc\&. owned by the user to be removed (passed as the first argument)\&. -.sp -The return code of the script is not taken into account\&. -.sp -Here is an example script, which removes the user\*(Aqs cron, at and print jobs: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# Check for the required argument\&. -if [ $# != 1 ]; then - echo "Usage: $0 username" - exit 1 -fi - -# Remove cron jobs\&. -crontab \-r \-u $1 - -# Remove at jobs\&. -# Note that it will remove any jobs owned by the same UID, -# even if it was shared by a different username\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# Remove print jobs\&. -lprm $1 - -# All done\&. -exit 0 - -.fi -.if n \{\ -.RE -.\} -.sp -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -Enable setting of the umask group bits to be the same as owner bits (examples: 022 \-> 002, 077 \-> 007) for non\-root users, if the uid is the same as gid, and username is the same as the primary group name\&. -.sp -If set to -\fIyes\fR, -\fBuserdel\fR -will remove the user\*(Aqs group if it contains no more members, and -\fBuseradd\fR -will create by default a group with the name of the user\&. -.RE -.SH "CROSS REFERENCES" -.PP -The following cross references show which programs in the shadow password suite use which parameters\&. -.PP -chfn -.RS 4 -CHFN_AUTH -CHFN_RESTRICT -LOGIN_STRING -.RE -.PP -chgpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chpasswd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chsh -.RS 4 -CHSH_AUTH LOGIN_STRING -.RE -.PP -gpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -groupadd -.RS 4 -GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN -.RE -.PP -groupdel -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmems -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmod -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpck -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpunconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -login -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE -ERASECHAR FAIL_DELAY -FAILLOG_ENAB -FAKE_SHELL -FTMP_FILE -HUSHLOGIN_FILE -ISSUE_FILE -KILLCHAR -LASTLOG_ENAB -LOGIN_RETRIES -LOGIN_STRING -LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB -MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB QUOTAS_ENAB -TTYGROUP TTYPERM TTYTYPE_FILE -ULIMIT UMASK -USERGROUPS_ENAB -.RE -.PP -newgrp / sg -.RS 4 -SYSLOG_SG_ENAB -.RE -.PP -newusers -.RS 4 -ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -passwd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -pwck -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -pwconv -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -su -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENVIRON_FILE -ENV_PATH ENV_SUPATH -ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB -SULOG_FILE SU_NAME -SU_WHEEL_ONLY -SYSLOG_SU_ENAB -USERGROUPS_ENAB -.RE -.PP -sulogin -.RS 4 -ENV_HZ -ENV_TZ -.RE -.PP -useradd -.RS 4 -CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -userdel -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB -.RE -.PP -usermod -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP -.RE -.SH "SEE ALSO" -.PP -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBsu\fR(1), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBpam\fR(8)\&. diff --git a/man/man5/passwd.5 b/man/man5/passwd.5 deleted file mode 100644 index 0aeff35b..00000000 --- a/man/man5/passwd.5 +++ /dev/null @@ -1,179 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "PASSWD" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -passwd \- the password file -.SH "DESCRIPTION" -.PP -/etc/passwd -contains one line for each user account, with seven fields delimited by colons (\(lq:\(rq)\&. These fields are: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -login name -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -optional encrypted password -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerical user ID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerical group ID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -user name or comment field -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -user home directory -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -optional user command interpreter -.RE -.PP -The encrypted password field may be blank, in which case no password is required to authenticate as the specified login name\&. However, some applications which read the -/etc/passwd -file may decide not to permit -\fIany\fR -access at all if the -\fIpassword\fR -field is blank\&. If the -\fIpassword\fR -field is a lower\-case -\(lqx\(rq, then the encrypted password is actually stored in the -\fBshadow\fR(5) -file instead; there -\fImust\fR -be a corresponding line in the -/etc/shadow -file, or else the user account is invalid\&. If the -\fIpassword\fR -field is any other string, then it will be treated as an encrypted password, as specified by -\fBcrypt\fR(3)\&. -.PP -The comment field is used by various system utilities, such as -\fBfinger\fR(1)\&. -.PP -The home directory field provides the name of the initial working directory\&. The -\fBlogin\fR -program uses this information to set the value of the -\fB$HOME\fR -environmental variable\&. -.PP -The command interpreter field provides the name of the user\*(Aqs command language interpreter, or the name of the initial program to execute\&. The -\fBlogin\fR -program uses this information to set the value of the -\fB$SHELL\fR -environmental variable\&. If this field is empty, it defaults to the value -/bin/sh\&. -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -optional encrypted password file -.RE -.PP -/etc/passwd\- -.RS 4 -Backup file for /etc/passwd\&. -.sp -Note that this file is used by the tools of the shadow toolsuite, but not by all user and password management tools\&. -.RE -.SH "SEE ALSO" -.PP -\fBcrypt\fR(3), -\fBgetent\fR(1), -\fBgetpwnam\fR(3), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBshadow\fR(5), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/man5/porttime.5 b/man/man5/porttime.5 deleted file mode 100644 index 1b35aa95..00000000 --- a/man/man5/porttime.5 +++ /dev/null @@ -1,96 +0,0 @@ -'\" t -.\" Title: porttime -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "PORTTIME" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -porttime \- port access time file -.SH "DESCRIPTION" -.PP -\fIporttime\fR -contains a list of tty devices, user names, and permitted login times\&. -.PP -Each entry consists of three colon separated fields\&. The first field is a comma separated list of tty devices, or an asterisk to indicate that all tty devices are matched by this entry\&. The second field is a comma separated list of user names, or an asterisk to indicated that all user names are matched by this entry\&. The third field is a comma separated list of permitted access times\&. -.PP -Each access time entry consists of zero or more days of the week, abbreviated -\fISu\fR, -\fIMo\fR, -\fITu\fR, -\fIWe\fR, -\fITh\fR, -\fIFr\fR, and -\fISa\fR, followed by a pair of times separated by a hyphen\&. The abbreviation -\fIWk\fR -may be used to represent Monday thru Friday, and -\fIAl\fR -may be used to indicate every day\&. If no days are given, -\fIAl\fR -is assumed\&. -.SH "EXAMPLES" -.PP -The following entry allows access to user -\fBjfh\fR -on every port during weekdays from 9am to 5pm\&. -.PP -*:jfh:Wk0900\-1700 -.PP -The following entries allow access only to the users -\fIroot\fR -and -\fIoper\fR -on -/dev/console -at any time\&. This illustrates how the -/etc/porttime -file is an ordered list of access times\&. Any other user would match the second entry which does not permit access at any time\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - console:root,oper:Al0000\-2400 - console:*: - -.fi -.if n \{\ -.RE -.\} -.PP -The following entry allows access for the user -\fIgames\fR -on any port during non\-working hours\&. -.PP -*:games:Wk1700\-0900,SaSu0000\-2400 -.SH "FILES" -.PP -/etc/porttime -.RS 4 -File containing port access\&. -.RE -.SH "SEE ALSO" -.PP -\fBlogin\fR(1)\&. diff --git a/man/man5/shadow.5 b/man/man5/shadow.5 deleted file mode 100644 index b8ee0898..00000000 --- a/man/man5/shadow.5 +++ /dev/null @@ -1,148 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "SHADOW" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -shadow \- shadowed password file -.SH "DESCRIPTION" -.PP -shadow -is a file which contains the password information for the system\*(Aqs accounts and optional aging information\&. -.PP -This file must not be readable by regular users if password security is to be maintained\&. -.PP -Each line of this file contains 9 fields, separated by colons (\(lq:\(rq), in the following order: -.PP -\fBlogin name\fR -.RS 4 -It must be a valid account name, which exist on the system\&. -.RE -.PP -\fBencrypted password\fR -.RS 4 -Refer to -\fBcrypt\fR(3) -for details on how this string is interpreted\&. -.sp -If the password field contains some string that is not a valid result of -\fBcrypt\fR(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means)\&. -.sp -This field may be empty, in which case no passwords are required to authenticate as the specified login name\&. However, some applications which read the -/etc/shadow -file may decide not to permit any access at all if the password field is empty\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.RE -.PP -\fBdate of last password change\fR -.RS 4 -The date of the last password change, expressed as the number of days since Jan 1, 1970\&. -.sp -The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&. -.sp -An empty field means that password aging features are disabled\&. -.RE -.PP -\fBminimum password age\fR -.RS 4 -The minimum password age is the number of days the user will have to wait before she will be allowed to change her password again\&. -.sp -An empty field and value 0 mean that there are no minimum password age\&. -.RE -.PP -\fBmaximum password age\fR -.RS 4 -The maximum password age is the number of days after which the user will have to change her password\&. -.sp -After this number of days is elapsed, the password may still be valid\&. The user should be asked to change her password the next time she will log in\&. -.sp -An empty field means that there are no maximum password age, no password warning period, and no password inactivity period (see below)\&. -.sp -If the maximum password age is lower than the minimum password age, the user cannot change her password\&. -.RE -.PP -\fBpassword warning period\fR -.RS 4 -The number of days before a password is going to expire (see the maximum password age above) during which the user should be warned\&. -.sp -An empty field and value 0 mean that there are no password warning period\&. -.RE -.PP -\fBpassword inactivity period\fR -.RS 4 -The number of days after a password has expired (see the maximum password age above) during which the password should still be accepted (and the user should update her password during the next login)\&. -.sp -After expiration of the password and this expiration period is elapsed, no login is possible using the current user\*(Aqs password\&. The user should contact her administrator\&. -.sp -An empty field means that there are no enforcement of an inactivity period\&. -.RE -.PP -\fBaccount expiration date\fR -.RS 4 -The date of expiration of the account, expressed as the number of days since Jan 1, 1970\&. -.sp -Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&. -.sp -An empty field means that the account will never expire\&. -.sp -The value 0 should not be used as it is interpreted as either an account with no expiration, or as an expiration on Jan 1, 1970\&. -.RE -.PP -\fBreserved field\fR -.RS 4 -This field is reserved for future use\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/shadow\- -.RS 4 -Backup file for /etc/shadow\&. -.sp -Note that this file is used by the tools of the shadow toolsuite, but not by all user and password management tools\&. -.RE -.SH "SEE ALSO" -.PP -\fBchage\fR(1), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/man5/suauth.5 b/man/man5/suauth.5 deleted file mode 100644 index 45a53d39..00000000 --- a/man/man5/suauth.5 +++ /dev/null @@ -1,146 +0,0 @@ -'\" t -.\" Title: suauth -.\" Author: Marek Michałkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "SUAUTH" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -suauth \- detailed su control file -.SH "SYNOPSIS" -.HP \w'\fB/etc/suauth\fR\ 'u -\fB/etc/suauth\fR -.SH "DESCRIPTION" -.PP -The file -/etc/suauth -is referenced whenever the su command is called\&. It can change the behaviour of the su command, based upon: -.sp -.if n \{\ -.RS 4 -.\} -.nf - 1) the user su is targeting - -.fi -.if n \{\ -.RE -.\} -.PP -2) the user executing the su command (or any groups he might be a member of) -.PP -The file is formatted like this, with lines starting with a # being treated as comment lines and ignored; -.sp -.if n \{\ -.RS 4 -.\} -.nf - to\-id:from\-id:ACTION - -.fi -.if n \{\ -.RE -.\} -.PP -Where to\-id is either the word -\fIALL\fR, a list of usernames delimited by "," or the words -\fIALL EXCEPT\fR -followed by a list of usernames delimited by ","\&. -.PP -from\-id is formatted the same as to\-id except the extra word -\fIGROUP\fR -is recognized\&. -\fIALL EXCEPT GROUP\fR -is perfectly valid too\&. Following -\fIGROUP\fR -appears one or more group names, delimited by ","\&. It is not sufficient to have primary group id of the relevant group, an entry in -\fB/etc/group\fR(5) -is necessary\&. -.PP -Action can be one only of the following currently supported options\&. -.PP -\fIDENY\fR -.RS 4 -The attempt to su is stopped before a password is even asked for\&. -.RE -.PP -\fINOPASS\fR -.RS 4 -The attempt to su is automatically successful; no password is asked for\&. -.RE -.PP -\fIOWNPASS\fR -.RS 4 -For the su command to be successful, the user must enter his or her own password\&. They are told this\&. -.RE -.PP -Note there are three separate fields delimited by a colon\&. No whitespace must surround this colon\&. Also note that the file is examined sequentially line by line, and the first applicable rule is used without examining the file further\&. This makes it possible for a system administrator to exercise as fine control as he or she wishes\&. -.SH "EXAMPLE" -.sp -.if n \{\ -.RS 4 -.\} -.nf - # sample /etc/suauth file - # - # A couple of privileged usernames may - # su to root with their own password\&. - # - root:chris,birddog:OWNPASS - # - # Anyone else may not su to root unless in - # group wheel\&. This is how BSD does things\&. - # - root:ALL EXCEPT GROUP wheel:DENY - # - # Perhaps terry and birddog are accounts - # owned by the same person\&. - # Access can be arranged between them - # with no password\&. - # - terry:birddog:NOPASS - birddog:terry:NOPASS - # - -.fi -.if n \{\ -.RE -.\} -.SH "FILES" -.PP -/etc/suauth -.RS 4 -.RE -.SH "BUGS" -.PP -There could be plenty lurking\&. The file parser is particularly unforgiving about syntax errors, expecting no spurious whitespace (apart from beginning and end of lines), and a specific token delimiting different things\&. -.SH "DIAGNOSTICS" -.PP -An error parsing the file is reported using -\fBsyslogd\fR(8) -as level ERR on facility AUTH\&. -.SH "SEE ALSO" -.PP -\fBsu\fR(1)\&. diff --git a/man/man5/subgid.5 b/man/man5/subgid.5 deleted file mode 100644 index 01ceddfc..00000000 --- a/man/man5/subgid.5 +++ /dev/null @@ -1,100 +0,0 @@ -'\" t -.\" Title: subgid -.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "SUBGID" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -subgid \- the subordinate gid file -.SH "DESCRIPTION" -.PP -Each line in -/etc/subgid -contains a user name and a range of subordinate group ids that user is allowed to use\&. This is specified with three fields delimited by colons (\(lq:\(rq)\&. These fields are: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -login name or UID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerical subordinate group ID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerical subordinate group ID count -.RE -.PP -This file specifies the group IDs that ordinary users can use, with the -\fBnewgidmap\fR -command, to configure gid mapping in a user namespace\&. -.PP -Multiple ranges may be specified per user\&. -.PP -When large number of entries (10000\-100000 or more) are defined in -/etc/subgid, parsing performance penalty will become noticeable\&. In this case it is recommended to use UIDs instead of login names\&. Benchmarks have shown speed\-ups up to 20x\&. -.SH "FILES" -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subgid\- -.RS 4 -Backup file for /etc/subgid\&. -.RE -.SH "SEE ALSO" -.PP -\fBlogin.defs\fR(5), -\fBnewgidmap\fR(1), -\fBnewuidmap\fR(1), -\fBnewusers\fR(8), -\fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8), -\fBuser_namespaces\fR(7)\&. diff --git a/man/man5/subuid.5 b/man/man5/subuid.5 deleted file mode 100644 index 3226b9d1..00000000 --- a/man/man5/subuid.5 +++ /dev/null @@ -1,100 +0,0 @@ -'\" t -.\" Title: subuid -.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "SUBUID" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -subuid \- the subordinate uid file -.SH "DESCRIPTION" -.PP -Each line in -/etc/subuid -contains a user name and a range of subordinate user ids that user is allowed to use\&. This is specified with three fields delimited by colons (\(lq:\(rq)\&. These fields are: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -login name or UID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerical subordinate user ID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numerical subordinate user ID count -.RE -.PP -This file specifies the user IDs that ordinary users can use, with the -\fBnewuidmap\fR -command, to configure uid mapping in a user namespace\&. -.PP -Multiple ranges may be specified per user\&. -.PP -When large number of entries (10000\-100000 or more) are defined in -/etc/subuid, parsing performance penalty will become noticeable\&. In this case it is recommended to use UIDs instead of login names\&. Benchmarks have shown speed\-ups up to 20x\&. -.SH "FILES" -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.PP -/etc/subuid\- -.RS 4 -Backup file for /etc/subuid\&. -.RE -.SH "SEE ALSO" -.PP -\fBlogin.defs\fR(5), -\fBnewgidmap\fR(1), -\fBnewuidmap\fR(1), -\fBnewusers\fR(1), -\fBsubgid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8), -\fBuser_namespaces\fR(7)\&. diff --git a/man/man8/chgpasswd.8 b/man/man8/chgpasswd.8 deleted file mode 100644 index 22e70668..00000000 --- a/man/man8/chgpasswd.8 +++ /dev/null @@ -1,208 +0,0 @@ -'\" t -.\" Title: chgpasswd -.\" Author: Thomas Kłoczko -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "CHGPASSWD" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -chgpasswd \- update group passwords in batch mode -.SH "SYNOPSIS" -.HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -The -\fBchgpasswd\fR -command reads a list of group name and password pairs from standard input and uses this information to update a set of existing groups\&. Each line is of the format: -.PP -\fIgroup_name\fR:\fIpassword\fR -.PP -By default the supplied password must be in clear\-text, and is encrypted by -\fBchgpasswd\fR\&. -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -variable of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -This command is intended to be used in a large system environment where many accounts are created at a single time\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBchgpasswd\fR -command are: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -Use the specified method to encrypt the passwords\&. -.sp -The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc support these methods\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -Supplied passwords are in encrypted form\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -Use MD5 encryption instead of DES when the supplied passwords are not encrypted\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -Use the specified number of rounds to encrypt the passwords\&. -.sp -The value 0 means that the system will choose the default number of rounds for the crypt method (5000)\&. -.sp -A minimal value of 1000 and a maximal value of 999,999,999 will be enforced\&. -.sp -You can only use this option with the SHA256 or SHA512 crypt method\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in -/etc/login\&.defs\&. -.RE -.SH "CAVEATS" -.PP -Remember to set permissions or umask to prevent readability of unencrypted files by other users\&. -.PP -You should make sure the passwords and the encryption method respect the system\*(Aqs password policy\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -This defines the system default encryption algorithm for encrypting passwords (if no algorithm are specified on the command line)\&. -.sp -It can take one of these values: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Note: this parameter overrides the -\fBMD5_CRYPT_ENAB\fR -variable\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to -\fIyes\fR, new passwords will be encrypted using the MD5\-based algorithm compatible with the one used by recent releases of FreeBSD\&. It supports passwords of unlimited length and longer salt strings\&. Set to -\fIno\fR -if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is -\fIno\fR\&. -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -This variable is deprecated\&. You should use -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -When -\fBENCRYPT_METHOD\fR -is set to -\fISHA256\fR -or -\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&. -.sp -With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&. -.sp -If not specified, the libc will choose the default number of rounds (5000)\&. -.sp -The values must be inside the 1000\-999,999,999 range\&. -.sp -If only one of the -\fBSHA_CRYPT_MIN_ROUNDS\fR -or -\fBSHA_CRYPT_MAX_ROUNDS\fR -values is set, then this value will be used\&. -.sp -If -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "SEE ALSO" -.PP -\fBgpasswd\fR(1), -\fBgroupadd\fR(8), -\fBlogin.defs\fR(5)\&. diff --git a/man/man8/chpasswd.8 b/man/man8/chpasswd.8 deleted file mode 100644 index ce910f75..00000000 --- a/man/man8/chpasswd.8 +++ /dev/null @@ -1,212 +0,0 @@ -'\" t -.\" Title: chpasswd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "CHPASSWD" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -chpasswd \- update passwords in batch mode -.SH "SYNOPSIS" -.HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -The -\fBchpasswd\fR -command reads a list of user name and password pairs from standard input and uses this information to update a group of existing users\&. Each line is of the format: -.PP -\fIuser_name\fR:\fIpassword\fR -.PP -By default the passwords must be supplied in clear\-text, and are encrypted by -\fBchpasswd\fR\&. Also the password age will be updated, if present\&. -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -or -\fBMD5_CRYPT_ENAB\fR -variables of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -\fBchpasswd\fR -first updates all the passwords in memory, and then commits all the changes to disk if no errors occurred for any user\&. -.PP -This command is intended to be used in a large system environment where many accounts are created at a single time\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBchpasswd\fR -command are: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR\ \&\fIMETHOD\fR -.RS 4 -Use the specified method to encrypt the passwords\&. -.sp -The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc support these methods\&. -.sp -By default (if none of the -\fB\-c\fR, -\fB\-m\fR, or -\fB\-e\fR -options are specified), the encryption method is defined by the -\fBENCRYPT_METHOD\fR -or -\fBMD5_CRYPT_ENAB\fR -variables of -/etc/login\&.defs\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -Supplied passwords are in encrypted form\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -Use MD5 encryption instead of DES when the supplied passwords are not encrypted\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIROUNDS\fR -.RS 4 -Use the specified number of rounds to encrypt the passwords\&. -.sp -The value 0 means that the system will choose the default number of rounds for the crypt method (5000)\&. -.sp -A minimal value of 1000 and a maximal value of 999,999,999 will be enforced\&. -.sp -You can only use this option with the SHA256 or SHA512 crypt method\&. -.sp -By default, the number of rounds is defined by the -\fBSHA_CRYPT_MIN_ROUNDS\fR -and -\fBSHA_CRYPT_MAX_ROUNDS\fR -variables in -/etc/login\&.defs\&. -.RE -.SH "CAVEATS" -.PP -Remember to set permissions or umask to prevent readability of unencrypted files by other users\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -This defines the system default encryption algorithm for encrypting passwords (if no algorithm are specified on the command line)\&. -.sp -It can take one of these values: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Note: this parameter overrides the -\fBMD5_CRYPT_ENAB\fR -variable\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to -\fIyes\fR, new passwords will be encrypted using the MD5\-based algorithm compatible with the one used by recent releases of FreeBSD\&. It supports passwords of unlimited length and longer salt strings\&. Set to -\fIno\fR -if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is -\fIno\fR\&. -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -This variable is deprecated\&. You should use -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -When -\fBENCRYPT_METHOD\fR -is set to -\fISHA256\fR -or -\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&. -.sp -With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&. -.sp -If not specified, the libc will choose the default number of rounds (5000)\&. -.sp -The values must be inside the 1000\-999,999,999 range\&. -.sp -If only one of the -\fBSHA_CRYPT_MIN_ROUNDS\fR -or -\fBSHA_CRYPT_MAX_ROUNDS\fR -values is set, then this value will be used\&. -.sp -If -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "SEE ALSO" -.PP -\fBpasswd\fR(1), -\fBnewusers\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8)\&. diff --git a/man/man8/faillog.8 b/man/man8/faillog.8 deleted file mode 100644 index 612b932e..00000000 --- a/man/man8/faillog.8 +++ /dev/null @@ -1,165 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "FAILLOG" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -faillog \- display faillog records or set login failure limits -.SH "SYNOPSIS" -.HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -\fBfaillog\fR -displays the contents of the failure log database (/var/log/faillog)\&. It can also set the failure counters and limits\&. When -\fBfaillog\fR -is run without arguments, it only displays the faillog records of the users who had a login failure\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBfaillog\fR -command are: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Display (or act on) faillog records for all users having an entry in the -faillog -database\&. -.sp -The range of users can be restricted with the -\fB\-u\fR -option\&. -.sp -In display mode, this is still restricted to existing users but forces the display of the faillog entries even if they are empty\&. -.sp -With the -\fB\-l\fR, -\fB\-m\fR, -\fB\-r\fR, -\fB\-t\fR -options, the users\*(Aq records are changed, even if the user does not exist on the system\&. This is useful to reset records of users that have been deleted or to set a policy in advance for a range of users\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fISEC\fR -.RS 4 -Lock account for -\fISEC\fR -seconds after failed login\&. -.sp -Write access to -/var/log/faillog -is required for this option\&. -.RE -.PP -\fB\-m\fR, \fB\-\-maximum\fR\ \&\fIMAX\fR -.RS 4 -Set the maximum number of login failures after the account is disabled to -\fIMAX\fR\&. -.sp -Selecting a -\fIMAX\fR -value of 0 has the effect of not placing a limit on the number of failed logins\&. -.sp -The maximum failure count should always be 0 for -\fIroot\fR -to prevent a denial of services attack against the system\&. -.sp -Write access to -/var/log/faillog -is required for this option\&. -.RE -.PP -\fB\-r\fR, \fB\-\-reset\fR -.RS 4 -Reset the counters of login failures\&. -.sp -Write access to -/var/log/faillog -is required for this option\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIDAYS\fR -.RS 4 -Display faillog records more recent than -\fIDAYS\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR -.RS 4 -Display faillog record or maintains failure counters and limits (if used with -\fB\-l\fR, -\fB\-m\fR -or -\fB\-r\fR -options) only for the specified user(s)\&. -.sp -The users can be specified by a login name, a numerical user ID, or a -\fIRANGE\fR -of users\&. This -\fIRANGE\fR -of users can be specified with a min and max values (\fIUID_MIN\-UID_MAX\fR), a max value (\fI\-UID_MAX\fR), or a min value (\fIUID_MIN\-\fR)\&. -.RE -.PP -When none of the -\fB\-l\fR, -\fB\-m\fR, or -\fB\-r\fR -options are used, -\fBfaillog\fR -displays the faillog record of the specified user(s)\&. -.SH "CAVEATS" -.PP -\fBfaillog\fR -only prints out users with no successful login since the last failure\&. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the -\fB\-u\fR -flag, or print out all users with the -\fB\-a\fR -flag\&. -.SH "FILES" -.PP -/var/log/faillog -.RS 4 -Failure logging file\&. -.RE -.SH "SEE ALSO" -.PP -\fBlogin\fR(1), -\fBfaillog\fR(5)\&. diff --git a/man/man8/groupadd.8 b/man/man8/groupadd.8 deleted file mode 100644 index eb7bebd9..00000000 --- a/man/man8/groupadd.8 +++ /dev/null @@ -1,248 +0,0 @@ -'\" t -.\" Title: groupadd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "GROUPADD" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groupadd \- create a new group -.SH "SYNOPSIS" -.HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIoptions\fR] \fIgroup\fR -.SH "DESCRIPTION" -.PP -The -\fBgroupadd\fR -command creates a new group account using the values specified on the command line plus the default values from the system\&. The new group will be entered into the system files as needed\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBgroupadd\fR -command are: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -This option causes the command to simply exit with success status if the specified group already exists\&. When used with -\fB\-g\fR, and the specified GID already exists, another (unique) GID is chosen (i\&.e\&. -\fB\-g\fR -is turned off)\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -The numerical value of the group\*(Aqs ID\&. This value must be unique, unless the -\fB\-o\fR -option is used\&. The value must be non\-negative\&. The default is to use the smallest ID value greater than or equal to -\fBGID_MIN\fR -and greater than every other group\&. -.sp -See also the -\fB\-r\fR -option and the -\fBGID_MAX\fR -description\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR -.RS 4 -Overrides -/etc/login\&.defs -defaults (GID_MIN, GID_MAX and others)\&. Multiple -\fB\-K\fR -options can be specified\&. -.sp -Example: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI100\fR\ \& -\fB\-K\fR\ \&\fIGID_MAX\fR=\fI499\fR -.sp -Note: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR -doesn\*(Aqt work yet\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -This option permits to add a group with a non\-unique GID\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -The encrypted password, as returned by -\fBcrypt\fR(3)\&. The default is to disable the password\&. -.sp -\fBNote:\fR -This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. -.sp -You should make sure the password respects the system\*(Aqs password policy\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Create a system group\&. -.sp -The numeric identifiers of new system groups are chosen in the -\fBSYS_GID_MIN\fR\-\fBSYS_GID_MAX\fR -range, defined in -login\&.defs, instead of -\fBGID_MIN\fR\-\fBGID_MAX\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBGID_MAX\fR (number), \fBGID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of regular groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBGID_MIN\fR -(resp\&. -\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of system groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBSYS_GID_MIN\fR -(resp\&. -\fBSYS_GID_MAX\fR) is 101 (resp\&. -\fBGID_MIN\fR\-1)\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "CAVEATS" -.PP -Groupnames must start with a lower case letter or an underscore, followed by lower case letters, digits, underscores, or dashes\&. They can end with a dollar sign\&. In regular expression terms: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -Groupnames may only be up to 16 characters long\&. -.PP -You may not add a NIS or LDAP group\&. This must be performed on the corresponding server\&. -.PP -If the groupname already exists in an external group database such as NIS or LDAP, -\fBgroupadd\fR -will deny the group creation request\&. -.SH "EXIT VALUES" -.PP -The -\fBgroupadd\fR -command exits with the following values: -.PP -\fI0\fR -.RS 4 -success -.RE -.PP -\fI2\fR -.RS 4 -invalid command syntax -.RE -.PP -\fI3\fR -.RS 4 -invalid argument to option -.RE -.PP -\fI4\fR -.RS 4 -GID not unique (when -\fB\-o\fR -not used) -.RE -.PP -\fI9\fR -.RS 4 -group name not unique -.RE -.PP -\fI10\fR -.RS 4 -can\*(Aqt update group file -.RE -.SH "SEE ALSO" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/man8/groupdel.8 b/man/man8/groupdel.8 deleted file mode 100644 index 5323f3d1..00000000 --- a/man/man8/groupdel.8 +++ /dev/null @@ -1,136 +0,0 @@ -'\" t -.\" Title: groupdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "GROUPDEL" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groupdel \- delete a group -.SH "SYNOPSIS" -.HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIoptions\fR] \fIGROUP\fR -.SH "DESCRIPTION" -.PP -The -\fBgroupdel\fR -command modifies the system account files, deleting all entries that refer to -\fIGROUP\fR\&. The named group must exist\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBgroupdel\fR -command are: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "CAVEATS" -.PP -You may not remove the primary group of any existing user\&. You must remove the user before you remove the group\&. -.PP -You should manually check all file systems to ensure that no files remain owned by this group\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.SH "EXIT VALUES" -.PP -The -\fBgroupdel\fR -command exits with the following values: -.PP -\fI0\fR -.RS 4 -success -.RE -.PP -\fI2\fR -.RS 4 -invalid command syntax -.RE -.PP -\fI6\fR -.RS 4 -specified group doesn\*(Aqt exist -.RE -.PP -\fI8\fR -.RS 4 -can\*(Aqt remove user\*(Aqs primary group -.RE -.PP -\fI10\fR -.RS 4 -can\*(Aqt update group file -.RE -.SH "SEE ALSO" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/man8/groupmems.8 b/man/man8/groupmems.8 deleted file mode 100644 index 0d6546c4..00000000 --- a/man/man8/groupmems.8 +++ /dev/null @@ -1,180 +0,0 @@ -'\" t -.\" Title: groupmems -.\" Author: George Kraft, IV -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "GROUPMEMS" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groupmems \- administer members of a user\*(Aqs primary group -.SH "SYNOPSIS" -.HP \w'\fBgroupmems\fR\ 'u -\fBgroupmems\fR \-a\ \fIuser_name\fR | \-d\ \fIuser_name\fR | [\-g\ \fIgroup_name\fR] | \-l | \-p -.SH "DESCRIPTION" -.PP -The -\fBgroupmems\fR -command allows a user to administer his/her own group membership list without the requirement of superuser privileges\&. The -\fBgroupmems\fR -utility is for systems that configure its users to be in their own name sake primary group (i\&.e\&., guest / guest)\&. -.PP -Only the superuser, as administrator, can use -\fBgroupmems\fR -to alter the memberships of other groups\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBgroupmems\fR -command are: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIuser_name\fR -.RS 4 -Add a user to the group membership list\&. -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIuser_name\fR -.RS 4 -Delete a user from the group membership list\&. -.sp -If the -/etc/gshadow -file exist, the user will be removed from the list of members and administrators of the group\&. -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-g\fR, \fB\-\-group\fR\ \&\fIgroup_name\fR -.RS 4 -The superuser can specify which group membership list to modify\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -List the group membership list\&. -.RE -.PP -\fB\-p\fR, \fB\-\-purge\fR -.RS 4 -Purge all users from the group membership list\&. -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "SETUP" -.PP -The -\fBgroupmems\fR -executable should be in mode -2770 -as user -\fIroot\fR -and in group -\fIgroups\fR\&. The system administrator can add users to group -\fIgroups\fR -to allow or disallow them using the -\fBgroupmems\fR -utility to manage their own group membership list\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - $ groupadd \-r groups - $ chmod 2770 groupmems - $ chown root\&.groups groupmems - $ groupmems \-g groups \-a gk4 - -.fi -.if n \{\ -.RE -.\} -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -secure group account information -.RE -.SH "SEE ALSO" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/man8/groupmod.8 b/man/man8/groupmod.8 deleted file mode 100644 index 3f4dcf80..00000000 --- a/man/man8/groupmod.8 +++ /dev/null @@ -1,209 +0,0 @@ -'\" t -.\" Title: groupmod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "GROUPMOD" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -groupmod \- modify a group definition on the system -.SH "SYNOPSIS" -.HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIoptions\fR] \fIGROUP\fR -.SH "DESCRIPTION" -.PP -The -\fBgroupmod\fR -command modifies the definition of the specified -\fIGROUP\fR -by modifying the appropriate entry in the group database\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBgroupmod\fR -command are: -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -The group ID of the given -\fIGROUP\fR -will be changed to -\fIGID\fR\&. -.sp -The value of -\fIGID\fR -must be a non\-negative decimal integer\&. This value must be unique, unless the -\fB\-o\fR -option is used\&. -.sp -Users who use the group as primary group will be updated to keep the group as their primary group\&. -.sp -Any files that have the old group ID and must continue to belong to -\fIGROUP\fR, must have their group ID changed manually\&. -.sp -No checks will be performed with regard to the -\fBGID_MIN\fR, -\fBGID_MAX\fR, -\fBSYS_GID_MIN\fR, or -\fBSYS_GID_MAX\fR -from -/etc/login\&.defs\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-n\fR, \fB\-\-new\-name\fR\ \&\fINEW_GROUP\fR -.RS 4 -The name of the group will be changed from -\fIGROUP\fR -to -\fINEW_GROUP\fR -name\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -When used with the -\fB\-g\fR -option, allow to change the group -\fIGID\fR -to a non\-unique value\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -The encrypted password, as returned by -\fBcrypt\fR(3)\&. -.sp -\fBNote:\fR -This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. -.sp -You should make sure the password respects the system\*(Aqs password policy\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.SH "EXIT VALUES" -.PP -The -\fBgroupmod\fR -command exits with the following values: -.PP -\fI0\fR -.RS 4 -success -.RE -.PP -\fI2\fR -.RS 4 -invalid command syntax -.RE -.PP -\fI3\fR -.RS 4 -invalid argument to option -.RE -.PP -\fI4\fR -.RS 4 -specified group doesn\*(Aqt exist -.RE -.PP -\fI6\fR -.RS 4 -specified group doesn\*(Aqt exist -.RE -.PP -\fI9\fR -.RS 4 -group name already in use -.RE -.PP -\fI10\fR -.RS 4 -can\*(Aqt update group file -.RE -.SH "SEE ALSO" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/man8/grpck.8 b/man/man8/grpck.8 deleted file mode 100644 index 7f5dc47b..00000000 --- a/man/man8/grpck.8 +++ /dev/null @@ -1,247 +0,0 @@ -'\" t -.\" Title: grpck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "GRPCK" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -grpck \- verify integrity of group files -.SH "SYNOPSIS" -.HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [options] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] -.SH "DESCRIPTION" -.PP -The -\fBgrpck\fR -command verifies the integrity of the groups information\&. It checks that all entries in -/etc/group -and /etc/gshadow -have the proper format and contain valid data\&. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors\&. -.PP -Checks are made to verify that each entry has: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -the correct number of fields -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a unique and valid group name -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a valid group identifier -(/etc/group only) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a valid list of members -and administrators -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a corresponding entry in the -/etc/gshadow -file (respectively -/etc/group -for the -gshadow -checks) -.RE -.PP -The checks for correct number of fields and unique group name are fatal\&. If an entry has the wrong number of fields, the user will be prompted to delete the entire line\&. If the user does not answer affirmatively, all further checks are bypassed\&. An entry with a duplicated group name is prompted for deletion, but the remaining checks will still be made\&. All other errors are warnings and the user is encouraged to run the -\fBgroupmod\fR -command to correct the error\&. -.PP -The commands which operate on the -/etc/group -and /etc/gshadow files -are not able to alter corrupted or duplicated entries\&. -\fBgrpck\fR -should be used in those circumstances to remove the offending entries\&. -.SH "OPTIONS" -.PP -The -\fB\-r\fR -and -\fB\-s\fR -options cannot be combined\&. -.PP -The options which apply to the -\fBgrpck\fR -command are: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Execute the -\fBgrpck\fR -command in read\-only mode\&. This causes all questions regarding changes to be answered -\fIno\fR -without user intervention\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -Sort entries in -/etc/group -and /etc/gshadow -by GID\&. -.RE -.PP -By default, -\fBgrpck\fR -operates on -/etc/group -and /etc/gshadow\&. The user may select alternate files with the -\fIgroup\fR -and \fIshadow\fR parameters\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.SH "EXIT VALUES" -.PP -The -\fBgrpck\fR -command exits with the following values: -.PP -\fI0\fR -.RS 4 -success -.RE -.PP -\fI1\fR -.RS 4 -invalid command syntax -.RE -.PP -\fI2\fR -.RS 4 -one or more bad group entries -.RE -.PP -\fI3\fR -.RS 4 -can\*(Aqt open group files -.RE -.PP -\fI4\fR -.RS 4 -can\*(Aqt lock group files -.RE -.PP -\fI5\fR -.RS 4 -can\*(Aqt update group files -.RE -.SH "SEE ALSO" -.PP -\fBgroup\fR(5), -\fBgroupmod\fR(8), -\fBgshadow\fR(5), -\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBshadow\fR(5)\&. diff --git a/man/man8/grpconv.8 b/man/man8/grpconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/man8/grpconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/man8/grpunconv.8 b/man/man8/grpunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/man8/grpunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/man8/lastlog.8 b/man/man8/lastlog.8 deleted file mode 100644 index 5c720a90..00000000 --- a/man/man8/lastlog.8 +++ /dev/null @@ -1,123 +0,0 @@ -'\" t -.\" Title: lastlog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "LASTLOG" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -lastlog \- reports the most recent login of all users or of a given user -.SH "SYNOPSIS" -.HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -\fBlastlog\fR -formats and prints the contents of the last login log -/var/log/lastlog -file\&. The -\fIlogin\-name\fR, -\fIport\fR, and -\fIlast login time\fR -will be printed\&. The default (no flags) causes lastlog entries to be printed, sorted by their order in -/etc/passwd\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBlastlog\fR -command are: -.PP -\fB\-b\fR, \fB\-\-before\fR\ \&\fIDAYS\fR -.RS 4 -Print only lastlog records older than -\fIDAYS\fR\&. -.RE -.PP -\fB\-C\fR, \fB\-\-clear\fR -.RS 4 -Clear lastlog record of a user\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-S\fR, \fB\-\-set\fR -.RS 4 -Set lastlog record of a user to the current time\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIDAYS\fR -.RS 4 -Print the lastlog records more recent than -\fIDAYS\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR -.RS 4 -Print the lastlog record of the specified user(s)\&. -.sp -The users can be specified by a login name, a numerical user ID, or a -\fIRANGE\fR -of users\&. This -\fIRANGE\fR -of users can be specified with a min and max values (\fIUID_MIN\-UID_MAX\fR), a max value (\fI\-UID_MAX\fR), or a min value (\fIUID_MIN\-\fR)\&. -.RE -.PP -If the user has never logged in the message -\fI** Never logged in**\fR -will be displayed instead of the port and time\&. -.PP -Only the entries for the current users of the system will be displayed\&. Other entries may exist for users that were deleted previously\&. -.SH "NOTE" -.PP -The -lastlog -file is a database which contains info on the last login of each user\&. You should not rotate it\&. It is a sparse file, so its size on the disk is usually much smaller than the one shown by "\fBls \-l\fR" (which can indicate a really big file if you have in -passwd -users with a high UID)\&. You can display its real size with "\fBls \-s\fR"\&. -.SH "FILES" -.PP -/var/log/lastlog -.RS 4 -Database times of previous user logins\&. -.RE -.SH "CAVEATS" -.PP -Large gaps in UID numbers will cause the lastlog program to run longer with no output to the screen (i\&.e\&. if in lastlog database there is no entries for users with UID between 170 and 800 lastlog will appear to hang as it processes entries with UIDs 171\-799)\&. diff --git a/man/man8/logoutd.8 b/man/man8/logoutd.8 deleted file mode 100644 index e51e9832..00000000 --- a/man/man8/logoutd.8 +++ /dev/null @@ -1,57 +0,0 @@ -'\" t -.\" Title: logoutd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "LOGOUTD" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -logoutd \- enforce login time restrictions -.SH "SYNOPSIS" -.HP \w'\fBlogoutd\fR\ 'u -\fBlogoutd\fR -.SH "DESCRIPTION" -.PP -\fBlogoutd\fR -enforces the login time and port restrictions specified in -/etc/porttime\&. -\fBlogoutd\fR -should be started from -/etc/rc\&. The -/var/run/utmp -file is scanned periodically and each user name is checked to see if the named user is permitted on the named port at the current time\&. Any login session which is violating the restrictions in -/etc/porttime -is terminated\&. -.SH "FILES" -.PP -/etc/porttime -.RS 4 -File containing port access\&. -.RE -.PP -/var/run/utmp -.RS 4 -List of current login sessions\&. -.RE diff --git a/man/man8/newusers.8 b/man/man8/newusers.8 deleted file mode 100644 index bee99e72..00000000 --- a/man/man8/newusers.8 +++ /dev/null @@ -1,430 +0,0 @@ -'\" t -.\" Title: newusers -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "NEWUSERS" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -newusers \- update and create new users in batch -.SH "SYNOPSIS" -.HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fIoptions\fR] [\fIfile\fR] -.SH "DESCRIPTION" -.PP -The -\fBnewusers\fR -command reads a -\fIfile\fR -(or the standard input by default) and uses this information to update a set of existing users or to create new users\&. Each line is in the same format as the standard password file (see -\fBpasswd\fR(5)) with the exceptions explained below: -.PP -pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell -.PP -\fIpw_name\fR -.RS 4 -This is the name of the user\&. -.sp -It can be the name of a new user or the name of an existing user (or a user created before by -\fBnewusers\fR)\&. In case of an existing user, the user\*(Aqs information will be changed, otherwise a new user will be created\&. -.RE -.PP -\fIpw_passwd\fR -.RS 4 -This field will be encrypted and used as the new value of the encrypted password\&. -.RE -.PP -\fIpw_uid\fR -.RS 4 -This field is used to define the UID of the user\&. -.sp -If the field is empty, a new (unused) UID will be defined automatically by -\fBnewusers\fR\&. -.sp -If this field contains a number, this number will be used as the UID\&. -.sp -If this field contains the name of an existing user (or the name of a user created before by -\fBnewusers\fR), the UID of the specified user will be used\&. -.sp -If the UID of an existing user is changed, the files ownership of the user\*(Aqs file should be fixed manually\&. -.RE -.PP -\fIpw_gid\fR -.RS 4 -This field is used to define the primary group ID for the user\&. -.sp -If this field contains the name of an existing group (or a group created before by -\fBnewusers\fR), the GID of this group will be used as the primary group ID for the user\&. -.sp -If this field is a number, this number will be used as the primary group ID of the user\&. If no groups exist with this GID, a new group will be created with this GID, and the name of the user\&. -.sp -If this field is empty, a new group will be created with the name of the user and a GID will be automatically defined by -\fBnewusers\fR -to be used as the primary group ID for the user and as the GID for the new group\&. -.sp -If this field contains the name of a group which does not exist (and was not created before by -\fBnewusers\fR), a new group will be created with the specified name and a GID will be automatically defined by -\fBnewusers\fR -to be used as the primary group ID for the user and GID for the new group\&. -.RE -.PP -\fIpw_gecos\fR -.RS 4 -This field is copied in the GECOS field of the user\&. -.RE -.PP -\fIpw_dir\fR -.RS 4 -This field is used to define the home directory of the user\&. -.sp -If this field does not specify an existing directory, the specified directory is created, with ownership set to the user being created or updated and its primary group\&. -.sp -If the home directory of an existing user is changed, -\fBnewusers\fR -does not move or copy the content of the old directory to the new location\&. This should be done manually\&. -.RE -.PP -\fIpw_shell\fR -.RS 4 -This field defines the shell of the user\&. No checks are performed on this field\&. -.RE -.PP -\fBnewusers\fR -first tries to create or change all the specified users, and then write these changes to the user or group databases\&. If an error occurs (except in the final writes to the databases), no changes are committed to the databases\&. -.PP -This command is intended to be used in a large system environment where many accounts are updated at a single time\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBnewusers\fR -command are: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -Use the specified method to encrypt the passwords\&. -.sp -The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc support these methods\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Create a system account\&. -.sp -System users will be created with no aging information in -/etc/shadow, and their numeric identifiers are chosen in the -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR -range, defined in -login\&.defs, instead of -\fBUID_MIN\fR\-\fBUID_MAX\fR -(and their -\fBGID\fR -counterparts for the creation of groups)\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -Use the specified number of rounds to encrypt the passwords\&. -.sp -The value 0 means that the system will choose the default number of rounds for the crypt method (5000)\&. -.sp -A minimal value of 1000 and a maximal value of 999,999,999 will be enforced\&. -.sp -You can only use this option with the SHA256 or SHA512 crypt method\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in -/etc/login\&.defs\&. -.RE -.SH "CAVEATS" -.PP -The input file must be protected since it contains unencrypted passwords\&. -.PP -You should make sure the passwords and the encryption method respect the system\*(Aqs password policy\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -This defines the system default encryption algorithm for encrypting passwords (if no algorithm are specified on the command line)\&. -.sp -It can take one of these values: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Note: this parameter overrides the -\fBMD5_CRYPT_ENAB\fR -variable\&. -.RE -.PP -\fBGID_MAX\fR (number), \fBGID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of regular groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBGID_MIN\fR -(resp\&. -\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to -\fIyes\fR, new passwords will be encrypted using the MD5\-based algorithm compatible with the one used by recent releases of FreeBSD\&. It supports passwords of unlimited length and longer salt strings\&. Set to -\fIno\fR -if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is -\fIno\fR\&. -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -This variable is deprecated\&. You should use -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a negative value means no warning is given\&. If not specified, no warning will be provided\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -When -\fBENCRYPT_METHOD\fR -is set to -\fISHA256\fR -or -\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&. -.sp -With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&. -.sp -If not specified, the libc will choose the default number of rounds (5000)\&. -.sp -The values must be inside the 1000\-999,999,999 range\&. -.sp -If only one of the -\fBSHA_CRYPT_MIN_ROUNDS\fR -or -\fBSHA_CRYPT_MAX_ROUNDS\fR -values is set, then this value will be used\&. -.sp -If -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of system groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBSYS_GID_MIN\fR -(resp\&. -\fBSYS_GID_MAX\fR) is 101 (resp\&. -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number) -.RS 4 -Range of user IDs used for the creation of system users by -\fBuseradd\fR -or -\fBnewusers\fR\&. -.sp -The default value for -\fBSYS_UID_MIN\fR -(resp\&. -\fBSYS_UID_MAX\fR) is 101 (resp\&. -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBUID_MAX\fR (number), \fBUID_MIN\fR (number) -.RS 4 -Range of user IDs used for the creation of regular users by -\fBuseradd\fR -or -\fBnewusers\fR\&. -.sp -The default value for -\fBUID_MIN\fR -(resp\&. -\fBUID_MAX\fR) is 1000 (resp\&. 60000)\&. -.RE -.PP -\fBUMASK\fR (number) -.RS 4 -The file mode creation mask is initialized to this value\&. If not specified, the mask will be initialized to 022\&. -.sp -\fBuseradd\fR -and -\fBnewusers\fR -use this mask to set the mode of the home directory they create -.sp -It is also used by -\fBlogin\fR -to define users\*(Aq initial umask\&. Note that this mask can be overridden by the user\*(Aqs GECOS line (if -\fBQUOTAS_ENAB\fR -is set) or by the specification of a limit with the -\fIK\fR -identifier in -\fBlimits\fR(5)\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "SEE ALSO" -.PP -\fBlogin.defs\fR(5), -\fBpasswd\fR(1), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8)\&. diff --git a/man/man8/nologin.8 b/man/man8/nologin.8 deleted file mode 100644 index b78e6269..00000000 --- a/man/man8/nologin.8 +++ /dev/null @@ -1,51 +0,0 @@ -'\" t -.\" Title: nologin -.\" Author: Nicolas FranƧois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "NOLOGIN" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -nologin \- politely refuse a login -.SH "SYNOPSIS" -.HP \w'\fBnologin\fR\ 'u -\fBnologin\fR -.SH "DESCRIPTION" -.PP -The -\fBnologin\fR -command displays a message that an account is not available and exits non\-zero\&. It is intended as a replacement shell field for accounts that have been disabled\&. -.PP -To disable all logins, investigate -\fBnologin\fR(5)\&. -.SH "SEE ALSO" -.PP -\fBlogin\fR(1), -\fBnologin\fR(5)\&. -.SH "HISTORY" -.PP -The -\fBnologin\fR -command appeared in BSD 4\&.4\&. diff --git a/man/man8/pwck.8 b/man/man8/pwck.8 deleted file mode 100644 index 99d919aa..00000000 --- a/man/man8/pwck.8 +++ /dev/null @@ -1,323 +0,0 @@ -'\" t -.\" Title: pwck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "PWCK" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -pwck \- verify integrity of password files -.SH "SYNOPSIS" -.HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [options] [\fIpasswd\fR\ [\ \fIshadow\fR\ ]] -.SH "DESCRIPTION" -.PP -The -\fBpwck\fR -command verifies the integrity of the users and authentication information\&. It checks that all entries in -/etc/passwd -and -/etc/shadow -have the proper format and contain valid data\&. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors\&. -.PP -Checks are made to verify that each entry has: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -the correct number of fields -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a unique and valid user name -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a valid user and group identifier -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a valid primary group -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a valid home directory -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a valid login shell -.RE -.PP -shadow -checks are enabled when a second file parameter is specified or when -/etc/shadow -exists on the system\&. -.PP -These checks are the following: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -every passwd entry has a matching shadow entry, and every shadow entry has a matching passwd entry -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -passwords are specified in the shadowed file -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -shadow entries have the correct number of fields -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -shadow entries are unique in shadow -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -the last password changes are not in the future -.RE -.PP -The checks for correct number of fields and unique user name are fatal\&. If the entry has the wrong number of fields, the user will be prompted to delete the entire line\&. If the user does not answer affirmatively, all further checks are bypassed\&. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made\&. All other errors are warning and the user is encouraged to run the -\fBusermod\fR -command to correct the error\&. -.PP -The commands which operate on the -/etc/passwd -file are not able to alter corrupted or duplicated entries\&. -\fBpwck\fR -should be used in those circumstances to remove the offending entry\&. -.SH "OPTIONS" -.PP -The -\fB\-r\fR -and -\fB\-s\fR -options cannot be combined\&. -.PP -The options which apply to the -\fBpwck\fR -command are: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Report errors only\&. The warnings which do not require any action from the user won\*(Aqt be displayed\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Execute the -\fBpwck\fR -command in read\-only mode\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -Sort entries in -/etc/passwd -and -/etc/shadow -by UID\&. -.RE -.PP -By default, -\fBpwck\fR -operates on the files -/etc/passwd -and -/etc/shadow\&. The user may select alternate files with the -\fIpasswd\fR -and -\fIshadow\fR -parameters\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a negative value means no warning is given\&. If not specified, no warning will be provided\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.SH "EXIT VALUES" -.PP -The -\fBpwck\fR -command exits with the following values: -.PP -\fI0\fR -.RS 4 -success -.RE -.PP -\fI1\fR -.RS 4 -invalid command syntax -.RE -.PP -\fI2\fR -.RS 4 -one or more bad password entries -.RE -.PP -\fI3\fR -.RS 4 -can\*(Aqt open password files -.RE -.PP -\fI4\fR -.RS 4 -can\*(Aqt lock password files -.RE -.PP -\fI5\fR -.RS 4 -can\*(Aqt update password files -.RE -.PP -\fI6\fR -.RS 4 -can\*(Aqt sort password files -.RE -.SH "SEE ALSO" -.PP -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBusermod\fR(8)\&. diff --git a/man/man8/pwconv.8 b/man/man8/pwconv.8 deleted file mode 100644 index 1d93a213..00000000 --- a/man/man8/pwconv.8 +++ /dev/null @@ -1,193 +0,0 @@ -'\" t -.\" Title: pwconv -.\" Author: Marek Michałkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "PWCONV" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -pwconv, pwunconv, grpconv, grpunconv \- convert to and from shadow passwords and groups -.SH "SYNOPSIS" -.HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fIoptions\fR] -.HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fIoptions\fR] -.HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fIoptions\fR] -.HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -The -\fBpwconv\fR -command creates -\fIshadow\fR -from -\fIpasswd\fR -and an optionally existing -\fIshadow\fR\&. -.PP -The -\fBpwunconv\fR -command creates -\fIpasswd\fR -from -\fIpasswd\fR -and -\fIshadow\fR -and then removes -\fIshadow\fR\&. -.PP -The -\fBgrpconv\fR -command creates -\fIgshadow\fR -from -\fIgroup\fR -and an optionally existing -\fIgshadow\fR\&. -.PP -The -\fBgrpunconv\fR -command creates -\fIgroup\fR -from -\fIgroup\fR -and -\fIgshadow\fR -and then removes -\fIgshadow\fR\&. -.PP -These four programs all operate on the normal and shadow password and group files: -/etc/passwd, -/etc/group, -/etc/shadow, and -/etc/gshadow\&. -.PP -Each program acquires the necessary locks before conversion\&. -\fBpwconv\fR -and -\fBgrpconv\fR -are similar\&. First, entries in the shadowed file which don\*(Aqt exist in the main file are removed\&. Then, shadowed entries which don\*(Aqt have `x\*(Aq as the password in the main file are updated\&. Any missing shadowed entries are added\&. Finally, passwords in the main file are replaced with `x\*(Aq\&. These programs can be used for initial conversion as well to update the shadowed file if the main file is edited by hand\&. -.PP -\fBpwconv\fR -will use the values of -\fIPASS_MIN_DAYS\fR, -\fIPASS_MAX_DAYS\fR, and -\fIPASS_WARN_AGE\fR -from -/etc/login\&.defs -when adding new entries to -/etc/shadow\&. -.PP -Likewise -\fBpwunconv\fR -and -\fBgrpunconv\fR -are similar\&. Passwords in the main file are updated from the shadowed file\&. Entries which exist in the main file but not in the shadowed file are left alone\&. Finally, the shadowed file is removed\&. Some password aging information is lost by -\fBpwunconv\fR\&. It will convert what it can\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBpwconv\fR, -\fBpwunconv\fR, -\fBgrpconv\fR, and -\fBgrpunconv\fR -commands are: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "BUGS" -.PP -Errors in the password or group files (such as invalid or duplicate entries) may cause these programs to loop forever or fail in other strange ways\&. Please run -\fBpwck\fR -and -\fBgrpck\fR -to correct any such errors before converting to or from shadow passwords or groups\&. -.SH "CONFIGURATION" -.PP -The following configuration variable in -/etc/login\&.defs -changes the behavior of -\fBgrpconv\fR -and -\fBgrpunconv\fR: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of -\fBpwconv\fR: -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a negative value means no warning is given\&. If not specified, no warning will be provided\&. -.RE -.SH "FILES" -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "SEE ALSO" -.PP -\fBgrpck\fR(8), -\fBlogin.defs\fR(5), -\fBpwck\fR(8)\&. diff --git a/man/man8/pwunconv.8 b/man/man8/pwunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/man8/pwunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/man8/sulogin.8 b/man/man8/sulogin.8 deleted file mode 100644 index 0429ce6b..00000000 --- a/man/man8/sulogin.8 +++ /dev/null @@ -1,116 +0,0 @@ -'\" t -.\" Title: sulogin -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "SULOGIN" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -sulogin \- Single\-user login -.SH "SYNTAX" -.PP -\fBsulogin\fR -[\fItty\-device\fR] -.SH "DESCRIPTION" -.PP -The -\fBsulogin\fR -command is invoked by -\fBinit\fR -prior to allowing the user access to the system when in single user mode\&. This feature may only be available on certain systems where -\fBinit\fR -has been modified accordingly, or where the -/etc/inittab -has an entry for a single user login\&. -.PP -The user is prompted -.PP -Type control\-d to proceed with normal startup, -(or give root password for system maintenance): -.PP -Input and output will be performed with the standard file descriptors unless the optional device name argument is provided\&. -.PP -If the user enters the correct root password, a login session is initiated\&. When -\fIEOF\fR -is pressed instead, the system enters multi\-user mode\&. -.PP -After the user exits the single\-user shell, or presses -\fIEOF\fR, the system begins the initialization process required to enter multi\-user mode\&. -.SH "CAVEATS" -.PP -This command can only be used if -\fBinit\fR -has been modified to call -\fBsulogin\fR -instead of -/bin/sh, or if the user has set the -\fIinittab\fR -to support a single user login\&. For example, the line: -.PP -co:s:respawn:/etc/sulogin /dev/console -.PP -should execute the sulogin command in single user mode\&. -.PP -As complete an environment as possible is created\&. However, various devices may be unmounted or uninitialized and many of the user commands may be unavailable or nonfunctional as a result\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBENV_HZ\fR (string) -.RS 4 -If set, it will be used to define the HZ environment variable when a user login\&. The value must be preceded by -\fIHZ=\fR\&. A common value on Linux is -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_TZ\fR (string) -.RS 4 -If set, it will be used to define the TZ environment variable when a user login\&. The value can be the name of a timezone preceded by -\fITZ=\fR -(for example -\fITZ=CST6CDT\fR), or the full path to the file containing the timezone specification (for example -/etc/tzname)\&. -.sp -If a full path is specified but the file does not exist or cannot be read, the default is to use -\fITZ=CST6CDT\fR\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBlogin\fR(1), -\fBsh\fR(1), -\fBinit\fR(8)\&. diff --git a/man/man8/useradd.8 b/man/man8/useradd.8 deleted file mode 100644 index 2bd5beb0..00000000 --- a/man/man8/useradd.8 +++ /dev/null @@ -1,747 +0,0 @@ -'\" t -.\" Title: useradd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "USERADD" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -useradd \- create a new user or update default new user information -.SH "SYNOPSIS" -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fIoptions\fR] \fILOGIN\fR -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -When invoked without the -\fB\-D\fR -option, the -\fBuseradd\fR -command creates a new user account using the values specified on the command line plus the default values from the system\&. Depending on command line options, the -\fBuseradd\fR -command will update system files and may also create the new user\*(Aqs home directory and copy initial files\&. -.PP -By default, a group will also be created for the new user (see -\fB\-g\fR, -\fB\-N\fR, -\fB\-U\fR, and -\fBUSERGROUPS_ENAB\fR)\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBuseradd\fR -command are: -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIBASE_DIR\fR -.RS 4 -The default base directory for the system if -\fB\-d\fR\ \&\fIHOME_DIR\fR -is not specified\&. -\fIBASE_DIR\fR -is concatenated with the account name to define the home directory\&. If the -\fB\-m\fR -option is not used, -\fIBASE_DIR\fR -must exist\&. -.sp -If this option is not specified, -\fBuseradd\fR -will use the base directory specified by the -\fBHOME\fR -variable in -/etc/default/useradd, or -/home -by default\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENT\fR -.RS 4 -Any text string\&. It is generally a short description of the login, and is currently used as the field for the user\*(Aqs full name\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\-dir\fR\ \&\fIHOME_DIR\fR -.RS 4 -The new user will be created using -\fIHOME_DIR\fR -as the value for the user\*(Aqs login directory\&. The default is to append the -\fILOGIN\fR -name to -\fIBASE_DIR\fR -and use that as the login directory name\&. The directory -\fIHOME_DIR\fR -does not have to exist but will not be created if it is missing\&. -.RE -.PP -\fB\-D\fR, \fB\-\-defaults\fR -.RS 4 -See below, the subsection "Changing the default values"\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR -.RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. -.sp -If not specified, -\fBuseradd\fR -will use the default expiry date specified by the -\fBEXPIRE\fR -variable in -/etc/default/useradd, or an empty string (no expiry) by default\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR -.RS 4 -The number of days after a password expires until the account is permanently disabled\&. A value of 0 disables the account as soon as the password has expired, and a value of \-1 disables the feature\&. -.sp -If not specified, -\fBuseradd\fR -will use the default inactivity period specified by the -\fBINACTIVE\fR -variable in -/etc/default/useradd, or \-1 by default\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR -.RS 4 -The group name or number of the user\*(Aqs initial login group\&. The group name must exist\&. A group number must refer to an already existing group\&. -.sp -If not specified, the behavior of -\fBuseradd\fR -will depend on the -\fBUSERGROUPS_ENAB\fR -variable in -/etc/login\&.defs\&. If this variable is set to -\fIyes\fR -(or -\fB\-U/\-\-user\-group\fR -is specified on the command line), a group will be created for the user, with the same name as her loginname\&. If the variable is set to -\fIno\fR -(or -\fB\-N/\-\-no\-user\-group\fR -is specified on the command line), useradd will set the primary group of the new user to the value specified by the -\fBGROUP\fR -variable in -/etc/default/useradd, or 100 by default\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]] -.RS 4 -A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the -\fB\-g\fR -option\&. The default is for the user to belong only to the initial group\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-k\fR, \fB\-\-skel\fR\ \&\fISKEL_DIR\fR -.RS 4 -The skeleton directory, which contains files and directories to be copied in the user\*(Aqs home directory, when the home directory is created by -\fBuseradd\fR\&. -.sp -This option is only valid if the -\fB\-m\fR -(or -\fB\-\-create\-home\fR) option is specified\&. -.sp -If this option is not set, the skeleton directory is defined by the -\fBSKEL\fR -variable in -/etc/default/useradd -or, by default, -/etc/skel\&. -.sp -If possible, the ACLs and extended attributes are copied\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR -.RS 4 -Overrides -/etc/login\&.defs -defaults (\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBUMASK\fR, -\fBPASS_MAX_DAYS\fR -and others)\&. - -Example: -\fB\-K\fR\ \&\fIPASS_MAX_DAYS\fR=\fI\-1\fR -can be used when creating system account to turn off password aging, even though system account has no password at all\&. Multiple -\fB\-K\fR -options can be specified, e\&.g\&.: -\fB\-K\fR\ \&\fIUID_MIN\fR=\fI100\fR\ \& -\fB\-K\fR\ \&\fIUID_MAX\fR=\fI499\fR -.RE -.PP -\fB\-l\fR, \fB\-\-no\-log\-init\fR -.RS 4 -Do not add the user to the lastlog and faillog databases\&. -.sp -By default, the user\*(Aqs entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user\&. -.RE -.PP -\fB\-m\fR, \fB\-\-create\-home\fR -.RS 4 -Create the user\*(Aqs home directory if it does not exist\&. The files and directories contained in the skeleton directory (which can be defined with the -\fB\-k\fR -option) will be copied to the home directory\&. -.sp -By default, if this option is not specified and -\fBCREATE_HOME\fR -is not enabled, no home directories are created\&. -.RE -.PP -\fB\-M\fR, \fB\-\-no\-create\-home\fR -.RS 4 -Do no create the user\*(Aqs home directory, even if the system wide setting from -/etc/login\&.defs -(\fBCREATE_HOME\fR) is set to -\fIyes\fR\&. -.RE -.PP -\fB\-N\fR, \fB\-\-no\-user\-group\fR -.RS 4 -Do not create a group with the same name as the user, but add the user to the group specified by the -\fB\-g\fR -option or by the -\fBGROUP\fR -variable in -/etc/default/useradd\&. -.sp -The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and -\fB\-U\fR -options are not specified) is defined by the -\fBUSERGROUPS_ENAB\fR -variable in -/etc/login\&.defs\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Allow the creation of a user account with a duplicate (non\-unique) UID\&. -.sp -This option is only valid in combination with the -\fB\-u\fR -option\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -The encrypted password, as returned by -\fBcrypt\fR(3)\&. The default is to disable the password\&. -.sp -\fBNote:\fR -This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. -.sp -You should make sure the password respects the system\*(Aqs password policy\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Create a system account\&. -.sp -System users will be created with no aging information in -/etc/shadow, and their numeric identifiers are chosen in the -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR -range, defined in -/etc/login\&.defs, instead of -\fBUID_MIN\fR\-\fBUID_MAX\fR -(and their -\fBGID\fR -counterparts for the creation of groups)\&. -.sp -Note that -\fBuseradd\fR -will not create a home directory for such a user, regardless of the default setting in -/etc/login\&.defs -(\fBCREATE_HOME\fR)\&. You have to specify the -\fB\-m\fR -options if you want a home directory for a system account to be created\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -The name of the user\*(Aqs login shell\&. The default is to leave this field blank, which causes the system to select the default login shell specified by the -\fBSHELL\fR -variable in -/etc/default/useradd, or an empty string by default\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -The numerical value of the user\*(Aqs ID\&. This value must be unique, unless the -\fB\-o\fR -option is used\&. The value must be non\-negative\&. The default is to use the smallest ID value greater than or equal to -\fBUID_MIN\fR -and greater than every other user\&. -.sp -See also the -\fB\-r\fR -option and the -\fBUID_MAX\fR -description\&. -.RE -.PP -\fB\-U\fR, \fB\-\-user\-group\fR -.RS 4 -Create a group with the same name as the user, and add the user to this group\&. -.sp -The default behavior (if the -\fB\-g\fR, -\fB\-N\fR, and -\fB\-U\fR -options are not specified) is defined by the -\fBUSERGROUPS_ENAB\fR -variable in -/etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR -.RS 4 -The SELinux user for the user\*(Aqs login\&. The default is to leave this field blank, which causes the system to select the default SELinux user\&. -.RE -.SS "Changing the default values" -.PP -When invoked with only the -\fB\-D\fR -option, -\fBuseradd\fR -will display the current default values\&. When invoked with -\fB\-D\fR -plus other options, -\fBuseradd\fR -will update the default values for the specified options\&. Valid default\-changing options are: -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIBASE_DIR\fR -.RS 4 -The path prefix for a new user\*(Aqs home directory\&. The user\*(Aqs name will be affixed to the end of -\fIBASE_DIR\fR -to form the new user\*(Aqs home directory name, if the -\fB\-d\fR -option is not used when creating a new account\&. -.sp -This option sets the -\fBHOME\fR -variable in -/etc/default/useradd\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR -.RS 4 -The date on which the user account is disabled\&. -.sp -This option sets the -\fBEXPIRE\fR -variable in -/etc/default/useradd\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR -.RS 4 -The number of days after a password has expired before the account will be disabled\&. -.sp -This option sets the -\fBINACTIVE\fR -variable in -/etc/default/useradd\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR -.RS 4 -The group name or ID for a new user\*(Aqs initial group (when the -\fB\-N/\-\-no\-user\-group\fR -is used or when the -\fBUSERGROUPS_ENAB\fR -variable is set to -\fIno\fR -in -/etc/login\&.defs)\&. The named group must exist, and a numerical group ID must have an existing entry\&. -.sp -This option sets the -\fBGROUP\fR -variable in -/etc/default/useradd\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -The name of a new user\*(Aqs login shell\&. -.sp -This option sets the -\fBSHELL\fR -variable in -/etc/default/useradd\&. -.RE -.SH "NOTES" -.PP -The system administrator is responsible for placing the default user files in the -/etc/skel/ -directory (or any other skeleton directory specified in -/etc/default/useradd -or on the command line)\&. -.SH "CAVEATS" -.PP -You may not add a user to a NIS or LDAP group\&. This must be performed on the corresponding server\&. -.PP -Similarly, if the username already exists in an external user database such as NIS or LDAP, -\fBuseradd\fR -will deny the user account creation request\&. -.PP -Usernames must start with a lower case letter or an underscore, followed by lower case letters, digits, underscores, or dashes\&. They can end with a dollar sign\&. In regular expression terms: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -Usernames may only be up to 32 characters long\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBCREATE_HOME\fR (boolean) -.RS 4 -Indicate if a home directory should be created by default for new users\&. -.sp -This setting does not apply to system users, and can be overridden on the command line\&. -.RE -.PP -\fBGID_MAX\fR (number), \fBGID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of regular groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBGID_MIN\fR -(resp\&. -\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&. -.RE -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -Defines the location of the users mail spool files relatively to their home directory\&. -.RE -.PP -The -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -variables are used by -\fBuseradd\fR, -\fBusermod\fR, and -\fBuserdel\fR -to create, move, or delete the user\*(Aqs mail spool\&. -.PP -If -\fBMAIL_CHECK_ENAB\fR -is set to -\fIyes\fR, they are also used to define the -\fBMAIL\fR -environment variable\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a negative value means no warning is given\&. If not specified, no warning will be provided\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of system groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBSYS_GID_MIN\fR -(resp\&. -\fBSYS_GID_MAX\fR) is 101 (resp\&. -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number) -.RS 4 -Range of user IDs used for the creation of system users by -\fBuseradd\fR -or -\fBnewusers\fR\&. -.sp -The default value for -\fBSYS_UID_MIN\fR -(resp\&. -\fBSYS_UID_MAX\fR) is 101 (resp\&. -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBUID_MAX\fR (number), \fBUID_MIN\fR (number) -.RS 4 -Range of user IDs used for the creation of regular users by -\fBuseradd\fR -or -\fBnewusers\fR\&. -.sp -The default value for -\fBUID_MIN\fR -(resp\&. -\fBUID_MAX\fR) is 1000 (resp\&. 60000)\&. -.RE -.PP -\fBUMASK\fR (number) -.RS 4 -The file mode creation mask is initialized to this value\&. If not specified, the mask will be initialized to 022\&. -.sp -\fBuseradd\fR -and -\fBnewusers\fR -use this mask to set the mode of the home directory they create -.sp -It is also used by -\fBlogin\fR -to define users\*(Aq initial umask\&. Note that this mask can be overridden by the user\*(Aqs GECOS line (if -\fBQUOTAS_ENAB\fR -is set) or by the specification of a limit with the -\fIK\fR -identifier in -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -Enable setting of the umask group bits to be the same as owner bits (examples: 022 \-> 002, 077 \-> 007) for non\-root users, if the uid is the same as gid, and username is the same as the primary group name\&. -.sp -If set to -\fIyes\fR, -\fBuserdel\fR -will remove the user\*(Aqs group if it contains no more members, and -\fBuseradd\fR -will create by default a group with the name of the user\&. -.RE -.SH "FILES" -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.PP -/etc/default/useradd -.RS 4 -Default values for account creation\&. -.RE -.PP -/etc/skel/ -.RS 4 -Directory containing default files\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "EXIT VALUES" -.PP -The -\fBuseradd\fR -command exits with the following values: -.PP -\fI0\fR -.RS 4 -success -.RE -.PP -\fI1\fR -.RS 4 -can\*(Aqt update password file -.RE -.PP -\fI2\fR -.RS 4 -invalid command syntax -.RE -.PP -\fI3\fR -.RS 4 -invalid argument to option -.RE -.PP -\fI4\fR -.RS 4 -UID already in use (and no -\fB\-o\fR) -.RE -.PP -\fI6\fR -.RS 4 -specified group doesn\*(Aqt exist -.RE -.PP -\fI9\fR -.RS 4 -username already in use -.RE -.PP -\fI10\fR -.RS 4 -can\*(Aqt update group file -.RE -.PP -\fI12\fR -.RS 4 -can\*(Aqt create home directory -.RE -.PP -\fI14\fR -.RS 4 -can\*(Aqt update SELinux user mapping -.RE -.SH "SEE ALSO" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBnewusers\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/man8/userdel.8 b/man/man8/userdel.8 deleted file mode 100644 index 3fd81b48..00000000 --- a/man/man8/userdel.8 +++ /dev/null @@ -1,299 +0,0 @@ -'\" t -.\" Title: userdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "USERDEL" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -userdel \- delete a user account and related files -.SH "SYNOPSIS" -.HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [options] \fILOGIN\fR -.SH "DESCRIPTION" -.PP -The -\fBuserdel\fR -command modifies the system account files, deleting all entries that refer to the user name -\fILOGIN\fR\&. The named user must exist\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBuserdel\fR -command are: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. -.sp -\fINote:\fR -This option is dangerous and may leave your system in an inconsistent state\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\fR -.RS 4 -Files in the user\*(Aqs home directory will be removed along with the home directory itself and the user\*(Aqs mail spool\&. Files located in other file systems will have to be searched for and deleted manually\&. -.sp -The mail spool is defined by the -\fBMAIL_DIR\fR -variable in the -login\&.defs -file\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR -.RS 4 -Remove any SELinux user mapping for the user\*(Aqs login\&. -.RE -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -Defines the location of the users mail spool files relatively to their home directory\&. -.RE -.PP -The -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -variables are used by -\fBuseradd\fR, -\fBusermod\fR, and -\fBuserdel\fR -to create, move, or delete the user\*(Aqs mail spool\&. -.PP -If -\fBMAIL_CHECK_ENAB\fR -is set to -\fIyes\fR, they are also used to define the -\fBMAIL\fR -environment variable\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBUSERDEL_CMD\fR (string) -.RS 4 -If defined, this command is run when removing a user\&. It should remove any at/cron/print jobs etc\&. owned by the user to be removed (passed as the first argument)\&. -.sp -The return code of the script is not taken into account\&. -.sp -Here is an example script, which removes the user\*(Aqs cron, at and print jobs: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# Check for the required argument\&. -if [ $# != 1 ]; then - echo "Usage: $0 username" - exit 1 -fi - -# Remove cron jobs\&. -crontab \-r \-u $1 - -# Remove at jobs\&. -# Note that it will remove any jobs owned by the same UID, -# even if it was shared by a different username\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# Remove print jobs\&. -lprm $1 - -# All done\&. -exit 0 - -.fi -.if n \{\ -.RE -.\} -.sp -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -Enable setting of the umask group bits to be the same as owner bits (examples: 022 \-> 002, 077 \-> 007) for non\-root users, if the uid is the same as gid, and username is the same as the primary group name\&. -.sp -If set to -\fIyes\fR, -\fBuserdel\fR -will remove the user\*(Aqs group if it contains no more members, and -\fBuseradd\fR -will create by default a group with the name of the user\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "EXIT VALUES" -.PP -The -\fBuserdel\fR -command exits with the following values: -.PP -\fI0\fR -.RS 4 -success -.RE -.PP -\fI1\fR -.RS 4 -can\*(Aqt update password file -.RE -.PP -\fI2\fR -.RS 4 -invalid command syntax -.RE -.PP -\fI6\fR -.RS 4 -specified user doesn\*(Aqt exist -.RE -.PP -\fI8\fR -.RS 4 -user currently logged in -.RE -.PP -\fI10\fR -.RS 4 -can\*(Aqt update group file -.RE -.PP -\fI12\fR -.RS 4 -can\*(Aqt remove home directory -.RE -.SH "CAVEATS" -.PP -\fBuserdel\fR -will not allow you to remove an account if there are running processes which belong to this account\&. In that case, you may have to kill those processes or lock the user\*(Aqs password or account and remove the account later\&. The -\fB\-f\fR -option can force the deletion of this account\&. -.PP -You should manually check all file systems to ensure that no files remain owned by this user\&. -.PP -You may not remove any NIS attributes on a NIS client\&. This must be performed on the NIS server\&. -.PP -If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs, -\fBuserdel\fR -will delete the group with the same name as the user\&. To avoid inconsistencies in the passwd and group databases, -\fBuserdel\fR -will check that this group is not used as a primary group for another user, and will just warn without deleting the group otherwise\&. The -\fB\-f\fR -option can force the deletion of this group\&. -.SH "SEE ALSO" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBlogin.defs\fR(5), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/man8/usermod.8 b/man/man8/usermod.8 deleted file mode 100644 index a4339a37..00000000 --- a/man/man8/usermod.8 +++ /dev/null @@ -1,446 +0,0 @@ -'\" t -.\" Title: usermod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "USERMOD" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -usermod \- modify a user account -.SH "SYNOPSIS" -.HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIoptions\fR] \fILOGIN\fR -.SH "DESCRIPTION" -.PP -The -\fBusermod\fR -command modifies the system account files to reflect the changes that are specified on the command line\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBusermod\fR -command are: -.PP -\fB\-a\fR, \fB\-\-append\fR -.RS 4 -Add the user to the supplementary group(s)\&. Use only with the -\fB\-G\fR -option\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENT\fR -.RS 4 -The new value of the user\*(Aqs password file comment field\&. It is normally modified using the -\fBchfn\fR(1) -utility\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\fR\ \&\fIHOME_DIR\fR -.RS 4 -The user\*(Aqs new login directory\&. -.sp -If the -\fB\-m\fR -option is given, the contents of the current home directory will be moved to the new home directory, which is created if it does not already exist\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR -.RS 4 -The date on which the user account will be disabled\&. The date is specified in the format -\fIYYYY\-MM\-DD\fR\&. -.sp -An empty -\fIEXPIRE_DATE\fR -argument will disable the expiration of the account\&. -.sp -This option requires a -/etc/shadow -file\&. A -/etc/shadow -entry will be created if there were none\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR -.RS 4 -The number of days after a password expires until the account is permanently disabled\&. -.sp -A value of 0 disables the account as soon as the password has expired, and a value of \-1 disables the feature\&. -.sp -This option requires a -/etc/shadow -file\&. A -/etc/shadow -entry will be created if there were none\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR -.RS 4 -The group name or number of the user\*(Aqs new initial login group\&. The group must exist\&. -.sp -Any file from the user\*(Aqs home directory owned by the previous primary group of the user will be owned by this new group\&. -.sp -The group ownership of files outside of the user\*(Aqs home directory must be fixed manually\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]] -.RS 4 -A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the -\fB\-g\fR -option\&. -.sp -If the user is currently a member of a group which is not listed, the user will be removed from the group\&. This behaviour can be changed via the -\fB\-a\fR -option, which appends the user to the current supplementary group list\&. -.RE -.PP -\fB\-l\fR, \fB\-\-login\fR\ \&\fINEW_LOGIN\fR -.RS 4 -The name of the user will be changed from -\fILOGIN\fR -to -\fINEW_LOGIN\fR\&. Nothing else is changed\&. In particular, the user\*(Aqs home directory or mail spool should probably be renamed manually to reflect the new login name\&. -.RE -.PP -\fB\-L\fR, \fB\-\-lock\fR -.RS 4 -Lock a user\*(Aqs password\&. This puts a \*(Aq!\*(Aq in front of the encrypted password, effectively disabling the password\&. You can\*(Aqt use this option with -\fB\-p\fR -or -\fB\-U\fR\&. -.sp -Note: if you wish to lock the account (not only access with a password), you should also set the -\fIEXPIRE_DATE\fR -to -\fI1\fR\&. -.RE -.PP -\fB\-m\fR, \fB\-\-move\-home\fR -.RS 4 -Move the content of the user\*(Aqs home directory to the new location\&. -.sp -This option is only valid in combination with the -\fB\-d\fR -(or -\fB\-\-home\fR) option\&. -.sp -\fBusermod\fR -will try to adapt the ownership of the files and to copy the modes, ACL and extended attributes, but manual changes might be needed afterwards\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -When used with the -\fB\-u\fR -option, this option allows to change the user ID to a non\-unique value\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -The encrypted password, as returned by -\fBcrypt\fR(3)\&. -.sp -\fBNote:\fR -This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. -.sp -You should make sure the password respects the system\*(Aqs password policy\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -The name of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -The new numerical value of the user\*(Aqs ID\&. -.sp -This value must be unique, unless the -\fB\-o\fR -option is used\&. The value must be non\-negative\&. -.sp -The user\*(Aqs mailbox, and any files which the user owns and which are located in the user\*(Aqs home directory will have the file user ID changed automatically\&. -.sp -The ownership of files outside of the user\*(Aqs home directory must be fixed manually\&. -.sp -No checks will be performed with regard to the -\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBSYS_UID_MIN\fR, or -\fBSYS_UID_MAX\fR -from -/etc/login\&.defs\&. -.RE -.PP -\fB\-U\fR, \fB\-\-unlock\fR -.RS 4 -Unlock a user\*(Aqs password\&. This removes the \*(Aq!\*(Aq in front of the encrypted password\&. You can\*(Aqt use this option with -\fB\-p\fR -or -\fB\-L\fR\&. -.sp -Note: if you wish to unlock the account (not only access with a password), you should also set the -\fIEXPIRE_DATE\fR -(for example to -\fI99999\fR, or to the -\fBEXPIRE\fR -value from -/etc/default/useradd)\&. -.RE -.PP -\fB\-v\fR, \fB\-\-add\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate uids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-V\fR, \fB\-\-del\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate uids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-uids\fR -and -\fB\-\-add\-sub\-uids\fR -are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-w\fR, \fB\-\-add\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate gids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-W\fR, \fB\-\-del\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate gids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-gids\fR -and -\fB\-\-add\-sub\-gids\fR -are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR -.RS 4 -The new SELinux user for the user\*(Aqs login\&. -.sp -A blank -\fISEUSER\fR -will remove the SELinux user mapping for user -\fILOGIN\fR -(if any)\&. -.RE -.SH "CAVEATS" -.PP -You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. -\fBusermod\fR -checks this on Linux\&. On other platforms it only uses utmp to check if the user is logged in\&. -.PP -You must change the owner of any -\fBcrontab\fR -files or -\fBat\fR -jobs manually\&. -.PP -You must make any changes involving NIS on the NIS server\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -Defines the location of the users mail spool files relatively to their home directory\&. -.RE -.PP -The -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -variables are used by -\fBuseradd\fR, -\fBusermod\fR, and -\fBuserdel\fR -to create, move, or delete the user\*(Aqs mail spool\&. -.PP -If -\fBMAIL_CHECK_ENAB\fR -is set to -\fIyes\fR, they are also used to define the -\fBMAIL\fR -environment variable\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "SEE ALSO" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8)\&. diff --git a/man/man8/vigr.8 b/man/man8/vigr.8 deleted file mode 100644 index ff72d7ae..00000000 --- a/man/man8/vigr.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/vipw.8 diff --git a/man/man8/vipw.8 b/man/man8/vipw.8 deleted file mode 100644 index f4fd3b79..00000000 --- a/man/man8/vipw.8 +++ /dev/null @@ -1,137 +0,0 @@ -'\" t -.\" Title: vipw -.\" Author: Marek Michałkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: System Management Commands -.\" Source: shadow-utils 4.4 -.\" Language: English -.\" -.TH "VIPW" "8" "09/18/2016" "shadow\-utils 4\&.4" "System Management Commands" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -vipw, vigr \- edit the password, group, shadow\-password or shadow\-group file -.SH "SYNOPSIS" -.HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIoptions\fR] -.HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIoptions\fR] -.SH "DESCRIPTION" -.PP -The -\fBvipw\fR -and -\fBvigr\fR -commands edits the files -/etc/passwd -and -/etc/group, respectively\&. With the -\fB\-s\fR -flag, they will edit the shadow versions of those files, -/etc/shadow -and -/etc/gshadow, respectively\&. The programs will set the appropriate locks to prevent file corruption\&. When looking for an editor, the programs will first try the environment variable -\fB$VISUAL\fR, then the environment variable -\fB$EDITOR\fR, and finally the default editor, -\fBvi\fR(1)\&. -.SH "OPTIONS" -.PP -The options which apply to the -\fBvipw\fR -and -\fBvigr\fR -commands are: -.PP -\fB\-g\fR, \fB\-\-group\fR -.RS 4 -Edit group database\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Display help message and exit\&. -.RE -.PP -\fB\-p\fR, \fB\-\-passwd\fR -.RS 4 -Edit passwd database\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Quiet mode\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shadow\fR -.RS 4 -Edit shadow or gshadow database\&. -.RE -.SH "ENVIRONMENT" -.PP -\fBVISUAL\fR -.RS 4 -Editor to be used\&. -.RE -.PP -\fBEDITOR\fR -.RS 4 -Editor to be used if -\fBVISUAL\fR -is not set\&. -.RE -.SH "FILES" -.PP -/etc/group -.RS 4 -Group account information\&. -.RE -.PP -/etc/gshadow -.RS 4 -Secure group account information\&. -.RE -.PP -/etc/passwd -.RS 4 -User account information\&. -.RE -.PP -/etc/shadow -.RS 4 -Secure user account information\&. -.RE -.SH "SEE ALSO" -.PP -\fBvi\fR(1), -\fBgroup\fR(5), -\fBgshadow\fR(5) -, -\fBpasswd\fR(5), , -\fBshadow\fR(5)\&. diff --git a/man/pl/Makefile.in b/man/pl/Makefile.in deleted file mode 100644 index d83f88bf..00000000 --- a/man/pl/Makefile.in +++ /dev/null @@ -1,752 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) -subdir = man/pl -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ - "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" -man3dir = $(mandir)/man3 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/../generate_mans.mak \ - $(srcdir)/../generate_translations.mak $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/pl -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ - -# 2012.01.28 - activate manpages with more than 50% translated messages -man_MANS = man1/chage.1 man1/chsh.1 man1/expiry.1 man5/faillog.5 \ - man8/faillog.8 man3/getspnam.3 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/lastlog.8 man8/logoutd.8 man1/newgrp.1 man1/sg.1 \ - man3/shadow.3 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) -man_nopam = \ - man5/porttime.5 - -EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_2) -LANG = $(notdir $(CURDIR)) -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_TRUE@SHADOWGRP_COND = gshadow -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_FALSE@TCB_COND = no_tcb -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids -CLEANFILES = .xml2po.mo $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/pl/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/pl/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man3: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man3dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.3[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@ENABLE_REGENERATE_MAN_FALSE@clean-local: -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man3 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ - uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man3 install-man5 install-man8 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-man uninstall-man1 \ - uninstall-man3 uninstall-man5 uninstall-man8 - -.PRECIOUS: Makefile - - -@ENABLE_REGENERATE_MAN_TRUE@config.xml: ../config.xml.in -@ENABLE_REGENERATE_MAN_TRUE@ $(MAKE) -C .. config.xml -@ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ xml2po --expand-all-entities -l $(LANG) -p ../po/$(LANG).po -o $@ ../$@ -@ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml -@ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $<; then \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^/%config;/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ else \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ fi - -@ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ -@ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< - -@ENABLE_REGENERATE_MAN_TRUE@clean-local: -@ENABLE_REGENERATE_MAN_TRUE@ for d in man1 man3 man5 man8; do [ -d $$d ] && rmdir $$d; done - -#$(man_MANS): -# @echo you need to run configure with --enable-man to generate man pages -# @false - -@ENABLE_REGENERATE_MAN_TRUE@man8/grpconv.8 man8/grpunconv.8 man8/pwunconv.8: man8/pwconv.8 - -@ENABLE_REGENERATE_MAN_TRUE@man3/getspnam.3: man3/shadow.3 - -@ENABLE_REGENERATE_MAN_TRUE@man8/vigr.8: man8/vipw.8 - -@ENABLE_REGENERATE_MAN_FALSE@$(man_MANS): -@ENABLE_REGENERATE_MAN_FALSE@ @echo you need to run configure with --enable-man to generate man pages -@ENABLE_REGENERATE_MAN_FALSE@ @false - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/pl/man1/chage.1 b/man/pl/man1/chage.1 deleted file mode 100644 index ab9f6aa5..00000000 --- a/man/pl/man1/chage.1 +++ /dev/null @@ -1,181 +0,0 @@ -'\" t -.\" Title: chage -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "CHAGE" "1" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia użytkownik\('ow" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -chage \- zmiana informacji o terminie ważności has\(/la użytkownika -.SH "STRESZCZENIE" -.HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIopcje\fR] \fILOGIN\fR -.SH "OPIS" -.PP -Polecenie -\fBchage\fR -zmienia liczbę dni pomiędzy zmianami has\(/la i datę ostatniej zmiany has\(/la\&. Informację tę system wykorzystuje do ustalenia, kiedy użytkownik musi zmienić has\(/lo\&. -.SH "OPCJE" -.PP -Polecenie -\fBchage\fR -posiada następujące opcje: -.PP -\fB\-d\fR, \fB\-\-lastday\fR\ \&\fIOSTATNI\fR -.RS 4 -Ustawia ilość dni od 1 stycznia 1970 kiedy ha\(/lo by\(/lo ostani raz zmieniane\&. Data ważności może być takze prezekazana w formacie RRRR\-MM\-DD (lub formacie używanym lokalnie)\&. -.RE -.PP -\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIDATA_WAÅ»N\fR -.RS 4 -Ustawia datę, począwszy od kt\('orej konto użytkownika nie będzie już dostępne\&. -\fIDATA_WAÅ»N\fR -jest liczbą dni od 1 stycznia 1970, od kt\('orej konto jest blokowane\&. Data może być też wyrażona w formacie RRRR\-MM\-DD (lub innej, powszechniej używanej w danym regionie)\&. Użytkownik, kt\('orego konto jest zablokowane musi skontaktować się z administratorem systemu zanim będzie m\('og\(/l z niego ponownie skorzystać\&. -.sp -Przekazanie -\fI\-1\fR -jako -\fIDATA_WAÅ»N\fR -usuwa ograniczenie ważności konta użytkownika\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-I\fR, \fB\-\-inactive\fR\ \&\fINIEAKTYWNE\fR -.RS 4 -Opcja ta s\(/luży do ustawiania czasu nieaktywności konta po wygaśnięciu ważności has\(/la, po kt\('orym to czasie konto jest blokowane\&. Parametr -\fINIEAKTYWNE\fR -jest liczbą dni nieaktywności\&. Użytkownik, kt\('orego konto jest zablokowane musi skontaktować się z administratorem systemu zanim będzie m\('og\(/l z niego ponownie skorzystać\&. -.sp -Przekazanie -\fI\-1\fR -jako -\fINIEAKTYWNE\fR -usuwa ograniczenie nieaktywniści konta użytkownika\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -Wyświetlenie informacji o terminach ważności konta i has\(/la\&. -.RE -.PP -\fB\-m\fR, \fB\-\-mindays\fR\ \&\fIMIN_DNI\fR -.RS 4 -Utawia minimalną liczbę dni pomiędzy zmianami has\(/la na -\fIMIN_DAYS\fR\&. Wartość zerowa oznacza, że użytkownik może je zmieniać w dowolnym czasie\&. -.RE -.PP -\fB\-M\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DNI\fR -.RS 4 -Ustawia maksymalną liczbę dni, przez jakie has\(/lo jest ważne\&. Gdy -\fIMAX_DNI\fR -plus -\fIOSTATNI\fR -jest mniejsze niż bieżący dzień, użytkownik musi zmienić swoje has\(/la, zanim będzie m\('og\(/l skorzystać z konta\&. Zdarzenie to może być zaplanowane z wyprzedzeniem przez wykorzystanie opcji -\fB\-W\fR, ostrzegającej zawczasu użytkownika o zbliżającym się terminie zmiany\&. -.sp -Przekazanie -\fI\-1\fR -jako -\fIMAX_DAYS\fR -usuwa sprawdzanie wazności has\(/la\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-W\fR, \fB\-\-warndays\fR\ \&\fIDNI_OSTRZ\fR -.RS 4 -Ustawia na -\fIDNI_OSTRZ\fR -liczbę dni przed up\(/lywem ważności has\(/la\&. Od tego dnia użytkownik będzie ostrzegany o nadchodzącym terminie zmiany has\(/la\&. -.RE -.PP -Jeśli nie podano żadnej opcji, to -\fBchage\fR -dzia\(/la w trybie interaktywnym, proponując użytkownikowi wartości bieżące dla każdego z p\('ol\&. Wprowadzenie nowej wartości powoduje zmianę wartości pola, a podanie wartości pustej pozostawia wartość bieżącą\&. Bieżąca wartość pola wyświetlana jest w nawiasach -\fI[ ]\fR\&. -.SH "UWAGI" -.PP -Program -\fBchage\fR -wymaga do dzia\(/lania chronionego pliku hase\(/l użytkownik\('ow (shadow)\&. -.PP -Polecenia chage może użyć tylko użytkownik root, za wyjątkiem opcji -\fB\-l\fR\&. Może się nią pos\(/lużyć się użytkownik nieuprzywilejowany do stwierdzenia, kiedy wygasa jego w\(/lasne has\(/lo lub konto\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.SH "PLIKI" -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.PP -/etc/shadow -.RS 4 -Informacje chronione o użytkownikach\&. -.RE -.SH "KOD ZAKOŃCZENIA" -.PP -Polecenie -\fBchage\fR -kończy dzia\(/lanie z następującymi wartościami kod\('ow zakończenia: -.PP -\fI0\fR -.RS 4 -poprawne zakończenie dzia\(/lania programu -.RE -.PP -\fI1\fR -.RS 4 -brak dostępu -.RE -.PP -\fI2\fR -.RS 4 -niepoprawna sk\(/ladnia polecenia -.RE -.PP -\fI15\fR -.RS 4 -nie można znaleźć pliku shadow -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/pl/man1/chsh.1 b/man/pl/man1/chsh.1 deleted file mode 100644 index f84f9a12..00000000 --- a/man/pl/man1/chsh.1 +++ /dev/null @@ -1,118 +0,0 @@ -'\" t -.\" Title: chsh -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "CHSH" "1" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia użytkownik\('ow" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -chsh \- zmiana pow\(/loki zg\(/loszeniowej -.SH "STRESZCZENIE" -.HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIopcje\fR] [\fILOGIN\fR] -.SH "OPIS" -.PP -The -\fBchsh\fR -command changes the user login shell\&. This determines the name of the user\*(Aqs initial login command\&. A normal user may only change the login shell for her own account; the superuser may change the login shell for any account\&. -.SH "OPCJE" -.PP -Polecenie -\fBchsh\fR -posiada następujące opcje: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -Nazwa nowej pow\(/loki (shell) użytkownika\&. Ustawienie tego pola na puste powoduje, że system wybierze domyślną pow\(/lokę logowania\&. -.RE -.PP -Jeżeli nie podano opcji -\fB\-s\fR, to polecenie -\fBchsh\fR -dzia\(/la w trybie interaktywnym, proponując użytkownikowi bieżącą pow\(/lokę logowania\&. Wprowadzenie nowej wartości powoduje zmianę pow\(/loki, a podanie wartości pustej pozostawia bieżącą pow\(/lokę\&. Bieżąca pow\(/loka wyświetlana jest w nawiasach -\fI[ ]\fR -.SH "UWAGI" -.PP -Jedynym ograniczeniem na\(/lożonym na pow\(/lokę zg\(/loszeniową jest to, że jej nazwa musi być wymieniona w -/etc/shells, chyba że polecenie chsh zosta\(/lo uruchomione przez superużytkownika w\('owczas może być podana dowolna nazwa\&. Użytkownicy kont z ograniczoną pow\(/loką logowania nie mogą jej zmieniać\&. Odradza się z tego powodu umieszczanie -/bin/rsh -w pliku -/etc/shells, gdyż przypadkowa zmiana na pow\(/lokę ograniczoną uniemożliwi użytkownikowi jakąkolwiek zmianę pow\(/loki logowania, nawet z powrotem na dotychczasową\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBCHSH_AUTH\fR (boolean) -.RS 4 -If -\fIyes\fR, the -\fBchsh\fR -program will require authentication before making any changes, unless run by the superuser\&. -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&. -.sp -If the string contains -\fI%s\fR, this will be replaced by the user\*(Aqs name\&. -.RE -.SH "PLIKI" -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.PP -/etc/shells -.RS 4 -Lista dozwolonych pow\(/lok zg\(/loszeniowych\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguracja pakietu shadow\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBchfn\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/pl/man1/expiry.1 b/man/pl/man1/expiry.1 deleted file mode 100644 index 64adc506..00000000 --- a/man/pl/man1/expiry.1 +++ /dev/null @@ -1,74 +0,0 @@ -'\" t -.\" Title: expiry -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "EXPIRY" "1" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia użytkownik\('ow" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -expiry \- sprawdzenie ważności i wymuszenie zmiany has\(/la -.SH "STRESZCZENIE" -.HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIoption\fR -.SH "OPIS" -.PP -Polecenie -\fBexpiry\fR -sprawdza (\fB\-c\fR), kiedy wygaśnie aktualne has\(/lo oraz wymusza (\fB\-f\fR) lub wymusza jego zmianę\&.Może ono być wywo\(/lywane jako zwyk\(/le polecenie przez użytkownika\&. -.SH "OPCJE" -.PP -The options which apply to the -\fBexpiry\fR -command are: -.PP -\fB\-c\fR, \fB\-\-check\fR -.RS 4 -Check the password expiration of the current user\&. -.RE -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Force a password change if the current user has an expired password\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.SH "PLIKI" -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.PP -/etc/shadow -.RS 4 -Informacje chronione o użytkownikach\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/pl/man1/groups.1 b/man/pl/man1/groups.1 deleted file mode 100644 index 53cd29d6..00000000 --- a/man/pl/man1/groups.1 +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "GROUPS" "1" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia użytkownik\('ow" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -groups \- display current group names -.SH "STRESZCZENIE" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIuser\fR] -.SH "OPIS" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named -\fIuser\fR\&. -.SH "UWAGI" -.PP -Systems which do not support concurrent group sets will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2)\&. diff --git a/man/pl/man1/id.1 b/man/pl/man1/id.1 deleted file mode 100644 index efafff2e..00000000 --- a/man/pl/man1/id.1 +++ /dev/null @@ -1,60 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "ID" "1" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia użytkownik\('ow" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -id \- display current user and group ID names -.SH "STRESZCZENIE" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "OPIS" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support multiple concurrent group membership\&. -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2) diff --git a/man/pl/man1/newgrp.1 b/man/pl/man1/newgrp.1 deleted file mode 100644 index 522f1347..00000000 --- a/man/pl/man1/newgrp.1 +++ /dev/null @@ -1,98 +0,0 @@ -'\" t -.\" Title: newgrp -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "NEWGRP" "1" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia użytkownik\('ow" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -newgrp \- log in to a new group -.SH "STRESZCZENIE" -.HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIgroup\fR] -.SH "OPIS" -.PP -The -\fBnewgrp\fR -command is used to change the current group ID during a login session\&. If the optional -\fB\-\fR -flag is given, the user\*(Aqs environment will be reinitialized as though the user had logged in, otherwise the current environment, including current working directory, remains unchanged\&. -.PP -\fBnewgrp\fR -changes the current real group ID to the named group, or to the default group listed in -/etc/passwd -if no group name is given\&. -\fBnewgrp\fR -also tries to add the group to the user groupset\&. If not root, the user will be prompted for a password if she does not have a password (in -/etc/shadow -if this user has an entry in the shadowed password file, or in -/etc/passwd -otherwise) and the group does, or if the user is not listed as a member and the group has a password\&. The user will be denied access if the group password is empty and the user is not listed as a member\&. -.PP -If there is an entry for this group in -/etc/gshadow, then the list of members and the password of this group will be taken from this file, otherwise, the entry in -/etc/group -is considered\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsg\fR -activity\&. -.RE -.SH "PLIKI" -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.PP -/etc/shadow -.RS 4 -Informacje chronione o użytkownikach\&. -.RE -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informacje chronione o grupach użytkownik\('ow\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBsu\fR(1), -\fBsg\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/pl/man1/sg.1 b/man/pl/man1/sg.1 deleted file mode 100644 index 4e3fec4b..00000000 --- a/man/pl/man1/sg.1 +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\" Title: sg -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "SG" "1" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia użytkownik\('ow" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -sg \- execute command as different group ID -.SH "STRESZCZENIE" -.HP \w'\fBsg\fR\ 'u -\fBsg\fR [\-] [group\ [\-c]\ command] -.SH "OPIS" -.PP -The -\fBsg\fR -command works similar to -\fBnewgrp\fR -but accepts a command\&. The command will be executed with the -/bin/sh -shell\&. With most shells you may run -\fBsg\fR -from, you need to enclose multi\-word commands in quotes\&. Another difference between -\fBnewgrp\fR -and -\fBsg\fR -is that some shells treat -\fBnewgrp\fR -specially, replacing themselves with a new instance of a shell that -\fBnewgrp\fR -creates\&. This doesn\*(Aqt happen with -\fBsg\fR, so upon exit from a -\fBsg\fR -command you are returned to your previous group ID\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsg\fR -activity\&. -.RE -.SH "PLIKI" -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.PP -/etc/shadow -.RS 4 -Informacje chronione o użytkownikach\&. -.RE -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informacje chronione o grupach użytkownik\('ow\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBnewgrp\fR(1), -\fBsu\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/pl/man3/getspnam.3 b/man/pl/man3/getspnam.3 deleted file mode 100644 index cd473da3..00000000 --- a/man/pl/man3/getspnam.3 +++ /dev/null @@ -1 +0,0 @@ -.so man3/shadow.3 diff --git a/man/pl/man3/shadow.3 b/man/pl/man3/shadow.3 deleted file mode 100644 index b900be13..00000000 --- a/man/pl/man3/shadow.3 +++ /dev/null @@ -1,245 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Library Calls -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "SHADOW" "3" "09/18/2016" "shadow\-utils 4\&.4" "Library Calls" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -shadow, getspnam \- encrypted password file routines -.SH "SK\(/LADNIA" -.PP -\fI#include \fR -.PP -\fIstruct spwd *getspent();\fR -.PP -\fIstruct spwd *getspnam(char\fR -\fI*name\fR\fI);\fR -.PP -\fIvoid setspent()\fR -.PP -\fIvoid endspent();\fR -.PP -\fIstruct spwd *fgetspent(FILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIstruct spwd *sgetspent(char\fR -\fI*cp\fR\fI);\fR -.PP -\fIint putspent(struct spwd\fR -\fI*p,\fR -\fIFILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIint lckpwdf();\fR -.PP -\fIint ulckpwdf();\fR -.SH "OPIS" -.PP -\fIshadow\fR -manipulates the contents of the shadow password file, -/etc/shadow\&. The structure in the -\fI#include\fR -file is: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct spwd { - char *sp_namp; /* user login name */ - char *sp_pwdp; /* encrypted password */ - long int sp_lstchg; /* last password change */ - long int sp_min; /* days until change allowed\&. */ - long int sp_max; /* days before change required */ - long int sp_warn; /* days warning for expiration */ - long int sp_inact; /* days before account inactive */ - long int sp_expire; /* date when account expires */ - unsigned long int sp_flag; /* reserved for future use */ -} - -.fi -.if n \{\ -.RE -.\} -.PP -The meanings of each field are: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_namp \- pointer to null\-terminated user name -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_pwdp \- pointer to null\-terminated password -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_lstchg \- days since Jan 1, 1970 password was last changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_min \- days before which password may not be changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_max \- days after which password must be changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_warn \- days before password is to expire that user is warned of pending password expiration -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_inact \- days after password expires that account is considered inactive and disabled -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_expire \- days since Jan 1, 1970 when account will be disabled -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_flag \- reserved for future use -.RE -.SH "OPIS" -.PP -\fIgetspent\fR, -\fIgetspname\fR, -\fIfgetspent\fR, and -\fIsgetspent\fR -each return a pointer to a -\fIstruct spwd\fR\&. -\fIgetspent\fR -returns the next entry from the file, and -\fIfgetspent\fR -returns the next entry from the given stream, which is assumed to be a file of the proper format\&. -\fIsgetspent\fR -returns a pointer to a -\fIstruct spwd\fR -using the provided string as input\&. -\fIgetspnam\fR -searches from the current position in the file for an entry matching -\fIname\fR\&. -.PP -\fIsetspent\fR -and -\fIendspent\fR -may be used to begin and end, respectively, access to the shadow password file\&. -.PP -The -\fIlckpwdf\fR -and -\fIulckpwdf\fR -routines should be used to insure exclusive access to the -/etc/shadow -file\&. -\fIlckpwdf\fR -attempts to acquire a lock using -\fIpw_lock\fR -for up to 15 seconds\&. It continues by attempting to acquire a second lock using -\fIspw_lock\fR -for the remainder of the initial 15 seconds\&. Should either attempt fail after a total of 15 seconds, -\fIlckpwdf\fR -returns \-1\&. When both locks are acquired 0 is returned\&. -.SH "DIAGNOSTYKA" -.PP -Routines return NULL if no more entries are available or if an error occurs during processing\&. Routines which have -\fIint\fR -as the return value return 0 for success and \-1 for failure\&. -.SH "OSTRZEÅ»ENIA" -.PP -These routines may only be used by the superuser as access to the shadow password file is restricted\&. -.SH "PLIKI" -.PP -/etc/shadow -.RS 4 -Informacje chronione o użytkownikach\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBgetpwent\fR(3), -\fBshadow\fR(5)\&. diff --git a/man/pl/man5/faillog.5 b/man/pl/man5/faillog.5 deleted file mode 100644 index f4c6e125..00000000 --- a/man/pl/man5/faillog.5 +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "FAILLOG" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -faillog \- login failure logging file -.SH "OPIS" -.PP -/var/log/faillog -maintains a count of login failures and the limits for each account\&. -.PP -The file contains fixed length records, indexed by numerical UID\&. Each record contains the count of login failures since the last successful login; the maximum number of failures before the account is disabled; the line on which the last login failure occurred; the date of the last login failure; and the duration (in seconds) during which the account will be locked after a failure\&. -.PP -Struktura tego pliku to: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct faillog { - short fail_cnt; - short fail_max; - char fail_line[12]; - time_t fail_time; - long fail_locktime; -}; -.fi -.if n \{\ -.RE -.\} -.SH "PLIKI" -.PP -/var/log/faillog -.RS 4 -Failure logging file\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBfaillog\fR(8) diff --git a/man/pl/man5/porttime.5 b/man/pl/man5/porttime.5 deleted file mode 100644 index 77c607e9..00000000 --- a/man/pl/man5/porttime.5 +++ /dev/null @@ -1,96 +0,0 @@ -'\" t -.\" Title: porttime -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: File Formats and Conversions -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "PORTTIME" "5" "09/18/2016" "shadow\-utils 4\&.4" "File Formats and Conversions" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -porttime \- port access time file -.SH "OPIS" -.PP -\fIporttime\fR -contains a list of tty devices, user names, and permitted login times\&. -.PP -Each entry consists of three colon separated fields\&. The first field is a comma separated list of tty devices, or an asterisk to indicate that all tty devices are matched by this entry\&. The second field is a comma separated list of user names, or an asterisk to indicated that all user names are matched by this entry\&. The third field is a comma separated list of permitted access times\&. -.PP -Each access time entry consists of zero or more days of the week, abbreviated -\fISu\fR, -\fIMo\fR, -\fITu\fR, -\fIWe\fR, -\fITh\fR, -\fIFr\fR, and -\fISa\fR, followed by a pair of times separated by a hyphen\&. The abbreviation -\fIWk\fR -may be used to represent Monday thru Friday, and -\fIAl\fR -may be used to indicate every day\&. If no days are given, -\fIAl\fR -is assumed\&. -.SH "PRZYK\(/LADY" -.PP -The following entry allows access to user -\fBjfh\fR -on every port during weekdays from 9am to 5pm\&. -.PP -*:jfh:Wk0900\-1700 -.PP -The following entries allow access only to the users -\fIroot\fR -and -\fIoper\fR -on -/dev/console -at any time\&. This illustrates how the -/etc/porttime -file is an ordered list of access times\&. Any other user would match the second entry which does not permit access at any time\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - console:root,oper:Al0000\-2400 - console:*: - -.fi -.if n \{\ -.RE -.\} -.PP -The following entry allows access for the user -\fIgames\fR -on any port during non\-working hours\&. -.PP -*:games:Wk1700\-0900,SaSu0000\-2400 -.SH "PLIKI" -.PP -/etc/porttime -.RS 4 -Plik zawierający ustawienia dostępu do port\('ow\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBlogin\fR(1)\&. diff --git a/man/pl/man8/faillog.8 b/man/pl/man8/faillog.8 deleted file mode 100644 index 92b47b50..00000000 --- a/man/pl/man8/faillog.8 +++ /dev/null @@ -1,165 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "FAILLOG" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -faillog \- display faillog records or set login failure limits -.SH "STRESZCZENIE" -.HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIopcje\fR] -.SH "OPIS" -.PP -\fBfaillog\fR -displays the contents of the failure log database (/var/log/faillog)\&. It can also set the failure counters and limits\&. When -\fBfaillog\fR -is run without arguments, it only displays the faillog records of the users who had a login failure\&. -.SH "OPCJE" -.PP -Polecenie -\fBfaillog\fR -posiada następujące opcje: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Display (or act on) faillog records for all users having an entry in the -faillog -database\&. -.sp -The range of users can be restricted with the -\fB\-u\fR -option\&. -.sp -In display mode, this is still restricted to existing users but forces the display of the faillog entries even if they are empty\&. -.sp -With the -\fB\-l\fR, -\fB\-m\fR, -\fB\-r\fR, -\fB\-t\fR -options, the users\*(Aq records are changed, even if the user does not exist on the system\&. This is useful to reset records of users that have been deleted or to set a policy in advance for a range of users\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fISEC\fR -.RS 4 -Lock account for -\fISEC\fR -seconds after failed login\&. -.sp -Write access to -/var/log/faillog -is required for this option\&. -.RE -.PP -\fB\-m\fR, \fB\-\-maximum\fR\ \&\fIMAX\fR -.RS 4 -Set the maximum number of login failures after the account is disabled to -\fIMAX\fR\&. -.sp -Selecting a -\fIMAX\fR -value of 0 has the effect of not placing a limit on the number of failed logins\&. -.sp -The maximum failure count should always be 0 for -\fIroot\fR -to prevent a denial of services attack against the system\&. -.sp -Write access to -/var/log/faillog -is required for this option\&. -.RE -.PP -\fB\-r\fR, \fB\-\-reset\fR -.RS 4 -Reset the counters of login failures\&. -.sp -Write access to -/var/log/faillog -is required for this option\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIDNI\fR -.RS 4 -Display faillog records more recent than -\fIDAYS\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR -.RS 4 -Display faillog record or maintains failure counters and limits (if used with -\fB\-l\fR, -\fB\-m\fR -or -\fB\-r\fR -options) only for the specified user(s)\&. -.sp -The users can be specified by a login name, a numerical user ID, or a -\fIRANGE\fR -of users\&. This -\fIRANGE\fR -of users can be specified with a min and max values (\fIUID_MIN\-UID_MAX\fR), a max value (\fI\-UID_MAX\fR), or a min value (\fIUID_MIN\-\fR)\&. -.RE -.PP -When none of the -\fB\-l\fR, -\fB\-m\fR, or -\fB\-r\fR -options are used, -\fBfaillog\fR -displays the faillog record of the specified user(s)\&. -.SH "OSTRZEÅ»ENIA" -.PP -\fBfaillog\fR -only prints out users with no successful login since the last failure\&. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the -\fB\-u\fR -flag, or print out all users with the -\fB\-a\fR -flag\&. -.SH "PLIKI" -.PP -/var/log/faillog -.RS 4 -Failure logging file\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBlogin\fR(1), -\fBfaillog\fR(5)\&. diff --git a/man/pl/man8/groupadd.8 b/man/pl/man8/groupadd.8 deleted file mode 100644 index 719f3f5d..00000000 --- a/man/pl/man8/groupadd.8 +++ /dev/null @@ -1,248 +0,0 @@ -'\" t -.\" Title: groupadd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "GROUPADD" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -groupadd \- utw\('orz nową grupę -.SH "STRESZCZENIE" -.HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIopcje\fR] \fIgroup\fR -.SH "OPIS" -.PP -The -\fBgroupadd\fR -command creates a new group account using the values specified on the command line plus the default values from the system\&. The new group will be entered into the system files as needed\&. -.SH "OPCJE" -.PP -Polecenie -\fBgroupadd\fR -posiada następujące opcje: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -This option causes the command to simply exit with success status if the specified group already exists\&. When used with -\fB\-g\fR, and the specified GID already exists, another (unique) GID is chosen (i\&.e\&. -\fB\-g\fR -is turned off)\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -The numerical value of the group\*(Aqs ID\&. This value must be unique, unless the -\fB\-o\fR -option is used\&. The value must be non\-negative\&. The default is to use the smallest ID value greater than or equal to -\fBGID_MIN\fR -and greater than every other group\&. -.sp -See also the -\fB\-r\fR -option and the -\fBGID_MAX\fR -description\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fIKLUCZ\fR=\fIWARTOŚĆ\fR -.RS 4 -Overrides -/etc/login\&.defs -defaults (GID_MIN, GID_MAX and others)\&. Multiple -\fB\-K\fR -options can be specified\&. -.sp -Example: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI100\fR\ \& -\fB\-K\fR\ \&\fIGID_MAX\fR=\fI499\fR -.sp -Note: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR -doesn\*(Aqt work yet\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -This option permits to add a group with a non\-unique GID\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIHAS\(/LO\fR -.RS 4 -The encrypted password, as returned by -\fBcrypt\fR(3)\&. The default is to disable the password\&. -.sp -\fBNote:\fR -This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. -.sp -You should make sure the password respects the system\*(Aqs password policy\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Create a system group\&. -.sp -The numeric identifiers of new system groups are chosen in the -\fBSYS_GID_MIN\fR\-\fBSYS_GID_MAX\fR -range, defined in -login\&.defs, instead of -\fBGID_MIN\fR\-\fBGID_MAX\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBGID_MAX\fR (number), \fBGID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of regular groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBGID_MIN\fR -(resp\&. -\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of system groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBSYS_GID_MIN\fR -(resp\&. -\fBSYS_GID_MAX\fR) is 101 (resp\&. -\fBGID_MIN\fR\-1)\&. -.RE -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informacje chronione o grupach użytkownik\('ow\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguracja pakietu shadow\&. -.RE -.SH "OSTRZEÅ»ENIA" -.PP -Groupnames must start with a lower case letter or an underscore, followed by lower case letters, digits, underscores, or dashes\&. They can end with a dollar sign\&. In regular expression terms: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -Groupnames may only be up to 16 characters long\&. -.PP -You may not add a NIS or LDAP group\&. This must be performed on the corresponding server\&. -.PP -If the groupname already exists in an external group database such as NIS or LDAP, -\fBgroupadd\fR -will deny the group creation request\&. -.SH "KOD ZAKOŃCZENIA" -.PP -Polecenie -\fBgroupadd\fR -kończy dzia\(/lanie z następującymi wartościami kod\('ow zakończenia: -.PP -\fI0\fR -.RS 4 -poprawne zakończenie dzia\(/lania programu -.RE -.PP -\fI2\fR -.RS 4 -niepoprawna sk\(/ladnia polecenia -.RE -.PP -\fI3\fR -.RS 4 -nieprawid\(/lowy argument opcji -.RE -.PP -\fI4\fR -.RS 4 -GID not unique (when -\fB\-o\fR -not used) -.RE -.PP -\fI9\fR -.RS 4 -group name not unique -.RE -.PP -\fI10\fR -.RS 4 -nie można zaktualizować pliku z grupami -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/pl/man8/groupdel.8 b/man/pl/man8/groupdel.8 deleted file mode 100644 index d801ff6e..00000000 --- a/man/pl/man8/groupdel.8 +++ /dev/null @@ -1,136 +0,0 @@ -'\" t -.\" Title: groupdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "GROUPDEL" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -groupdel \- delete a group -.SH "STRESZCZENIE" -.HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIopcje\fR] \fIGRUPA\fR -.SH "OPIS" -.PP -The -\fBgroupdel\fR -command modifies the system account files, deleting all entries that refer to -\fIGROUP\fR\&. The named group must exist\&. -.SH "OPCJE" -.PP -The options which apply to the -\fBgroupdel\fR -command are: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "OSTRZEÅ»ENIA" -.PP -You may not remove the primary group of any existing user\&. You must remove the user before you remove the group\&. -.PP -You should manually check all file systems to ensure that no files remain owned by this group\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informacje chronione o grupach użytkownik\('ow\&. -.RE -.SH "KOD ZAKOŃCZENIA" -.PP -Polecenie -\fBgroupdel\fR -kończy dzia\(/lanie z następującymi wartościami kod\('ow zakończenia: -.PP -\fI0\fR -.RS 4 -poprawne zakończenie dzia\(/lania programu -.RE -.PP -\fI2\fR -.RS 4 -niepoprawna sk\(/ladnia polecenia -.RE -.PP -\fI6\fR -.RS 4 -specified group doesn\*(Aqt exist -.RE -.PP -\fI8\fR -.RS 4 -can\*(Aqt remove user\*(Aqs primary group -.RE -.PP -\fI10\fR -.RS 4 -nie można zaktualizować pliku z grupami -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/pl/man8/groupmems.8 b/man/pl/man8/groupmems.8 deleted file mode 100644 index 50f31f26..00000000 --- a/man/pl/man8/groupmems.8 +++ /dev/null @@ -1,180 +0,0 @@ -'\" t -.\" Title: groupmems -.\" Author: George Kraft, IV -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "GROUPMEMS" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -groupmems \- administer members of a user\*(Aqs primary group -.SH "STRESZCZENIE" -.HP \w'\fBgroupmems\fR\ 'u -\fBgroupmems\fR \-a\ \fIuser_name\fR | \-d\ \fIuser_name\fR | [\-g\ \fIgroup_name\fR] | \-l | \-p -.SH "OPIS" -.PP -The -\fBgroupmems\fR -command allows a user to administer his/her own group membership list without the requirement of superuser privileges\&. The -\fBgroupmems\fR -utility is for systems that configure its users to be in their own name sake primary group (i\&.e\&., guest / guest)\&. -.PP -Only the superuser, as administrator, can use -\fBgroupmems\fR -to alter the memberships of other groups\&. -.SH "OPCJE" -.PP -Polecenie -\fBgroupmems\fR -posiada następujące opcje: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIuser_name\fR -.RS 4 -Add a user to the group membership list\&. -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIuser_name\fR -.RS 4 -Delete a user from the group membership list\&. -.sp -If the -/etc/gshadow -file exist, the user will be removed from the list of members and administrators of the group\&. -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-g\fR, \fB\-\-group\fR\ \&\fIgroup_name\fR -.RS 4 -The superuser can specify which group membership list to modify\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -List the group membership list\&. -.RE -.PP -\fB\-p\fR, \fB\-\-purge\fR -.RS 4 -Purge all users from the group membership list\&. -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "SETUP" -.PP -The -\fBgroupmems\fR -executable should be in mode -2770 -as user -\fIroot\fR -and in group -\fIgroups\fR\&. The system administrator can add users to group -\fIgroups\fR -to allow or disallow them using the -\fBgroupmems\fR -utility to manage their own group membership list\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - $ groupadd \-r groups - $ chmod 2770 groupmems - $ chown root\&.groups groupmems - $ groupmems \-g groups \-a gk4 - -.fi -.if n \{\ -.RE -.\} -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/gshadow -.RS 4 -secure group account information -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/pl/man8/groupmod.8 b/man/pl/man8/groupmod.8 deleted file mode 100644 index 0305313f..00000000 --- a/man/pl/man8/groupmod.8 +++ /dev/null @@ -1,208 +0,0 @@ -'\" t -.\" Title: groupmod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "GROUPMOD" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -groupmod \- modyfikuj definicję grupy systemowej -.SH "STRESZCZENIE" -.HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIopcje\fR] \fIGRUPA\fR -.SH "OPIS" -.PP -Polcenie -\fBgroupmod\fR -modifikuje definicję grupy -\fIGRUPA\fR -poprzez modifikację stosownego wpisu w bazie grup\&. -.SH "OPCJE" -.PP -Polecenie -\fBgroupmod\fR -posiada następujące opcje: -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -The group ID of the given -\fIGROUP\fR -will be changed to -\fIGID\fR\&. -.sp -The value of -\fIGID\fR -must be a non\-negative decimal integer\&. This value must be unique, unless the -\fB\-o\fR -option is used\&. -.sp -Users who use the group as primary group will be updated to keep the group as their primary group\&. -.sp -Any files that have the old group ID and must continue to belong to -\fIGROUP\fR, must have their group ID changed manually\&. -.sp -No checks will be performed with regard to the -\fBGID_MIN\fR, -\fBGID_MAX\fR, -\fBSYS_GID_MIN\fR, or -\fBSYS_GID_MAX\fR -from -/etc/login\&.defs\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-a\fR, \fB\-\-append\fR\ \&\fINOWA_GRUPA\fR -.RS 4 -Nazwa grupy zostanie zmieniona z -\fIGRUPA\fR -na nazwę -\fINOWA_GRUPA\fR\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -When used with the -\fB\-g\fR -option, allow to change the group -\fIGID\fR -to a non\-unique value\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIHAS\(/LO\fR -.RS 4 -The encrypted password, as returned by -\fBcrypt\fR(3)\&. -.sp -\fBNote:\fR -This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. -.sp -You should make sure the password respects the system\*(Aqs password policy\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informacje chronione o grupach użytkownik\('ow\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguracja pakietu shadow\&. -.RE -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.SH "KOD ZAKOŃCZENIA" -.PP -Polecenie -\fBgroupmod\fR -kończy dzia\(/lanie z następującymi wartościami kod\('ow zakończenia: -.PP -\fI0\fR -.RS 4 -poprawne zakończenie dzia\(/lania programu -.RE -.PP -\fI2\fR -.RS 4 -niepoprawna sk\(/ladnia polecenia -.RE -.PP -\fI3\fR -.RS 4 -nieprawid\(/lowy argument opcji -.RE -.PP -\fI4\fR -.RS 4 -specified group doesn\*(Aqt exist -.RE -.PP -\fI6\fR -.RS 4 -specified group doesn\*(Aqt exist -.RE -.PP -\fI9\fR -.RS 4 -nazwa grupy już jest w użyciu -.RE -.PP -\fI10\fR -.RS 4 -nie można zaktualizować pliku z grupami -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/pl/man8/grpck.8 b/man/pl/man8/grpck.8 deleted file mode 100644 index b693a761..00000000 --- a/man/pl/man8/grpck.8 +++ /dev/null @@ -1,247 +0,0 @@ -'\" t -.\" Title: grpck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "GRPCK" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -grpck \- verify integrity of group files -.SH "STRESZCZENIE" -.HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [opcje] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] -.SH "OPIS" -.PP -The -\fBgrpck\fR -command verifies the integrity of the groups information\&. It checks that all entries in -/etc/group -and /etc/gshadow -have the proper format and contain valid data\&. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors\&. -.PP -Checks are made to verify that each entry has: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -the correct number of fields -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a unique and valid group name -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a valid group identifier -(/etc/group only) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a valid list of members -and administrators -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a corresponding entry in the -/etc/gshadow -file (respectively -/etc/group -for the -gshadow -checks) -.RE -.PP -The checks for correct number of fields and unique group name are fatal\&. If an entry has the wrong number of fields, the user will be prompted to delete the entire line\&. If the user does not answer affirmatively, all further checks are bypassed\&. An entry with a duplicated group name is prompted for deletion, but the remaining checks will still be made\&. All other errors are warnings and the user is encouraged to run the -\fBgroupmod\fR -command to correct the error\&. -.PP -The commands which operate on the -/etc/group -and /etc/gshadow files -are not able to alter corrupted or duplicated entries\&. -\fBgrpck\fR -should be used in those circumstances to remove the offending entries\&. -.SH "OPCJE" -.PP -The -\fB\-r\fR -and -\fB\-s\fR -options cannot be combined\&. -.PP -The options which apply to the -\fBgrpck\fR -command are: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Execute the -\fBgrpck\fR -command in read\-only mode\&. This causes all questions regarding changes to be answered -\fIno\fR -without user intervention\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -Sort entries in -/etc/group -and /etc/gshadow -by GID\&. -.RE -.PP -By default, -\fBgrpck\fR -operates on -/etc/group -and /etc/gshadow\&. The user may select alternate files with the -\fIgroup\fR -and \fIshadow\fR parameters\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informacje chronione o grupach użytkownik\('ow\&. -.RE -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.SH "KOD ZAKOŃCZENIA" -.PP -Polecenie -\fBgrpckl\fR -kończy dzia\(/lanie z następującymi wartościami kod\('ow zakończenia: -.PP -\fI0\fR -.RS 4 -poprawne zakończenie dzia\(/lania programu -.RE -.PP -\fI1\fR -.RS 4 -niepoprawna sk\(/ladnia polecenia -.RE -.PP -\fI2\fR -.RS 4 -one or more bad group entries -.RE -.PP -\fI3\fR -.RS 4 -can\*(Aqt open group files -.RE -.PP -\fI4\fR -.RS 4 -can\*(Aqt lock group files -.RE -.PP -\fI5\fR -.RS 4 -can\*(Aqt update group files -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBgroup\fR(5), -\fBgroupmod\fR(8), -\fBgshadow\fR(5), -\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBshadow\fR(5)\&. diff --git a/man/pl/man8/lastlog.8 b/man/pl/man8/lastlog.8 deleted file mode 100644 index 91bab841..00000000 --- a/man/pl/man8/lastlog.8 +++ /dev/null @@ -1,124 +0,0 @@ -'\" t -.\" Title: lastlog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "LASTLOG" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -lastlog \- wyświetla informacje o ostanim logowaniu dla wybranego lub wszystkich użytkowanik\('ow -.SH "STRESZCZENIE" -.HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIopcje\fR] -.SH "OPIS" -.PP -Polecenie -\fBlastlog\fR -formatuje i wyświetla zawartość bazy ostatnich logowań zapisanych w pliku -/var/log/lastlog\&. Wyświetlone zostaną -\fInazwa użytkownika\fR, -\fIport\fR -i -\fIczas\fR -ostatniego logowania\&. Domyślnie (bez flag) pozycje wyświetlane są w kolejności w jakiej są w pliku -/etc/passwd\&. -.SH "OPCJE" -.PP -Polecenie -\fBlastlog\fR -posiada następujące opcje: -.PP -\fB\-b\fR, \fB\-\-before\fR\ \&\fIDNI\fR -.RS 4 -Wyświetlenie rekord\('ow lastlog starszych niż zadana -\fIDNI\fR\&. -.RE -.PP -\fB\-C\fR, \fB\-\-clear\fR -.RS 4 -Clear lastlog record of a user\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-S\fR, \fB\-\-set\fR -.RS 4 -Set lastlog record of a user to the current time\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIDNI\fR -.RS 4 -Wyświetlenie rekord\('ow lastlog nie starszych niż zadana ilość -\fIDNI\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR -.RS 4 -Print the lastlog record of the specified user(s)\&. -.sp -The users can be specified by a login name, a numerical user ID, or a -\fIRANGE\fR -of users\&. This -\fIRANGE\fR -of users can be specified with a min and max values (\fIUID_MIN\-UID_MAX\fR), a max value (\fI\-UID_MAX\fR), or a min value (\fIUID_MIN\-\fR)\&. -.RE -.PP -Jeżeli użytkownik nigdy się nie logowa\(/l to zamiast portu i czasu logowania wyświetlany jest komunikat -\fI**Nigdy nie zalogowany**\fR -(użytkownik nigdy się nie logowa\(/l)\&. -.PP -Only the entries for the current users of the system will be displayed\&. Other entries may exist for users that were deleted previously\&. -.SH "UWAGI" -.PP -Baza danych -lastlog -jest plikiem zawierajacym informacje o ostanim logowaniu każdego użytkowanika\&. Pliku tego nie powinnoa się okresowo kasować i zaką\(/ldać od nowa (rotacja)\&. Plik ten jest plikiem z dziurami tak więc jego rozmiar jest zwykle znacznie mniejszy pokazywany przez polecenie "\fBls \-l\fR" (pokazujące że jest on dużych rozmiar\('ow jeżeli masz w -passwd -użytkowanik\('ow z wysokimi wartościami UID)\&. Mozesz wyświetlić rzeczywisty rozmiar tego pliku używając polecenia "\fBls \-s\fR"\&. -.SH "PLIKI" -.PP -/var/log/lastlog -.RS 4 -Baza danych ostatnich logowań użytkownik\('ow\&. -.RE -.SH "OSTRZEÅ»ENIA" -.PP -Duże luki w numeracji UID powodują, że program będzie pracowa\(/l d\(/lużej, nie wyświetlając wynik\('ow (np\&. jeśli w bazie lastlog nie ma wpis\('ow dla o UID pomiedzy 170, a 800, to program będzie sprawia\(/l wrażenie zawieszonego w trakcie przetwarzania wpis\('ow dla użytkowanik\('o\(/l o UID 171\-799)\&. diff --git a/man/pl/man8/logoutd.8 b/man/pl/man8/logoutd.8 deleted file mode 100644 index 870d38cb..00000000 --- a/man/pl/man8/logoutd.8 +++ /dev/null @@ -1,56 +0,0 @@ -'\" t -.\" Title: logoutd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "LOGOUTD" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -logoutd \- wymuszenie ograniczeń czasu logowania -.SH "STRESZCZENIE" -.HP \w'\fBlogoutd\fR\ 'u -\fBlogoutd\fR -.SH "OPIS" -.PP -\fBlogoutd\fR -wymusza ograniczenia port\('ow i czas\('ow logowania podane w -/etc/porttime\&. -\fBlogoutd\fR -powinno być uruchamiane z -/etc/rc\&. Okresowo przeglądany jest plik -/var/run/utmp\&. Sprawdzana jest każda nazwa użytkownika, aby stwierdzić, czy użytkownik ma zezwolenie na pracę w bieżącym czasie na danym porcie\&. Każda sesja pracy (logowania) naruszająca ograniczenia zawarte w -/etc/porttime -jest kończona\&. -.SH "PLIKI" -.PP -/etc/porttime -.RS 4 -Plik zawierający ustawienia dostępu do port\('ow\&. -.RE -.PP -/var/run/utmp -.RS 4 -List bieżących sesji pracy\&. -.RE diff --git a/man/pl/man8/userdel.8 b/man/pl/man8/userdel.8 deleted file mode 100644 index f63841a2..00000000 --- a/man/pl/man8/userdel.8 +++ /dev/null @@ -1,299 +0,0 @@ -'\" t -.\" Title: userdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "USERDEL" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -userdel \- plik chroniony informacji o użytkownikach -.SH "STRESZCZENIE" -.HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [opcje] \fILOGIN\fR -.SH "OPIS" -.PP -The -\fBuserdel\fR -command modifies the system account files, deleting all entries that refer to the user name -\fILOGIN\fR\&. The named user must exist\&. -.SH "OPCJE" -.PP -Polecenie -\fBuserdel\fR -posiada następujące opcje: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. -.sp -\fINote:\fR -This option is dangerous and may leave your system in an inconsistent state\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\fR -.RS 4 -Files in the user\*(Aqs home directory will be removed along with the home directory itself and the user\*(Aqs mail spool\&. Files located in other file systems will have to be searched for and deleted manually\&. -.sp -The mail spool is defined by the -\fBMAIL_DIR\fR -variable in the -login\&.defs -file\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR -.RS 4 -Remove any SELinux user mapping for the user\*(Aqs login\&. -.RE -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -Defines the location of the users mail spool files relatively to their home directory\&. -.RE -.PP -The -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -variables are used by -\fBuseradd\fR, -\fBusermod\fR, and -\fBuserdel\fR -to create, move, or delete the user\*(Aqs mail spool\&. -.PP -If -\fBMAIL_CHECK_ENAB\fR -is set to -\fIyes\fR, they are also used to define the -\fBMAIL\fR -environment variable\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBUSERDEL_CMD\fR (string) -.RS 4 -If defined, this command is run when removing a user\&. It should remove any at/cron/print jobs etc\&. owned by the user to be removed (passed as the first argument)\&. -.sp -The return code of the script is not taken into account\&. -.sp -Here is an example script, which removes the user\*(Aqs cron, at and print jobs: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# Check for the required argument\&. -if [ $# != 1 ]; then - echo "Usage: $0 username" - exit 1 -fi - -# Remove cron jobs\&. -crontab \-r \-u $1 - -# Remove at jobs\&. -# Note that it will remove any jobs owned by the same UID, -# even if it was shared by a different username\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# Remove print jobs\&. -lprm $1 - -# All done\&. -exit 0 - -.fi -.if n \{\ -.RE -.\} -.sp -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -Enable setting of the umask group bits to be the same as owner bits (examples: 022 \-> 002, 077 \-> 007) for non\-root users, if the uid is the same as gid, and username is the same as the primary group name\&. -.sp -If set to -\fIyes\fR, -\fBuserdel\fR -will remove the user\*(Aqs group if it contains no more members, and -\fBuseradd\fR -will create by default a group with the name of the user\&. -.RE -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguracja pakietu shadow\&. -.RE -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.PP -/etc/shadow -.RS 4 -Informacje chronione o użytkownikach\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "KOD ZAKOŃCZENIA" -.PP -Polecenie -\fBuserdel\fR -kończy dzia\(/lanie z następującymi wartościami kod\('ow zakończenia: -.PP -\fI0\fR -.RS 4 -poprawne zakończenie dzia\(/lania programu -.RE -.PP -\fI1\fR -.RS 4 -nie można zaktualizować pliku z has\(/lami -.RE -.PP -\fI2\fR -.RS 4 -niepoprawna sk\(/ladnia polecenia -.RE -.PP -\fI6\fR -.RS 4 -specified user doesn\*(Aqt exist -.RE -.PP -\fI8\fR -.RS 4 -user currently logged in -.RE -.PP -\fI10\fR -.RS 4 -nie można zaktualizować pliku z grupami -.RE -.PP -\fI12\fR -.RS 4 -can\*(Aqt remove home directory -.RE -.SH "OSTRZEÅ»ENIA" -.PP -\fBuserdel\fR -will not allow you to remove an account if there are running processes which belong to this account\&. In that case, you may have to kill those processes or lock the user\*(Aqs password or account and remove the account later\&. The -\fB\-f\fR -option can force the deletion of this account\&. -.PP -You should manually check all file systems to ensure that no files remain owned by this user\&. -.PP -You may not remove any NIS attributes on a NIS client\&. This must be performed on the NIS server\&. -.PP -If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs, -\fBuserdel\fR -will delete the group with the same name as the user\&. To avoid inconsistencies in the passwd and group databases, -\fBuserdel\fR -will check that this group is not used as a primary group for another user, and will just warn without deleting the group otherwise\&. The -\fB\-f\fR -option can force the deletion of this group\&. -.SH "ZOBACZ TAKÅ»E" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBlogin.defs\fR(5), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/pl/man8/usermod.8 b/man/pl/man8/usermod.8 deleted file mode 100644 index 11425ed3..00000000 --- a/man/pl/man8/usermod.8 +++ /dev/null @@ -1,445 +0,0 @@ -'\" t -.\" Title: usermod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "USERMOD" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -usermod \- zmiana danych konta użytkownika -.SH "STRESZCZENIE" -.HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIopcje\fR] \fILOGIN\fR -.SH "OPIS" -.PP -Polecenie -\fBusermod\fR -zmienia systemowe pliki kont, odzwierciedlając zmiany podane w wierszu poleceń\&. -.SH "OPCJE" -.PP -Polecenie -\fBusermod\fR -posiada następujące opcje: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Add the user to the supplementary group(s)\&. Use only with the -\fB\-G\fR -option\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fIKOMENTARZ\fR -.RS 4 -Nowa wartość pola komentarza dla danego użytkownika w pliku hase\(/l\&. Zwykle jest zmieniana przy pomocy polecenia -\fBchfn\fR(1)\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\fR\ \&\fIHOME_DIR\fR -.RS 4 -The user\*(Aqs new login directory\&. -.sp -If the -\fB\-m\fR -option is given, the contents of the current home directory will be moved to the new home directory, which is created if it does not already exist\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIDATA_WAÅ»N\fR -.RS 4 -Data, od kt\('orej konto danego użytkownika zostanie wy\(/lączone\&. Data podawana jest w formacie -\fIMM/DD/RR\fR\&. -.sp -An empty -\fIEXPIRE_DATE\fR -argument will disable the expiration of the account\&. -.sp -This option requires a -/etc/shadow -file\&. A -/etc/shadow -entry will be created if there were none\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fINIEAKTYWNE\fR -.RS 4 -The number of days after a password expires until the account is permanently disabled\&. -.sp -A value of 0 disables the account as soon as the password has expired, and a value of \-1 disables the feature\&. -.sp -This option requires a -/etc/shadow -file\&. A -/etc/shadow -entry will be created if there were none\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGRUPA\fR -.RS 4 -The group name or number of the user\*(Aqs new initial login group\&. The group must exist\&. -.sp -Any file from the user\*(Aqs home directory owned by the previous primary group of the user will be owned by this new group\&. -.sp -The group ownership of files outside of the user\*(Aqs home directory must be fixed manually\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGRUPA1\fR[\fI,GRUPA2,\&.\&.\&.\fR[\fI,GRUPAN\fR]]] -.RS 4 -A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the -\fB\-g\fR -option\&. -.sp -If the user is currently a member of a group which is not listed, the user will be removed from the group\&. This behaviour can be changed via the -\fB\-a\fR -option, which appends the user to the current supplementary group list\&. -.RE -.PP -\fB\-l\fR, \fB\-\-login\fR\ \&\fINOWY_LOGIN\fR -.RS 4 -The name of the user will be changed from -\fILOGIN\fR -to -\fINEW_LOGIN\fR\&. Nothing else is changed\&. In particular, the user\*(Aqs home directory or mail spool should probably be renamed manually to reflect the new login name\&. -.RE -.PP -\fB\-L\fR, \fB\-\-lock\fR -.RS 4 -Zablokuj has\(/lo użytkownika\&. Opcja ta powoduje wstawienie \(cq!\(cq na początku zakodowanego has\(/la\&. Opcji tej nie można używać z opcjami -\fB\-p\fR -or -\fB\-U\fR\&. -.sp -Note: if you wish to lock the account (not only access with a password), you should also set the -\fIEXPIRE_DATE\fR -to -\fI1\fR\&. -.RE -.PP -\fB\-m\fR, \fB\-\-move\-home\fR -.RS 4 -Move the content of the user\*(Aqs home directory to the new location\&. -.sp -This option is only valid in combination with the -\fB\-d\fR -(or -\fB\-\-home\fR) option\&. -.sp -\fBusermod\fR -will try to adapt the ownership of the files and to copy the modes, ACL and extended attributes, but manual changes might be needed afterwards\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -When used with the -\fB\-u\fR -option, this option allows to change the user ID to a non\-unique value\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIHAS\(/LO\fR -.RS 4 -The encrypted password, as returned by -\fBcrypt\fR(3)\&. -.sp -\fBNote:\fR -This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. -.sp -You should make sure the password respects the system\*(Aqs password policy\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -Nazwa nowej pow\(/loki (shell) użytkownika\&. Ustawienie tego pola na puste powoduje, że system wybierze domyślną pow\(/lokę logowania\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -The new numerical value of the user\*(Aqs ID\&. -.sp -This value must be unique, unless the -\fB\-o\fR -option is used\&. The value must be non\-negative\&. -.sp -The user\*(Aqs mailbox, and any files which the user owns and which are located in the user\*(Aqs home directory will have the file user ID changed automatically\&. -.sp -The ownership of files outside of the user\*(Aqs home directory must be fixed manually\&. -.sp -No checks will be performed with regard to the -\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBSYS_UID_MIN\fR, or -\fBSYS_UID_MAX\fR -from -/etc/login\&.defs\&. -.RE -.PP -\fB\-U\fR, \fB\-\-unlock\fR -.RS 4 -Odblokowuje has\(/lo użytkownika\&. Opcja ta powoduje usuniecie \(cq!\(cq z początku zakodowanego has\(/la\&. Opcji tej nie można używać z opcjami -\fB\-p\fR -lub -\fB\-L\fR\&. -.sp -Note: if you wish to unlock the account (not only access with a password), you should also set the -\fIEXPIRE_DATE\fR -(for example to -\fI99999\fR, or to the -\fBEXPIRE\fR -value from -/etc/default/useradd)\&. -.RE -.PP -\fB\-v\fR, \fB\-\-add\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate uids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-V\fR, \fB\-\-del\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate uids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-uids\fR -and -\fB\-\-add\-sub\-uids\fR -are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-w\fR, \fB\-\-add\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate gids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-W\fR, \fB\-\-del\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate gids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-gids\fR -and -\fB\-\-add\-sub\-gids\fR -are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR -.RS 4 -The new SELinux user for the user\*(Aqs login\&. -.sp -A blank -\fISEUSER\fR -will remove the SELinux user mapping for user -\fILOGIN\fR -(if any)\&. -.RE -.SH "OSTRZEÅ»ENIA" -.PP -You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. -\fBusermod\fR -checks this on Linux\&. On other platforms it only uses utmp to check if the user is logged in\&. -.PP -You must change the owner of any -\fBcrontab\fR -files or -\fBat\fR -jobs manually\&. -.PP -You must make any changes involving NIS on the NIS server\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -Defines the location of the users mail spool files relatively to their home directory\&. -.RE -.PP -The -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -variables are used by -\fBuseradd\fR, -\fBusermod\fR, and -\fBuserdel\fR -to create, move, or delete the user\*(Aqs mail spool\&. -.PP -If -\fBMAIL_CHECK_ENAB\fR -is set to -\fIyes\fR, they are also used to define the -\fBMAIL\fR -environment variable\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informacje chronione o grupach użytkownik\('ow\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Konfiguracja pakietu shadow\&. -.RE -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.PP -/etc/shadow -.RS 4 -Informacje chronione o użytkownikach\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8)\&. diff --git a/man/pl/man8/vigr.8 b/man/pl/man8/vigr.8 deleted file mode 100644 index ff72d7ae..00000000 --- a/man/pl/man8/vigr.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/vipw.8 diff --git a/man/pl/man8/vipw.8 b/man/pl/man8/vipw.8 deleted file mode 100644 index ec8d8382..00000000 --- a/man/pl/man8/vipw.8 +++ /dev/null @@ -1,141 +0,0 @@ -'\" t -.\" Title: vipw -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.4 -.\" Language: Polish -.\" -.TH "VIPW" "8" "09/18/2016" "shadow\-utils 4\&.4" "Polecenia Zarządzania Systemem" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAZWA" -vipw, vigr \- edytuj plik hase\(/l, grup lub ich wersji chronionych -.SH "STRESZCZENIE" -.HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIopcje\fR] -.HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIopcje\fR] -.SH "OPIS" -.PP -Polecenia -\fBvipw\fR -i -\fBvigr\fR -umożliwiają modyfikację plik\('ow odpowiednio -/etc/passwd -i -/etc/group\&. Przy zastosowaniu flagi -\fB\-s\fR -modyfikują także dodatkowe wersje chronione tych plik\('ow \- odpowiednio -/etc/shadow -i -/etc/gshadow\&. Dla ochrony przed uszkodzeniem w trakcie modyfikacji tych plik\('ow programy te ustawiają odpowiednie blokady\&. Szukając edytora programy te używają w pierwszej kolejności zmiennej środowiska -\fB$VISUAL\fR, a następnie -\fB$EDITOR\fR, a na końcu a na końcu domyślnego edytora -\fBvi\fR(1)\&. -.SH "OPCJE" -.PP -Polecenia -\fBvipw\fR -i -\fBvigr\fR -posiadają następujące opcje:Polecenia -\fBvipw\fR -i -\fBvigr\fR -posiadają następujące opcje: -.PP -\fB\-g\fR, \fB\-\-group\fR -.RS 4 -Edycja bazy grup\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Wyświetlenie komunikatu pomocy i zakończenie dzia\(/lania\&. -.RE -.PP -\fB\-p\fR, \fB\-\-passwd\fR -.RS 4 -Edycja bazy passwd\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Cichy tryb pracy\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shadow\fR -.RS 4 -Edycja bazy shadow lub gshadow\&. -.RE -.SH "ENVIRONMENT" -.PP -\fBVISUAL\fR -.RS 4 -Editor to be used\&. -.RE -.PP -\fBEDITOR\fR -.RS 4 -Editor to be used if -\fBVISUAL\fR -is not set\&. -.RE -.SH "PLIKI" -.PP -/etc/group -.RS 4 -Informacje o grupach użytkownik\('ow\&. -.RE -.PP -/etc/gshadow -.RS 4 -Informacje chronione o grupach użytkownik\('ow\&. -.RE -.PP -/etc/passwd -.RS 4 -Informacja o kontach użytkownik\('ow\&. -.RE -.PP -/etc/shadow -.RS 4 -Informacje chronione o użytkownikach\&. -.RE -.SH "ZOBACZ TAKÅ»E" -.PP -\fBvi\fR(1), -\fBgroup\fR(5), -\fBgshadow\fR(5) -, -\fBpasswd\fR(5), , -\fBshadow\fR(5)\&. diff --git a/man/po/stamp-po b/man/po/stamp-po deleted file mode 100644 index 9788f702..00000000 --- a/man/po/stamp-po +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/man/pt_BR/Makefile.in b/man/pt_BR/Makefile.in deleted file mode 100644 index 1cebc038..00000000 --- a/man/pt_BR/Makefile.in +++ /dev/null @@ -1,647 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = man/pt_BR -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ - "$(DESTDIR)$(man8dir)" -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/pt_BR -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = \ - man1/gpasswd.1 \ - man8/groupadd.8 \ - man8/groupdel.8 \ - man8/groupmod.8 \ - man5/passwd.5 \ - man5/shadow.5 - -EXTRA_DIST = $(man_MANS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/pt_BR/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/pt_BR/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man5 install-man8 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-man uninstall-man1 uninstall-man5 \ - uninstall-man8 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/ru/Makefile.in b/man/ru/Makefile.in deleted file mode 100644 index 07d9ffdf..00000000 --- a/man/ru/Makefile.in +++ /dev/null @@ -1,757 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) -subdir = man/ru -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ - "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" -man3dir = $(mandir)/man3 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/../generate_mans.mak \ - $(srcdir)/../generate_translations.mak $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/ru -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ - man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ - man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) -man_nopam = \ - man5/limits.5 \ - man5/login.access.5 \ - man5/porttime.5 - -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_2) -LANG = $(notdir $(CURDIR)) -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_TRUE@SHADOWGRP_COND = gshadow -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_FALSE@TCB_COND = no_tcb -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids -CLEANFILES = .xml2po.mo $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/ru/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/ru/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man3: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man3dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.3[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@ENABLE_REGENERATE_MAN_FALSE@clean-local: -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man3 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ - uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man3 install-man5 install-man8 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-man uninstall-man1 \ - uninstall-man3 uninstall-man5 uninstall-man8 - -.PRECIOUS: Makefile - - -@ENABLE_REGENERATE_MAN_TRUE@config.xml: ../config.xml.in -@ENABLE_REGENERATE_MAN_TRUE@ $(MAKE) -C .. config.xml -@ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ xml2po --expand-all-entities -l $(LANG) -p ../po/$(LANG).po -o $@ ../$@ -@ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml -@ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $<; then \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^/%config;/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ else \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ fi - -@ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ -@ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< - -@ENABLE_REGENERATE_MAN_TRUE@clean-local: -@ENABLE_REGENERATE_MAN_TRUE@ for d in man1 man3 man5 man8; do [ -d $$d ] && rmdir $$d; done - -#$(man_MANS): -# @echo you need to run configure with --enable-man to generate man pages -# @false - -@ENABLE_REGENERATE_MAN_TRUE@man8/grpconv.8 man8/grpunconv.8 man8/pwunconv.8: man8/pwconv.8 - -@ENABLE_REGENERATE_MAN_TRUE@man3/getspnam.3: man3/shadow.3 - -@ENABLE_REGENERATE_MAN_TRUE@man8/vigr.8: man8/vipw.8 - -@ENABLE_REGENERATE_MAN_FALSE@$(man_MANS): -@ENABLE_REGENERATE_MAN_FALSE@ @echo you need to run configure with --enable-man to generate man pages -@ENABLE_REGENERATE_MAN_FALSE@ @false - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/ru/man1/chage.1 b/man/ru/man1/chage.1 deleted file mode 100644 index d4002134..00000000 --- a/man/ru/man1/chage.1 +++ /dev/null @@ -1,179 +0,0 @@ -'\" t -.\" Title: chage -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "chage" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -chage \- ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIпараметры\fR] \fIŠ£Š§ŠŠ¢ŠŠŠÆ_Š—ŠŠŸŠ˜Š”Š¬\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBchage\fR -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ количество Гней межГу Гатой смены ŠæŠ°Ń€Š¾Š»Ń Šø Гатой послеГней смены ŠæŠ°Ń€Š¾Š»Ń\&. Эта ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃ ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ системой Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ момента, когГа ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Голжен ŃŠ¼ŠµŠ½ŠøŃ‚ŃŒ свой ŠæŠ°Ń€Š¾Š»ŃŒ\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBchage\fR: -.PP -\fB\-d\fR, \fB\-\-lastday\fR\ \&\fIŠŸŠžŠ”Š›_Š”Š•ŠŠ¬\fR -.RS 4 -Š£ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ число Гней ŠæŃ€Š¾ŃˆŠµŠ“ŃˆŠøŃ… с 1 ŃŠ½Š²Š°Ń€Ń 1970 гоГа, когГа была ŠæŠ¾ŃŠ»ŠµŠ“Š½ŃŃ смена ŠæŠ°Ń€Š¾Š»Ń\&. Дата может Š±Ń‹Ń‚ŃŒ также указана в виГе ГГГГ\-ММ\-ДД (или в форме согласно Ń€ŠµŠ³ŠøŠ¾Š½Š°Š»ŃŒŠ½Ń‹Š¼ настройкам)\&. -.RE -.PP -\fB\-E\fR, \fB\-\-expiredate\fR \fIДАТА_Š£Š”Š¢ŠŠ Š•Š’ŠŠŠ˜ŠÆ\fR -.RS 4 -Š£ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ Š“Š°Ń‚Ńƒ ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń Š·Š°Š“Š°Ń‘Ń‚ŃŃ числом Гней ŠæŃ€Š¾ŃˆŠµŠ“ŃˆŠøŃ… с 1 ŃŠ½Š²Š°Ń€Ń 1970 гоГа\&. Дата может Š±Ń‹Ń‚ŃŒ также заГана в виГе ГГГГ\-ММ\-ДД (или в форме согласно Ń€ŠµŠ³ŠøŠ¾Š½Š°Š»ŃŒŠ½Ń‹Š¼ настройкам)\&. ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ, чья ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись была заблокирована, Голжен Š¾Š±Ń€Š°Ń‚ŠøŃ‚ŃŒŃŃ Šŗ ŃŠøŃŃ‚ŠµŠ¼Š½Š¾Š¼Ńƒ Š°Š“Š¼ŠøŠ½ŠøŃŃ‚Ń€Š°Ń‚Š¾Ń€Ńƒ, если хочет в Гальнейшем Ń€Š°Š±Š¾Ń‚Š°Ń‚ŃŒ с системой\&. -.sp -Значение -\fI\-1\fR -в параметре -\fIДАТА_Š£Š”Š¢ŠŠ Š•Š’ŠŠŠ˜ŠÆ\fR -Š¾Ń‚Š¼ŠµŠ½ŃŠµŃ‚ ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠµ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-I\fR, \fB\-\-inactive\fR\ \&\fIŠ”ŠŠ•Š™\fR -.RS 4 -Š£ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ количество Гней неактивности после ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń переГ тем как ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š±ŃƒŠ“ŠµŃ‚ заблокирована\&. Š’ параметре -\fIŠ”ŠŠ•Š™\fR -Š·Š°Š“Š°Ń‘Ń‚ŃŃ количество Гней неактивности\&. ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ, чья ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись была заблокирована, Голжен Š¾Š±Ń€Š°Ń‚ŠøŃ‚ŃŒŃŃ Šŗ ŃŠøŃŃ‚ŠµŠ¼Š½Š¾Š¼Ńƒ Š°Š“Š¼ŠøŠ½ŠøŃŃ‚Ń€Š°Ń‚Š¾Ń€Ńƒ, если хочет в Гальнейшем Ń€Š°Š±Š¾Ń‚Š°Ń‚ŃŒ с системой\&. -.sp -Значение -\fI\-1\fR -в параметре -\fIŠ”ŠŠ•Š™\fR -Š¾Ń‚Š¼ŠµŠ½ŃŠµŃ‚ Š½ŠµŠ°ŠŗŃ‚ŠøŠ²Š½Š¾ŃŃ‚ŃŒ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. -.RE -.PP -\fB\-m\fR, \fB\-\-mindays\fR\ \&\fIŠœŠ˜Š_Š”ŠŠ•Š™\fR -.RS 4 -Š—Š°Š“Š°Ń‚ŃŒ -\fIминимальное количество Гней\fR -межГу сменами ŠæŠ°Ń€Š¾Š»Ń\&. ŠŃƒŠ»ŠµŠ²Š¾Šµ значение ŃŃ‚Š¾Š³Š¾ ŠæŠ¾Š»Ń ŃƒŠŗŠ°Š·Ń‹Š²Š°ŠµŃ‚ на то, что ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может Š¼ŠµŠ½ŃŃ‚ŃŒ свой ŠæŠ°Ń€Š¾Š»ŃŒ когГа захочет\&. -.RE -.PP -\fB\-M\fR, \fB\-\-maxdays\fR\ \&\fIМАКД_Š”ŠŠ•Š™\fR -.RS 4 -Š£ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ максимальное количество Гней работоспособности ŠæŠ°Ń€Š¾Š»Ń\&. Если сумма значений -\fIМАКД_Š”ŠŠ•Š™\fR -Šø -\fIŠŸŠžŠ”Š›_Š”Š•ŠŠ¬\fR -Ń€Š°Š½ŃŒŃˆŠµ Ń‚ŠµŠŗŃƒŃ‰ŠµŠ³Š¾ Š“Š½Ń, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ ŠæŃ€ŠøŠ“Ń‘Ń‚ŃŃ ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ свой ŠæŠ°Ń€Š¾Š»ŃŒ переГ использованием ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. Š”Š»Ń того, чтобы ŃŃ‚Š¾ не было Š½ŠµŠ¾Š¶ŠøŠ“Š°Š½Š½Š¾ŃŃ‚ŃŒŃŽ можно Š²Š¾ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ параметром -\fB\-W\fR, который Š°ŠŗŃ‚ŠøŠ²ŠøŃ€ŃƒŠµŃ‚ Š²Ń‹Š“Š°Ń‡Ńƒ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ о смене ŠæŠ°Ń€Š¾Š»Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń заранее\&. -.sp -Значение -\fI\-1\fR -в параметре -\fIМАКД_Š”ŠŠ•Š™\fR -Š¾Ń‚Š¼ŠµŠ½ŃŠµŃ‚ ŠæŃ€Š¾Š²ŠµŃ€ŠŗŃƒ ŠæŠ°Ń€Š¾Š»Ń\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-W\fR, \fB\-\-warndays\fR\ \&\fIŠŸŠ Š•Š”Š£ŠŸ_Š”ŠŠ•Š™\fR -.RS 4 -Š£ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ количество Гней выГачи ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ, переГ тем как ŠæŠ¾Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ смена ŠæŠ°Ń€Š¾Š»Ń\&. ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€ -\fIŠŸŠ Š•Š”Š£ŠŸ_Š”ŠŠ•Š™\fR -ŃŃ‡ŠøŃ‚Š°ŠµŃ‚ŃŃ в Š“Š½ŃŃ…, в течении которых ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Š±ŃƒŠ“ŠµŃ‚ ŠæŠ¾Š»ŃƒŃ‡Š°Ń‚ŃŒ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń, переГ тем как ŃŃ‚Š¾ ŃŠ»ŃƒŃ‡ŠøŃ‚ŃŃ\&. -.RE -.PP -Если ни оГин параметр не указан, то -\fBchage\fR -перехоГит в интерактивный режим, ŠæŃ€ŠµŠ“Š»Š°Š³Š°Ń Š·Š°ŠæŃƒŃŃ‚ŠøŠ²ŃˆŠµŠ¼Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ всех полей своей ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. ВвоГимое значение Š·Š°Š¼ŠµŠ½ŃŠµŃ‚ Ń‚ŠµŠŗŃƒŃ‰ŠµŠµ значение ŠæŠ¾Š»Ń; если ввеГена ŠæŃƒŃŃ‚Š°Ń строка, то Ń‚ŠµŠŗŃƒŃ‰ŠµŠµ значение Š¾ŃŃ‚Š°Ń‘Ń‚ŃŃ неизменным\&. Š¢ŠµŠŗŃƒŃ‰ŠµŠµ значение показано в скобках -\fI[ ]\fR\&. -.SH "Š—ŠŠœŠ•Š§ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBchage\fR -Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ Š½Š°Š»ŠøŃ‡ŠøŃ файла теневых паролей\&. -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBchage\fR -работает Ń‚Š¾Š»ŃŒŠŗŠ¾ от ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, за ŠøŃŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŠµŠ¼ вызова с параметром -\fB\-l\fR, который может ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ непривилегированным ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼ Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ Гаты ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ своего ŠæŠ°Ń€Š¾Š»Ń\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.SH "Š’ŠžŠ—Š’Š ŠŠ©ŠŠ•ŠœŠ«Š• Š—ŠŠŠ§Š•ŠŠ˜ŠÆ" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBchage\fR -Š·Š°Š²ŠµŃ€ŃˆŠ°Ń Ń€Š°Š±Š¾Ń‚Ńƒ, возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -.PP -\fI0\fR -.RS 4 -успешное выполнение -.RE -.PP -\fI1\fR -.RS 4 -Š“Š¾ŃŃ‚ŃƒŠæ запрещён -.RE -.PP -\fI2\fR -.RS 4 -ошибка в параметрах команГы -.RE -.PP -\fI15\fR -.RS 4 -не уГалось найти файл теневых паролей -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/ru/man1/chfn.1 b/man/ru/man1/chfn.1 deleted file mode 100644 index 7ed9bedd..00000000 --- a/man/ru/man1/chfn.1 +++ /dev/null @@ -1,154 +0,0 @@ -'\" t -.\" Title: chfn -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "chfn" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -chfn \- ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šµ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fIпараметры\fR] [\fIŠ£Š§ŠŠ¢ŠŠŠÆ_Š—ŠŠŸŠ˜Š”Š¬\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBchfn\fR -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ Š¤Š˜Šž, рабочий телефон, рабочий номер комнаты, рабочий Šø Гомашний номер телефона Š“Š»Ń ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. ŠžŠ±Ń‹Ń‡Š½Š¾, ŃŃ‚Šø Ганные Š²Ń‹Š²Š¾Š“ŃŃ‚ŃŃ команГой -\fBfinger\fR(1) -Šø ей поГобными программами\&. ŠžŠ±Ń‹Ń‡Š½Ń‹Š¹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ опреГелённые Ганные собственной ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи, Ń€Š°Š·Ń€ŠµŃˆŃ‘Š½Š½Ń‹Šµ в файле -/etc/login\&.defs -(настройкой по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ не Ń€Š°Š·Ń€ŠµŃˆŠ°ŠµŃ‚ŃŃ Š¼ŠµŠ½ŃŃ‚ŃŒ своё ŠøŠ¼Ń Šø Ń„Š°Š¼ŠøŠ»ŠøŃŽ)\&. Š”ŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ Š»ŃŽŠ±Ń‹Šµ Ганные Š»ŃŽŠ±Š¾Š¹ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. ŠšŃ€Š¾Š¼Šµ того, Ń‚Š¾Š»ŃŒŠŗŠ¾ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ параметр -\fB\-o\fR -Š“Š»Ń ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ нестанГартизованной части Ганных GECOS\&. -.PP -Части ŠæŠ¾Š»Ń GECOS не Голжны ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒ Гвоеточий\&. За ŠøŃŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŠµŠ¼ части -\fIŠ“Ń€ŃƒŠ³Š°Ń\fR, в них не Голжно ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒŃŃ Š·Š°ŠæŃŃ‚Ń‹Ń… Šø знаков равно\&. Также Ń€ŠµŠŗŠ¾Š¼ŠµŠ½Š“ŃƒŠµŃ‚ŃŃ ŠøŠ·Š±ŠµŠ³Š°Ń‚ŃŒ символов не в коГировке US\-ASCII, но ŃŃ‚Š¾ ŠŗŠ°ŃŠ°ŠµŃ‚ŃŃ Ń‚Š¾Š»ŃŒŠŗŠ¾ номеров телефонов\&. Š§Š°ŃŃ‚ŃŒ -\fIŠ“Ń€ŃƒŠ³Š°Ń\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ Š“Š»Ń Ń…Ń€Š°Š½ŠµŠ½ŠøŃ информации об ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ Š“Ń€ŃƒŠ³ŠøŠ¼Šø ŠæŃ€ŠøŠ»Š¾Š¶ŠµŠ½ŠøŃŠ¼Šø\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBchfn\fR: -.PP -\fB\-f\fR, \fB\-\-full\-name\fR\ \&\fIŠ¤Š˜Šž\fR -.RS 4 -Š˜Š·Š¼ŠµŠ½ŃŠµŃ‚ Š¤Š˜Šž ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fB\-h\fR, \fB\-\-home\-phone\fR\ \&\fIŠ”ŠžŠœŠŠØŠŠ˜Š™_Š¢Š•Š›Š•Š¤ŠžŠ\fR -.RS 4 -Š˜Š·Š¼ŠµŠ½ŃŠµŃ‚ номер Гомашнего телефона ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fB\-o\fR, \fB\-\-other\fR\ \&\fIДРУГАЯ\fR -.RS 4 -Š˜Š·Š¼ŠµŠ½ŃŠµŃ‚ Š“Ń€ŃƒŠ³ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ GECOS о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šµ\&. Эта Ń‡Š°ŃŃ‚ŃŒ ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ Š“Š»Ń Ń…Ń€Š°Š½ŠµŠ½ŠøŃ информации об ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи, используемой Š“Ń€ŃƒŠ³ŠøŠ¼Šø ŠæŃ€ŠøŠ»Š¾Š¶ŠµŠ½ŠøŃŠ¼Šø, Šø может ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒŃŃ Ń‚Š¾Š»ŃŒŠŗŠ¾ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼\&. -.RE -.PP -\fB\-r\fR, \fB\-\-room\fR\ \&\fIŠŠžŠœŠ•Š _ŠšŠžŠœŠŠŠ¢Š«\fR -.RS 4 -Š˜Š·Š¼ŠµŠ½ŃŠµŃ‚ номер комнаты ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-w\fR, \fB\-\-work\-phone\fR\ \&\fIŠ ŠŠ‘ŠžŠ§Š˜Š™_Š¢Š•Š›Š•Š¤ŠžŠ\fR -.RS 4 -Š˜Š·Š¼ŠµŠ½ŃŠµŃ‚ номер рабочего телефона ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -Если ни оГин параметр не указан, то -\fBchfn\fR -перехоГит в интерактивный режим, ŠæŃ€ŠµŠ“Š»Š°Š³Š°Ń Š·Š°ŠæŃƒŃŃ‚ŠøŠ²ŃˆŠµŠ¼Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ Ганные своей ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. ВвоГимое значение Š·Š°Š¼ŠµŠ½ŃŠµŃ‚ Ń‚ŠµŠŗŃƒŃ‰ŠµŠµ значение записи; если ввеГена ŠæŃƒŃŃ‚Š°Ń строка, то Ń‚ŠµŠŗŃƒŃ‰ŠµŠµ значение Š¾ŃŃ‚Š°Ń‘Ń‚ŃŃ неизменным\&. Š¢ŠµŠŗŃƒŃ‰ŠµŠµ значение показано в скобках -\fB[ ]\fR\&. ŠŸŃ€Šø вызове без параметров программа -\fBchfn\fR -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись Š·Š°ŠæŃƒŃŃ‚ŠøŠ²ŃˆŠµŠ³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBCHFN_AUTH\fR (логический) -.RS 4 -Если равно yes, chfn -.RE -.PP -\fBCHFN_RESTRICT\fR (строка) -.RS 4 -Этим параметром Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŃŽŃ‚ŃŃ части ŠæŠ¾Š»Ń -\fIgecos\fR -в файле -/etc/passwd, которые Š¼Š¾Š³ŃƒŃ‚ ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ обычные ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šø с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ программы -\fBchfn\fR\&. Дтрока может ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒ Š»ŃŽŠ±ŃƒŃŽ ŠŗŠ¾Š¼Š±ŠøŠ½Š°Ń†ŠøŃŽ букв -\fIf\fR, -\fIr\fR, -\fIw\fR, -\fIh\fR -Š“Š»Ń ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ полного имени ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, номера комнаты, рабочего Šø Гомашнего телефона, соответственно\&. Š”Š»Ń совместимости значение -\fIyes\fR -ŃŠŗŠ²ŠøŠ²Š°Š»ŠµŠ½Ń‚Š½Š¾ -\fIrwh\fR -Šø -\fIno\fR -ŃŠŗŠ²ŠøŠ²Š°Š»ŠµŠ½Ń‚Š½Š¾ -\fIfrwh\fR\&. Если ничего не заГано, то Ń‚Š¾Š»ŃŒŠŗŠ¾ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может Š²Ń‹ŠæŠ¾Š»Š½ŃŃ‚ŃŒ Š»ŃŽŠ±Ń‹Šµ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ\&. ŠŠ°ŠøŠ±Š¾Š»ŠµŠµ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŠµŠ»ŃŒŠ½Š°Ń настройка Š“Š¾ŃŃ‚ŠøŠ³Š°ŠµŃ‚ŃŃ ŃŠ½ŃŃ‚ŠøŠµŠ¼ SUID бита с файла -chfn\&. -.RE -.PP -\fBLOGIN_STRING\fR (строка) -.RS 4 -Дтрока\-ŠæŃ€ŠøŠ³Š»Š°ŃˆŠµŠ½ŠøŠµ Šŗ ввоГу ŠæŠ°Ń€Š¾Š»Ń\&. Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ: \(FoPassword:\(Fc или перевоГ ŃŃ‚Š¾Š¹ строки на разные ŃŠ·Ń‹ŠŗŠø\&. Если вы измените эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, то перевоГ Š±ŃƒŠ“ŠµŃ‚ Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ\&. -.sp -Если в строке ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ поГстрока -\fI%s\fR, то она Š±ŃƒŠ“ет заменена на ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchsh\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/ru/man1/chsh.1 b/man/ru/man1/chsh.1 deleted file mode 100644 index 12f20598..00000000 --- a/man/ru/man1/chsh.1 +++ /dev/null @@ -1,117 +0,0 @@ -'\" t -.\" Title: chsh -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "chsh" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -chsh \- ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ Ń€ŠµŠ³ŠøŃŃ‚Ń€Š°Ń†ŠøŠ¾Š½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIпараметры\fR] [\fIŠ£Š§ŠŠ¢ŠŠŠÆ_Š—ŠŠŸŠ˜Š”Š¬\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBchsh\fR -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ Ń€ŠµŠ³ŠøŃŃ‚Ń€Š°Ń†ŠøŠ¾Š½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. ŠžŠ½Š° Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ ŠŗŠ°ŠŗŠ°Ń команГа Š±ŃƒŠ“ет Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° после регистрации ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в системе\&. ŠžŠ±Ń‹Ń‡Š½Ń‹Š¹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ Ń€ŠµŠ³ŠøŃŃ‚Ń€Š°Ń†ŠøŠ¾Š½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š»Ń своей ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи; ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ Ń€ŠµŠ³ŠøŃŃ‚Ń€Š°Ń†ŠøŠ¾Š½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ Š»ŃŽŠ±Š¾Š¹ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBchsh\fR: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fIŠžŠ‘ŠžŠ›ŠžŠ§ŠšŠ\fR -.RS 4 -Š˜Š¼Ń новой регистрационной оболочки ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Если Š·Š°Š“Š°Ń‚ŃŒ ŠæŃƒŃŃ‚Š¾Šµ значение, то Š±ŃƒŠ“ет использована Ń€ŠµŠ³ŠøŃŃ‚Ń€Š°Ń†ŠøŠ¾Š½Š½Š°Ń оболочка по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\&. -.RE -.PP -Если параметр -\fB\-s\fR -не заГан, то -\fBchsh\fR -перехоГит в интерактивный режим, ŠæŃ€ŠµŠ“Š»Š°Š³Š°Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŃŠ²Š¾ŃŽ Ń€ŠµŠ³ŠøŃŃ‚Ń€Š°Ń†ŠøŠ¾Š½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ\&. ВвоГимое значение Š·Š°Š¼ŠµŠ½ŃŠµŃ‚ Ń‚ŠµŠŗŃƒŃ‰ŠµŠµ значение ŠæŠ¾Š»Ń; если ввеГена ŠæŃƒŃŃ‚Š°Ń строка, то Ń‚ŠµŠŗŃƒŃ‰ŠµŠµ значение Š¾ŃŃ‚Š°Ń‘Ń‚ŃŃ неизменным\&. Š¢ŠµŠŗŃƒŃ‰ŠµŠµ значение регистрационной оболочки указано в скобках -\fI[ ]\fR\&. -.SH "Š—ŠŠœŠ•Š§ŠŠŠ˜Š•" -.PP -Все Š“Š¾ŠæŃƒŃŃ‚ŠøŠ¼Ń‹Šµ имена регистрационных оболочек Голжны Š±Ń‹Ń‚ŃŒ ŃƒŠŗŠ°Š·Š°Š½Ń‹ в файле -/etc/shells\&. ŠŠ° ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŃŃ‚Š¾ ограничение не Š“ŠµŠ¹ŃŃ‚Š²ŃƒŠµŃ‚ Šø ŠæŠ¾ŃŃ‚Š¾Š¼Ńƒ ему Ń€Š°Š·Ń€ŠµŃˆŠµŠ½Š¾ ŃƒŠŗŠ°Š·Ń‹Š²Š°Ń‚ŃŒ Š»ŃŽŠ±Š¾Šµ значение\&. Š”Š»Ń ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи с ограниченной регистрационной оболочкой ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ не может ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŃŠ²Š¾ŃŽ Ń€ŠµŠ³ŠøŃŃ‚Ń€Š°Ń†ŠøŠ¾Š½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ\&. ŠŸŠ¾ŃŃ‚Š¾Š¼Ńƒ -/bin/rsh -в файле -/etc/shells -Š»ŃƒŃ‡ŃˆŠµ не ŃƒŠŗŠ°Š·Ń‹Š²Š°Ń‚ŃŒ, так как, если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ ŃŠ»ŃƒŃ‡Š°Š¹Š½Š¾ изменит ŃŠ²Š¾ŃŽ Ń€ŠµŠ³ŠøŃŃ‚Ń€Š°Ń†ŠøŠ¾Š½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ на эту Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ, то не сможет Š²Š¾ŃŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ её ŠæŠµŃ€Š²Š¾Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Šµ значение\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBCHSH_AUTH\fR (логический) -.RS 4 -Если равно -\fIyes\fR, то программа -\fBchsh\fR -Š±ŃƒŠ“ŠµŃ‚ ŠæŃ€Š¾Š²Š¾Š“ŠøŃ‚ŃŒ Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŃŽ переГ тем как Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ Š»ŃŽŠ±Ń‹Šµ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ, в ŃŠ»ŃƒŃ‡Š°Šµ если команГа не Š·Š°ŠæŃƒŃ‰ŠµŠ½Ń‹ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼\&. -.RE -.PP -\fBLOGIN_STRING\fR (строка) -.RS 4 -Дтрока\-ŠæŃ€ŠøŠ³Š»Š°ŃˆŠµŠ½ŠøŠµ Šŗ ввоГу ŠæŠ°Ń€Š¾Š»Ń\&. Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ: \(FoPassword:\(Fc или перевоГ ŃŃ‚Š¾Š¹ строки на разные ŃŠ·Ń‹ŠŗŠø\&. Если вы измените эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, то перевоГ Š±ŃƒŠ“ŠµŃ‚ Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ\&. -.sp -Если в строке ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ поГстрока -\fI%s\fR, то она Š±ŃƒŠ“ет заменена на ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shells -.RS 4 -соГержит список Ń€Š°Š·Ń€ŠµŃˆŃ‘Š½Š½Ń‹Ń… регистрационных оболочек -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchfn\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/ru/man1/expiry.1 b/man/ru/man1/expiry.1 deleted file mode 100644 index 7d4ed0bd..00000000 --- a/man/ru/man1/expiry.1 +++ /dev/null @@ -1,75 +0,0 @@ -'\" t -.\" Title: expiry -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "expiry" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -expiry \- ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ Šø ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠæŠ°Ń€Š¾Š»ŃŒ согласно политике ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIпараметр\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBexpiry\fR -ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ (параметр -\fB\-c\fR) сколько ещё времени Š±ŃƒŠ“ет работоспособен Ń‚ŠµŠŗŃƒŃ‰ŠøŠ¹ ŠæŠ°Ń€Š¾Š»ŃŒ Šø Š²Ń‹Š½ŃƒŠ¶Š“Š°ŠµŃ‚ ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ его (параметр -\fB\-f\fR), если ŃŃ‚Š¾ Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ\&. ŠžŠ½Š° может Š·Š°ŠæŃƒŃŠŗŠ°Ń‚ŃŒŃŃ обычным ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBexpiry\fR: -.PP -\fB\-c\fR, \fB\-\-check\fR -.RS 4 -ŠŸŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ Šø ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń у Ń‚ŠµŠŗŃƒŃ‰ŠµŠ³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -ŠŸŃ€ŠøŠ½ŃƒŠ“ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ Š¼ŠµŠ½ŃŠµŃ‚ ŠæŠ°Ń€Š¾Š»ŃŒ, если его срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ истёк\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/ru/man1/gpasswd.1 b/man/ru/man1/gpasswd.1 deleted file mode 100644 index f9d6398f..00000000 --- a/man/ru/man1/gpasswd.1 +++ /dev/null @@ -1,226 +0,0 @@ -'\" t -.\" Title: gpasswd -.\" Author: Rafal Maszkowski -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "gpasswd" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -gpasswd \- ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŠµ /etc/group Šø /etc/gshadow -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fIпараметр\fR] \fIŠ³Ń€ŃƒŠæŠæŠ°\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBgpasswd\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ Š“Š»Ń ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ файлом -/etc/group -Šø /etc/gshadow\&. Š’ кажГой Š³Ń€ŃƒŠæŠæŠµ Š¼Š¾Š³ŃƒŃ‚ Š±Ń‹Ń‚ŃŒ опреГелены -аГминистраторы, -члены Šø ŠæŠ°Ń€Š¾Š»ŃŒ\&. -.PP -Дистемные аГминистраторы Š¼Š¾Š³ŃƒŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ параметр -\fB\-A\fR, чтобы Š½Š°Š·Š½Š°Ń‡ŠøŃ‚ŃŒ Š³Ń€ŃƒŠæŠæŠµ аГминистратора(ов) Šø параметр -\fB\-M\fR -Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ списка членов, а также ŠøŠ¼ŠµŃŽŃ‚ все права аГминистраторов Šø членов Š³Ń€ŃƒŠæŠæŃ‹\&. -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBgpasswd\fR, Š·Š°ŠæŃƒŃ‰ŠµŠ½Š½Š°Ń -аГминистратором Š³Ń€ŃƒŠæŠæŃ‹ -с указанием в команГной строке Ń‚Š¾Š»ŃŒŠŗŠ¾ имени Š³Ń€ŃƒŠæŠæŃ‹, преГложит Š½Š°Š·Š½Š°Ń‡ŠøŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ -\fIŠ³Ń€ŃƒŠæŠæŠµ\fR\&. -.PP -Если ŠæŠ°Ń€Š¾Š»ŃŒ не ŠæŃƒŃŃ‚ой, то Š“Š»Ń членов Š³Ń€ŃƒŠæŠæŃ‹ вызов -\fBnewgrp\fR(1) -ŠæŠ°Ń€Š¾Š»Ń не Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚, а не члены Š³Ń€ŃƒŠæŠæŃ‹ Голжны ввести ŠæŠ°Ń€Š¾Š»ŃŒ\&. -.SS "Š—Š°Š¼ŠµŃ‡Š°Š½ŠøŃ о ŠæŠ°Ń€Š¾Š»ŃŃ… Š³Ń€ŃƒŠæŠæ" -.PP -ŠŸŠ°Ń€Š¾Š»Šø Š³Ń€ŃƒŠæŠæ ŠøŠ¼ŠµŃŽŃ‚ Š²Ń€Š¾Š¶Š“Ń‘Š½Š½ŃƒŃŽ ŠæŃ€Š¾Š±Š»ŠµŠ¼Ńƒ с Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒŃŽ, так как ŠæŠ°Ń€Š¾Š»ŃŒ знает более оГного человека\&. ŠžŠ“Š½Š°ŠŗŠ¾, Š³Ń€ŃƒŠæŠæŃ‹ ŃŠ²Š»ŃŃŽŃ‚ŃŃ полезным ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š¼ совместной работы различных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -За ŠøŃŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŠµŠ¼ параметров -\fB\-A\fR -Šø -\fB\-M\fR, параметры Š½ŠµŠ»ŃŒŠ·Ń ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ вместе\&. -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBgpasswd\fR: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ\fR -.RS 4 -Š”Š¾Š±Š°Š²ŠøŃ‚ŃŒ -\fIŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR -в ŃƒŠŗŠ°Š·Š°Š½Š½ŃƒŃŽ -\fIŠ³Ń€ŃƒŠæŠæŃƒ\fR\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ\fR -.RS 4 -Š£Š“Š°Š»ŠøŃ‚ŃŒ -\fIŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR -ŠøŠ· указанной -\fIŠ³Ń€ŃƒŠæŠæŃ‹\fR\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-Q\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\-password\fR -.RS 4 -Š£Š“Š°Š»ŠøŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ указанной -\fIŠ³Ń€ŃƒŠæŠæŃ‹\fR\&. ŠŸŠ°Ń€Š¾Š»ŃŒ Š³Ń€ŃƒŠæŠæŃ‹ Š±ŃƒŠ“ŠµŃ‚ ŠæŃƒŃŃ‚Ń‹Š¼\&. Только члены Š³Ń€ŃƒŠæŠæŃ‹ ŃŠ¼Š¾Š³ŃƒŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ -\fBnewgrp\fR -Š“Š»Ń вхоГа в ŃƒŠŗŠ°Š·Š°Š½Š½ŃƒŃŽ -\fIŠ³Ń€ŃƒŠæŠæŃƒ\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-restrict\fR -.RS 4 -ŠžŠ³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Š“Š¾ŃŃ‚ŃƒŠæ Šŗ указанной -\fIŠ³Ń€ŃƒŠæŠæŠµ\fR\&. ŠŸŠ°Ń€Š¾Š»ŃŒ Š³Ń€ŃƒŠæŠæŃ‹ ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŃ равным \(Fo!\(Fc\&. Только члены Š³Ń€ŃƒŠæŠæŃ‹ ŠøŠ¼ŠµŃŽŃ‰ŠøŠµ ŠæŠ°Ń€Š¾Š»ŃŒ ŃŠ¼Š¾Š³ŃƒŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ -\fBnewgrp\fR -Š“Š»Ń вхоГа в ŃƒŠŗŠ°Š·Š°Š½Š½ŃƒŃŽ -\fIŠ³Ń€ŃƒŠæŠæŃƒ\fR\&. -.RE -.PP -\fB\-A\fR, \fB\-\-administrators\fR \fIŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ\fR, \&... -.RS 4 -Š—Š°Š“Š°Ń‚ŃŒ список аГминистраторов Š³Ń€ŃƒŠæŠæŃ‹\&. -.RE -.PP -\fB\-M\fR, \fB\-\-members\fR\ \&\fIŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ\fR, \&... -.RS 4 -Š—Š°Š“Š°Ń‚ŃŒ список членов Š³Ń€ŃƒŠæŠæŃ‹\&. -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -Š”Š°Š½Š½Š°Ń ŃƒŃ‚ŠøŠ»ŠøŃ‚Š° работает Ń‚Š¾Š»ŃŒŠŗŠ¾ с файлом -/etc/group -Šø /etc/gshadow\&. -ŠžŠ½Š° не может ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ Š³Ń€ŃƒŠæŠæŃƒ NIS или LDAP, ŃŃ‚Š¾ нужно Š“ŠµŠ»Š°Ń‚ŃŒ на ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠ¼ сервере\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBENCRYPT_METHOD\fR (строка) -.RS 4 -ЗаГаёт системный алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей (ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ, если алгоритм не указан в команГной строке)\&. -.sp -Возможны ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -\fIDES\fR -(по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Замечание: ŃŃ‚Š¾Ń‚ параметр ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (логический) -.RS 4 -ŠžŠ±Š¾Š·Š½Š°Ń‡Š°ŠµŃ‚, что ŠæŠ°Ń€Š¾Š»ŃŒ Голжен Š±Ń‹Ń‚ŃŒ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5\&. Если значение равно -\fIyes\fR, то новые пароли Š±ŃƒŠ“ŃƒŃ‚ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Ń‹ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5, ŃŠ¾Š²Š¼ŠµŃŃ‚ŠøŠ¼Š¾Š¼Ńƒ с ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¼ в новых Š²ŠµŃ€ŃŠøŃŃ… FreeBSD\&. ŠžŠ½ поГГерживает пароли неограниченной Глины Šø имеет более Š“Š»ŠøŠ½Š½ŃƒŃŽ ŃŃ‚Ń€Š¾ŠŗŃƒ соли\&. Установите в -\fIno\fR, если вам нужно ŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Šµ пароли в Š“Ń€ŃƒŠ³ŠøŠµ системы, которые не ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŃŽŃ‚ новый алгоритм\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ -\fIno\fR\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменной -\fBENCRYPT_METHOD\fR -или Š»ŃŽŠ±Ń‹Š¼ параметром команГной строки, который заГаёт алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŃƒŃŃ‚Š°Ń€ŠµŠ»Š°; ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (число), \fBSHA_CRYPT_MAX_ROUNDS\fR (число) -.RS 4 -Если значение -\fBENCRYPT_METHOD\fR -равно -\fISHA256\fR -или -\fISHA512\fR, ŃŃ‚Š° ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ количество Ń€Š°ŃƒŠ½Š“Š¾Š² SHA, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Ń… алгоритмом ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (если количество Ń€Š°ŃƒŠ½Š“Š¾Š² не заГано в команГной строке)\&. -.sp -Увеличение количества Ń€Š°ŃƒŠ½Š“Š¾Š² ŠæŠ¾Š²Ń‹ŃˆŠ°ŠµŃ‚ ŃŠ»Š¾Š¶Š½Š¾ŃŃ‚ŃŒ поГбора ŠæŠ°Ń€Š¾Š»Ń простым перебором\&. ŠŠ¾ заметим, что при ŃŃ‚Š¾Š¼ Š“Š»Ń Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŠø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ большее количество процессорных Ń€ŠµŃŃƒŃ€ŃŠ¾Š²\&. -.sp -Если не заГана, то libc выбирает значение количества Ń€Š°ŃƒŠ½Š“Š¾Š² по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (5000)\&. -.sp -Š—Š½Š°Ń‡ŠµŠ½ŠøŃ Голжны Š»ŠµŠ¶Š°Ń‚ŃŒ в Гиапазоне 1000\-999999999\&. -.sp -Если заГано какое\-то оГно значение \(em -\fBSHA_CRYPT_MIN_ROUNDS\fR -или -\fBSHA_CRYPT_MAX_ROUNDS\fR -\(em то Š±ŃƒŠ“ет использовано ŃŃ‚Š¾ значение\&. -.sp -Если -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся большее значение\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBnewgrp\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBgrpck\fR(8), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/ru/man1/groups.1 b/man/ru/man1/groups.1 deleted file mode 100644 index 2fd737a7..00000000 --- a/man/ru/man1/groups.1 +++ /dev/null @@ -1,62 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "groups" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -groups \- показывает имена Š³Ń€ŃƒŠæŠæ Š·Š°ŠæŃƒŃŃ‚ŠøŠ²ŃˆŠµŠ³Š¾ ŠæŃ€Š¾Š³Ń€Š°Š¼Š¼Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIŠøŠ¼Ń\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -КоманГа -\fBgroups\fR -показывает имена Š³Ń€ŃƒŠæŠæ Š·Š°ŠæŃƒŃŃ‚ŠøŠ²ŃˆŠµŠ³Š¾ ŠæŃ€Š¾Š³Ń€Š°Š¼Š¼Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń или ŠøŃ… числовые иГентификаторы (ID)\&. Если Š“Š»Ń номера Š³Ń€ŃƒŠæŠæŃ‹ нет ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠ¹ записи в файле -/etc/group, то Š¾Ń‚Š¾Š±Ń€Š°Š¶Š°ŠµŃ‚ŃŃ числовое значение\&. ŠŸŃ€Šø указании Š½ŠµŠ¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Š¾Š³Š¾ параметра -\fIŠøŠ¼Ń\fR -Š²Ń‹Š²Š¾Š“ŃŃ‚ŃŃ Š³Ń€ŃƒŠæŠæŃ‹ Š“Š»Ń ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи с ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¼ -\fIименем\fR\&. -.SH "Š—ŠŠœŠ•Š§ŠŠŠ˜Š•" -.PP -Š’ системах, не ŠøŠ¼ŠµŃŽŃ‰ŠøŃ… поГГержки оГновременного членства в Š½ŠµŃŠŗŠ¾Š»ŃŒŠŗŠøŃ… Š³Ń€ŃƒŠæŠæŠ°Ń…, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃ ŠøŠ· файла -/etc/group\&. Š”Š»Ń смены своей Ń‚ŠµŠŗŃƒŃ‰ŠµŠ¹ Ń€ŠµŠ°Š»ŃŒŠ½Š¾Š¹ или ŃŃ„Ń„ŠµŠŗŃ‚ŠøŠ²Š½Š¾Š¹ Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Голжен ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ команГы -\fBnewgrp\fR -или -\fBsg\fR\&. -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2)\&. diff --git a/man/ru/man1/id.1 b/man/ru/man1/id.1 deleted file mode 100644 index c75d1b16..00000000 --- a/man/ru/man1/id.1 +++ /dev/null @@ -1,60 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "id" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -id \- display current user and group ID names -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support multiple concurrent group membership\&. -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2) diff --git a/man/ru/man1/login.1 b/man/ru/man1/login.1 deleted file mode 100644 index 1c717d92..00000000 --- a/man/ru/man1/login.1 +++ /dev/null @@ -1,480 +0,0 @@ -'\" t -.\" Title: login -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "login" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -login \- начинает сеанс в системе -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIузел\fR] [\fIŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR] [\fIŠŸŠ•Š Š•ŠœŠ•ŠŠŠŠÆ_ŠžŠšŠ Š£Š–Š•ŠŠ˜ŠÆ=Š—ŠŠŠ§Š•ŠŠ˜Š•\fR...] -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIузел\fR] \-f \fIŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] \-r\ \fIузел\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBlogin\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ Š“Š»Ń запуска нового сеанса в системе\&. Как правило, ŃŃ‚Š° программа Š²Ń‹Š·Ń‹Š²Š°ŠµŃ‚ся автоматически Šø вывоГит ŠæŃ€ŠøŠ³Š»Š°ŃˆŠµŠ½ŠøŠµ -\fIlogin:\fR -на терминал ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBlogin\fR -может Š²Š¾ŃŠæŃ€ŠøŠ½ŠøŠ¼Š°Ń‚ŃŒŃŃ оболочкой команГной строки не как ŠæŃ€Š¾ŃŃ‚Š°Ń программа Šø Š²Ń‹Š·Ń‹Š²Š°Ń‚ŃŒŃŃ не как поГпроцесс\&. ŠŸŃ€Šø вызове ŠøŠ· оболочки -\fBlogin\fR -Голжна Š·Š°ŠæŃƒŃŠŗŠ°Ń‚ŃŒŃŃ посреГством вызова -\fBexec login\fR, что привоГит Šŗ Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ŠøŃŽ работы ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в Ń‚ŠµŠŗŃƒŃ‰ŠµŠ¹ оболочке (Šø, таким образом, вновь Š²Ń…Š¾Š“ŃŃ‰ŠøŠ¹ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ не попаГёт в сеанс Š²Ń‹Š·Š²Š°Š²ŃˆŠµŠ³Š¾)\&. ŠŸŠ¾ŠæŃ‹Ń‚ŠŗŠ° Š·Š°ŠæŃƒŃŃ‚ŠøŃ‚ŃŒ -\fBlogin\fR -ŠøŠ· Š»ŃŽŠ±Š¾Š¹ оболочки, отличной от регистрационной, привоГит Šŗ ŃŠ¾Š¾Š±Ń‰ŠµŠ½ŠøŃŽ об ошибке\&. -.PP -Š’ какой\-то момент ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŠæŠ¾ŠæŃ€Š¾ŃŃŃ‚ ввести свой ŠæŠ°Ń€Š¾Š»ŃŒ\&. Чтобы не Š“Š¾ŠæŃƒŃŃ‚ŠøŃ‚ŃŒ Ń€Š°ŃŠŗŃ€Ń‹Ń‚ŠøŃ, символы при ввоГе ŠæŠ°Ń€Š¾Š»Ń не Š¾Ń‚Š¾Š±Ń€Š°Š¶Š°ŃŽŃ‚ŃŃ\&. Š Š°Š·Ń€ŠµŃˆŠµŠ½Š¾ Š¾Ń‡ŠµŠ½ŃŒ маленькое количество попыток ввоГа Š½ŠµŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Š³Š¾ ŠæŠ°Ń€Š¾Š»Ń, переГ тем как -\fBlogin\fR -закончит Ń€Š°Š±Š¾Ń‚Ńƒ Šø прервёт ŠæŠ¾Š“ŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŠµ\&. -.PP -Если Š²ŠŗŠ»ŃŽŃ‡Ń‘н механизм ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи, то переГ вхоГом в ŃŠøŃŃ‚ŠµŠ¼Ńƒ может ŠæŠ¾Ń‚Ń€ŠµŠ±Š¾Š²Š°Ń‚ŃŒŃŃ смена ŠæŠ°Ń€Š¾Š»Ń\&. Š”Š»Ń ŃŃ‚Š¾Š³Š¾ нужно ввести старый ŠæŠ°Ń€Š¾Š»ŃŒ Šø новый ŠæŠ°Ń€Š¾Š»ŃŒ\&. ŠŸŠ¾Š“Ń€Š¾Š±Š½ŠµŠ¹ об ŃŃ‚Š¾Š¼ написано в -\fBpasswd\fR(1)\&. -.PP -После успешного вхоГа в ŃŠøŃŃ‚ŠµŠ¼Ńƒ, Š±ŃƒŠ“ŃƒŃ‚ показаны ŃŠ¾Š¾Š±Ń‰ŠµŠ½ŠøŃ от системы Šø о наличии почты\&. Можно Š¾Ń‚ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ вывоГ файла системных сообщений ŠøŠ· файла -/etc/motd, созГав в Гомашнем каталоге файл нулевой Глины с именем -\&.hushlogin\&. Дообщение о наличии почты может Š±Ń‹Ń‚ŃŒ оГним ŠøŠ·: \(Fo\fIŠ£ вас ŠµŃŃ‚ŃŒ Š½Š¾Š²Š°Ń почта\&.\fR\(Fc, \(Fo\fIŠ£ вас ŠµŃŃ‚ŃŒ почта\&.\fR\(Fc или \(Fo\fIŠ£ вас нет почты\&.\fR\(Fc, в зависимости от наполненности почтового ŃŃ‰ŠøŠŗŠ°\&. -.PP -Значение иГентификатора ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи Šø Š³Ń€ŃƒŠæŠæŃ‹ Š±ŃƒŠ“ŠµŃ‚ Š²Š·ŃŃ‚Š¾ ŠøŠ· файла -/etc/passwd\&. Š—Š½Š°Ń‡ŠµŠ½ŠøŃ переменных -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$PATH\fR, -\fB$LOGNAME\fR -Šø -\fB$MAIL\fR -ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŃŽŃ‚ŃŃ согласно ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŠøŠ¼ ŠæŠ¾Š»ŃŠ¼ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Также Š¼Š¾Š³ŃƒŃ‚ Š±Ń‹Ń‚ŃŒ ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Ń‹ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ ulimit, umask Šø nice ŠøŠ· ŠæŠ¾Š»Ń GECOS\&. -.PP -Š’ некоторых системах переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fB$TERM\fR -Š±ŃƒŠ“ŠµŃ‚ присвоен тип терминала линии tty, согласно Ганным ŠøŠ· файла -/etc/ttytype\&. -.PP -Также может Š±Ń‹Ń‚ŃŒ выполнен сценарий инициализации ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ¾Š³Š¾ интерпретатора команГ\&. ŠŸŠ¾Š“Ń€Š¾Š±Š½ŠµŠ¹ об ŃŃ‚Š¾Š¹ Ń„ŃƒŠ½ŠŗŃ†ŠøŠø смотрите ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŃƒŃŽ ŃŠæŃ€Š°Š²Š¾Ń‡Š½ŃƒŃŽ ŃŃ‚Ń€Š°Š½ŠøŃ†Ńƒ\&. -.PP -Š”ŃƒŠ±ŃŠøŃŃ‚ŠµŠ¼Š½Ń‹Š¹ вхоГ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ можно Ń€Š°ŃŠæŠ¾Š·Š½Š°Ń‚ŃŒ по Š½Š°Š»ŠøŃ‡ŠøŃŽ символа \(Fo*\(Fc в начале регистрационной оболочки\&. ЗаГанный Гомашний каталог Š±ŃƒŠ“ет использован как ŠŗŠ¾Ń€ŠµŠ½ŃŒ новой файловой системы, в которой Ń€ŠµŠ³ŠøŃŃ‚Ń€ŠøŃ€ŃƒŠµŃ‚ŃŃ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ\&. -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBlogin\fR -ŠŠ• ŃƒŠ“Š°Š»ŃŠµŃ‚ записи о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… ŠøŠ· файла utmp\&. Эта заГача программ -\fBgetty\fR(8) -Šø -\fBinit\fR(8) -\(em ŃƒŠ“Š°Š»ŃŃ‚ŃŒ записи о Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Šµ Ń‚ŠµŃ€Š¼ŠøŠ½Š°Š»ŃŒŠ½Š¾Š³Š¾ сеанса\&. Если -\fBlogin\fR -Š·Š°ŠæŃƒŃŠŗŠ°ŠµŃ‚ŃŃ ŠøŠ· команГной строки без -\fBexec\fR, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ проГолжает Š½Š°Ń…Š¾Š“ŠøŃ‚ŃŒŃŃ в системе Гаже после Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ŠøŃ работы в \(FoпорожГённом сеансе\(Fc\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -\fB\-f\fR -.RS 4 -ŠŠµ Š²Ń‹ŠæŠ¾Š»Š½ŃŃ‚ŃŒ Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŃŽ, ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ уже ŠæŃ€Š¾ŃˆŃ‘Š» ŠæŃ€Š¾Š²ŠµŃ€ŠŗŃƒ\&. -.sp -Замечание: в ŃŃ‚Š¾Š¼ ŃŠ»ŃƒŃ‡Š°Šµ -\fIŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR -Š¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Š¾\&. -.RE -.PP -\fB\-h\fR -.RS 4 -Š˜Š¼Ń ŃƒŠ“Š°Š»Ń‘Š½Š½Š¾Š³Š¾ узла, на который нужно войти\&. -.RE -.PP -\fB\-p\fR -.RS 4 -Š”Š¾Ń…Ń€Š°Š½ŠøŃ‚ŃŒ Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ\&. -.RE -.PP -\fB\-r\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ протокол autologin Š“Š»Ń rlogin\&. -.RE -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ -\fB\-r\fR, -\fB\-h\fR -Šø -\fB\-f\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ŃŃ Ń‚Š¾Š»ŃŒŠŗŠ¾ если -\fBlogin\fR -Š·Š°ŠæŃƒŃŠŗŠ°ŠµŃ‚ŃŃ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼\&. -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -Š”Š°Š½Š½Š°Ń Š²ŠµŃ€ŃŠøŃ -\fBlogin\fR -может Š±Ń‹Ń‚ŃŒ собрана с разными параметрами Šø Ń‚Š¾Š»ŃŒŠŗŠ¾ некоторые ŠøŠ· них ŃŠ¼Š¾Š³ŃƒŃ‚ Š±Ń‹Ń‚ŃŒ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½Ń‹ на Š»ŃŽŠ±Š¾Š¹ машине\&. -.PP -Расположение файлов может Š¾Ń‚Š»ŠøŃ‡Š°Ń‚ŃŒŃŃ на разных системах\&. -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBlogin\fR -ŠŠ• ŃƒŠ“Š°Š»ŃŠµŃ‚ записи о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… ŠøŠ· файла utmp\&. Эта заГача программ -\fBgetty\fR(8) -Šø -\fBinit\fR(8) -\(em ŃƒŠ“Š°Š»ŃŃ‚ŃŒ записи о Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Šµ Ń‚ŠµŃ€Š¼ŠøŠ½Š°Š»ŃŒŠ½Š¾Š³Š¾ сеанса\&. Если -\fBlogin\fR -Š·Š°ŠæŃƒŃŠŗŠ°ŠµŃ‚ŃŃ ŠøŠ· команГной строки без -\fBexec\fR, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ проГолжает Š½Š°Ń…Š¾Š“ŠøŃ‚ŃŒŃŃ в системе Гаже после Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ŠøŃ работы в \(FoпорожГённом сеансе\(Fc\&. -.PP -Как Šø Š“Š»Ń Š»ŃŽŠ±Š¾Š¹ программы, запуск -\fBlogin\fR -может Š±Ń‹Ń‚ŃŒ поГГелан\&. Если Š½ŠµŃƒŠæŠ¾Š»Š½Š¾Š¼Š¾Ń‡ŠµŠ½Š½Ń‹Šµ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šø ŠøŠ¼ŠµŃŽŃ‚ физический Š“Š¾ŃŃ‚ŃƒŠæ Šŗ машине, то Š°Ń‚Š°ŠŗŃƒŃŽŃ‰ŠøŠ¹ может ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŃŃ‚Š¾ Š“Š»Ń ŠæŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠµŠ³Š¾ человека, который Š±ŃƒŠ“ет Ń€Š°Š±Š¾Ń‚Š°Ń‚ŃŒ за машиной\&. ПоГ Linux ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šø Š¼Š¾Š³ŃƒŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ механизм SAK Š“Š»Ń ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½ŠøŃ Гостоверного ŠæŃƒŃ‚Šø Šø таким образом ŠæŃ€ŠµŠ“Š¾Ń‚Š²Ń€Š°Ń‰ŠµŠ½ŠøŃ атаки\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBCONSOLE\fR (строка) -.RS 4 -Если опреГелена, то значение равно или полному ŠæŃƒŃ‚Šø Šŗ Ń„Š°Š¹Š»Ńƒ с именами ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š² (оГно на ŃŃ‚Ń€Š¾ŠŗŃƒ), или списку имён ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š², перечисленных через \(Fo:\(Fc\&. ВхоГ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ Ń€Š°Š·Ń€ŠµŃˆŃ‘Š½ Ń‚Š¾Š»ŃŒŠŗŠ¾ с ŃŃ‚ŠøŃ… ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²\&. -.sp -Если не опреГелена, то ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может Š²Ń…Š¾Š“ŠøŃ‚ŃŒ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ с Š»ŃŽŠ±Š¾Š³Š¾ ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š°\&. -.sp -Устройства Голжны ŃƒŠŗŠ°Š·Ń‹Š²Š°Ń‚ŃŒŃŃ без Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Š³Š¾ префикса /dev/\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (строка) -.RS 4 -Дписок Š³Ń€ŃƒŠæŠæ Š“Š»Ń Š“Š¾Š±Š°Š²Š»ŠµŠ½ŠøŃ Šŗ Š½Š°Š±Š¾Ń€Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŃ… Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Ń… Š³Ń€ŃƒŠæŠæ при вхоГе с консоли (Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŠ¼Š¾Š¹ переменной CONSOLE)\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ не указана\&. - -Š˜ŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ осторожно \(em может Š“Š°Ń‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼ ŠæŠ¾ŃŃ‚Š¾ŃŠ½Š½Ń‹Š¹ Š“Š¾ŃŃ‚ŃƒŠæ Šŗ ŃŃ‚ŠøŠ¼ Š³Ń€ŃƒŠæŠæŠ°Š¼, Гаже если они не вхоГили с консоли\&. -.RE -.PP -\fBDEFAULT_HOME\fR (логический) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚, можно ли войти в ŃŠøŃŃ‚ŠµŠ¼Ńƒ, если Š½ŠµŠ»ŃŒŠ·Ń Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ cd в Гомашний каталог\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ \(Fono\(Fc\&. -.sp -Если равно -\fIyes\fR, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Š±ŃƒŠ“ŠµŃ‚ ŠæŠ¾ŠæŠ°Š“Š°Ń‚ŃŒ в корневой каталог (/), если невозможно Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ cd в его Гомашний каталог\&. -.RE -.PP -\fBENV_HZ\fR (строка) -.RS 4 -Если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°, то Š±ŃƒŠ“ет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ HZ при вхоГе ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в ŃŠøŃŃ‚ŠµŠ¼Ńƒ\&. Значение Голжно Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒŃŃ с -\fIHZ=\fR\&. ŠžŠ±Ń‹Ń‡Š½Š¾Šµ значение Š“Š»Ń Linux \(em -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_PATH\fR (строка) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (строка) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (строка) -.RS 4 -Если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°, то Š±ŃƒŠ“ет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ TZ при вхоГе ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Значение может Š±Ń‹Ń‚ŃŒ равно имени часового ŠæŠ¾ŃŃŠ°, Š½Š°Ń‡ŠøŠ½Š°ŃŽŃ‰ŠµŠ³Š¾ŃŃ -\fITZ=\fR -(например, -\fITZ=CST6CDT\fR), или полному ŠæŃƒŃ‚Šø Šŗ Ń„Š°Š¹Š»Ńƒ с параметрами часового ŠæŠ¾ŃŃŠ° (например, -/etc/tzname)\&. -.sp -Если указан полный ŠæŃƒŃ‚ŃŒ, но файл не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ или Š½ŠµŠ“Š¾ŃŃ‚ŃƒŠæŠµŠ½ Š“Š»Ń Ń‡Ń‚ŠµŠ½ŠøŃ, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ: -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (строка) -.RS 4 -Если ŃŃ‚Š¾Ń‚ файл ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ Šø Š“Š¾ŃŃ‚ŃƒŠæ Š“Š»Ń Ń‡Ń‚ŠµŠ½ŠøŃ, то ŠøŠ· него читает регистрационное Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ\&. ŠšŠ°Š¶Š“Š°Ń строка Голжна ŠøŠ¼ŠµŃ‚ŃŒ формат: ŠøŠ¼Ń=значение\&. -.sp -Дтроки, Š½Š°Ń‡ŠøŠ½Š°ŃŽŃ‰ŠøŠµŃŃ с #, ŃŃ‡ŠøŃ‚Š°ŃŽŃ‚ŃŃ комментарием Šø ŠøŠ³Š½Š¾Ń€ŠøŃ€ŃƒŃŽŃ‚ŃŃ\&. -.RE -.PP -\fBERASECHAR\fR (число) -.RS 4 -Димвол ERASE у терминала (\fI010\fR -= backspace, -\fI0177\fR -= DEL)\&. -.sp -Значение может Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒŃŃ с \(Fo0\(Fc при указании Š·Š½Š°Ń‡ŠµŠ½ŠøŃ в Š²Š¾ŃŃŒŠ¼ŠµŃ€ŠøŃ‡Š½Š¾Š¹ системе ŃŃ‡ŠøŃŠ»ŠµŠ½ŠøŃ или \(Fo0x\(Fc при указании Š·Š½Š°Ń‡ŠµŠ½ŠøŃ в ŃˆŠµŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŠµŃ€ŠøŃ‡Š½Š¾Š¹ системе ŃŃ‡ŠøŃŠ»ŠµŠ½ŠøŃ\&. -.RE -.PP -\fBFAIL_DELAY\fR (число) -.RS 4 -ЗаГержка в ŃŠµŠŗŃƒŠ½Š“Š°Ń… переГ повторной попыткой после Š½ŠµŃƒŠ“ачного вхоГа\&. -.RE -.PP -\fBFAILLOG_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование Šø показ информации о Š½ŠµŃƒŠ“ачных вхоГах ŠøŠ· -/var/log/faillog\&. -.RE -.PP -\fBFAKE_SHELL\fR (строка) -.RS 4 -Если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°, то программа -\fBlogin\fR -Š·Š°ŠæŃƒŃŃ‚ŠøŃ‚ ŃƒŠŗŠ°Š·Š°Š½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ вместо ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ¾Š¹ оболочки заГанной в -/etc/passwd\&. -.RE -.PP -\fBFTMP_FILE\fR (строка) -.RS 4 -Если опреГелена, то Š½ŠµŃƒŠ“ачные попытки вхоГа Š±ŃƒŠ“ŃƒŃ‚ ŠæŃ€Š¾Ń‚Š¾ŠŗŠ¾Š»ŠøŃ€Š¾Š²Š°Ń‚ŃŒŃŃ в ŃŃ‚Š¾Ń‚ файл в формате utmp\&. -.RE -.PP -\fBHUSHLOGIN_FILE\fR (строка) -.RS 4 -Если опреГелена, то ŃŃ‚Š¾Ń‚ файл может Š·Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ все обычные переговоры (chatter) при вхоГе\&. Если указан полный ŠæŃƒŃ‚ŃŒ Šŗ Ń„Š°Š¹Š»Ńƒ, то Š±ŃƒŠ“ет Š²ŠŗŠ»ŃŽŃ‡Ń‘Š½ сокращённый (hushed) режим, если в ŃŃ‚Š¾Š¼ файле указано ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń или оболочка\&. Если указан не полный ŠæŃƒŃ‚ŃŒ, то Š±ŃƒŠ“ет Š²ŠŗŠ»ŃŽŃ‡Ń‘Š½ сокращённый (hushed) режим, если файл Š½Š°Ń…Š¾Š“ŠøŃ‚ŃŃ в Гомашнем каталоге ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fBISSUE_FILE\fR (строка) -.RS 4 -Если опреГелена, то ŃŃ‚Š¾Ń‚ файл Š±ŃƒŠ“ет показан переГ кажГым ŠæŠ¾ŃŠ²Š»ŠµŠ½ŠøŠµŠ¼ ŠæŃ€ŠøŠ³Š»Š°ŃˆŠµŠ½ŠøŃ на вхоГ\&. -.RE -.PP -\fBKILLCHAR\fR (число) -.RS 4 -Димвол KILL у терминала (\fI025\fR -= CTRL/U)\&. -.sp -Значение может Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒŃŃ с \(Fo0\(Fc при указании Š·Š½Š°Ń‡ŠµŠ½ŠøŃ в Š²Š¾ŃŃŒŠ¼ŠµŃ€ŠøŃ‡Š½Š¾Š¹ системе ŃŃ‡ŠøŃŠ»ŠµŠ½ŠøŃ или \(Fo0x\(Fc при указании Š·Š½Š°Ń‡ŠµŠ½ŠøŃ в ŃˆŠµŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŠµŃ€ŠøŃ‡Š½Š¾Š¹ системе ŃŃ‡ŠøŃŠ»ŠµŠ½ŠøŃ\&. -.RE -.PP -\fBLASTLOG_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование Šø показ информации о времени вхоГа ŠøŠ· /var/log/lastlog\&. -.RE -.PP -\fBLOGIN_RETRIES\fR (число) -.RS 4 -Максимальное количество попыток вхоГа при ввоГе неверного ŠæŠ°Ń€Š¾Š»Ń\&. -.RE -.PP -\fBLOGIN_STRING\fR (строка) -.RS 4 -Дтрока\-ŠæŃ€ŠøŠ³Š»Š°ŃˆŠµŠ½ŠøŠµ Šŗ ввоГу ŠæŠ°Ń€Š¾Š»Ń\&. Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ: \(FoPassword:\(Fc или перевоГ ŃŃ‚Š¾Š¹ строки на разные ŃŠ·Ń‹ŠŗŠø\&. Если вы измените эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, то перевоГ Š±ŃƒŠ“ŠµŃ‚ Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ\&. -.sp -Если в строке ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ поГстрока -\fI%s\fR, то она Š±ŃƒŠ“ет заменена на ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fBLOGIN_TIMEOUT\fR (число) -.RS 4 -Максимальное Š²Ń€ŠµŠ¼Ń в ŃŠµŠŗŃƒŠ½Š“Š°Ń…, отвеГённое на вхоГ\&. -.RE -.PP -\fBLOG_OK_LOGINS\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование ŃƒŃŠæŠµŃˆŠ½Ń‹Ń… вхоГов\&. -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ показ неизвестных имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ при записи Š½ŠµŃƒŠ“ачных попыток вхоГа\&. -.sp -Замечание: протоколирование неизвестных имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń может привести Šŗ проблемам с Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒŃŽ, если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ ввеГёт свой ŠæŠ°Ń€Š¾Š»ŃŒ вместо своего имени\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŠæŃ€Š¾Š²ŠµŃ€ŠŗŃƒ Šø показ ŃŠ¾ŃŃ‚Š¾ŃŠ½ŠøŃ почтового ŃŃ‰ŠøŠŗŠ° при вхоГе\&. -.sp -Š’Ń‹ Голжны Š²Ń‹ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ ŃŃ‚Š¾, если почтовый ŃŃ‰ŠøŠŗ ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ŃŃ ŠøŠ· файлов Š°Š²Ń‚Š¾Š·Š°ŠæŃƒŃŠŗŠ° оболочки (\(Fomailx \-e\(Fc или похожей команГой)\&. -.RE -.PP -\fBMAIL_DIR\fR (строка) -.RS 4 -ŠŸŠ¾Ń‡Ń‚Š¾Š²Ń‹Š¹ каталог\&. Данный параметр нужен Š“Š»Ń ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ почтовым ŃŃ‰ŠøŠŗŠ¾Š¼ при изменении или уГалении ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Если параметр не заГан, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение указанное при сборке\&. -.RE -.PP -\fBMAIL_FILE\fR (строка) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ расположение почтовых файлов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š¾Ń‚Š½Š¾ŃŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ Гомашнего каталога\&. -.RE -.PP -ŠŸŠµŃ€ŠµŠ¼ŠµŠ½Š½Ń‹Šµ -\fBMAIL_DIR\fR -Šø -\fBMAIL_FILE\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ŃŃ команГами -\fBuseradd\fR, -\fBusermod\fR -Šø -\fBuserdel\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ, ŠæŠµŃ€ŠµŠ¼ŠµŃ‰ŠµŠ½ŠøŃ или ŃƒŠ“Š°Š»ŠµŠ½ŠøŃ почты ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.PP -Если значение -\fBMAIL_CHECK_ENAB\fR -равно -\fIyes\fR, то они также ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ся Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fBMAIL\fR\&. -.PP -\fBMOTD_FILE\fR (строка) -.RS 4 -Если опреГелена, то при вхоГе Š±ŃƒŠ“ет показано \(Foсообщение Š“Š½Ń\(Fc ŠøŠ· файла со списком значений, разГелённых \(Fo:\(Fc\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (строка) -.RS 4 -Если опреГелена, значение равно имени файла, чьё ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Š½ŠøŠµ запретит вхоГ Š“Š»Ń не ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. Š’ файле Голжно ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒŃŃ сообщение, Š¾ŠæŠøŃŃ‹Š²Š°ŃŽŃ‰ŠµŠµ ŠæŠ¾Ń‡ŠµŠ¼Ńƒ запрещён вхоГ\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ ŠæŃ€Š¾Š²ŠµŃ€ŠŗŃƒ временных ограничений, заГанных в -/etc/porttime\&. -.RE -.PP -\fBQUOTAS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŃƒ ограничений Ń€ŠµŃŃƒŃ€ŃŠ¾Š² ŠøŠ· -/etc/limits -Šø ulimit, umask Šø niceness ŠøŠ· ŠæŠ¾Š»Ń gecos файла passwd\&. -.RE -.PP -\fBTTYGROUP\fR (строка), \fBTTYPERM\fR (строка) -.RS 4 -ŠŸŃ€Š°Š²Š° терминала: tty вхоГа Š±ŃƒŠ“ет ŠæŃ€ŠøŠ½Š°Š“Š»ŠµŠ¶Š°Ń‚ŃŒ Š³Ń€ŃƒŠæŠæŠµ -\fBTTYGROUP\fR, а права Š±ŃƒŠ“ŃƒŃ‚ назначены в соответствии с -\fBTTYPERM\fR\&. -.sp -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, терминалом влаГеет ŠæŠµŃ€Š²ŠøŃ‡Š½Š°Ń Š³Ń€ŃƒŠæŠæŠ° ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, а права ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŃŽŃ‚ŃŃ в -\fI0600\fR\&. -.sp -Š’ -\fBTTYGROUP\fR -может Š·Š°Š“Š°Š²Š°Ń‚ŃŒŃŃ или ŠøŠ¼Ń Š³Ń€ŃƒŠæŠæŃ‹, или числовой иГентификатор Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если ваша программа -\fBwrite\fR -имеет \(Fosetgid\(Fc со ŃŠæŠµŃ†ŠøŠ°Š»ŃŒŠ½Š¾Š¹ Š³Ń€ŃƒŠæŠæŠ¾Š¹, которой принаГлежат терминалы, то присвойте TTYGROUP номер ŃŃ‚Š¾Š¹ Š³Ń€ŃƒŠæŠæŃ‹, а TTYPERM значение 0620\&. Š’ противном ŃŠ»ŃƒŃ‡Š°Šµ Š¾ŃŃ‚Š°Š²ŃŒŃ‚Šµ TTYGROUP закомментированной Šø Š½Š°Š·Š½Š°Ń‡ŃŒŃ‚Šµ TTYPERM значение 622 или 600\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (строка) -.RS 4 -Если опреГелена, то в ней ŃƒŠŗŠ°Š·Ń‹Š²Š°ŠµŃ‚ŃŃ ŠøŠ¼Ń файла, в котором описано соответствие межГу линией tty Šø параметром Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ TERM\&. ŠšŠ°Š¶Š“Š°Ń строка файла имеет формат виГа \(Fovt100 tty01\(Fc\&. -.RE -.PP -\fBULIMIT\fR (число) -.RS 4 -Значение -\fBulimit\fR -по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\&. -.RE -.PP -\fBUMASK\fR (число) -.RS 4 -ЗаГаёт Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Šµ значение маски Š“Š¾ŃŃ‚ŃƒŠæŠ° Š“Š»Ń созГаваемых файлов\&. Если не указано, то маска ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŠµŃ‚ŃŃ в 022\&. -.sp -ŠšŠ¾Š¼Š°Š½Š“Ń‹ -\fBuseradd\fR -Šø -\fBnewusers\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ эту маску Š“Š»Ń ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŠø прав Š“Š¾ŃŃ‚ŃƒŠæŠ° Šŗ Гомашнему ŠŗŠ°Ń‚Š°Š»Š¾Š³Ńƒ, который они ŃŠ¾Š·Š“Š°ŃŽŃ‚\&. -.sp -Также она ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся программой -\fBlogin\fR -Š“Š»Ń Š·Š°Š“Š°Š½ŠøŃ Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Š³Š¾ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ umask ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Заметим, что ŃŃ‚Š° маска может Š±Ń‹Ń‚ŃŒ переопреГелена ŠøŠ· ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ¾Š¹ строки GECOS (если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š° ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń -\fBQUOTAS_ENAB\fR) или указанием Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ с иГентификатором -\fIK\fR, в -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŃƒ Š³Ń€ŃƒŠæŠæŃ‹ битов umask равной битам Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Š° (пример: 022 \-> 002, 077 \-> 007) Š“Š»Ń не ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, если uid равен gid Šø ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń совпаГает с именем первичной Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если значение равно -\fIyes\fR, то -\fBuserdel\fR -ŃƒŠ“Š°Š»ŃŠµŃ‚ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ, если в ней нет больше членов, а -\fBuseradd\fR -по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ созГаёт Š³Ń€ŃƒŠæŠæŃƒ с именем ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.SH "ФАЙЛЫ" -.PP -/var/run/utmp -.RS 4 -соГержит список Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‰ŠøŃ… сеансов в системе -.RE -.PP -/var/log/wtmp -.RS 4 -соГержит список Š·Š°Š²ŠµŃ€ŃˆŃ‘нных сеансов работы с системой -.RE -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/motd -.RS 4 -соГержит системные ŃŠ¾Š¾Š±Ń‰ŠµŠ½ŠøŃ за Гень -.RE -.PP -/etc/nologin -.RS 4 -при ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Š½ŠøŠø файла Š±Š»Š¾ŠŗŠøŃ€ŃƒŠµŃ‚ся Š“Š¾ŃŃ‚ŃƒŠæ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ обычным ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼ -.RE -.PP -/etc/ttytype -.RS 4 -соГержит список типов терминалов -.RE -.PP -$HOME/\&.hushlogin -.RS 4 -при ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Š½ŠøŠø файла системные ŃŠ¾Š¾Š±Ń‰ŠµŠ½ŠøŃ при вхоГе в ŃŠøŃŃ‚ŠµŠ¼Ńƒ не Š²Ń‹Š²Š¾Š“ŃŃ‚ŃŃ -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBmail\fR(1), -\fBpasswd\fR(1), -\fBsh\fR(1), -\fBsu\fR(1), -\fBlogin.defs\fR(5), -\fBnologin\fR(5), -\fBpasswd\fR(5), -\fBsecuretty\fR(5), -\fBgetty\fR(8)\&. diff --git a/man/ru/man1/newgrp.1 b/man/ru/man1/newgrp.1 deleted file mode 100644 index c6c4d67f..00000000 --- a/man/ru/man1/newgrp.1 +++ /dev/null @@ -1,92 +0,0 @@ -'\" t -.\" Title: newgrp -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "newgrp" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -newgrp \- Š²Ń‹ŠæŠ¾Š»Š½ŃŠµŃ‚ Ń€ŠµŠ³ŠøŃŃ‚Ń€Š°Ń†ŠøŃŽ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в новой Š³Ń€ŃƒŠæŠæŠµ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIŠ³Ń€ŃƒŠæŠæŠ°\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBnewgrp\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ Š“Š»Ń ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ ID Ń‚ŠµŠŗŃƒŃ‰ŠµŠ¹ Š³Ń€ŃƒŠæŠæŃ‹ в Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‰ŠµŠ¼ сеансе\&. Если указан Š½ŠµŠ¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¹ параметр -\fB\-\fR, то Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ инициализировано повторно, как если бы ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ заново Š²Š¾ŃˆŃ‘Š» в ŃŠøŃŃ‚ŠµŠ¼Ńƒ, иначе ŠøŠ¼ŠµŃŽŃ‰ŠµŠµŃŃ Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ, Š²ŠŗŠ»ŃŽŃ‡Š°Ń Ń‚ŠµŠŗŃƒŃ‰ŠøŠ¹ рабочий каталог, изменено не Š±ŃƒŠ“ет\&. -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBnewgrp\fR -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ иГентификатор Ń‚ŠµŠŗŃƒŃ‰ŠµŠ¹ Ń€ŠµŠ°Š»ŃŒŠ½Š¾Š¹ Š³Ń€ŃƒŠæŠæŃ‹ на заГанный или на Š³Ń€ŃƒŠæŠæŃƒ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, ŃƒŠŗŠ°Š·Š°Š½Š½ŃƒŃŽ в файле -/etc/passwd, в ŃŠ»ŃƒŃ‡Š°Šµ если ŠøŠ¼Ń Š³Ń€ŃƒŠæŠæŃ‹ не указано\&. ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBnewgrp\fR -также ŠæŃ‹Ń‚Š°ŠµŃ‚ŃŃ Š“Š¾Š±Š°Š²ŠøŃ‚ŃŒ Š³Ń€ŃƒŠæŠæŃƒ в список Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ не ŃŠ²Š»ŃŠµŃ‚ŃŃ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼, то его ŠæŠ¾ŠæŃ€Š¾ŃŃŃ‚ ввести ŠæŠ°Ń€Š¾Š»ŃŒ, Гаже если он его не имеет (в файле -/etc/shadow, если Š“Š»Ń ŃŃ‚Š¾Š³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŠøŠ¼ŠµŠµŃ‚ŃŃ запись в файле теневых паролей, иначе ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся файл -/etc/passwd), а Š³Ń€ŃƒŠæŠæŠ° имеет, или если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ не ŃŠ²Š»ŃŠµŃ‚ŃŃ членом Š³Ń€ŃƒŠæŠæŃ‹, а Š³Ń€ŃƒŠæŠæŠ° имеет ŠæŠ°Ń€Š¾Š»ŃŒ\&. Если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ не ŃŠ²Š»ŃŠµŃ‚ŃŃ членом Š³Ń€ŃƒŠæŠæŃ‹, а у Š³Ń€ŃƒŠæŠæŃ‹ ŠæŃƒŃŃ‚Š¾Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ Š±ŃƒŠ“ŠµŃ‚ отказано в Š“Š¾ŃŃ‚ŃƒŠæŠµ\&. -.PP -Если ŠµŃŃ‚ŃŒ запись Š“Š»Ń ŃŃ‚Š¾Š¹ Š³Ń€ŃƒŠæŠæŃ‹ в файле -/etc/gshadow, то список членов Šø ŠæŠ°Ń€Š¾Š»ŃŒ ŃŃ‚Š¾Š¹ Š³Ń€ŃƒŠæŠæŃ‹ Š±ŃƒŠ“ŃƒŃ‚ Š²Š·ŃŃ‚Ń‹ ŠøŠ· ŃŃ‚Š¾Š³Š¾ файла, иначе ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся запись ŠøŠ· файла -/etc/group\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBSYSLOG_SG_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование \(Fosyslog\(Fc Гействий -\fBsg\fR\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBsu\fR(1), -\fBsg\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/ru/man1/passwd.1 b/man/ru/man1/passwd.1 deleted file mode 100644 index 8b6f2d22..00000000 --- a/man/ru/man1/passwd.1 +++ /dev/null @@ -1,352 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "passwd" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -passwd \- ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠæŠ°Ń€Š¾Š»ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIпараметры\fR] [\fIŠ£Š§ŠŠ¢ŠŠŠÆ_Š—ŠŠŸŠ˜Š”Š¬\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBpasswd\fR -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ пароли ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŃ… ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей\&. ŠžŠ±Ń‹Ń‡Š½Ń‹Š¹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ своей ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи, ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ Š»ŃŽŠ±Š¾Š¹ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBpasswd\fR -также ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ об ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи или срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\&. -.SS "Изменение ŠæŠ°Ń€Š¾Š»Ń" -.PP -Дначала ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŠæŠ¾ŠæŃ€Š¾ŃŃŃ‚ ввести старый ŠæŠ°Ń€Š¾Š»ŃŒ, если он был\&. Этот ŠæŠ°Ń€Š¾Š»ŃŒ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Ń‹Š²Š°ŠµŃ‚ŃŃ Šø ŃŃ€Š°Š²Š½ŠøŠ²Š°ŠµŃ‚ŃŃ с ŠøŠ¼ŠµŃŽŃ‰ŠøŠ¼ŃŃ\&. Š£ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŠµŃŃ‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ оГна попытка ввести ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ\&. Š”Š»Ń ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŃŃ‚Š¾Ń‚ шаг ŠæŃ€Š¾ŠæŃƒŃŠŗŠ°ŠµŃ‚ся, Š“Š»Ń того чтобы можно было ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ забытый ŠæŠ°Ń€Š¾Š»ŃŒ\&. -.PP -После ввоГа ŠæŠ°Ń€Š¾Š»Ń ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ŃŃ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń, чтобы ŃƒŠ±ŠµŠ“ŠøŃ‚ŃŒŃŃ, что ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ Ń€Š°Š·Ń€ŠµŃˆŠµŠ½Š¾ ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ в Š½Š°ŃŃ‚Š¾ŃŃ‰ŠøŠ¹ момент\&. Если нет, то -\fBpasswd\fR -не произвоГит изменение ŠæŠ°Ń€Š¾Š»Ń Šø Š·Š°Š²ŠµŃ€ŃˆŠ°ŠµŃ‚ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.PP -Затем ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ преГложат ГважГы ввести новый ŠæŠ°Ń€Š¾Š»ŃŒ\&. Значение второго ввоГа ŃŃ€Š°Š²Š½ŠøŠ²Š°ŠµŃ‚ŃŃ с первым Šø Š“Š»Ń ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ пароли ŠøŠ· обеих попыток Голжны ŃŠ¾Š²ŠæŠ°ŃŃ‚ŃŒ\&. -.PP -Затем ŠæŠ°Ń€Š¾Š»ŃŒ Ń‚ŠµŃŃ‚ŠøŃ€ŃƒŠµŃ‚ŃŃ на ŃŠ»Š¾Š¶Š½Š¾ŃŃ‚ŃŒ поГбора\&. Догласно общим принципам, пароли Голжны Š±Ń‹Ń‚ŃŒ Глиной от 6 Го 8 символов Šø Š²ŠŗŠ»ŃŽŃ‡Š°Ń‚ŃŒ оГин или более символов кажГого типа: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -строчные Š±ŃƒŠŗŠ²Ń‹ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -цифры от 0 Го 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -знаки ŠæŃƒŠ½ŠŗŃ‚ŃƒŠ°Ń†ŠøŠø -.RE -.PP -ŠŠµ Š²ŠŗŠ»ŃŽŃ‡Š°Š¹Ń‚Šµ системные символы ŃŃ‚ŠøŃ€Š°Š½ŠøŃ Šø ŃƒŠ“Š°Š»ŠµŠ½ŠøŃ\&. ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBpasswd\fR -не примет ŠæŠ°Ń€Š¾Š»ŃŒ, который не имеет Гостаточной сложности\&. -.SS "Выбор ŠæŠ°Ń€Š¾Š»Ń" -.PP -Š‘ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»Ń зависит от стойкости алгоритма ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ Šø размера пространства ŠŗŠ»ŃŽŃ‡Š°\&. Š’ старых системах -\fIUNIX\fR -метоГ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ Š¾ŃŠ½Š¾Š²Ń‹Š²Š°Š»ŃŃ на алгоритме NBS DES\&. Дейчас Ń€ŠµŠŗŠ¾Š¼ŠµŠ½Š“ŃƒŃŽŃ‚ более новые метоГы (смотрите -\fBENCRYPT_METHOD\fR)\&. Размер пространства ŠŗŠ»ŃŽŃ‡Š° зависит от степени ŠæŃ€Š¾ŠøŠ·Š²Š¾Š»ŃŒŠ½Š¾ŃŃ‚Šø выбранного ŠæŠ°Ń€Š¾Š»Ń\&. -.PP -ŠŸŃ€Šø обеспечении безопасности ŠæŠ°Ń€Š¾Š»Ń Š²Ń‹Š±ŠøŃ€Š°ŃŽŃ‚ нечто среГнее межГу сложным паролем Šø ŃŠ»Š¾Š¶Š½Š¾ŃŃ‚ŃŒŃŽ работы с ним\&. По ŃŃ‚Š¾Š¹ причине, вы не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ, который ŃŠ²Š»ŃŠµŃ‚ŃŃ словом ŠøŠ· ŃŠ»Š¾Š²Š°Ń€Ń или который ŠæŃ€ŠøŠ“Ń‘Ń‚ŃŃ Š·Š°ŠæŠøŃŠ°Ń‚ŃŒ ŠøŠ·\-за его сложности\&. Также, ŠæŠ°Ń€Š¾Š»ŃŒ не Голжен Š±Ń‹Ń‚ŃŒ названием чего\-либо, номером вашей лицензии, Гнём Ń€Š¾Š¶Š“ŠµŠ½ŠøŃ Šø Гомашним аГресом\&. ŠžŠ±Š¾ всём ŃŃ‚Š¾Š¼ легко Š“Š¾Š³Š°Š“Š°Ń‚ŃŒŃŃ, что привеГёт Šŗ Š½Š°Ń€ŃƒŃˆŠµŠ½ŠøŃŽ безопасности системы\&. -.PP -You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBpasswd\fR: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Этот параметр можно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ вместе с -\fB\-S\fR -Š“Š»Ń вывоГа ŃŃ‚Š°Ń‚ŃƒŃŠ° всех ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR -.RS 4 -Š£Š“Š°Š»ŠøŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń (ŃŠ“ŠµŠ»Š°Ń‚ŃŒ его ŠæŃƒŃŃ‚ым)\&. Это быстрый способ Š·Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. Это сГелает ŃƒŠŗŠ°Š·Š°Š½Š½ŃƒŃŽ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись Š±ŠµŃŠæŠ°Ń€Š¾Š»ŃŒŠ½Š¾Š¹\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expire\fR -.RS 4 -ŠŠµŠ¼ŠµŠ“Š»ŠµŠ½Š½Š¾ ŃŠ“ŠµŠ»Š°Ń‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ ŃƒŃŃ‚Š°Ń€ŠµŠ²ŃˆŠøŠ¼\&. Š’ Ń€ŠµŠ·ŃƒŠ»ŃŒŃ‚Š°Ń‚Šµ ŃŃ‚Š¾ заставит ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ при ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠµŠ¼ вхоГе в ŃŠøŃŃ‚ŠµŠ¼Ńƒ\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-i\fR, \fB\-\-inactive\fR\ \&\fIŠ”ŠŠ•Š™\fR -.RS 4 -Этот параметр ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ Š“Š»Ń блокировки ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи по ŠæŃ€Š¾ŃˆŠµŃŃ‚вии заГанного числа Гней после ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\&. То ŠµŃŃ‚ŃŒ, если ŠæŠ°Ń€Š¾Š»ŃŒ ŃƒŃŃ‚Š°Ń€ŠµŠ» Šø ŠæŃ€Š¾ŃˆŠ»Š¾ более ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Ń… -\fIŠ”ŠŠ•Š™\fR, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ больше не сможет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Š“Š°Š½Š½ŃƒŃŽ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись\&. -.RE -.PP -\fB\-k\fR, \fB\-\-keep\-tokens\fR -.RS 4 -Указывает, что изменение ŠæŠ°Ń€Š¾Š»Ń нужно Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š»Ń ŃƒŃŃ‚Š°Ń€ŠµŠ²ŃˆŠøŃ… ŠŗŠ»ŃŽŃ‡ŠµŠ¹ Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŠø (паролей)\&. ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šø Ń…Š¾Ń‚ŃŃ‚ Š¾ŃŃ‚Š°Š²ŠøŃ‚ŃŒ свои непросроченные ŠŗŠ»ŃŽŃ‡Šø Š½ŠµŃ‚Ń€Š¾Š½ŃƒŃ‚Ń‹Š¼Šø\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\fR -.RS 4 -Š—Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ указанной ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. Этот параметр Š±Š»Š¾ŠŗŠøŃ€ŃƒŠµŃ‚ ŠæŠ°Ń€Š¾Š»ŃŒ, ŠøŠ·Š¼ŠµŠ½ŃŃ его значение на вариант, который не может Š±Ń‹Ń‚ŃŒ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¼ паролем (Š“Š¾Š±Š°Š²Š»ŃŠµŃ‚ŃŃ символ \(Fo!\(Fc в начало ŠæŠ°Ń€Š¾Š»Ń)\&. -.sp -Заметим, что ŃŃ‚Š¾ не Š±Š»Š¾ŠŗŠøŃ€ŃƒŠµŃ‚ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись\&. ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ всё ещё может войти в ŃŠøŃŃ‚ŠµŠ¼Ńƒ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ Š“Ń€ŃƒŠ³Š¾Š³Š¾ способа Š°ŃƒŃ‚ентификации (например, с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ ŠŗŠ»ŃŽŃ‡Š° SSH)\&. Чтобы Š·Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись, аГминистратор Голжен ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ команГу -\fBusermod \-\-expiredate 1\fR -(ŃŃ‚Š¾ ŃƒŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ Š“Š°Ń‚Ńƒ ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ запись равной 2 ŃŠ½Š²Š°Ń€Ń 1970 гоГа)\&. -.sp -ŠŸŠ¾ŃŠµŃ‚ŠøŃ‚ŠµŠ»ŃŒ с заблокированным паролем не может ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ свой ŠæŠ°Ń€Š¾Š»ŃŒ\&. -.RE -.PP -\fB\-n\fR, \fB\-\-mindays\fR\ \&\fIŠœŠ˜Š_Š”ŠŠ•Š™\fR -.RS 4 -Š—Š°Š“Š°Ń‚ŃŒ -\fIминимальное количество Гней\fR -межГу сменами ŠæŠ°Ń€Š¾Š»Ń\&. ŠŃƒŠ»ŠµŠ²Š¾Šµ значение ŃŃ‚Š¾Š³Š¾ ŠæŠ¾Š»Ń ŃƒŠŗŠ°Š·Ń‹Š²Š°ŠµŃ‚ на то, что ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может Š¼ŠµŠ½ŃŃ‚ŃŒ свой ŠæŠ°Ń€Š¾Š»ŃŒ когГа захочет\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -ŠŠµ Š²Ń‹Š²Š¾Š“ŠøŃ‚ŃŒ сообщений при работе\&. -.RE -.PP -\fB\-r\fR, \fB\-\-repository\fR\ \&\fIŠ Š•ŠŸŠžŠ—Š˜Š¢ŠžŠ Š˜Š™\fR -.RS 4 -Š˜Š·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ в -\fIŠ Š•ŠŸŠžŠ—Š˜Š¢ŠžŠ Š˜Š˜\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-S\fR, \fB\-\-status\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŃŠ¾ŃŃ‚Š¾ŃŠ½ŠøŠµ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. Š˜Š½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃ о ŃŠ¾ŃŃ‚Š¾ŃŠ½ŠøŠø соГержит 7 полей\&. ŠŸŠµŃ€Š²Š¾Šµ поле соГержит ŠøŠ¼Ń ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. Второе поле ŃƒŠŗŠ°Š·Ń‹Š²Š°ŠµŃ‚, заблокирован ли ŠæŠ°Ń€Š¾Š»ŃŒ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи (L), она без ŠæŠ°Ń€Š¾Š»Ń (NP) или у неё ŠµŃŃ‚ŃŒ рабочий ŠæŠ°Ń€Š¾Š»ŃŒ (P)\&. Š¢Ń€ŠµŃ‚ŃŒŠµ поле хранит Š“Š°Ń‚Ńƒ послеГнего ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\&. Š’ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŃ… четырёх ŠæŠ¾Š»ŃŃ… Ń…Ń€Š°Š½ŃŃ‚ŃŃ Š¼ŠøŠ½ŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок, Š¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок, периоГ выГачи ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ Šø периоГ неактивности ŠæŠ°Ń€Š¾Š»Ń\&. Эти сроки ŠøŠ·Š¼ŠµŃ€ŃŃŽŃ‚ся в Š“Š½ŃŃ…\&. -.RE -.PP -\fB\-u\fR, \fB\-\-unlock\fR -.RS 4 -Š Š°Š·Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ указанной ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. Этот параметр Ń€Š°Š·Š±Š»Š¾ŠŗŠøŃ€ŃƒŠµŃ‚ ŠæŠ°Ń€Š¾Š»ŃŒ, Š²Š¾Š·Š²Ń€Š°Ń‰Š°Ń его прежнее значение (которое было переГ использованием параметра -\fB\-l\fR)\&. -.RE -.PP -\fB\-w\fR, \fB\-\-warndays\fR\ \&\fIŠŸŠ Š•Š”_Š”ŠŠ•Š™\fR -.RS 4 -Š£ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ число Гней выГачи ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ, переГ тем как ŠæŠ¾Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ смена ŠæŠ°Ń€Š¾Š»Ń\&. Š’ параметре -\fIŠŸŠ Š•Š”_Š”ŠŠ•Š™\fR -ŃƒŠŗŠ°Š·Ń‹Š²Š°ŠµŃ‚ŃŃ число Гней переГ тем как ŠæŠ°Ń€Š¾Š»ŃŒ ŃƒŃŃ‚Š°Ń€ŠµŠµŃ‚, в течении которых ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ Š±ŃƒŠ“ŃƒŃ‚ Š½Š°ŠæŠ¾Š¼ŠøŠ½Š°Ń‚ŃŒ, что ŠæŠ°Ń€Š¾Š»ŃŒ скоро ŃƒŃŃ‚Š°Ń€ŠµŠµŃ‚\&. -.RE -.PP -\fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIМАКД_Š”ŠŠ•Š™\fR -.RS 4 -Š£ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ максимальное количество Гней, в течении которых ŠæŠ°Ń€Š¾Š»ŃŒ Š¾ŃŃ‚Š°Ń‘Ń‚ŃŃ рабочим\&. После -\fIМАКД_Š”ŠŠ•Š™\fR -ŠæŠ°Ń€Š¾Š»ŃŒ нужно ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ\&. -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -Š”Š»Š¾Š¶Š½Š¾ŃŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»Ń ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ŃŃ на разных Š¼Š°ŃˆŠøŠ½Š°Ń… по Ń€Š°Š·Š½Š¾Š¼Ńƒ\&. ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ Š½Š°ŃŃ‚Š¾ŃŃ‚ŠµŠ»ŃŒŠ½Š¾ Ń€ŠµŠŗŠ¾Š¼ŠµŠ½Š“ŃƒŠµŃ‚ŃŃ Š²Ń‹Š±ŠøŃ€Š°Ń‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ такой сложности, чтобы ему Š½Š¾Ń€Š¼Š°Š»ŃŒŠ½Š¾ Ń€Š°Š±Š¾Ń‚Š°Š»Š¾ŃŃŒ\&. -.PP -ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šø не Š¼Š¾Š³ŃƒŃ‚ ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ свои пароли в системе, если Š²ŠŗŠ»ŃŽŃ‡Ń‘н NIS Šø они не вошли на сервер NIS\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBENCRYPT_METHOD\fR (строка) -.RS 4 -ЗаГаёт системный алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей (ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ, если алгоритм не указан в команГной строке)\&. -.sp -Возможны ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -\fIDES\fR -(по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Замечание: ŃŃ‚Š¾Ń‚ параметр ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (логический) -.RS 4 -ŠžŠ±Š¾Š·Š½Š°Ń‡Š°ŠµŃ‚, что ŠæŠ°Ń€Š¾Š»ŃŒ Голжен Š±Ń‹Ń‚ŃŒ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5\&. Если значение равно -\fIyes\fR, то новые пароли Š±ŃƒŠ“ŃƒŃ‚ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Ń‹ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5, ŃŠ¾Š²Š¼ŠµŃŃ‚ŠøŠ¼Š¾Š¼Ńƒ с ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¼ в новых Š²ŠµŃ€ŃŠøŃŃ… FreeBSD\&. ŠžŠ½ поГГерживает пароли неограниченной Глины Šø имеет более Š“Š»ŠøŠ½Š½ŃƒŃŽ ŃŃ‚Ń€Š¾ŠŗŃƒ соли\&. Установите в -\fIno\fR, если вам нужно ŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Šµ пароли в Š“Ń€ŃƒŠ³ŠøŠµ системы, которые не ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŃŽŃ‚ новый алгоритм\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ -\fIno\fR\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменной -\fBENCRYPT_METHOD\fR -или Š»ŃŽŠ±Ń‹Š¼ параметром команГной строки, который заГаёт алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŃƒŃŃ‚Š°Ń€ŠµŠ»Š°; ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ проверки при смене ŠæŠ°Ń€Š¾Š»Ń\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (логический) -.RS 4 -ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“Š°Ń‚ŃŒ о слабых ŠæŠ°Ń€Š¾Š»ŃŃ… (но Ń€Š°Š·Ń€ŠµŃˆŠ°Ń‚ŃŒ ŠøŃ… ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ) Š“Š»Ń ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (число) -.RS 4 -Максимальное количество попыток смены ŠæŠ°Ń€Š¾Š»Ń (слишком простого) при непрохожГении проверки\&. -.RE -.PP -\fBPASS_MAX_LEN\fR (число), \fBPASS_MIN_LEN\fR (число) -.RS 4 -ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ значимых символов в пароле Š“Š»Ń crypt()\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ значение -\fBPASS_MAX_LEN\fR -равно 8\&. ŠŠµ ŠøŠ·Š¼ŠµŠ½ŃŠ¹Ń‚Šµ, если ваш crypt() Š»ŃƒŃ‡ŃˆŠµ\&. Š˜Š³Š½Š¾Ń€ŠøŃ€ŃƒŠµŃ‚ŃŃ, если значение -\fBMD5_CRYPT_ENAB\fR -равно -\fIyes\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (число), \fBSHA_CRYPT_MAX_ROUNDS\fR (число) -.RS 4 -Если значение -\fBENCRYPT_METHOD\fR -равно -\fISHA256\fR -или -\fISHA512\fR, ŃŃ‚Š° ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ количество Ń€Š°ŃƒŠ½Š“Š¾Š² SHA, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Ń… алгоритмом ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (если количество Ń€Š°ŃƒŠ½Š“Š¾Š² не заГано в команГной строке)\&. -.sp -Увеличение количества Ń€Š°ŃƒŠ½Š“Š¾Š² ŠæŠ¾Š²Ń‹ŃˆŠ°ŠµŃ‚ ŃŠ»Š¾Š¶Š½Š¾ŃŃ‚ŃŒ поГбора ŠæŠ°Ń€Š¾Š»Ń простым перебором\&. ŠŠ¾ заметим, что при ŃŃ‚Š¾Š¼ Š“Š»Ń Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŠø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ большее количество процессорных Ń€ŠµŃŃƒŃ€ŃŠ¾Š²\&. -.sp -Если не заГана, то libc выбирает значение количества Ń€Š°ŃƒŠ½Š“Š¾Š² по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (5000)\&. -.sp -Š—Š½Š°Ń‡ŠµŠ½ŠøŃ Голжны Š»ŠµŠ¶Š°Ń‚ŃŒ в Гиапазоне 1000\-999999999\&. -.sp -Если заГано какое\-то оГно значение \(em -\fBSHA_CRYPT_MIN_ROUNDS\fR -или -\fBSHA_CRYPT_MAX_ROUNDS\fR -\(em то Š±ŃƒŠ“ет использовано ŃŃ‚Š¾ значение\&. -.sp -Если -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся большее значение\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.SH "Š’ŠžŠ—Š’Š ŠŠ©ŠŠ•ŠœŠ«Š• Š—ŠŠŠ§Š•ŠŠ˜ŠÆ" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBpasswd\fR -Š·Š°Š²ŠµŃ€ŃˆŠ°Ń Ń€Š°Š±Š¾Ń‚Ńƒ, возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -.PP -\fI0\fR -.RS 4 -успешное выполнение -.RE -.PP -\fI1\fR -.RS 4 -Š“Š¾ŃŃ‚ŃƒŠæ запрещён -.RE -.PP -\fI2\fR -.RS 4 -Š½ŠµŠ“Š¾ŠæŃƒŃŃ‚ŠøŠ¼Š°Ń ŠŗŠ¾Š¼Š±ŠøŠ½Š°Ń†ŠøŃ параметров -.RE -.PP -\fI3\fR -.RS 4 -Š½ŠµŠ¾Š¶ŠøŠ“Š°Š½Š½Š°Ń ошибка при работе, ничего не сГелано -.RE -.PP -\fI4\fR -.RS 4 -Š½ŠµŠ¾Š¶ŠøŠ“Š°Š½Š½Š°Ń ошибка при работе, Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²ŃƒŠµŃ‚ файл -passwd -.RE -.PP -\fI5\fR -.RS 4 -файл -passwd -Š·Š°Š½ŃŃ‚ Š“Ń€ŃƒŠ³Š¾Š¹ программой, ŠæŠ¾ŠæŃ€Š¾Š±ŃƒŠ¹Ń‚Šµ ещё раз -.RE -.PP -\fI6\fR -.RS 4 -Š½ŠµŠ“Š¾ŠæŃƒŃŃ‚ŠøŠ¼Š¾Šµ значение параметра -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchpasswd\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBlogin.defs\fR(5),\fBusermod\fR(8)\&. diff --git a/man/ru/man1/sg.1 b/man/ru/man1/sg.1 deleted file mode 100644 index 116e0061..00000000 --- a/man/ru/man1/sg.1 +++ /dev/null @@ -1,91 +0,0 @@ -'\" t -.\" Title: sg -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "sg" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -sg \- Š²Ń‹ŠæŠ¾Š»Š½ŃŠµŃ‚ команГу с правами Š“Ń€ŃƒŠ³Š¾Š¹ Š³Ń€ŃƒŠæŠæŃ‹ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBsg\fR\ 'u -\fBsg\fR [\-] [Š³Ń€ŃƒŠæŠæŠ°\ [\-c]\ команГа] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -КоманГа -\fBsg\fR -работает поГобно команГе -\fBnewgrp\fR, но в качестве параметра ожиГает команГу\&. КоманГа Š±ŃƒŠ“ет выполнена оболочкой -/bin/sh\&. Š’ Š±Š¾Š»ŃŒŃˆŠøŠ½ŃŃ‚Š²Šµ оболочек, Š¾Ń‚ŠŗŃƒŠ“Š° может Š·Š°ŠæŃƒŃŠŗŠ°Ń‚ŃŒŃŃ -\fBsg\fR, команГу ŠøŠ· Š½ŠµŃŠŗŠ¾Š»ŃŒŠŗŠøŃ… слов нужно Š·Š°ŠŗŠ»ŃŽŃ‡Š°Ń‚ŃŒ в кавычки\&. Š”Ń€ŃƒŠ³ŠøŠ¼ отличием межГу -\fBnewgrp\fR -Šø -\fBsg\fR -ŃŠ²Š»ŃŠµŃ‚ŃŃ то, что некоторые оболочки Š²Š¾ŃŠæŃ€ŠøŠ½ŠøŠ¼Š°ŃŽŃ‚ -\fBnewgrp\fR -особенным образом, Š·Š°Š¼ŠµŠ½ŃŃ ŃŠµŠ±Ń новым ŃŠŗŠ·ŠµŠ¼ŠæŠ»ŃŃ€Š¾Š¼ оболочки, ŠŗŠ¾Ń‚Š¾Ń€ŃƒŃŽ созГаёт -\fBnewgrp\fR\&. Этого не происхоГит с команГой -\fBsg\fR, ŠæŠ¾ŃŃ‚Š¾Š¼Ńƒ после Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ŠøŃ работы -\fBsg\fR -вы Š²Š¾Š·Š²Ń€Š°Ń‰Š°ŠµŃ‚ŠµŃŃŒ в ŠæŃ€ŠµŠ“Ń‹Š“ŃƒŃ‰ŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBSYSLOG_SG_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование \(Fosyslog\(Fc Гействий -\fBsg\fR\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBnewgrp\fR(1), -\fBsu\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/ru/man1/su.1 b/man/ru/man1/su.1 deleted file mode 100644 index d2269509..00000000 --- a/man/ru/man1/su.1 +++ /dev/null @@ -1,443 +0,0 @@ -'\" t -.\" Title: su -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "su" "1" "09/18/2016" "shadow\-utils 4\&.4" "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ команГы" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -su \- ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ID ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń или Гелает его ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fIпараметры\fR] [\fIŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBsu\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ Š“Š»Ń того, чтобы ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ мог ŃŃ‚Š°Ń‚ŃŒ Š“Ń€ŃƒŠ³ŠøŠ¼ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼ в Ń‚ŠµŠŗŃƒŃ‰ŠµŠ¼ сеансе\&. Если -\fBsu\fR -Š²Ń‹Š·Ń‹Š²Š°ŠµŃ‚ŃŃ без -\fBимени_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR, то ŃŃ‚Š¾ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Гелает ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼\&. ŠŠµŠ¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¹ параметр -\fB\-\fR -можно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Š“Š»Ń Š²Š¾ŃŃŠ¾Š·Š“Š°Š½ŠøŃ Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ, такого же как если бы Š½Š°ŃŃ‚Š¾ŃŃ‰ŠøŠ¹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Š²Ń‹ŠæŠ¾Š»Š½ŃŠ» вхоГ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ\&. -.PP -После имени ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń можно ŃƒŠŗŠ°Š·Š°Ń‚ŃŒ Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ Š°Ń€Š³ŃƒŠ¼ŠµŠ½Ń‚Ń‹, которые Š±ŃƒŠ“ŃƒŃ‚ переГаны регистрационной оболочке ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Š’ частности, Š°Ń€Š³ŃƒŠ¼ŠµŠ½Ń‚ -\fB\-c\fR -заставит Š±Š¾Š»ŃŒŃˆŠøŠ½ŃŃ‚Š²Š¾ оболочек ŃŃ‡ŠøŃ‚Š°Ń‚ŃŒ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠ¹ Š°Ń€Š³ŃƒŠ¼ŠµŠ½Ń‚ как команГу\&. КоманГа Š±ŃƒŠ“ет выполнена оболочкой, указанной в файле -/etc/passwd, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń ŃŠ²Š»ŃŠµŃ‚ŃŃ регистрационной Š“Š»Ń ŃƒŠŗŠ°Š·Ń‹Š²Š°ŠµŠ¼Š¾Š³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.PP -Š’Ń‹ можете ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ параметр -\fB\-\-\fR -чтобы Š¾Ń‚Š“ŠµŠ»ŠøŃ‚ŃŒ параметры -\fBsu\fR -от параметров, которые ŠæŠµŃ€ŠµŠ“Š°ŃŽŃ‚ŃŃ оболочке\&. -.PP -ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ преГложат ввести ŠæŠ°Ń€Š¾Š»ŃŒ, если он заГан\&. ŠŸŃ€Šø неверном пароле возникает сообщение об ошибке\&. Все попытки, ŃƒŠ“Š°Ń‡Š½Ń‹Šµ Šø Š½ŠµŃƒŠ“Š°Ń‡Š½Ń‹Šµ, ŠæŃ€Š¾Ń‚Š¾ŠŗŠ¾Š»ŠøŃ€ŃƒŃŽŃ‚ŃŃ системой с Ń†ŠµŠ»ŃŒŃŽ Š¾Š±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŃ Š·Š»Š¾ŃƒŠæŠ¾Ń‚Ń€ŠµŠ±Š»ŠµŠ½ŠøŠ¹\&. -.PP -Š¢ŠµŠŗŃƒŃ‰ŠµŠµ Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ ŠæŠµŃ€ŠµŠ“Š°Ń‘Ń‚ŃŃ новой оболочке\&. Значение -\fB$PATH\fR -ŃŠ±Ń€Š°ŃŃ‹Š²Š°ŠµŃ‚ŃŃ в значение -/bin:/usr/bin -Š“Š»Ń обычных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ или в -/sbin:/bin:/usr/sbin:/usr/bin -Š“Š»Ń ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Эти Š·Š½Š°Ń‡ŠµŠ½ŠøŃ можно ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ в переменных -\fBENV_PATH\fR -Šø -\fBENV_SUPATH\fR -в файле -/etc/login\&.defs\&. -.PP -Š”ŃƒŠ±ŃŠøŃŃ‚ŠµŠ¼Š½Ń‹Š¹ вхоГ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ можно Ń€Š°ŃŠæŠ¾Š·Š½Š°Ń‚ŃŒ по Š½Š°Š»ŠøŃ‡ŠøŃŽ символа \(Fo*\(Fc в начале регистрационной оболочки\&. ЗаГанный Гомашний каталог Š±ŃƒŠ“ет использован как ŠŗŠ¾Ń€ŠµŠ½ŃŒ новой файловой системы, в которой Ń€ŠµŠ³ŠøŃŃ‚Ń€ŠøŃ€ŃƒŠµŃ‚ŃŃ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBsu\fR: -.PP -\fB\-c\fR, \fB\-\-command\fR\ \&\fIŠšŠžŠœŠŠŠ”Š\fR -.RS 4 -Š£ŠŗŠ°Š·Š°Ń‚ŃŒ команГу, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń Š±ŃƒŠ“ŠµŃ‚ Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° оболочкой в виГе параметра Š“Š»Ń -\fB\-c\fR\&. -.sp -The executed command will have no controlling terminal\&. This option cannot be used to execute interactive programs which need a controlling TTY\&. -.RE -.PP -\fB\-\fR, \fB\-l\fR, \fB\-\-login\fR -.RS 4 -ŠŸŃ€ŠµŠ“Š¾ŃŃ‚Š°Š²Š»ŃŠµŃ‚ Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ, как если бы ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ непосреГственно Ń€ŠµŠ³ŠøŃŃ‚Ń€ŠøŃ€Š¾Š²Š°Š»ŃŃ в системе\&. -.sp -When -\fB\-\fR -is used, it must be specified before any -\fBusername\fR\&. For portability it is recommended to use it as last option, before any -\fBusername\fR\&. The other forms (\fB\-l\fR -and -\fB\-\-login\fR) do not have this restriction\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fIŠžŠ‘ŠžŠ›ŠžŠ§ŠšŠ\fR -.RS 4 -ŠžŠ±Š¾Š»Š¾Ń‡ŠŗŠ°, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń Š±ŃƒŠ“ŠµŃ‚ Š·Š°ŠæŃƒŃ‰ŠµŠ½Š°\&. -.sp -Š—Š°ŠæŃƒŃ‰ŠµŠ½Š½Š°Ń оболочка Š²Ń‹Š±ŠøŃ€Š°ŠµŃ‚ся ŠøŠ· (в ŠæŠ¾Ń€ŃŠ“ŠŗŠµ ŃƒŠ±Ń‹Š²Š°Š½ŠøŃ приоритета): -.PP -.RS 4 -ŠžŠ±Š¾Š»Š¾Ń‡ŠŗŠ° ŃƒŠŗŠ°Š·Š°Š½Š½Š°Ń в параметре \-\-shell\&. -.RE -.PP -.RS 4 -Если ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся -\fB\-\-preserve\-environment\fR, то оболочка Š·Š°Š“Š°Ń‘Ń‚ŃŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fB$SHELL\fR\&. -.RE -.PP -.RS 4 -ŠžŠ±Š¾Š»Š¾Ń‡ŠŗŠ°, ŃƒŠŗŠ°Š·Š°Š½Š½Š°Ń в записи файла -/etc/passwd -Š“Š»Ń заГанного ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -.RS 4 -/bin/sh, если ни оГной оболочке не было найГено с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ метоГов, ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Ń… Š²Ń‹ŃˆŠµ\&. -.RE -.sp -Если заГанный ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ имеет Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ (то ŠµŃŃ‚ŃŒ оболочка в поле ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ¾Š¹ записи в файле -/etc/passwd -Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²ŃƒŠµŃ‚ в файле -/etc/shells), то параметр -\fB\-\-shell\fR -или ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fB$SHELL\fR -не Š±ŃƒŠ“ŃƒŃ‚ ŃƒŃ‡Ń‚ŠµŠ½Ń‹, если -\fBsu\fR -не была Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼\&. -.RE -.PP -\fB\-m\fR, \fB\-p\fR, \fB\-\-preserve\-environment\fR -.RS 4 -Š”Š¾Ń…Ń€Š°Š½ŠøŃ‚ŃŒ Ń‚ŠµŠŗŃƒŃ‰ŠµŠµ Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ за ŠøŃŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŠµŠ¼: -.PP -\fB$PATH\fR -.RS 4 -ŃŠ±Ń€Š°ŃŃ‹Š²Š°ŠµŃ‚ŃŃ в значение -\fBENV_PATH\fR -или -\fBENV_SUPATH\fR -(смотрите Галее) ŠøŠ· -/etc/login\&.defs; -.RE -.PP -\fB$IFS\fR -.RS 4 -ŃŠ±Ń€Š°ŃŃ‹Š²Š°ŠµŃ‚ŃŃ в значение -\(Fo\(Fc, если она ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°\&. -.RE -.sp -Если заГанный ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ имеет Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ, то ŃŃ‚Š¾Ń‚ параметр не сработает (если -\fBsu\fR -не Š·Š°ŠæŃƒŃŠŗŠ°ŠµŃ‚ся ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼)\&. -.sp -Заметим, что повеГение Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ таково: -.PP -.RS 4 -ŠŸŠµŃ€ŠµŠ¼ŠµŠ½Š½Ń‹Šµ Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$USER\fR, -\fB$LOGNAME\fR, -\fB$PATH\fR -Šø -\fB$IFS\fR -ŃŠ±Ń€Š°ŃŃ‹Š²Š°ŃŽŃ‚ŃŃ\&. -.RE -.PP -.RS 4 -Если параметр -\fB\-\-login\fR -не указан, то Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ ŠŗŠ¾ŠæŠøŃ€ŃƒŠµŃ‚ŃŃ, за ŠøŃŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŠµŠ¼ переменных, перечисленных Š²Ń‹ŃˆŠµ\&. -.RE -.PP -.RS 4 -Если параметр -\fB\-\-login\fR -указан, то переменные Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fB$TERM\fR, -\fB$COLORTERM\fR, -\fB$DISPLAY\fR -Šø -\fB$XAUTHORITY\fR -ŠŗŠ¾ŠæŠøŃ€ŃƒŃŽŃ‚ŃŃ (если они ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Ń‹)\&. -.RE -.PP -.RS 4 -Если параметр -\fB\-\-login\fR -указан, то переменные Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fB$TZ\fR, -\fB$HZ\fR -Šø -\fB$MAIL\fR -ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŃŽŃ‚ŃŃ согласно переменным файла -/etc/login\&.defs: -\fBENV_TZ\fR, -\fBENV_HZ\fR, -\fBMAIL_DIR\fR -Šø -\fBMAIL_FILE\fR -(смотрите Галее)\&. -.RE -.PP -.RS 4 -Если параметр -\fB\-\-login\fR -указан, то Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ переменные Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ Š¼Š¾Š³ŃƒŃ‚ Š±Ń‹Ń‚ŃŒ ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Ń‹ ŠøŠ· файла -\fBENVIRON_FILE\fR -(смотрите Галее)\&. -.RE -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -Š”Š°Š½Š½Š°Ń Š²ŠµŃ€ŃŠøŃ программы -\fBsu\fR -может Š±Ń‹Ń‚ŃŒ собрана с разными параметрами Šø Ń‚Š¾Š»ŃŒŠŗŠ¾ некоторые ŠøŠ· них ŃŠ¼Š¾Š³ŃƒŃ‚ Š±Ń‹Ń‚ŃŒ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½Ń‹ на Š»ŃŽŠ±Š¾Š¹ машине\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBCONSOLE\fR (строка) -.RS 4 -Если опреГелена, то значение равно или полному ŠæŃƒŃ‚Šø Šŗ Ń„Š°Š¹Š»Ńƒ с именами ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š² (оГно на ŃŃ‚Ń€Š¾ŠŗŃƒ), или списку имён ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š², перечисленных через \(Fo:\(Fc\&. ВхоГ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ Ń€Š°Š·Ń€ŠµŃˆŃ‘Š½ Ń‚Š¾Š»ŃŒŠŗŠ¾ с ŃŃ‚ŠøŃ… ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²\&. -.sp -Если не опреГелена, то ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может Š²Ń…Š¾Š“ŠøŃ‚ŃŒ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ с Š»ŃŽŠ±Š¾Š³Š¾ ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š°\&. -.sp -Устройства Голжны ŃƒŠŗŠ°Š·Ń‹Š²Š°Ń‚ŃŒŃŃ без Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Š³Š¾ префикса /dev/\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (строка) -.RS 4 -Дписок Š³Ń€ŃƒŠæŠæ Š“Š»Ń Š“Š¾Š±Š°Š²Š»ŠµŠ½ŠøŃ Šŗ Š½Š°Š±Š¾Ń€Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŃ… Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Ń… Š³Ń€ŃƒŠæŠæ при вхоГе с консоли (Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŠ¼Š¾Š¹ переменной CONSOLE)\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ не указана\&. - -Š˜ŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ осторожно \(em может Š“Š°Ń‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼ ŠæŠ¾ŃŃ‚Š¾ŃŠ½Š½Ń‹Š¹ Š“Š¾ŃŃ‚ŃƒŠæ Šŗ ŃŃ‚ŠøŠ¼ Š³Ń€ŃƒŠæŠæŠ°Š¼, Гаже если они не вхоГили с консоли\&. -.RE -.PP -\fBDEFAULT_HOME\fR (логический) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚, можно ли войти в ŃŠøŃŃ‚ŠµŠ¼Ńƒ, если Š½ŠµŠ»ŃŒŠ·Ń Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ cd в Гомашний каталог\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ \(Fono\(Fc\&. -.sp -Если равно -\fIyes\fR, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Š±ŃƒŠ“ŠµŃ‚ ŠæŠ¾ŠæŠ°Š“Š°Ń‚ŃŒ в корневой каталог (/), если невозможно Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ cd в его Гомашний каталог\&. -.RE -.PP -\fBENV_HZ\fR (строка) -.RS 4 -Если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°, то Š±ŃƒŠ“ет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ HZ при вхоГе ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в ŃŠøŃŃ‚ŠµŠ¼Ńƒ\&. Значение Голжно Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒŃŃ с -\fIHZ=\fR\&. ŠžŠ±Ń‹Ń‡Š½Š¾Šµ значение Š“Š»Ń Linux \(em -\fIHZ=100\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (строка) -.RS 4 -Если ŃŃ‚Š¾Ń‚ файл ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ Šø Š“Š¾ŃŃ‚ŃƒŠæ Š“Š»Ń Ń‡Ń‚ŠµŠ½ŠøŃ, то ŠøŠ· него читает регистрационное Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ\&. ŠšŠ°Š¶Š“Š°Ń строка Голжна ŠøŠ¼ŠµŃ‚ŃŒ формат: ŠøŠ¼Ń=значение\&. -.sp -Дтроки, Š½Š°Ń‡ŠøŠ½Š°ŃŽŃ‰ŠøŠµŃŃ с #, ŃŃ‡ŠøŃ‚Š°ŃŽŃ‚ŃŃ комментарием Šø ŠøŠ³Š½Š¾Ń€ŠøŃ€ŃƒŃŽŃ‚ŃŃ\&. -.RE -.PP -\fBENV_PATH\fR (строка) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (строка) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (строка) -.RS 4 -Если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°, то Š±ŃƒŠ“ет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ TZ при вхоГе ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Значение может Š±Ń‹Ń‚ŃŒ равно имени часового ŠæŠ¾ŃŃŠ°, Š½Š°Ń‡ŠøŠ½Š°ŃŽŃ‰ŠµŠ³Š¾ŃŃ -\fITZ=\fR -(например, -\fITZ=CST6CDT\fR), или полному ŠæŃƒŃ‚Šø Šŗ Ń„Š°Š¹Š»Ńƒ с параметрами часового ŠæŠ¾ŃŃŠ° (например, -/etc/tzname)\&. -.sp -Если указан полный ŠæŃƒŃ‚ŃŒ, но файл не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ или Š½ŠµŠ“Š¾ŃŃ‚ŃƒŠæŠµŠ½ Š“Š»Ń Ń‡Ń‚ŠµŠ½ŠøŃ, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ: -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBLOGIN_STRING\fR (строка) -.RS 4 -Дтрока\-ŠæŃ€ŠøŠ³Š»Š°ŃˆŠµŠ½ŠøŠµ Šŗ ввоГу ŠæŠ°Ń€Š¾Š»Ń\&. Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ: \(FoPassword:\(Fc или перевоГ ŃŃ‚Š¾Š¹ строки на разные ŃŠ·Ń‹ŠŗŠø\&. Если вы измените эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, то перевоГ Š±ŃƒŠ“ŠµŃ‚ Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ\&. -.sp -Если в строке ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ поГстрока -\fI%s\fR, то она Š±ŃƒŠ“ет заменена на ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŠæŃ€Š¾Š²ŠµŃ€ŠŗŃƒ Šø показ ŃŠ¾ŃŃ‚Š¾ŃŠ½ŠøŃ почтового ŃŃ‰ŠøŠŗŠ° при вхоГе\&. -.sp -Š’Ń‹ Голжны Š²Ń‹ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ ŃŃ‚Š¾, если почтовый ŃŃ‰ŠøŠŗ ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ŃŃ ŠøŠ· файлов Š°Š²Ń‚Š¾Š·Š°ŠæŃƒŃŠŗŠ° оболочки (\(Fomailx \-e\(Fc или похожей команГой)\&. -.RE -.PP -\fBMAIL_DIR\fR (строка) -.RS 4 -ŠŸŠ¾Ń‡Ń‚Š¾Š²Ń‹Š¹ каталог\&. Данный параметр нужен Š“Š»Ń ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ почтовым ŃŃ‰ŠøŠŗŠ¾Š¼ при изменении или уГалении ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Если параметр не заГан, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение указанное при сборке\&. -.RE -.PP -\fBMAIL_FILE\fR (строка) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ расположение почтовых файлов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š¾Ń‚Š½Š¾ŃŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ Гомашнего каталога\&. -.RE -.PP -ŠŸŠµŃ€ŠµŠ¼ŠµŠ½Š½Ń‹Šµ -\fBMAIL_DIR\fR -Šø -\fBMAIL_FILE\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ŃŃ команГами -\fBuseradd\fR, -\fBusermod\fR -Šø -\fBuserdel\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ, ŠæŠµŃ€ŠµŠ¼ŠµŃ‰ŠµŠ½ŠøŃ или ŃƒŠ“Š°Š»ŠµŠ½ŠøŃ почты ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.PP -Если значение -\fBMAIL_CHECK_ENAB\fR -равно -\fIyes\fR, то они также ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ся Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fBMAIL\fR\&. -.PP -\fBQUOTAS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŃƒ ограничений Ń€ŠµŃŃƒŃ€ŃŠ¾Š² ŠøŠ· -/etc/limits -Šø ulimit, umask Šø niceness ŠøŠ· ŠæŠ¾Š»Ń gecos файла passwd\&. -.RE -.PP -\fBSULOG_FILE\fR (строка) -.RS 4 -Если опреГелена, то Š»ŃŽŠ±Š°Ń Š°ŠŗŃ‚ŠøŠ²Š½Š¾ŃŃ‚ŃŒ su Š±ŃƒŠ“ŠµŃ‚ ŠæŃ€Š¾Ń‚Š¾ŠŗŠ¾Š»ŠøŃ€Š¾Š²Š°Ń‚ŃŒŃŃ в ŃŃ‚Š¾Ń‚ файл\&. -.RE -.PP -\fBSU_NAME\fR (строка) -.RS 4 -Если опреГелена, то Š²Ń‹Š²Š¾Š“ŠøŃ‚ŃŃ ŠøŠ¼Ń команГы когГа работает \(Fosu \-\(Fc\&. ŠŠ°ŠæŃ€ŠøŠ¼ŠµŃ€, если значение равно \(Fosu\(Fc, то \(Fops\(Fc покажет команГу как \(Fo\-su\(Fc\&. Если не опреГелена, то \(Fops\(Fc покажет ŠøŠ¼Ń запускаемой оболочки например как \(Fo\-sh\(Fc\&. -.RE -.PP -\fBSU_WHEEL_ONLY\fR (логический) -.RS 4 -Если равна -\fIyes\fR, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Голжен Š±Ń‹Ń‚ŃŒ членом первой Š³Ń€ŃƒŠæŠæŃ‹ с gid 0 в файле -/etc/group -(в Š±Š¾Š»ŃŒŃˆŠøŠ½ŃŃ‚ве систем Linux Š½Š°Š·Ń‹Š²Š°ŠµŃ‚ŃŃ -\fIroot\fR), чтобы ŠøŠ¼ŠµŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š·Š°ŠæŃƒŃŠŗŠ°Ń‚ŃŒ -\fBsu\fR -Š“Š»Ń ŠæŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŃ uid 0\&. Если Š³Ń€ŃƒŠæŠæŠ° не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚, или ŠæŃƒŃŃ‚а, то никто не сможет ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ uid 0 с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ -\fBsu\fR\&. -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование \(Fosyslog\(Fc Гействий -\fBsu\fR -\(em Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ Šŗ ŠæŃ€Š¾Ń‚Š¾ŠŗŠ¾Š»ŠøŃ€Š¾Š²Š°Š½ŠøŃŽ в файле sulog\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŃƒ Š³Ń€ŃƒŠæŠæŃ‹ битов umask равной битам Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Š° (пример: 022 \-> 002, 077 \-> 007) Š“Š»Ń не ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, если uid равен gid Šø ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń совпаГает с именем первичной Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если значение равно -\fIyes\fR, то -\fBuserdel\fR -ŃƒŠ“Š°Š»ŃŠµŃ‚ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ, если в ней нет больше членов, а -\fBuseradd\fR -по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ созГаёт Š³Ń€ŃƒŠæŠæŃƒ с именем ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.SH "Š’ŠžŠ—Š’Š ŠŠ©ŠŠ•ŠœŠ«Š• Š—ŠŠŠ§Š•ŠŠ˜ŠÆ" -.PP -ŠŸŃ€Šø успешном выполнении -\fBsu\fR -возвращает коГ выхоГа команГы, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń была выполнена\&. -.PP -Если выполнение команГы Š·Š°Š²ŠµŃ€ŃˆŠøŠ»Š¾ŃŃŒ по сигналу, то -\fBsu\fR -возвращает номер ŃŃ‚Š¾Š³Š¾ сигнала ŠæŠ»ŃŽŃ 128\&. -.PP -Если su Š·Š°Š²ŠµŃ€ŃˆŠøŠ»Š° команГу (так как был запрос ŃŠ“ŠµŠ»Š°Ń‚ŃŒ ŃŃ‚Š¾ Šø команГа не Š·Š°Š²ŠµŃ€ŃˆŠøŠ»Š°ŃŃŒ в положенное Š²Ń€ŠµŠ¼Ń), то -\fBsu\fR -Š·Š°Š²ŠµŃ€ŃˆŠ°ŠµŃ‚ŃŃ с коГом 255\&. -.PP -ŠŠµŠŗŠ¾Ń‚Š¾Ń€Ń‹Šµ коГы выхоГа -\fBsu\fR -не Š·Š°Š²ŠøŃŃŃ‚ от запускаемой команГы: -.PP -\fI0\fR -.RS 4 -Успешно (Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š»Ń -\fB\-\-help\fR) -.RE -.PP -\fI1\fR -.RS 4 -Дбой Š°ŃƒŃ‚ентификации или системы -.RE -.PP -\fI126\fR -.RS 4 -Š—Š°ŠæŃ€Š¾ŃˆŠµŠ½Š½Š°Ń команГа не найГена -.RE -.PP -\fI127\fR -.RS 4 -Š—Š°ŠæŃ€Š¾ŃˆŠµŠ½Š½Š°Ń команГа не может Š±Ń‹Ń‚ŃŒ выполнена -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBlogin\fR(1), -\fBlogin.defs\fR(5), -\fBsg\fR(1), -\fBsh\fR(1)\&. diff --git a/man/ru/man3/getspnam.3 b/man/ru/man3/getspnam.3 deleted file mode 100644 index cd473da3..00000000 --- a/man/ru/man3/getspnam.3 +++ /dev/null @@ -1 +0,0 @@ -.so man3/shadow.3 diff --git a/man/ru/man3/shadow.3 b/man/ru/man3/shadow.3 deleted file mode 100644 index a63a51d6..00000000 --- a/man/ru/man3/shadow.3 +++ /dev/null @@ -1,242 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Библиотечные Ń„ŃƒŠ½ŠŗŃ†ŠøŠø -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "shadow" "3" "09/18/2016" "shadow\-utils 4\&.4" "Библиотечные Ń„ŃƒŠ½ŠŗŃ†ŠøŠø" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -shadow, getspnam \- ŠæŃ€Š¾Ń†ŠµŠ“ŃƒŃ€Ń‹ Š“Š»Ń работы с файлом ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Ń… паролей -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.PP -\fI#include \fR -.PP -\fIstruct spwd *getspent();\fR -.PP -\fIstruct spwd *getspnam(char\fR -\fI*name\fR\fI);\fR -.PP -\fIvoid setspent();\fR -.PP -\fIvoid endspent();\fR -.PP -\fIstruct spwd *fgetspent(FILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIstruct spwd *sgetspent(char\fR -\fI*cp\fR\fI);\fR -.PP -\fIint putspent(struct spwd\fR -\fI*p,\fR -\fIФАЙЛ\fR -\fI*fp\fR\fI);\fR -.PP -\fIint lckpwdf();\fR -.PP -\fIint ulckpwdf();\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -\fIshadow\fR -ŃƒŠæŃ€Š°Š²Š»ŃŠµŃ‚ соГержимым файла теневых паролей, -/etc/shadow\&. Š”Ń‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Š° в файле -\fI#include\fR: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct spwd { - char *sp_namp; /* ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń */ - char *sp_pwdp; /* ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ */ - long int sp_lstchg; /* Гата послеГней смены ŠæŠ°Ń€Š¾Š»Ń */ - long int sp_min; /* Гней Голжно пройти межГу сменами ŠæŠ°Ń€Š¾Š»Ń\&. */ - long int sp_max; /* Гней переГ Š½ŠµŠ¾Š±Ń…Š¾Š“ŠøŠ¼Š¾ŃŃ‚ŃŒŃŽ смены ŠæŠ°Ń€Š¾Š»Ń */ - long int sp_warn; /* Гней вывоГа ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø */ - long int sp_inact; /* Гней переГ тем как ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š·Š°Š±Š»Š¾ŠŗŠøŃ€ŃƒŠµŃ‚ŃŃ */ - long int sp_expire; /* Гата ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи */ - unsigned long int sp_flag; /* зарезервировано */ -} -.fi -.if n \{\ -.RE -.\} -.PP -Значение кажГого ŠæŠ¾Š»Ń: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_namp \- ŃƒŠŗŠ°Š·Š°Ń‚ŠµŠ»ŃŒ на ŃŃ‚Ń€Š¾ŠŗŃƒ с именем ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, Š·Š°Š²ŠµŃ€ŃˆŠ°ŃŽŃ‰ŃƒŃŽŃŃ Š½ŃƒŠ»ŠµŠ²Ń‹Š¼ символом -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_pwdp \- ŃƒŠŗŠ°Š·Š°Ń‚ŠµŠ»ŃŒ на ŃŃ‚Ń€Š¾ŠŗŃƒ с паролем, Š·Š°Š²ŠµŃ€ŃˆŠ°ŃŽŃ‰ŃƒŃŽŃŃ Š½ŃƒŠ»ŠµŠ²Ń‹Š¼ символом -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_lstchg \- количество Гней, когГа был изменён ŠæŠ°Ń€Š¾Š»ŃŒ послеГний раз, Š½Š°Ń‡ŠøŠ½Š°Ń с 1 ŃŠ½Š²Š°Ń€Ń 1970 гоГа -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_min \- количество Гней, когГа можно не Š¼ŠµŠ½ŃŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_max \- количество Гней, которое Голжно пройти, чтобы нужно было ŠæŠ¾Š¼ŠµŠ½ŃŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_warn \- количество Гней, когГа Š±ŃƒŠ“ет Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ о скором ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń переГ тем как ŠæŠ°Ń€Š¾Š»ŃŒ ŃƒŃŃ‚Š°Ń€ŠµŠµŃ‚ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_inact \- количество Гней, которые Голжны пройти после ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń, когГа Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒ ŃŃ‡ŠøŃ‚Š°Ń‚ŃŒ, что ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись неактивна Šø заблокирована -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_expire \- Гней, после которых ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š±ŃƒŠ“ŠµŃ‚ заблокирована, Š½Š°Ń‡ŠøŠ½Š°Ń с 1 ŃŠ½Š²Š°Ń€Ń 1970 гоГа -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_flag \- зарезервировано -.RE -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Š¤ŃƒŠ½ŠŗŃ†ŠøŠø -\fIgetspent\fR, -\fIgetspname\fR, -\fIfgetspent\fR -Šø -\fIsgetspent\fR -Š²Š¾Š·Š²Ń€Š°Ń‰Š°ŃŽŃ‚ ŃƒŠŗŠ°Š·Š°Ń‚ŠµŠ»ŃŒ на ŃŃ‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Ńƒ -\fIstruct spwd\fR\&. -\fIgetspent\fR -возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŃƒŃŽ запись ŠøŠ· файла, а -\fIfgetspent\fR -возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŃƒŃŽ запись ŠøŠ· заГанного канала, ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°Ń, что ŃŃ‚Š¾ файл ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Š³Š¾ формата\&.\fIsgetspent\fR -возвращает ŃƒŠŗŠ°Š·Š°Ń‚ŠµŠ»ŃŒ на -\fIstruct spwd\fR, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃ ŠæŃ€ŠµŠ“Š¾ŃŃ‚Š°Š²Š»ŠµŠ½Š½ŃƒŃŽ ŃŃ‚Ń€Š¾ŠŗŃƒ в качестве Š²Ń…Š¾Š“ŃŃ‰ŠøŃ… Ганных\&. -\fIgetspnam\fR -ищет Š½Š°Ń‡ŠøŠ½Š°Ń с Ń‚ŠµŠŗŃƒŃ‰ŠµŠ¹ позиции в файле запись по имени -\fIname\fR\&. -.PP -Š¤ŃƒŠ½ŠŗŃ†ŠøŠø -\fIsetspent\fR -Šø -\fIendspent\fR -можно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Š“Š»Ń ŠæŠµŃ€ŠµŠ¼ŠµŃ‰ŠµŠ½ŠøŃ в начало Šø конец файла теневых паролей соответственно\&. -.PP -Š¤ŃƒŠ½ŠŗŃ†ŠøŠø -\fIlckpwdf\fR -Šø -\fIulckpwdf\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ŃŃ Š“Š»Ń ŠæŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŃ монопольного Š“Š¾ŃŃ‚ŃƒŠæŠ° Šŗ Ń„Š°Š¹Š»Ńƒ -/etc/shadow\&. -\fIlckpwdf\fR -ŠæŃ‹Ń‚Š°ŠµŃ‚ŃŃ Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ Š±Š»Š¾ŠŗŠøŃ€Š¾Š²ŠŗŃƒ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ -\fIpw_lock\fR -в течении 15 секунГ\&. Далее Š²Ń‹ŠæŠ¾Š»Š½ŃŠµŃ‚ся попытка ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ Š²Ń‚Š¾Ń€ŃƒŃŽ Š±Š»Š¾ŠŗŠøŃ€Š¾Š²ŠŗŃƒ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ -\fIspw_lock\fR -в течении времени Š¾ŃŃ‚Š°Š²ŃˆŠµŠ³Š¾ŃŃ от ŠæŠµŃ€Š²Š¾Š½Š°Ń‡Š°Š»ŃŒŠ½Ń‹Ń… 15 секунГ\&. ŠŸŃ€Šø Š½ŠµŃƒŠ“Š°Ń‡Šµ в Š»ŃŽŠ±Š¾Š¹ ŠøŠ· блокировок в течении 15 секунГ, Ń„ŃƒŠ½ŠŗŃ†ŠøŃ -\fIlckpwdf\fR -возвращает \-1\&. Если обе блокировки ŠæŃ€Š¾ŃˆŠ»Šø успешно Š²Š¾Š·Š²Ń€Š°Ń‰Š°ŠµŃ‚ся 0\&. -.SH "Š”Š˜ŠŠ“ŠŠžŠ”Š¢Š˜ŠšŠ" -.PP -Š¤ŃƒŠ½ŠŗŃ†ŠøŠø Š²Š¾Š·Š²Ń€Š°Ń‰Š°ŃŽŃ‚ NULL, если все записи ŠŗŠ¾Š½Ń‡ŠøŠ»ŠøŃŃŒ или ŠæŃ€Š¾ŠøŠ·Š¾ŃˆŠ»Š° ошибка во Š²Ń€ŠµŠ¼Ń работы\&. Š¤ŃƒŠ½ŠŗŃ†ŠøŠø, Š²Š¾Š·Š²Ń€Š°Ń‰Š°ŃŽŃ‰ŠøŠµ -\fIint\fR, Š²Š¾Š·Š²Ń€Š°Ń‰Š°ŃŽŃ‚ 0 при успешном выполнении Šø \-1 в ŃŠ»ŃƒŃ‡Š°Šµ Š½ŠµŃƒŠ“Š°Ń‡Šø\&. -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -Данные Ń„ŃƒŠ½ŠŗŃ†ŠøŠø Š¼Š¾Š³ŃƒŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ Ń‚Š¾Š»ŃŒŠŗŠ¾ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼, так как Š“Š¾ŃŃ‚ŃƒŠæ Šŗ Ń„Š°Š¹Š»Ńƒ теневых паролей ограничен\&. -.SH "ФАЙЛЫ" -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBgetpwent\fR(3), -\fBshadow\fR(5)\&. diff --git a/man/ru/man5/faillog.5 b/man/ru/man5/faillog.5 deleted file mode 100644 index 1fee50fa..00000000 --- a/man/ru/man5/faillog.5 +++ /dev/null @@ -1,65 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Форматы файлов -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "faillog" "5" "09/18/2016" "shadow\-utils 4\&.4" "Форматы файлов" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -faillog \- файл протокола Š½ŠµŃƒŠ“ачных попыток вхоГа в ŃŠøŃŃ‚ŠµŠ¼Ńƒ -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Š’ файле -/var/log/faillog -ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŃ счётчики Š½ŠµŃƒŠ“ачных попыток вхоГа Šø Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Š“Š»Ń кажГой ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. -.PP -Этот файл состоит ŠøŠ· записей ŠæŠ¾ŃŃ‚Š¾ŃŠ½Š½Š¾Š¹ Глины, ŃƒŠæŠ¾Ń€ŃŠ“Š¾Ń‡ŠµŠ½Š½Ń‹Ń… по Ń‡ŠøŃŠ»Š¾Š²Š¾Š¼Ńƒ ŠøŠ“ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń‚Š¾Ń€Ńƒ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. ŠšŠ°Š¶Š“Š°Ń запись соГержит количество Š½ŠµŃƒŠ“ачных попыток вхоГа с момента послеГнего успешного вхоГа в ŃŠøŃŃ‚ŠµŠ¼Ńƒ, максимальное количество Š½ŠµŃƒŠ“ачных попыток переГ тем как ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š±ŃƒŠ“ŠµŃ‚ заблокирована, терминал, с которого Š¾ŃŃƒŃ‰ŠµŃŃ‚Š²Š»ŃŠ»Š°ŃŃŒ ŠæŠ¾ŃŠ»ŠµŠ“Š½ŃŃ Š½ŠµŃƒŠ“Š°Ń‡Š½Š°Ń попытка вхоГа, Š“Š°Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŃŠ¾Š±Ń‹Ń‚ŠøŃ Šø интервал (в ŃŠµŠŗŃƒŠ½Š“Š°Ń…) на сколько ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š±ŃƒŠ“ŠµŃ‚ заблокирована в ŃŠ»ŃƒŃ‡Š°Šµ Š½ŠµŃƒŠ“Š°Ń‡Š½Š¾Š¹ попытки\&. -.PP -Š”Ń‚Ń€ŃƒŠŗŃ‚ŃƒŃ€Š° файла: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct faillog { - short fail_cnt; - short fail_max; - char fail_line[12]; - time_t fail_time; - long fail_locktime; -}; -.fi -.if n \{\ -.RE -.\} -.SH "ФАЙЛЫ" -.PP -/var/log/faillog -.RS 4 -Š¶ŃƒŃ€Š½Š°Š» Š½ŠµŃƒŠ“Š°Š²ŃˆŠøŃ…ŃŃ попыток вхоГа в ŃŠøŃŃ‚ŠµŠ¼Ńƒ -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBfaillog\fR(8) diff --git a/man/ru/man5/gshadow.5 b/man/ru/man5/gshadow.5 deleted file mode 100644 index 303816b7..00000000 --- a/man/ru/man5/gshadow.5 +++ /dev/null @@ -1,101 +0,0 @@ -'\" t -.\" Title: gshadow -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Форматы файлов -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "gshadow" "5" "09/18/2016" "shadow\-utils 4\&.4" "Форматы файлов" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -gshadow \- файл с защищаемой информацией о Š³Ń€ŃƒŠæŠæŠ°Ń… -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Файл -/etc/gshadow -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń…\&. -.PP -Этот файл Голжен Š±Ń‹Ń‚ŃŒ Š½ŠµŠ“Š¾ŃŃ‚ŃƒŠæŠµŠ½ Š¾Š±Ń‹Ń‡Š½Š¾Š¼Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ, если нужно Š¾Š±ŠµŃŠæŠµŃ‡ŠøŃ‚ŃŒ Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ паролей\&. -.PP -ŠšŠ°Š¶Š“Š°Ń строка файла соГержит ŠæŠ¾Š»Ń, отГелёнными Š“Ń€ŃƒŠ³ от Š“Ń€ŃƒŠ³Š° Гвоеточием: -.PP -\fBŠøŠ¼Ń Š³Ń€ŃƒŠæŠæŃ‹\fR -.RS 4 -Должно ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒ ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Šµ ŠøŠ¼Ń Š³Ń€ŃƒŠæŠæŃ‹, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ в системе\&. -.RE -.PP -\fBŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ\fR -.RS 4 -ŠŸŠ¾Š“Ń€Š¾Š±Š½ŠµŠ¹ о пароле смотрите в справочной странице -\fBcrypt\fR(3)\&. -.sp -Если поле ŠæŠ°Ń€Š¾Š»Ń соГержит ŃŃ‚Ń€Š¾ŠŗŃƒ, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń не ŃƒŠ“Š¾Š²Š»ŠµŃ‚Š²Š¾Ń€ŃŠµŃ‚ Ń‚Ń€ŠµŠ±Š¾Š²Š°Š½ŠøŃŠ¼ -\fBcrypt\fR(3), например соГержит ! или *, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ не сможет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ unix Š“Š»Ń Š“Š¾ŃŃ‚ŃƒŠæŠ° в Š³Ń€ŃƒŠæŠæŃƒ (а Ń‡Š»ŠµŠ½Ńƒ Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ°Ń€Š¾Š»ŃŒ не нужен)\&. -.sp -The password is used when a user who is not a member of the group wants to gain the permissions of this group (see -\fBnewgrp\fR(1))\&. -.sp -Это поле может Š±Ń‹Ń‚ŃŒ ŠæŃƒŃŃ‚Ń‹Š¼; в ŃŃ‚Š¾Š¼ ŃŠ»ŃƒŃ‡Š°Šµ Ń‚Š¾Š»ŃŒŠŗŠ¾ члены Š³Ń€ŃƒŠæŠæŃ‹ Š¼Š¾Š³ŃƒŃ‚ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ правами Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.sp -Данный ŠæŠ°Ń€Š¾Š»ŃŒ Š·Š°Š¼ŠµŠ½ŃŠµŃ‚ Š»ŃŽŠ±Š¾Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ, ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¹ в файле -/etc/group\&. -.RE -.PP -\fBаГминистраторы\fR -.RS 4 -Дписок имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, перечисленных через Š·Š°ŠæŃŃ‚ŃƒŃŽ\&. -.sp -АГминистраторы Š¼Š¾Š³ŃƒŃ‚ Š¼ŠµŠ½ŃŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ или членство в Š³Ń€ŃƒŠæŠæŠµ\&. -.sp -АГминистраторы также ŠøŠ¼ŠµŃŽŃ‚ те же права, что Šø члены Š³Ń€ŃƒŠæŠæŃ‹ (смотрите Галее)\&. -.RE -.PP -\fBчлены\fR -.RS 4 -Дписок имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, перечисленных через Š·Š°ŠæŃŃ‚ŃƒŃŽ\&. -.sp -Члены Š¼Š¾Š³ŃƒŃ‚ ŠøŠ¼ŠµŃ‚ŃŒ Š“Š¾ŃŃ‚ŃƒŠæ Šŗ Š³Ń€ŃƒŠæŠæŠµ без ввоГа ŠæŠ°Ń€Š¾Š»Ń\&. -.sp -Š’Ń‹ Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ тот же список ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ что Šø в -/etc/group\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBgpasswd\fR(5), -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBgrpconv\fR(8), -\fBnewgrp\fR(1)\&. diff --git a/man/ru/man5/limits.5 b/man/ru/man5/limits.5 deleted file mode 100644 index 26948c0f..00000000 --- a/man/ru/man5/limits.5 +++ /dev/null @@ -1,274 +0,0 @@ -'\" t -.\" Title: limits -.\" Author: Luca Berra -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Форматы файлов -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "limits" "5" "09/18/2016" "shadow\-utils 4\&.4" "Форматы файлов" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -limits \- файл ŠŗŠ¾Š½Ń‚Ń€Š¾Š»Ń Ń€ŠµŃŃƒŃ€ŃŠ¾Š² -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Š’ файле -\fIlimits\fR -(по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ -/etc/limits -или Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ значением LIMITS_FILE в файле -config\&.h) Š¾ŠæŠøŃŃ‹Š²Š°ŃŽŃ‚ŃŃ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ, которые можно ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ\&. Этот файл Голжен ŠæŃ€ŠøŠ½Š°Š“Š»ŠµŠ¶Š°Ń‚ŃŒ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ Šø право на чтение Голжно Š±Ń‹Ń‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ у ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.PP -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись \(Foroot\(Fc ничем не ограничена\&. Фактически, никак Š½ŠµŠ»ŃŒŠ·Ń ŃƒŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ ŃŃ‚Š¾Š¹ ŠæŃ€Š¾Ń†ŠµŠ“ŃƒŃ€Ń‹ на ŃƒŃ‡Ń‘Ń‚Š½Ń‹Šµ записи, ŠøŠ¼ŠµŃŽŃ‰ŠøŠµ права ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń (ŃƒŃ‡Ń‘Ń‚Š½Ń‹Šµ записи с UID равным 0)\&. -.PP -ŠšŠ°Š¶Š“Š°Ń строка описывает ограничение Š“Š»Ń оГного ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń имеет виГ: -.PP -\fIuser Š”Š¢Š ŠžŠšŠ_ŠžŠ“Š ŠŠŠ˜Š§Š•ŠŠ˜Š™\fR -.PP -или в виГе: -.PP -\fI@group Š”Š¢Š ŠžŠšŠ_ŠžŠ“Š ŠŠŠ˜Š§Š•ŠŠ˜Š™\fR -.PP -\fIŠ”Š¢Š ŠžŠšŠ_ŠžŠ“Š ŠŠŠ˜Š§Š•ŠŠ˜Š™\fR -\(em ŃŃ‚Š¾ строка, в которой ŃƒŠŗŠ°Š·Š°Š½Ń‹ ŃŃ€Š°Š·Ńƒ несколько ограничений\&. КажГое ограничение состоит ŠøŠ· буквенного иГентификатора Šø числового Š·Š½Š°Ń‡ŠµŠ½ŠøŃ\&. -.PP -Š”Š¾ŠæŃƒŃŃ‚ŠøŠ¼Ń‹Šµ иГентификаторы: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -A: максимальное аГресное пространство (ŠšŠ‘) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -C: Š¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ размер файла core (ŠšŠ‘) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -D: Š¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ размер Ганных (ŠšŠ‘) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -F: maximum file size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -K: маска созГаваемых файлов, ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŠµŃ‚ŃŃ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ вызова -\fBumask\fR(2)\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -I: максимальное значение ŃƒŃŃ‚ŃƒŠæŃ‡ŠøŠ²Š¾ŃŃ‚Šø (nice) (0\&.\&.39, ŠæŃ€ŠµŠ¾Š±Ń€Š°Š·ŃƒŠµŠ¼Ń‹Šµ в 20\&.\&.\-19) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -L: максимальное число возможных регистраций в системе ŃŃ‚Š¾Š³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -M: максимальное ŃŠøŠ½Ń…Ń€Š¾Š½ŠøŠ·ŠøŃ€ŃƒŠµŠ¼Š¾Šµ аГресное пространство ŠæŠ°Š¼ŃŃ‚Šø (ŠšŠ‘) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -N: максимальное число открытых файлов -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -O: Š¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ приоритет Ń€ŠµŠ°Š»ŃŒŠ½Š¾Š³Š¾ времени -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -P: приоритет процесса, ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŠµŃ‚ŃŃ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ вызова -\fBsetpriority\fR(2)\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -R: Š¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ размер резиГентного сегмента (ŠšŠ‘) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -S: Š¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ размер стека (ŠšŠ‘) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -T: максимальное Š²Ń€ŠµŠ¼Ń ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ процессора (Š¼ŠøŠ½ŃƒŃ‚) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -U: максимальное число процессов -.RE -.PP -ŠŠ°ŠæŃ€ŠøŠ¼ŠµŃ€, значение -\fIL2D2048N5\fR -Š“Š¾ŠæŃƒŃŃ‚ŠøŠ¼Š¾ Š“Š»Ń -\fIŠ”Š¢Š ŠžŠšŠ˜_ŠžŠ“Š ŠŠŠ˜Š§Š•ŠŠ˜Š™\fR\&. Š”Š»Ń ŃƒŠ“Š¾Š±ŃŃ‚Š²Š° Ń‡Ń‚ŠµŠ½ŠøŃ, ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ записи ŃŠŗŠ²ŠøŠ²Š°Š»ŠµŠ½Ń‚Š½Ń‹: -.sp -.if n \{\ -.RS 4 -.\} -.nf - username L2D2048N5 - username L2 D2048 N5 - -.fi -.if n \{\ -.RE -.\} -.PP -Be aware that after -\fIusername\fR -the rest of the line is considered a limit string, thus comments are not allowed\&. An invalid limits string will be rejected (not considered) by the -\fBlogin\fR -program\&. -.PP -Š—Š°ŠæŠøŃŃŒ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š²Ń‹Š³Š»ŃŠ“ŠøŃ‚ как username "\fI*\fR"\&. Если у вас ŠµŃŃ‚ŃŒ несколько записей -\fIпо ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\fR -в файле -\fILIMITS_FILE\fR, то Š±ŃƒŠ“ет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ ŠæŠ¾ŃŠ»ŠµŠ“Š½ŃŃ\&. -.PP -ŠžŠ³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ, заГаваемые в виГе \(Fo\fI@group\fR\(Fc, ŠæŃ€ŠøŠ¼ŠµŠ½ŃŃŽŃ‚ŃŃ Šŗ членам указанной Š³Ń€ŃƒŠæŠæŃ‹ -\fIgroup\fR\&. -.PP -If more than one line with limits for a user exist, only the first line for this user will be considered\&. -.PP -If no lines are specified for a user, the last -\fI@group\fR -line matching a group whose the user is a member of will be considered, or the last line with default limits if no groups contain the user\&. -.PP -Чтобы ŠæŠ¾Š»Š½Š¾ŃŃ‚ŃŒŃŽ ŃŠ½ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ с ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ оГиночное тире \(Fo\fI\-\fR\(Fc\&. -.PP -Чтобы ŃŠ½ŃŃ‚ŃŒ ограничение с ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, вместо числового Š·Š½Š°Ń‡ŠµŠ½ŠøŃ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ можно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ оГиночное тире \(Fo\fI\-\fR\(Fc\&. -.PP -Также Š·Š°Š¼ŠµŃ‚ŃŒŃ‚Šµ, что все настройки ограничений Š“ŠµŠ»Š°ŃŽŃ‚ŃŃ ДЛЯ ŠšŠžŠŠšŠ Š•Š¢ŠŠžŠ™ Š£Š§ŠŠ¢ŠŠžŠ™ Š—ŠŠŸŠ˜Š”Š˜\&. ŠžŠ½Šø не ŃŠ²Š»ŃŃŽŃ‚ŃŃ Š³Š»Š¾Š±Š°Š»ŃŒŠ½Ń‹Š¼Šø Šø не ŠæŠ¾ŃŃ‚Š¾ŃŠ½Š½Ń‹\&. Возможно Š³Š»Š¾Š±Š°Š»ŃŒŠ½Ń‹Šµ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Šø ŠæŠ¾ŃŠ²ŃŃ‚ŃŃ, но пока ŃŃ‚Š¾ Ń‚Š¾Š»ŃŒŠŗŠ¾ в планах ;) -.SH "ФАЙЛЫ" -.PP -/etc/limits -.RS 4 -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBlogin\fR(1), -\fBsetpriority\fR(2), -\fBsetrlimit\fR(2)\&. diff --git a/man/ru/man5/login.access.5 b/man/ru/man5/login.access.5 deleted file mode 100644 index d977df85..00000000 --- a/man/ru/man5/login.access.5 +++ /dev/null @@ -1,67 +0,0 @@ -'\" t -.\" Title: login.access -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Форматы файлов -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "login\&.access" "5" "09/18/2016" "shadow\-utils 4\&.4" "Форматы файлов" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -login.access \- файл ŠŗŠ¾Š½Ń‚Ń€Š¾Š»Ń Š“Š¾ŃŃ‚ŃƒŠæŠ° в ŃŠøŃŃ‚ŠµŠ¼Ńƒ -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Š’ файле -\fIlogin\&.access\fR -Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŃŽŃ‚ŃŃ комбинации (ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ, узел) Šø/или (ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ, терминал), которым Š±ŃƒŠ“ет Ń€Š°Š·Ń€ŠµŃˆŃ‘Š½ или запрещён вхоГ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ\&. -.PP -КогГа кто\-то ŠæŃ‹Ń‚Š°ŠµŃ‚ŃŃ войти в ŃŠøŃŃ‚ŠµŠ¼Ńƒ Š²Ń‹ŠæŠ¾Š»Š½ŃŠµŃ‚ŃŃ сканирование файла -\fIlogin\&.access\fR -в поисках первой ŃŠ¾Š²ŠæŠ°Š“Š°ŃŽŃ‰ŠµŠ¹ записи (ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ, узел), или в ŃŠ»ŃƒŃ‡Š°Šµ не сетевого вхоГа, первой ŃŠ¾Š²ŠæŠ°Š“Š°ŃŽŃ‰ŠµŠ¹ записи (ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ, терминал)\&. Из найГенной записи Š²Ń‹Š±ŠøŃ€Š°ŠµŃ‚ся поле прав Š“Š¾ŃŃ‚ŃƒŠæŠ°, по ŠŗŠ¾Ń‚Š¾Ń€Š¾Š¼Ńƒ Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ Ń€Š°Š·Ń€ŠµŃˆŠ°Ń‚ŃŒ ли Ганной ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи вхоГ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ или нет\&. -.PP -ŠšŠ°Š¶Š“Š°Ń строка таблицы ŠŗŠ¾Š½Ń‚Ń€Š¾Š»Ń Š“Š¾ŃŃ‚ŃƒŠæŠ° в ŃŠøŃŃ‚ŠµŠ¼Ńƒ состоит ŠøŠ· трёх полей разГелённых символом \(Fo:\(Fc Šø Š²Ń‹Š³Š»ŃŠ“ŠøŃ‚ так: -.PP -\fIправа_Š“Š¾ŃŃ‚ŃƒŠæŠ°\fR:\fIŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šø\fR:\fIисточники\fR -.PP -ŠŸŠµŃ€Š²Š¾Šµ поле Голжно ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒ символ \(Fo\fI+\fR\(Fc (Š“Š¾ŃŃ‚ŃƒŠæ Ń€Š°Š·Ń€ŠµŃˆŃ‘Š½) или \(Fo\fI\-\fR\(Fc (Š“Š¾ŃŃ‚ŃƒŠæ запрещён)\&. Второе поле Голжно ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒ ŠøŠ¼Ń оГной или более ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей, имена Š³Ń€ŃƒŠæŠæ или -\fIALL\fR -(всегГа совпаГает)\&. Š¢Ń€ŠµŃ‚ŃŒŠµ поле Голжно ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒ оГно или Š½ŠµŃŠŗŠ¾Š»ŃŒŠŗŠøŃ… имён терминалов (Š“Š»Ń Š“Š¾ŃŃ‚ŃƒŠæŠ° не ŠøŠ· сети), имена узлов, Гоменных имён (Š½Š°Ń‡ŠøŠ½Š°ŃŽŃ‚ŃŃ с \(Fo\&.\(Fc), аГреса узлов, аГреса поГсетей (Š·Š°ŠŗŠ°Š½Ń‡ŠøŠ²Š°ŃŽŃ‚ŃŃ на \(Fo\&.\(Fc), -\fIALL\fR -(всегГа совпаГает) или -\fILOCAL\fR -(Š»ŃŽŠ±Š°Ń строка, не ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‰Š°Ń символа \(Fo\&.\(Fc)\&. Если ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся NIS, то также можно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ @ŠøŠ¼Ń_сетевой_Š³Ń€ŃƒŠæŠæŃ‹ в ŃˆŠ°Š±Š»Š¾Š½Š°Ń… узлов или именах ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.PP -ŠžŠæŠµŃ€Š°Ń‚Š¾Ń€ -\fIEXCEPT\fR -помогает в написании компактных правил\&. -.PP -Поиск в файле Š³Ń€ŃƒŠæŠæ ŠæŃ€Š¾ŠøŠ·Š²Š¾Š“ŠøŃ‚ŃŃ Ń‚Š¾Š»ŃŒŠŗŠ¾ когГа ŠøŠ¼Ń не совпаГает с Ń€ŠµŠ³ŠøŃŃ‚Ń€ŠøŃ€ŃƒŃŽŃ‰ŠøŠ¼ŃŃ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼\&. Š Š°ŃŃŠ¼Š°Ń‚Ń€ŠøŠ²Š°ŃŽŃ‚ŃŃ Š³Ń€ŃƒŠæŠæŃ‹ Ń‚Š¾Š»ŃŒŠŗŠ¾ с ŃŠ²Š½Š¾ прописанными в них ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼Šø: программа не принимает во внимание значение первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.SH "ФАЙЛЫ" -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBlogin\fR(1)\&. diff --git a/man/ru/man5/login.defs.5 b/man/ru/man5/login.defs.5 deleted file mode 100644 index e554a751..00000000 --- a/man/ru/man5/login.defs.5 +++ /dev/null @@ -1,816 +0,0 @@ -'\" t -.\" Title: login.defs -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Форматы файлов -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "login\&.defs" "5" "09/18/2016" "shadow\-utils 4\&.4" "Форматы файлов" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -login.defs \- соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Файл -/etc/login\&.defs -соГержит настройки поГсистемы теневых паролей (shadow password suite)\&. Этот файл ŃŠ²Š»ŃŠµŃ‚ŃŃ Š¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¼\&. ŠžŃ‚ŃŃƒŃ‚ŃŃ‚Š²ŠøŠµ Ганного файла не ŠæŠ¾Š²Š»ŠøŃŠµŃ‚ на Ń€Š°Š±Š¾Ń‚Ńƒ системы, но, Š²ŠµŃ€Š¾ŃŃ‚Š½Š¾, привеГёт Šŗ Š²Ń‹ŠæŠ¾Š»Š½ŠµŠ½ŠøŃŽ нежелаемых операций\&. -.PP -Файл ŠæŃ€ŠµŠ“ŃŃ‚Š°Š²Š»ŃŠµŃ‚ собой обычный текстовый файл; ŠŗŠ°Š¶Š“Š°Ń строка описывает оГин параметр настройки\&. Дтроки ŃŠ¾ŃŃ‚Š¾ŃŃ‚ ŠøŠ· Š½Š°Š·Š²Š°Š½ŠøŃ параметра Šø его Š·Š½Š°Ń‡ŠµŠ½ŠøŃ, которые Ń€Š°Š·Š“ŠµŠ»ŃŃŽŃ‚ŃŃ ŠæŃ€Š¾Š±ŠµŠ»ŃŒŠ½Ń‹Š¼ символом\&. ŠŸŃƒŃŃ‚Ń‹Šµ строки Šø комментарии ŠøŠ³Š½Š¾Ń€ŠøŃ€ŃƒŃŽŃ‚ся\&. ŠšŠ¾Š¼Š¼ŠµŠ½Ń‚Š°Ń€ŠøŠø Š½Š°Ń‡ŠøŠ½Š°ŃŽŃ‚ŃŃ со знака Ń„ŃƒŠ½Ń‚Š° \(Fo#\(Fc, который Голжен Š±Ń‹Ń‚ŃŒ первым Š½ŠµŠæŃ€Š¾Š±ŠµŠ»ŃŒŠ½Ń‹Š¼ символом в строке\&. -.PP -Š—Š½Š°Ń‡ŠµŠ½ŠøŃ параметров Š¼Š¾Š³ŃƒŃ‚ Š±Ń‹Ń‚ŃŒ четырёх типов: строки, логические Š·Š½Š°Ń‡ŠµŠ½ŠøŃ, числа Šø Глинные числа\&. Дтроки ŃŠ¾ŃŃ‚Š¾ŃŃ‚ ŠøŠ· Š»ŃŽŠ±Ń‹Ń… печатных символов\&. ПоГ логическими Š·Š½Š°Ń‡ŠµŠ½ŠøŃŠ¼Šø ŠæŠ¾Š“Ń€Š°Š·ŃƒŠ¼ŠµŠ²Š°ŃŽŃ‚ŃŃ -\fIyes\fR -или -\fIno\fR\&. ŠŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»Ń‘Š½Š½Ń‹Š¹ логический параметр или ŠøŠ¼ŠµŃŽŃ‰ŠøŠ¹ значение, отличное от ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Ń… Š²Ń‹ŃˆŠµ, ŃŃ‡ŠøŃ‚Š°ŠµŃ‚ŃŃ как ŠøŠ¼ŠµŃŽŃ‰ŠøŠ¹ значение -\fIno\fR\&. Числа (обычные Šø Глинные) можно Š·Š°Š“Š°Š²Š°Ń‚ŃŒ в Š“ŠµŃŃŃ‚ŠøŃ‡Š½Š¾Š¹, Š²Š¾ŃŃŒŠ¼ŠµŃ€ŠøŃ‡Š½Š¾Š¹ (переГ значением ŃŃ‚Š°Š²ŠøŃ‚ŃŃ \(Fo\fI0\fR\(Fc) или ŃˆŠµŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŠµŃ€ŠøŃ‡Š½Š¾Š¹ (переГ значением ŃŃ‚Š°Š²ŠøŃ‚ŃŃ \(Fo\fI0x\fR\(Fc) системах ŃŃ‡ŠøŃŠ»ŠµŠ½ŠøŃ\&. ŠœŠ°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Šµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ параметра обычного Šø Глинного числа Š·Š°Š²ŠøŃŃŃ‚ от Š°Ń€Ń…ŠøŃ‚ŠµŠŗŃ‚ŃƒŃ€Ń‹ ŠŗŠ¾Š¼ŠæŃŒŃŽŃ‚ŠµŃ€Š°\&. -.PP -Возможны ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ параметры настройки: -.PP -\fBCHFN_AUTH\fR (логический) -.RS 4 -Если равно yes, chfn -.RE -.PP -\fBCHFN_RESTRICT\fR (строка) -.RS 4 -Этим параметром Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŃŽŃ‚ŃŃ части ŠæŠ¾Š»Ń -\fIgecos\fR -в файле -/etc/passwd, которые Š¼Š¾Š³ŃƒŃ‚ ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ обычные ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šø с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ программы -\fBchfn\fR\&. Дтрока может ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒ Š»ŃŽŠ±ŃƒŃŽ ŠŗŠ¾Š¼Š±ŠøŠ½Š°Ń†ŠøŃŽ букв -\fIf\fR, -\fIr\fR, -\fIw\fR, -\fIh\fR -Š“Š»Ń ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ полного имени ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, номера комнаты, рабочего Šø Гомашнего телефона, соответственно\&. Š”Š»Ń совместимости значение -\fIyes\fR -ŃŠŗŠ²ŠøŠ²Š°Š»ŠµŠ½Ń‚Š½Š¾ -\fIrwh\fR -Šø -\fIno\fR -ŃŠŗŠ²ŠøŠ²Š°Š»ŠµŠ½Ń‚Š½Š¾ -\fIfrwh\fR\&. Если ничего не заГано, то Ń‚Š¾Š»ŃŒŠŗŠ¾ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может Š²Ń‹ŠæŠ¾Š»Š½ŃŃ‚ŃŒ Š»ŃŽŠ±Ń‹Šµ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ\&. ŠŠ°ŠøŠ±Š¾Š»ŠµŠµ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŠµŠ»ŃŒŠ½Š°Ń настройка Š“Š¾ŃŃ‚ŠøŠ³Š°ŠµŃ‚ŃŃ ŃŠ½ŃŃ‚ŠøŠµŠ¼ SUID бита с файла -chfn\&. -.RE -.PP -\fBCHSH_AUTH\fR (логический) -.RS 4 -Если равно -\fIyes\fR, то программа -\fBchsh\fR -Š±ŃƒŠ“ŠµŃ‚ ŠæŃ€Š¾Š²Š¾Š“ŠøŃ‚ŃŒ Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŃŽ переГ тем как Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ Š»ŃŽŠ±Ń‹Šµ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ, в ŃŠ»ŃƒŃ‡Š°Šµ если команГа не Š·Š°ŠæŃƒŃ‰ŠµŠ½Ń‹ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¼\&. -.RE -.PP -\fBCONSOLE\fR (строка) -.RS 4 -Если опреГелена, то значение равно или полному ŠæŃƒŃ‚Šø Šŗ Ń„Š°Š¹Š»Ńƒ с именами ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š² (оГно на ŃŃ‚Ń€Š¾ŠŗŃƒ), или списку имён ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š², перечисленных через \(Fo:\(Fc\&. ВхоГ ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ Ń€Š°Š·Ń€ŠµŃˆŃ‘Š½ Ń‚Š¾Š»ŃŒŠŗŠ¾ с ŃŃ‚ŠøŃ… ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²\&. -.sp -Если не опреГелена, то ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может Š²Ń…Š¾Š“ŠøŃ‚ŃŒ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ с Š»ŃŽŠ±Š¾Š³Š¾ ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š°\&. -.sp -Устройства Голжны ŃƒŠŗŠ°Š·Ń‹Š²Š°Ń‚ŃŒŃŃ без Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Š³Š¾ префикса /dev/\&. -.RE -.PP -\fBCONSOLE_GROUPS\fR (строка) -.RS 4 -Дписок Š³Ń€ŃƒŠæŠæ Š“Š»Ń Š“Š¾Š±Š°Š²Š»ŠµŠ½ŠøŃ Šŗ Š½Š°Š±Š¾Ń€Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŃ… Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Ń… Š³Ń€ŃƒŠæŠæ при вхоГе с консоли (Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŠ¼Š¾Š¹ переменной CONSOLE)\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ не указана\&. - -Š˜ŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ осторожно \(em может Š“Š°Ń‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼ ŠæŠ¾ŃŃ‚Š¾ŃŠ½Š½Ń‹Š¹ Š“Š¾ŃŃ‚ŃƒŠæ Šŗ ŃŃ‚ŠøŠ¼ Š³Ń€ŃƒŠæŠæŠ°Š¼, Гаже если они не вхоГили с консоли\&. -.RE -.PP -\fBCREATE_HOME\fR (логический) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚, Голжен ли ŃŠ¾Š·Š“Š°Š²Š°Ń‚ŃŒŃŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Гомашний каталог Š“Š»Ń новых ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń не Š²Š»ŠøŃŠµŃ‚ на системных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Šø может Š±Ń‹Ń‚ŃŒ переопреГелена ŠøŠ· команГной строки\&. -.RE -.PP -\fBDEFAULT_HOME\fR (логический) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚, можно ли войти в ŃŠøŃŃ‚ŠµŠ¼Ńƒ, если Š½ŠµŠ»ŃŒŠ·Ń Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ cd в Гомашний каталог\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ \(Fono\(Fc\&. -.sp -Если равно -\fIyes\fR, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Š±ŃƒŠ“ŠµŃ‚ ŠæŠ¾ŠæŠ°Š“Š°Ń‚ŃŒ в корневой каталог (/), если невозможно Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ cd в его Гомашний каталог\&. -.RE -.PP -\fBENCRYPT_METHOD\fR (строка) -.RS 4 -ЗаГаёт системный алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей (ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ, если алгоритм не указан в команГной строке)\&. -.sp -Возможны ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -\fIDES\fR -(по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Замечание: ŃŃ‚Š¾Ń‚ параметр ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBENV_HZ\fR (строка) -.RS 4 -Если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°, то Š±ŃƒŠ“ет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ HZ при вхоГе ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в ŃŠøŃŃ‚ŠµŠ¼Ńƒ\&. Значение Голжно Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒŃŃ с -\fIHZ=\fR\&. ŠžŠ±Ń‹Ń‡Š½Š¾Šµ значение Š“Š»Ń Linux \(em -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_PATH\fR (строка) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (строка) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (строка) -.RS 4 -Если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°, то Š±ŃƒŠ“ет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ TZ при вхоГе ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Значение может Š±Ń‹Ń‚ŃŒ равно имени часового ŠæŠ¾ŃŃŠ°, Š½Š°Ń‡ŠøŠ½Š°ŃŽŃ‰ŠµŠ³Š¾ŃŃ -\fITZ=\fR -(например, -\fITZ=CST6CDT\fR), или полному ŠæŃƒŃ‚Šø Šŗ Ń„Š°Š¹Š»Ńƒ с параметрами часового ŠæŠ¾ŃŃŠ° (например, -/etc/tzname)\&. -.sp -Если указан полный ŠæŃƒŃ‚ŃŒ, но файл не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ или Š½ŠµŠ“Š¾ŃŃ‚ŃƒŠæŠµŠ½ Š“Š»Ń Ń‡Ń‚ŠµŠ½ŠøŃ, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ: -\fITZ=CST6CDT\fR\&. -.RE -.PP -\fBENVIRON_FILE\fR (строка) -.RS 4 -Если ŃŃ‚Š¾Ń‚ файл ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ Šø Š“Š¾ŃŃ‚ŃƒŠæ Š“Š»Ń Ń‡Ń‚ŠµŠ½ŠøŃ, то ŠøŠ· него читает регистрационное Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŠµ\&. ŠšŠ°Š¶Š“Š°Ń строка Голжна ŠøŠ¼ŠµŃ‚ŃŒ формат: ŠøŠ¼Ń=значение\&. -.sp -Дтроки, Š½Š°Ń‡ŠøŠ½Š°ŃŽŃ‰ŠøŠµŃŃ с #, ŃŃ‡ŠøŃ‚Š°ŃŽŃ‚ŃŃ комментарием Šø ŠøŠ³Š½Š¾Ń€ŠøŃ€ŃƒŃŽŃ‚ŃŃ\&. -.RE -.PP -\fBERASECHAR\fR (число) -.RS 4 -Димвол ERASE у терминала (\fI010\fR -= backspace, -\fI0177\fR -= DEL)\&. -.sp -Значение может Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒŃŃ с \(Fo0\(Fc при указании Š·Š½Š°Ń‡ŠµŠ½ŠøŃ в Š²Š¾ŃŃŒŠ¼ŠµŃ€ŠøŃ‡Š½Š¾Š¹ системе ŃŃ‡ŠøŃŠ»ŠµŠ½ŠøŃ или \(Fo0x\(Fc при указании Š·Š½Š°Ń‡ŠµŠ½ŠøŃ в ŃˆŠµŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŠµŃ€ŠøŃ‡Š½Š¾Š¹ системе ŃŃ‡ŠøŃŠ»ŠµŠ½ŠøŃ\&. -.RE -.PP -\fBFAIL_DELAY\fR (число) -.RS 4 -ЗаГержка в ŃŠµŠŗŃƒŠ½Š“Š°Ń… переГ повторной попыткой после Š½ŠµŃƒŠ“ачного вхоГа\&. -.RE -.PP -\fBFAILLOG_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование Šø показ информации о Š½ŠµŃƒŠ“ачных вхоГах ŠøŠ· -/var/log/faillog\&. -.RE -.PP -\fBFAKE_SHELL\fR (строка) -.RS 4 -Если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°, то программа -\fBlogin\fR -Š·Š°ŠæŃƒŃŃ‚ŠøŃ‚ ŃƒŠŗŠ°Š·Š°Š½Š½ŃƒŃŽ Š¾Š±Š¾Š»Š¾Ń‡ŠŗŃƒ вместо ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ¾Š¹ оболочки заГанной в -/etc/passwd\&. -.RE -.PP -\fBFTMP_FILE\fR (строка) -.RS 4 -Если опреГелена, то Š½ŠµŃƒŠ“ачные попытки вхоГа Š±ŃƒŠ“ŃƒŃ‚ ŠæŃ€Š¾Ń‚Š¾ŠŗŠ¾Š»ŠøŃ€Š¾Š²Š°Ń‚ŃŒŃŃ в ŃŃ‚Š¾Ń‚ файл в формате utmp\&. -.RE -.PP -\fBGID_MAX\fR (число), \fBGID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов Š³Ń€ŃƒŠæŠæ, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR, -\fBgroupadd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ обычных Š³Ń€ŃƒŠæŠæ\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBGID_MIN\fR -(соотв\&. -\fBGID_MAX\fR) равно 1000 (соотв\&. 60000)\&. -.RE -.PP -\fBHUSHLOGIN_FILE\fR (строка) -.RS 4 -Если опреГелена, то ŃŃ‚Š¾Ń‚ файл может Š·Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ все обычные переговоры (chatter) при вхоГе\&. Если указан полный ŠæŃƒŃ‚ŃŒ Šŗ Ń„Š°Š¹Š»Ńƒ, то Š±ŃƒŠ“ет Š²ŠŗŠ»ŃŽŃ‡Ń‘Š½ сокращённый (hushed) режим, если в ŃŃ‚Š¾Š¼ файле указано ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń или оболочка\&. Если указан не полный ŠæŃƒŃ‚ŃŒ, то Š±ŃƒŠ“ет Š²ŠŗŠ»ŃŽŃ‡Ń‘Š½ сокращённый (hushed) режим, если файл Š½Š°Ń…Š¾Š“ŠøŃ‚ŃŃ в Гомашнем каталоге ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fBISSUE_FILE\fR (строка) -.RS 4 -Если опреГелена, то ŃŃ‚Š¾Ń‚ файл Š±ŃƒŠ“ет показан переГ кажГым ŠæŠ¾ŃŠ²Š»ŠµŠ½ŠøŠµŠ¼ ŠæŃ€ŠøŠ³Š»Š°ŃˆŠµŠ½ŠøŃ на вхоГ\&. -.RE -.PP -\fBKILLCHAR\fR (число) -.RS 4 -Димвол KILL у терминала (\fI025\fR -= CTRL/U)\&. -.sp -Значение может Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒŃŃ с \(Fo0\(Fc при указании Š·Š½Š°Ń‡ŠµŠ½ŠøŃ в Š²Š¾ŃŃŒŠ¼ŠµŃ€ŠøŃ‡Š½Š¾Š¹ системе ŃŃ‡ŠøŃŠ»ŠµŠ½ŠøŃ или \(Fo0x\(Fc при указании Š·Š½Š°Ń‡ŠµŠ½ŠøŃ в ŃˆŠµŃŃ‚Š½Š°Š“Ń†Š°Ń‚ŠµŃ€ŠøŃ‡Š½Š¾Š¹ системе ŃŃ‡ŠøŃŠ»ŠµŠ½ŠøŃ\&. -.RE -.PP -\fBLASTLOG_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование Šø показ информации о времени вхоГа ŠøŠ· /var/log/lastlog\&. -.RE -.PP -\fBLOG_OK_LOGINS\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование ŃƒŃŠæŠµŃˆŠ½Ń‹Ń… вхоГов\&. -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ показ неизвестных имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ при записи Š½ŠµŃƒŠ“ачных попыток вхоГа\&. -.sp -Замечание: протоколирование неизвестных имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń может привести Šŗ проблемам с Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒŃŽ, если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ ввеГёт свой ŠæŠ°Ń€Š¾Š»ŃŒ вместо своего имени\&. -.RE -.PP -\fBLOGIN_RETRIES\fR (число) -.RS 4 -Максимальное количество попыток вхоГа при ввоГе неверного ŠæŠ°Ń€Š¾Š»Ń\&. -.RE -.PP -\fBLOGIN_STRING\fR (строка) -.RS 4 -Дтрока\-ŠæŃ€ŠøŠ³Š»Š°ŃˆŠµŠ½ŠøŠµ Šŗ ввоГу ŠæŠ°Ń€Š¾Š»Ń\&. Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ: \(FoPassword:\(Fc или перевоГ ŃŃ‚Š¾Š¹ строки на разные ŃŠ·Ń‹ŠŗŠø\&. Если вы измените эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, то перевоГ Š±ŃƒŠ“ŠµŃ‚ Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ\&. -.sp -Если в строке ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ поГстрока -\fI%s\fR, то она Š±ŃƒŠ“ет заменена на ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fBLOGIN_TIMEOUT\fR (число) -.RS 4 -Максимальное Š²Ń€ŠµŠ¼Ń в ŃŠµŠŗŃƒŠ½Š“Š°Ń…, отвеГённое на вхоГ\&. -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŠæŃ€Š¾Š²ŠµŃ€ŠŗŃƒ Šø показ ŃŠ¾ŃŃ‚Š¾ŃŠ½ŠøŃ почтового ŃŃ‰ŠøŠŗŠ° при вхоГе\&. -.sp -Š’Ń‹ Голжны Š²Ń‹ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ ŃŃ‚Š¾, если почтовый ŃŃ‰ŠøŠŗ ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ŃŃ ŠøŠ· файлов Š°Š²Ń‚Š¾Š·Š°ŠæŃƒŃŠŗŠ° оболочки (\(Fomailx \-e\(Fc или похожей команГой)\&. -.RE -.PP -\fBMAIL_DIR\fR (строка) -.RS 4 -ŠŸŠ¾Ń‡Ń‚Š¾Š²Ń‹Š¹ каталог\&. Данный параметр нужен Š“Š»Ń ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ почтовым ŃŃ‰ŠøŠŗŠ¾Š¼ при изменении или уГалении ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Если параметр не заГан, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение указанное при сборке\&. -.RE -.PP -\fBMAIL_FILE\fR (строка) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ расположение почтовых файлов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š¾Ń‚Š½Š¾ŃŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ Гомашнего каталога\&. -.RE -.PP -ŠŸŠµŃ€ŠµŠ¼ŠµŠ½Š½Ń‹Šµ -\fBMAIL_DIR\fR -Šø -\fBMAIL_FILE\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ŃŃ команГами -\fBuseradd\fR, -\fBusermod\fR -Šø -\fBuserdel\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ, ŠæŠµŃ€ŠµŠ¼ŠµŃ‰ŠµŠ½ŠøŃ или ŃƒŠ“Š°Š»ŠµŠ½ŠøŃ почты ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.PP -Если значение -\fBMAIL_CHECK_ENAB\fR -равно -\fIyes\fR, то они также ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ся Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (логический) -.RS 4 -ŠžŠ±Š¾Š·Š½Š°Ń‡Š°ŠµŃ‚, что ŠæŠ°Ń€Š¾Š»ŃŒ Голжен Š±Ń‹Ń‚ŃŒ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5\&. Если значение равно -\fIyes\fR, то новые пароли Š±ŃƒŠ“ŃƒŃ‚ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Ń‹ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5, ŃŠ¾Š²Š¼ŠµŃŃ‚ŠøŠ¼Š¾Š¼Ńƒ с ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¼ в новых Š²ŠµŃ€ŃŠøŃŃ… FreeBSD\&. ŠžŠ½ поГГерживает пароли неограниченной Глины Šø имеет более Š“Š»ŠøŠ½Š½ŃƒŃŽ ŃŃ‚Ń€Š¾ŠŗŃƒ соли\&. Установите в -\fIno\fR, если вам нужно ŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Šµ пароли в Š“Ń€ŃƒŠ³ŠøŠµ системы, которые не ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŃŽŃ‚ новый алгоритм\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ -\fIno\fR\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменной -\fBENCRYPT_METHOD\fR -или Š»ŃŽŠ±Ń‹Š¼ параметром команГной строки, который заГаёт алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŃƒŃŃ‚Š°Ń€ŠµŠ»Š°; ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBMOTD_FILE\fR (строка) -.RS 4 -Если опреГелена, то при вхоГе Š±ŃƒŠ“ет показано \(Foсообщение Š“Š½Ń\(Fc ŠøŠ· файла со списком значений, разГелённых \(Fo:\(Fc\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (строка) -.RS 4 -Если опреГелена, значение равно имени файла, чьё ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Š½ŠøŠµ запретит вхоГ Š“Š»Ń не ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. Š’ файле Голжно ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒŃŃ сообщение, Š¾ŠæŠøŃŃ‹Š²Š°ŃŽŃ‰ŠµŠµ ŠæŠ¾Ń‡ŠµŠ¼Ńƒ запрещён вхоГ\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ проверки при смене ŠæŠ°Ń€Š¾Š»Ń\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (логический) -.RS 4 -ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“Š°Ń‚ŃŒ о слабых ŠæŠ°Ń€Š¾Š»ŃŃ… (но Ń€Š°Š·Ń€ŠµŃˆŠ°Ń‚ŃŒ ŠøŃ… ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ) Š“Š»Ń ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (число) -.RS 4 -Максимальное количество попыток смены ŠæŠ°Ń€Š¾Š»Ń (слишком простого) при непрохожГении проверки\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (число) -.RS 4 -Максимальное число Гней ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\&. Если ŠæŠ°Ń€Š¾Š»ŃŒ старее ŃŃ‚Š¾Š³Š¾ числа, то Š±ŃƒŠ“ет Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° ŠæŃ€Š¾Ń†ŠµŠ“ŃƒŃ€Š° смены ŠæŠ°Ń€Š¾Š»Ń\&. Если значение не заГано, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ значение \-1 (то ŠµŃŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (число) -.RS 4 -Максимальное число Гней межГу ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃŠ¼Šø ŠæŠ°Ń€Š¾Š»Ń\&. Š›ŃŽŠ±Š°Ń смена ŠæŠ°Ń€Š¾Š»Ń ранее заГанного срока выполнена не Š±ŃƒŠ“ет\&. Если значение не заГано, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ значение \-1 (то ŠµŃŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (число) -.RS 4 -Число Гней за которое начнёт Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń\&. ŠŃƒŠ»ŠµŠ²Š¾Šµ значение означает, что ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Š²Ń‹Š“Š°Ń‘Ń‚ŃŃ в Гень ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ, при Š¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Š¾Š¼ значении ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ не Š±ŃƒŠ“ет\&. Если значение не заГано, выГача ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ Š¾Ń‚ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ŃŃ\&. -.RE -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ -\fBPASS_MAX_DAYS\fR, -\fBPASS_MIN_DAYS\fR -Šø -\fBPASS_WARN_AGE\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ŃŃ Ń‚Š¾Š»ŃŒŠŗŠ¾ при созГании ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. Š›ŃŽŠ±Ń‹Šµ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ ŃŃ‚ŠøŃ… параметров не Š²Š»ŠøŃŃŽŃ‚ на уже ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠøŠµ ŃƒŃ‡Ń‘Ń‚Š½Ń‹Šµ записи\&. -.PP -\fBPASS_MAX_LEN\fR (число), \fBPASS_MIN_LEN\fR (число) -.RS 4 -ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ значимых символов в пароле Š“Š»Ń crypt()\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ значение -\fBPASS_MAX_LEN\fR -равно 8\&. ŠŠµ ŠøŠ·Š¼ŠµŠ½ŃŠ¹Ń‚Šµ, если ваш crypt() Š»ŃƒŃ‡ŃˆŠµ\&. Š˜Š³Š½Š¾Ń€ŠøŃ€ŃƒŠµŃ‚ŃŃ, если значение -\fBMD5_CRYPT_ENAB\fR -равно -\fIyes\fR\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ ŠæŃ€Š¾Š²ŠµŃ€ŠŗŃƒ временных ограничений, заГанных в -/etc/porttime\&. -.RE -.PP -\fBQUOTAS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŃƒ ограничений Ń€ŠµŃŃƒŃ€ŃŠ¾Š² ŠøŠ· -/etc/limits -Šø ulimit, umask Šø niceness ŠøŠ· ŠæŠ¾Š»Ń gecos файла passwd\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (число), \fBSHA_CRYPT_MAX_ROUNDS\fR (число) -.RS 4 -Если значение -\fBENCRYPT_METHOD\fR -равно -\fISHA256\fR -или -\fISHA512\fR, ŃŃ‚Š° ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ количество Ń€Š°ŃƒŠ½Š“Š¾Š² SHA, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Ń… алгоритмом ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (если количество Ń€Š°ŃƒŠ½Š“Š¾Š² не заГано в команГной строке)\&. -.sp -Увеличение количества Ń€Š°ŃƒŠ½Š“Š¾Š² ŠæŠ¾Š²Ń‹ŃˆŠ°ŠµŃ‚ ŃŠ»Š¾Š¶Š½Š¾ŃŃ‚ŃŒ поГбора ŠæŠ°Ń€Š¾Š»Ń простым перебором\&. ŠŠ¾ заметим, что при ŃŃ‚Š¾Š¼ Š“Š»Ń Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŠø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ большее количество процессорных Ń€ŠµŃŃƒŃ€ŃŠ¾Š²\&. -.sp -Если не заГана, то libc выбирает значение количества Ń€Š°ŃƒŠ½Š“Š¾Š² по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (5000)\&. -.sp -Š—Š½Š°Ń‡ŠµŠ½ŠøŃ Голжны Š»ŠµŠ¶Š°Ń‚ŃŒ в Гиапазоне 1000\-999999999\&. -.sp -Если заГано какое\-то оГно значение \(em -\fBSHA_CRYPT_MIN_ROUNDS\fR -или -\fBSHA_CRYPT_MAX_ROUNDS\fR -\(em то Š±ŃƒŠ“ет использовано ŃŃ‚Š¾ значение\&. -.sp -Если -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся большее значение\&. -.RE -.PP -\fBSULOG_FILE\fR (строка) -.RS 4 -Если опреГелена, то Š»ŃŽŠ±Š°Ń Š°ŠŗŃ‚ŠøŠ²Š½Š¾ŃŃ‚ŃŒ su Š±ŃƒŠ“ŠµŃ‚ ŠæŃ€Š¾Ń‚Š¾ŠŗŠ¾Š»ŠøŃ€Š¾Š²Š°Ń‚ŃŒŃŃ в ŃŃ‚Š¾Ń‚ файл\&. -.RE -.PP -\fBSU_NAME\fR (строка) -.RS 4 -Если опреГелена, то Š²Ń‹Š²Š¾Š“ŠøŃ‚ŃŃ ŠøŠ¼Ń команГы когГа работает \(Fosu \-\(Fc\&. ŠŠ°ŠæŃ€ŠøŠ¼ŠµŃ€, если значение равно \(Fosu\(Fc, то \(Fops\(Fc покажет команГу как \(Fo\-su\(Fc\&. Если не опреГелена, то \(Fops\(Fc покажет ŠøŠ¼Ń запускаемой оболочки например как \(Fo\-sh\(Fc\&. -.RE -.PP -\fBSU_WHEEL_ONLY\fR (логический) -.RS 4 -Если равна -\fIyes\fR, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Голжен Š±Ń‹Ń‚ŃŒ членом первой Š³Ń€ŃƒŠæŠæŃ‹ с gid 0 в файле -/etc/group -(в Š±Š¾Š»ŃŒŃˆŠøŠ½ŃŃ‚ве систем Linux Š½Š°Š·Ń‹Š²Š°ŠµŃ‚ŃŃ -\fIroot\fR), чтобы ŠøŠ¼ŠµŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š·Š°ŠæŃƒŃŠŗŠ°Ń‚ŃŒ -\fBsu\fR -Š“Š»Ń ŠæŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŃ uid 0\&. Если Š³Ń€ŃƒŠæŠæŠ° не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚, или ŠæŃƒŃŃ‚а, то никто не сможет ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ uid 0 с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ -\fBsu\fR\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (число), \fBSYS_GID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов Š³Ń€ŃƒŠæŠæ, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR, -\fBgroupadd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ системных Š³Ń€ŃƒŠæŠæ\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBSYS_GID_MIN\fR -(соотв\&.\fBSYS_GID_MAX\fR) равно 101 (соотв\&. -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (число), \fBSYS_UID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ системных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBSYS_UID_MIN\fR -(соотв\&. -\fBSYS_UID_MAX\fR) равно 101 (соотв\&. -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBSYSLOG_SG_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование \(Fosyslog\(Fc Гействий -\fBsg\fR\&. -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ протоколирование \(Fosyslog\(Fc Гействий -\fBsu\fR -\(em Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ Šŗ ŠæŃ€Š¾Ń‚Š¾ŠŗŠ¾Š»ŠøŃ€Š¾Š²Š°Š½ŠøŃŽ в файле sulog\&. -.RE -.PP -\fBTTYGROUP\fR (строка), \fBTTYPERM\fR (строка) -.RS 4 -ŠŸŃ€Š°Š²Š° терминала: tty вхоГа Š±ŃƒŠ“ет ŠæŃ€ŠøŠ½Š°Š“Š»ŠµŠ¶Š°Ń‚ŃŒ Š³Ń€ŃƒŠæŠæŠµ -\fBTTYGROUP\fR, а права Š±ŃƒŠ“ŃƒŃ‚ назначены в соответствии с -\fBTTYPERM\fR\&. -.sp -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, терминалом влаГеет ŠæŠµŃ€Š²ŠøŃ‡Š½Š°Ń Š³Ń€ŃƒŠæŠæŠ° ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, а права ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŃŽŃ‚ŃŃ в -\fI0600\fR\&. -.sp -Š’ -\fBTTYGROUP\fR -может Š·Š°Š“Š°Š²Š°Ń‚ŃŒŃŃ или ŠøŠ¼Ń Š³Ń€ŃƒŠæŠæŃ‹, или числовой иГентификатор Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если ваша программа -\fBwrite\fR -имеет \(Fosetgid\(Fc со ŃŠæŠµŃ†ŠøŠ°Š»ŃŒŠ½Š¾Š¹ Š³Ń€ŃƒŠæŠæŠ¾Š¹, которой принаГлежат терминалы, то присвойте TTYGROUP номер ŃŃ‚Š¾Š¹ Š³Ń€ŃƒŠæŠæŃ‹, а TTYPERM значение 0620\&. Š’ противном ŃŠ»ŃƒŃ‡Š°Šµ Š¾ŃŃ‚Š°Š²ŃŒŃ‚Šµ TTYGROUP закомментированной Šø Š½Š°Š·Š½Š°Ń‡ŃŒŃ‚Šµ TTYPERM значение 622 или 600\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (строка) -.RS 4 -Если опреГелена, то в ней ŃƒŠŗŠ°Š·Ń‹Š²Š°ŠµŃ‚ŃŃ ŠøŠ¼Ń файла, в котором описано соответствие межГу линией tty Šø параметром Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ TERM\&. ŠšŠ°Š¶Š“Š°Ń строка файла имеет формат виГа \(Fovt100 tty01\(Fc\&. -.RE -.PP -\fBUID_MAX\fR (число), \fBUID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ обычных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBUID_MIN\fR -(соотв\&. -\fBUID_MAX\fR) равно 1000 (соотв\&. 60000)\&. -.RE -.PP -\fBULIMIT\fR (число) -.RS 4 -Значение -\fBulimit\fR -по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\&. -.RE -.PP -\fBUMASK\fR (число) -.RS 4 -ЗаГаёт Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Šµ значение маски Š“Š¾ŃŃ‚ŃƒŠæŠ° Š“Š»Ń созГаваемых файлов\&. Если не указано, то маска ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŠµŃ‚ŃŃ в 022\&. -.sp -ŠšŠ¾Š¼Š°Š½Š“Ń‹ -\fBuseradd\fR -Šø -\fBnewusers\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ эту маску Š“Š»Ń ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŠø прав Š“Š¾ŃŃ‚ŃƒŠæŠ° Šŗ Гомашнему ŠŗŠ°Ń‚Š°Š»Š¾Š³Ńƒ, который они ŃŠ¾Š·Š“Š°ŃŽŃ‚\&. -.sp -Также она ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся программой -\fBlogin\fR -Š“Š»Ń Š·Š°Š“Š°Š½ŠøŃ Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Š³Š¾ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ umask ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Заметим, что ŃŃ‚Š° маска может Š±Ń‹Ń‚ŃŒ переопреГелена ŠøŠ· ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ¾Š¹ строки GECOS (если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š° ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń -\fBQUOTAS_ENAB\fR) или указанием Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ с иГентификатором -\fIK\fR, в -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERDEL_CMD\fR (строка) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ ŠæŃ€Š¾Š³Ń€Š°Š¼Š¼Ńƒ, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń Š±ŃƒŠ“ŠµŃ‚ Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° при уГалении ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. ŠžŠ½Š° Голжна ŃƒŠ“Š°Š»ŃŃ‚ŃŒ Š»ŃŽŠ±Ń‹Šµ Š·Š°Š“Š°Š½ŠøŃ at/cron/печати ŃƒŠ“Š°Š»ŃŠµŠ¼Š¾Š³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń (ŠæŠµŃ€ŠµŠ“Š°Ń‘Ń‚ŃŃ в качестве первого Š°Ń€Š³ŃƒŠ¼ŠµŠ½Ń‚а)\&. -.sp -Возвращаемый сценарием коГ Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ŠøŃ не ŃƒŃ‡ŠøŃ‚Ń‹Š²Š°ŠµŃ‚ŃŃ\&. -.sp -Вот простой сценарий, который ŃƒŠ“Š°Š»ŃŠµŃ‚ Š·Š°Š“Š°Š½ŠøŃ печати, cron Šø at: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ все необхоГимые параметры -if [ $# != 1 ]; then - echo "Использование: $0 ŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń" - exit 1 -fi - -# ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ Š·Š°Š“Š°Š½ŠøŃ cron -crontab \-r \-u $1 - -# ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ Š·Š°Š“Š°Š½ŠøŃ at -# Заметим, что ŃŃ‚Š¾ ŃƒŠ“Š°Š»ŠøŃ‚ все Š·Š°Š“Š°Š½ŠøŃ с ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¼ UID, -# Гаже если он ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся Š“Š»Ń Š“Ń€ŃƒŠ³Š¾Š¹ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ Š·Š°Š“Š°Š½ŠøŃ печати -lprm $1 - -# всё -exit 0 - -.fi -.if n \{\ -.RE -.\} -.RE -.PP -\fBUSERGROUPS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŃƒ Š³Ń€ŃƒŠæŠæŃ‹ битов umask равной битам Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Š° (пример: 022 \-> 002, 077 \-> 007) Š“Š»Ń не ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, если uid равен gid Šø ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń совпаГает с именем первичной Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если значение равно -\fIyes\fR, то -\fBuserdel\fR -ŃƒŠ“Š°Š»ŃŠµŃ‚ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ, если в ней нет больше членов, а -\fBuseradd\fR -по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ созГаёт Š³Ń€ŃƒŠæŠæŃƒ с именем ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.SH "ŠŸŠ•Š Š•ŠšŠ ŠŠ”Š¢ŠŠ«Š• Š”Š”Š«Š›ŠšŠ˜" -.PP -Š”Š»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ перекрёстные ссылки Š¾Ń‚Ń€Š°Š¶Š°ŃŽŃ‚ ŃŠ²ŃŠ·ŃŒ межГу программами Šø ŠøŃ… параметрам ŠøŠ· набора Š“Š»Ń работы с теневыми ŠæŠ°Ń€Š¾Š»ŃŠ¼Šø\&. -.PP -chfn -.RS 4 -CHFN_AUTH -CHFN_RESTRICT -LOGIN_STRING -.RE -.PP -chgpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chpasswd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chsh -.RS 4 -CHSH_AUTH LOGIN_STRING -.RE -.PP -gpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -groupadd -.RS 4 -GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN -.RE -.PP -groupdel -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmems -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmod -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpck -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpunconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -login -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE -ERASECHAR FAIL_DELAY -FAILLOG_ENAB -FAKE_SHELL -FTMP_FILE -HUSHLOGIN_FILE -ISSUE_FILE -KILLCHAR -LASTLOG_ENAB -LOGIN_RETRIES -LOGIN_STRING -LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB -MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB QUOTAS_ENAB -TTYGROUP TTYPERM TTYTYPE_FILE -ULIMIT UMASK -USERGROUPS_ENAB -.RE -.PP -newgrp / sg -.RS 4 -SYSLOG_SG_ENAB -.RE -.PP -newusers -.RS 4 -ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -passwd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -pwck -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -pwconv -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -su -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENVIRON_FILE -ENV_PATH ENV_SUPATH -ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB -SULOG_FILE SU_NAME -SU_WHEEL_ONLY -SYSLOG_SU_ENAB -USERGROUPS_ENAB -.RE -.PP -sulogin -.RS 4 -ENV_HZ -ENV_TZ -.RE -.PP -useradd -.RS 4 -CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -userdel -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB -.RE -.PP -usermod -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBsu\fR(1), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBpam\fR(8)\&. diff --git a/man/ru/man5/passwd.5 b/man/ru/man5/passwd.5 deleted file mode 100644 index 92705eff..00000000 --- a/man/ru/man5/passwd.5 +++ /dev/null @@ -1,175 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Форматы файлов -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "passwd" "5" "09/18/2016" "shadow\-utils 4\&.4" "Форматы файлов" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -passwd \- файл паролей -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Файл -/etc/passwd -соГержит ŃƒŃ‡Ń‘Ń‚Š½Ń‹Šµ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, по оГной в кажГой строке\&. Дтрока состоит ŠøŠ· семи полей, разГелённых Š“Š²Š¾ŠµŃ‚Š¾Ń‡ŠøŃŠ¼Šø (\(Fo:\(Fc)\&. ŠŸŠ¾Š»Ń: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š“Š»Ń вхоГа в ŃŠøŃŃ‚ŠµŠ¼Ńƒ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Š½ŠµŠ¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¹ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -числовой иГентификатор ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -числовой иГентификатор Š³Ń€ŃƒŠæŠæŃ‹ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Š¤Š˜Šž ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń или поле ŠŗŠ¾Š¼Š¼ŠµŠ½Ń‚Š°Ń€ŠøŃ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Гомашний каталог ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Š½ŠµŠ¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¹ интерпретатор команГной строки ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.RE -.PP -Поле с Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¼ паролем может Š±Ń‹Ń‚ŃŒ ŠæŃƒŃŃ‚Ń‹Š¼, Šø тогГа Š“Š»Ń вхоГа поГ ŃŃ‚Š¾Š¹ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ Š·Š°ŠæŠøŃŃŒŃŽ ŠæŠ°Ń€Š¾Š»ŃŒ не Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ\&. ŠžŠ“Š½Š°ŠŗŠ¾, некоторые ŠæŃ€ŠøŠ»Š¾Š¶ŠµŠ½ŠøŃ, которые Ń‡ŠøŃ‚Š°ŃŽŃ‚ файл -/etc/passwd, Š¼Š¾Š³ŃƒŃ‚ Ń€ŠµŃˆŠøŃ‚ŃŒ не ŠæŠ¾Š·Š²Š¾Š»ŃŃ‚ŃŒ -\fIŠ»ŃŽŠ±Š¾Š¹\fR -Š“Š¾ŃŃ‚ŃƒŠæ, если поле -\fIŠæŠ°Ń€Š¾Š»Ń\fR -ŠæŃƒŃŃ‚Š¾Šµ\&. Если поле -\fIŠæŠ°Ń€Š¾Š»Ń\fR -соГержит ŃŃ‚Ń€Š¾Ń‡Š½ŃƒŃŽ -\(Fox\(Fc, то ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ Ń…Ń€Š°Š½ŠøŃ‚ŃŃ в файле -\fBshadow\fR(5); в файле -shadow -\fIГолжна\fR -Š±Ń‹Ń‚ŃŒ ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰Š°Ń строка, иначе ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись ŃŃ‡ŠøŃ‚Š°ŠµŃ‚ŃŃ Š½ŠµŠ“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾Š¹\&. Если в поле -\fIŠæŠ°Ń€Š¾Š»Ń\fR -ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ ŠŗŠ°ŠŗŠ°Ń\-то Š“Ń€ŃƒŠ³Š°Ń строка, то она Š²Š¾ŃŠæŃ€ŠøŠ½ŠøŠ¼Š°ŠµŃ‚ся как ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ, согласно Ń„Š¾Ń€Š¼Š°Ń‚Ńƒ -\fBcrypt\fR(3)\&. -.PP -Поле ŠŗŠ¾Š¼Š¼ŠµŠ½Ń‚Š°Ń€ŠøŃ ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ различными системными ŃƒŃ‚ŠøŠ»ŠøŃ‚Š°Š¼Šø, такими как -\fBfinger\fR(1)\&. -.PP -Š’ поле Гомашнего каталога Ń…Ń€Š°Š½ŠøŃ‚ŃŃ Š½Š°Ń‡Š°Š»ŃŒŠ½Ń‹Š¹ рабочий каталог\&. ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBlogin\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ эту ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ Š“Š»Ń ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŠø Š·Š½Š°Ń‡ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fB$HOME\fR\&. -.PP -Š’ поле интерпретатора команГной строки Ń…Ń€Š°Š½ŠøŃ‚ŃŃ название интерпретатора команГной строки ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń или программы, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń Š±ŃƒŠ“ŠµŃ‚ Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° первой\&. ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBlogin\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ эту ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ Š“Š»Ń ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŠø Š·Š½Š°Ń‡ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fB$SHELL\fR\&. Если ŃŃ‚Š¾ поле ŠæŃƒŃŃ‚ое, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ -/bin/sh\&. -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -Š½ŠµŠ¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¹ файл с ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¼Šø ŠæŠ°Ń€Š¾Š»ŃŠ¼Šø -.RE -.PP -/etc/passwd\- -.RS 4 -Ń€ŠµŠ·ŠµŃ€Š²Š½Š°Ń ŠŗŠ¾ŠæŠøŃ файла /etc/passwd -.sp -Заметим, что ŃŃ‚Š¾Ń‚ файл ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся программами ŠøŠ· комплекта ŃƒŃ‚ŠøŠ»ŠøŃ‚ shadow, но не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼Šø Šø ŠæŠ°Ń€Š¾Š»ŃŠ¼Šø\&. -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBcrypt\fR(3), -\fBgetent\fR(1), -\fBgetpwnam\fR(3), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBshadow\fR(5), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/ru/man5/porttime.5 b/man/ru/man5/porttime.5 deleted file mode 100644 index 03822d24..00000000 --- a/man/ru/man5/porttime.5 +++ /dev/null @@ -1,98 +0,0 @@ -'\" t -.\" Title: porttime -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Форматы файлов -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "porttime" "5" "09/18/2016" "shadow\-utils 4\&.4" "Форматы файлов" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -porttime \- файл с временами Š“Š¾ŃŃ‚ŃƒŠæŠ° Šŗ портам -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Файл -\fIporttime\fR -соГержит список ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š² tty, имена ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Šø Ń€Š°Š·Ń€ŠµŃˆŃ‘Š½Š½Š¾Šµ Š²Ń€ŠµŠ¼Ń вхоГа\&. -.PP -ŠšŠ°Š¶Š“Š°Ń запись состоит ŠøŠ· трёх полей, разГелённых Š“Š²Š¾ŠµŃ‚Š¾Ń‡ŠøŃŠ¼Šø\&. Š’ первом поле ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ список ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š² tty (перечисленных через Š·Š°ŠæŃŃ‚ŃƒŃŽ) или звёзГочка, ŃƒŠŗŠ°Š·Ń‹Š²Š°ŃŽŃ‰Š°Ń, что все ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š° tty ŠæŠ¾ŠæŠ°Š“Š°ŃŽŃ‚ поГ правило ŃŃ‚Š¾Š¹ записи\&. Во втором поле ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ список имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ (перечисленных через Š·Š°ŠæŃŃ‚ŃƒŃŽ) или звёзГочка, ŃƒŠŗŠ°Š·Ń‹Š²Š°ŃŽŃ‰Š°Ń, что все имена ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ ŠæŠ¾ŠæŠ°Š“Š°ŃŽŃ‚ поГ правило ŃŃ‚Š¾Š¹ записи\&. Š’ Ń‚Ń€ŠµŃ‚ŃŒŠµŠ¼ поле ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ список (через Š·Š°ŠæŃŃ‚ŃƒŃŽ) Š“Š¾ŠæŃƒŃŃ‚ŠøŠ¼Š¾Š³Š¾ времени работы\&. -.PP -ŠšŠ°Š¶Š“Š°Ń запись времени Š“Š¾ŃŃ‚ŃƒŠæŠ° состоит ŠøŠ· Š½ŃƒŠ»Ń или более Гней неГели, обозначенных как -\fISu\fR, -\fIMo\fR, -\fITu\fR, -\fIWe\fR, -\fITh\fR, -\fIFr\fR -Šø -\fISa\fR, а также временем начала Šø конца, записанного через Гефис\&. Докращение -\fIWk\fR -можно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Š“Š»Ń Š¾Š±Š¾Š·Š½Š°Ń‡ŠµŠ½ŠøŃ периоГа с понеГельника по ŠæŃŃ‚Š½ŠøŃ†Ńƒ, а -\fIAl\fR -обозначает кажГый Гень\&. Если Гень не заГан, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ -\fIAl\fR -в качестве Š·Š½Š°Ń‡ŠµŠ½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\&. -.SH "ŠŸŠ Š˜ŠœŠ•Š Š«" -.PP -Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись Ń€Š°Š·Ń€ŠµŃˆŠ°ŠµŃ‚ Š“Š¾ŃŃ‚ŃƒŠæ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ -\fBjfh\fR -с Š»ŃŽŠ±Š¾Š³Š¾ порта по Š±ŃƒŠ“Š½ŃŠ¼ с 9:00 Го 17:00\&. -.PP -*:jfh:Wk0900\-1700 -.PP -Š”Š»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ записи Ń€Š°Š·Ń€ŠµŃˆŠ°ŃŽŃ‚ Š“Š¾ŃŃ‚ŃƒŠæ Ń‚Š¾Š»ŃŒŠŗŠ¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼ -\fIroot\fR -Šø -\fIoper\fR -с -/dev/console -в Š»ŃŽŠ±Š¾Šµ Š²Ń€ŠµŠ¼Ń\&. Это показывает, что файл -/etc/porttime -Š¾Š±Ń€Š°Š±Š°Ń‚Ń‹Š²Š°ŠµŃ‚ŃŃ в ŠæŠ¾Ń€ŃŠ“ŠŗŠµ ŠæŠ¾ŃŠ²Š»ŠµŠ½ŠøŃ записей в файле\&. Š›ŃŽŠ±Š¾Š¹ Š“Ń€ŃƒŠ³Š¾Š¹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ попаГёт поГ правило второй записи, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń не Ń€Š°Š·Ń€ŠµŃˆŠ°ŠµŃ‚ Š“Š¾ŃŃ‚ŃƒŠæ в Š»ŃŽŠ±Š¾Šµ Š²Ń€ŠµŠ¼Ń\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - console:root,oper:Al0000\-2400 - console:*: - -.fi -.if n \{\ -.RE -.\} -.PP -Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń запись Ń€Š°Š·Ń€ŠµŃˆŠ°ŠµŃ‚ Š“Š¾ŃŃ‚ŃƒŠæ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ -\fIgames\fR -с Š»ŃŽŠ±Š¾Š³Š¾ порта в нерабочие часы\&. -.PP -*:games:Wk1700\-0900,SaSu0000\-2400 -.SH "ФАЙЛЫ" -.PP -/etc/porttime -.RS 4 -соГержит Ń€Š°Š·Ń€ŠµŃˆŃ‘Š½Š½Š¾Šµ Š²Ń€ŠµŠ¼Ń работы опреГелённых ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ с опреГелённых портов -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBlogin\fR(1)\&. diff --git a/man/ru/man5/shadow.5 b/man/ru/man5/shadow.5 deleted file mode 100644 index 92df53ac..00000000 --- a/man/ru/man5/shadow.5 +++ /dev/null @@ -1,147 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Форматы файлов -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "shadow" "5" "09/18/2016" "shadow\-utils 4\&.4" "Форматы файлов" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -shadow \- файл теневых паролей -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Файл -shadow -соГержит ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Šµ пароли ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Šø Š½ŠµŠ¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń\&. -.PP -Этот файл Голжен Š±Ń‹Ń‚ŃŒ Š½ŠµŠ“Š¾ŃŃ‚ŃƒŠæŠµŠ½ Š¾Š±Ń‹Ń‡Š½Š¾Š¼Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ, если нужно Š¾Š±ŠµŃŠæŠµŃ‡ŠøŃ‚ŃŒ Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ паролей\&. -.PP -ŠšŠ°Š¶Š“Š°Ń строка файла соГержит 9 полей, разГелённых Š“Š²Š¾ŠµŃ‚Š¾Ń‡ŠøŃŠ¼Šø (\(Fo:\(Fc), расположенных в ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠµŠ¼ ŠæŠ¾Ń€ŃŠ“ŠŗŠµ: -.PP -\fBŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š“Š»Ń вхоГа в ŃŠøŃŃ‚ŠµŠ¼Ńƒ\fR -.RS 4 -Должно ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŒ ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Šµ ŠøŠ¼Ń ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ в системе\&. -.RE -.PP -\fBŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ\fR -.RS 4 -ŠŸŠ¾Š“Ń€Š¾Š±Š½ŠµŠ¹ о пароле смотрите в справочной странице -\fBcrypt\fR(3)\&. -.sp -Если поле ŠæŠ°Ń€Š¾Š»Ń соГержит ŃŃ‚Ń€Š¾ŠŗŃƒ, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń не ŃƒŠ“Š¾Š²Š»ŠµŃ‚Š²Š¾Ń€ŃŠµŃ‚ Ń‚Ń€ŠµŠ±Š¾Š²Š°Š½ŠøŃŠ¼ -\fBcrypt\fR(3), например соГержит ! или *, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ не сможет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŃŃ‚Š¾Ń‚ ŠæŠ°Ń€Š¾Š»ŃŒ unix Š“Š»Ń вхоГа (но может войти в ŃŠøŃŃ‚ŠµŠ¼Ńƒ поГ Š“Ń€ŃƒŠ³ŠøŠ¼Šø ŠæŠ°Ń€Š¾Š»ŃŠ¼Šø)\&. -.sp -Это поле может Š±Ń‹Ń‚ŃŒ ŠæŃƒŃŃ‚Ń‹Š¼, то ŠµŃŃ‚ŃŒ Š“Š»Ń указанной ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи не Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŃ по ŠæŠ°Ń€Š¾Š»ŃŽ\&. ŠžŠ“Š½Š°ŠŗŠ¾, некоторые ŠæŃ€ŠøŠ»Š¾Š¶ŠµŠ½ŠøŃ, Ń‡ŠøŃ‚Š°ŃŽŃ‰ŠøŠµ файл -/etc/shadow, Š¼Š¾Š³ŃƒŃ‚ вообще Š¾Ń‚ŠŗŠ°Š·Š°Ń‚ŃŒ в Š“Š¾ŃŃ‚ŃƒŠæŠµ, если поле ŠæŠ°Ń€Š¾Š»Ń ŠæŃƒŃŃ‚Š¾\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.RE -.PP -\fBГата послеГней смены ŠæŠ°Ń€Š¾Š»Ń\fR -.RS 4 -Дата послеГней смены ŠæŠ°Ń€Š¾Š»Ń в Š“Š½ŃŃ… Š½Š°Ń‡ŠøŠ½Š°Ń с 1 ŃŠ½Š²Š°Ń€Ń 1970 гоГа\&. -.sp -The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&. -.sp -ŠŸŃƒŃŃ‚Š¾Šµ значение обозначает, что проверка ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń Š²Ń‹ŠŗŠ»ŃŽŃ‡ŠµŠ½Š°\&. -.RE -.PP -\fBŠ¼ŠøŠ½ŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\fR -.RS 4 -ŠœŠøŠ½ŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń в Š“Š½ŃŃ…, которые ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Голжен Š¶Š“Š°Ń‚ŃŒ, чтобы ŠæŠ¾Š¼ŠµŠ½ŃŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ\&. -.sp -ŠŸŃƒŃŃ‚Š¾Šµ значение ŠæŠ¾Š»Ń Šø 0 Š¾Ń‚ŠŗŠ»ŃŽŃ‡Š°ŃŽŃ‚ Š¼ŠøŠ½ŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\&. -.RE -.PP -\fBŠ¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\fR -.RS 4 -ŠœŠ°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń в Š“Š½ŃŃ…, после которого ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Голжен ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ\&. -.sp -По ŠæŃ€Š¾ŃˆŠµŃŃ‚вии ŃŃ‚Š¾Š³Š¾ количества Гней ŠæŠ°Ń€Š¾Š»ŃŒ может Š±Ń‹Ń‚ŃŒ ещё Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Š¼\&. ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń нужно ŠæŠ¾ŠæŃ€Š¾ŃŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ при ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠµŠ¼ вхоГе\&. -.sp -ŠŸŃƒŃŃ‚Š¾Šµ значение ŠæŠ¾Š»Ń означает, что нет максимального срока Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń, нет периоГа ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ о пароле Šø нет периоГа неактивности ŠæŠ°Ń€Š¾Š»Ń (смотрите Галее)\&. -.sp -Если Š¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń меньше чем Š¼ŠøŠ½ŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ не сможет ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ свой ŠæŠ°Ń€Š¾Š»ŃŒ\&. -.RE -.PP -\fBпериоГ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ о пароле\fR -.RS 4 -ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ Гней Го ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń (смотрите Š¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń) во Š²Ń€ŠµŠ¼Ń которых ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ Š²Ń‹Š“Š°Ń‘Ń‚ŃŃ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ\&. -.sp -ŠŸŃƒŃŃ‚Š¾Šµ значение ŠæŠ¾Š»Ń Šø 0 Š¾Ń‚ŠŗŠ»ŃŽŃ‡Š°ŃŽŃ‚ периоГ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ о пароле\&. -.RE -.PP -\fBпериоГ неактивности ŠæŠ°Ń€Š¾Š»Ń\fR -.RS 4 -ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ Гней после ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń (смотрите Š¼Š°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń) во Š²Ń€ŠµŠ¼Ń которых ŠæŠ°Ń€Š¾Š»ŃŒ всё ещё ŠæŃ€ŠøŠ½ŠøŠ¼Š°ŠµŃ‚ŃŃ (Šø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Голжен Š¾Š±Š½Š¾Š²ŠøŃ‚ŃŒ свой ŠæŠ°Ń€Š¾Š»ŃŒ при ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠµŠ¼ вхоГе)\&. -.sp -После ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń Šø ŠøŃŃ‚ŠµŃ‡ŠµŠ½ŠøŃ ŃŃ‚Š¾Š³Š¾ периоГа ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ вхоГ с Ń‚ŠµŠŗŃƒŃ‰ŠøŠ¼ паролем ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŃ невозможным\&. ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Голжен Š¾Š±Ń€Š°Ń‚ŠøŃ‚ŃŒŃŃ Šŗ Š°Š“Š¼ŠøŠ½ŠøŃŃ‚Ń€Š°Ń‚Š¾Ń€Ńƒ\&. -.sp -ŠŸŃƒŃŃ‚Š¾Šµ значение ŠæŠ¾Š»Ń означает, что периоГ неактивности Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²ŃƒŠµŃ‚\&. -.RE -.PP -\fBГата ŠøŃŃ‚ŠµŃ‡ŠµŠ½ŠøŃ срока Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\fR -.RS 4 -Дата ŠøŃŃ‚ŠµŃ‡ŠµŠ½ŠøŃ срока Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи, ŃƒŠŗŠ°Š·Ń‹Š²Š°ŠµŃ‚ŃŃ в Š“Š½ŃŃ… Š½Š°Ń‡ŠøŠ½Š°Ń с 1 ŃŠ½Š²Š°Ń€Ń 1970 гоГа\&. -.sp -Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&. -.sp -ŠŸŃƒŃŃ‚Š¾Šµ значение обозначает, что ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись никогГа не ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°ŠµŃ‚\&. -.sp -Значение 0 не Голжно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ, так как ŃŃ‚Š¾ может Ń€Š°ŃŃŠ¼Š°Ń‚Ń€ŠøŠ²Š°Ń‚ŃŒŃŃ как Š½ŠµŃƒŃŃ‚Š°Ń€ŠµŠ²Š°ŃŽŃ‰Š°Ń ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись или что запись ŃƒŃŃ‚Š°Ń€ŠµŠ»Š° 1 ŃŠ½Š²Š°Ń€Ń 1970 гоГа\&. -.RE -.PP -\fBзарезервированное поле\fR -.RS 4 -Это поле зарезервировано Š“Š»Ń ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ в Š±ŃƒŠ“ŃƒŃ‰ŠµŠ¼\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow\- -.RS 4 -Ń€ŠµŠ·ŠµŃ€Š²Š½Š°Ń ŠŗŠ¾ŠæŠøŃ файла /etc/shadow -.sp -Заметим, что ŃŃ‚Š¾Ń‚ файл ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся программами ŠøŠ· комплекта ŃƒŃ‚ŠøŠ»ŠøŃ‚ shadow, но не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼Šø Šø ŠæŠ°Ń€Š¾Š»ŃŠ¼Šø\&. -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchage\fR(1), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/ru/man5/suauth.5 b/man/ru/man5/suauth.5 deleted file mode 100644 index 9ed3b901..00000000 --- a/man/ru/man5/suauth.5 +++ /dev/null @@ -1,145 +0,0 @@ -'\" t -.\" Title: suauth -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: Форматы файлов -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "suauth" "5" "09/18/2016" "shadow\-utils 4\&.4" "Форматы файлов" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -suauth \- файл ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ команГой su -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fB/etc/suauth\fR\ 'u -\fB/etc/suauth\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Файл -/etc/suauth -ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ŃŃ кажГый раз при запуске команГы su\&. ŠžŠ½ Š²Š»ŠøŃŠµŃ‚ на повеГение команГы su, в зависимости от: -.sp -.if n \{\ -.RS 4 -.\} -.nf - 1) the user su is targeting - -.fi -.if n \{\ -.RE -.\} -.PP -2) ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, Š·Š°ŠæŃƒŃŃ‚ŠøŠ²ŃˆŠµŠ³Š¾ команГу su (или Š³Ń€ŃƒŠæŠæŃ‹, членом которой он может Š±Ń‹Ń‚ŃŒ) -.PP -Формат файла показан ниже, строки Š½Š°Ń‡ŠøŠ½Š°ŃŽŃ‰ŠøŠµŃŃ с # ŃŃ‡ŠøŃ‚Š°ŃŽŃ‚ŃŃ комментарием Šø ŠøŠ³Š½Š¾Ń€ŠøŃ€ŃƒŃŽŃ‚ŃŃ; -.sp -.if n \{\ -.RS 4 -.\} -.nf - желаемый\-id:Š¶ŠµŠ»Š°ŃŽŃ‰ŠøŠ¹\-id:Š”Š•Š™Š”Š¢Š’Š˜Š• - -.fi -.if n \{\ -.RE -.\} -.PP -ГГе желаемый\-id может Š±Ń‹Ń‚ŃŒ словом -\fIALL\fR, списком имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, перечисленных через Š·Š°ŠæŃŃ‚ŃƒŃŽ (\(Fo,\(Fc) или фразы -\fIALL EXCEPT\fR, после которой иГёт список имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ перечисленных через \(Fo,\(Fc\&. -.PP -from\-id is formatted the same as to\-id except the extra word -\fIGROUP\fR -is recognized\&. -\fIALL EXCEPT GROUP\fR -is perfectly valid too\&. Following -\fIGROUP\fR -appears one or more group names, delimited by ","\&. It is not sufficient to have primary group id of the relevant group, an entry in -\fB/etc/group\fR(5) -is necessary\&. -.PP -Š’ поле Š”Š•Š™Š”Š¢Š’Š˜Š• может Š±Ń‹Ń‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ оГно ŠøŠ· ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŃ… значений: -.PP -\fIDENY\fR -.RS 4 -КоманГа su останавливает выполнение, Гаже не ŃŠæŃ€Š°ŃˆŠøŠ²Š°Ń ŠæŠ°Ń€Š¾Š»ŃŒ\&. -.RE -.PP -\fINOPASS\fR -.RS 4 -КоманГа su Š²Ń‹ŠæŠ¾Š»Š½ŃŠµŃ‚ŃŃ без запроса ŠæŠ°Ń€Š¾Š»Ń\&. -.RE -.PP -\fIOWNPASS\fR -.RS 4 -Чтобы успешно Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ команГу su, ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Голжен ввести свой собственный ŠæŠ°Ń€Š¾Š»ŃŒ\&. -.RE -.PP -Заметим, что тут ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ŃŃ три ŠæŠ¾Š»Ń, разГелённых Š“Š²Š¾ŠµŃ‚Š¾Ń‡ŠøŃŠ¼Šø\&. ŠŠøŠŗŠ°ŠŗŠøŃ… пробелов не Š“Š¾ŠæŃƒŃŠŗŠ°ŠµŃ‚ŃŃ около Гвоеточий\&. Также заметим, что файл ŠæŃ€Š¾ŃŠ¼Š°Ń‚Ń€ŠøŠ²Š°ŠµŃ‚ŃŃ строка за строкой, Šø первое ŠæŠ¾Š“Ń…Š¾Š“ŃŃ‰ŠµŠµ правило Š±ŃƒŠ“ет использовано без проверки Š¾ŃŃ‚Š°Š²ŃˆŠøŃ…ŃŃ правил\&. Это ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ ŃŠøŃŃ‚ŠµŠ¼Š½Š¾Š¼Ńƒ Š°Š“Š¼ŠøŠ½ŠøŃŃ‚Ń€Š°Ń‚Š¾Ń€Ńƒ Š¾ŃŃƒŃ‰ŠµŃŃ‚Š²Š»ŃŃ‚ŃŒ Š»ŃŽŠ±Š¾Š¹ ŠŗŠ¾Š½Ń‚Ń€Š¾Š»ŃŒ, какой он пожелает\&. -.SH "ŠŸŠ Š˜ŠœŠ•Š " -.sp -.if n \{\ -.RS 4 -.\} -.nf - # пример файла /etc/suauth - # - # ŠŸŠ°Ń€Š° привилегированных имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ - # Š¼Š¾Š³ŃƒŃ‚ Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ su, чтобы ŠæŠ¾Š»ŃƒŃ‡ŠøŃ‚ŃŒ права ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š²Š²ŠµŠ“Ń свой ŠæŠ°Ń€Š¾Š»ŃŒ\&. - # - root:chris,birddog:OWNPASS - # - # Все Š¾ŃŃ‚Š°Š»ŃŒŠ½Ń‹Šµ не Š¼Š¾Š³ŃƒŃ‚ Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ su Š“Š»Ń ŠæŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŃ root, если они - # не члены Š³Ń€ŃƒŠæŠæŃ‹ wheel\&. Так настроено в BSD\&. - # - root:ALL EXCEPT GROUP wheel:DENY - # - # Возможно ŃƒŃ‡Ń‘Ń‚Š½Ń‹Š¼Šø Š·Š°ŠæŠøŃŃŠ¼Šø terry Šø birddog - # влаГеет оГин человек\&. - # ŠŸŠµŃ€ŠµŃ…Š¾Š“ ŠøŠ· оГной записи в Š“Ń€ŃƒŠ³ŃƒŃŽ - # можно ŃŠ“ŠµŠ»Š°Ń‚ŃŒ без запроса ŠæŠ°Ń€Š¾Š»Ń\&. - # - terry:birddog:NOPASS - birddog:terry:NOPASS - # - -.fi -.if n \{\ -.RE -.\} -.SH "ФАЙЛЫ" -.PP -/etc/suauth -.RS 4 -.RE -.SH "ŠžŠØŠ˜Š‘ŠšŠ˜ Š Š•ŠŠ›Š˜Š—ŠŠ¦Š˜Š˜" -.PP -ŠœŠ¾Š¶ŠµŃ‚ Š±Ń‹Ń‚ŃŒ несколько ŃƒŠ³Ń€Š¾Š·\&. Анализатор файла, в частности, не прощает синтаксических ошибок, Š¾Š¶ŠøŠ“Š°Ń, что не Š±ŃƒŠ“ет Š½ŠµŠ“Š¾ŠæŃƒŃŃ‚ŠøŠ¼Ń‹Ń… пробелов (кроме как в начале Šø конце строк) Šø ŃŠæŠµŃ†ŠøŠ°Š»ŃŒŠ½Ń‹Ń… слов, Ń€Š°Š·Š“ŠµŠ»ŃŃŽŃ‰ŠøŃ… различные вещи\&. -.SH "Š”Š˜ŠŠ“ŠŠžŠ”Š¢Š˜ŠšŠ" -.PP -ŠžŃˆŠøŠ±ŠŗŠø при анализе файла Š²Ń‹Š²Š¾Š“ŃŃ‚ŃŃ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ -\fBsyslogd\fR(8) -с ŃƒŃ€Š¾Š²Š½ŠµŠ¼ ERR среГства AUTH\&. -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBsu\fR(1)\&. diff --git a/man/ru/man8/chgpasswd.8 b/man/ru/man8/chgpasswd.8 deleted file mode 100644 index b1aa6ebd..00000000 --- a/man/ru/man8/chgpasswd.8 +++ /dev/null @@ -1,203 +0,0 @@ -'\" t -.\" Title: chgpasswd -.\" Author: Thomas K\(/loczko -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "chgpasswd" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -chgpasswd \- Š¾Š±Š½Š¾Š²Š»ŃŠµŃ‚ пароли Š³Ń€ŃƒŠæŠæ в пакетном режиме -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fIпараметры\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBchgpasswd\fR -читает список пар \(FoŠ³Ń€ŃƒŠæŠæŠ° ŠæŠ°Ń€Š¾Š»ŃŒ\(Fc ŠøŠ· станГартного вхоГного потока Šø Š¾Š±Š½Š¾Š²Š»ŃŠµŃ‚ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠøŃ… Š³Ń€ŃƒŠæŠæŠ°Ń…\&. ŠšŠ°Š¶Š“Š°Ń строка имеет виГ: -.PP -\fIŠøŠ¼Ń_Š³Ń€ŃƒŠæŠæŃ‹\fR:\fIŠæŠ°Ń€Š¾Š»ŃŒ\fR -.PP -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, переГаваемый ŠæŠ°Ń€Š¾Š»ŃŒ Голжен Š±Ń‹Ń‚ŃŒ в виГе обычного текста Šø ŃˆŠøŃ„Ń€ŃƒŠµŃ‚ŃŃ команГой -\fBchgpasswd\fR\&. -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -variable of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -Š”Š°Š½Š½Š°Ń команГа преГназначена Š“Š»Ń работы в ŠŗŃ€ŃƒŠæŠ½Ń‹Ń… системных среГах, гГе за оГин раз Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ несколько ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBchgpasswd\fR: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¹ метоГ Š“Š»Ń ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей\&. -.sp -Возможные метоГы: DES, MD5, NONE Šø SHA256 или SHA512, если ŃŃ‚Šø метоГы ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ libc\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -ŠŸŠµŃ€ŠµŠ“Š°Š²Š°ŠµŠ¼Ń‹Šµ пароли заГаны в ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Š¾Š¼ виГе\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ MD5 вместо DES, если пароли ŠæŠµŃ€ŠµŠ“Š°ŃŽŃ‚ŃŃ не ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¼Šø\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ указанное количество Ń€Š°ŃƒŠ½Š“Š¾Š² ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей\&. -.sp -Значение 0 означает, что система выберет количество Ń€Š°ŃƒŠ½Š“Š¾Š² по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń выбранного метоГа ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ (5000)\&. -.sp -Минимальное значение равно 1000, а максимальное значение равно 999,999,999\&. -.sp -Š’Ń‹ можете ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŃŃ‚Š¾Ń‚ параметр Ń‚Š¾Š»ŃŒŠŗŠ¾ при метоГе ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ SHA256 или SHA512\&. -.sp -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, количество Ń€Š°ŃƒŠ½Š“Š¾Š² Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменными SHA_CRYPT_MIN_ROUNDS Šø SHA_CRYPT_MAX_ROUNDS ŠøŠ· -/etc/login\&.defs\&. -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -ŠŠµ Š·Š°Š±ŃƒŠ“ŃŒŃ‚Šµ ŃƒŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ права или umask, чтобы не ŠæŠ¾Š·Š²Š¾Š»ŠøŃ‚ŃŒ чтение не ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Ń… файлов Š“Ń€ŃƒŠ³ŠøŠ¼Šø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼Šø\&. -.PP -Š’Ń‹ Голжны ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ, что ŠæŠ°Ń€Š¾Š»ŃŒ Šø метоГ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŠµŃ‚ политике системных паролей\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBENCRYPT_METHOD\fR (строка) -.RS 4 -ЗаГаёт системный алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей (ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ, если алгоритм не указан в команГной строке)\&. -.sp -Возможны ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -\fIDES\fR -(по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Замечание: ŃŃ‚Š¾Ń‚ параметр ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (логический) -.RS 4 -ŠžŠ±Š¾Š·Š½Š°Ń‡Š°ŠµŃ‚, что ŠæŠ°Ń€Š¾Š»ŃŒ Голжен Š±Ń‹Ń‚ŃŒ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5\&. Если значение равно -\fIyes\fR, то новые пароли Š±ŃƒŠ“ŃƒŃ‚ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Ń‹ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5, ŃŠ¾Š²Š¼ŠµŃŃ‚ŠøŠ¼Š¾Š¼Ńƒ с ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¼ в новых Š²ŠµŃ€ŃŠøŃŃ… FreeBSD\&. ŠžŠ½ поГГерживает пароли неограниченной Глины Šø имеет более Š“Š»ŠøŠ½Š½ŃƒŃŽ ŃŃ‚Ń€Š¾ŠŗŃƒ соли\&. Установите в -\fIno\fR, если вам нужно ŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Šµ пароли в Š“Ń€ŃƒŠ³ŠøŠµ системы, которые не ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŃŽŃ‚ новый алгоритм\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ -\fIno\fR\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменной -\fBENCRYPT_METHOD\fR -или Š»ŃŽŠ±Ń‹Š¼ параметром команГной строки, который заГаёт алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŃƒŃŃ‚Š°Ń€ŠµŠ»Š°; ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (число), \fBSHA_CRYPT_MAX_ROUNDS\fR (число) -.RS 4 -Если значение -\fBENCRYPT_METHOD\fR -равно -\fISHA256\fR -или -\fISHA512\fR, ŃŃ‚Š° ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ количество Ń€Š°ŃƒŠ½Š“Š¾Š² SHA, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Ń… алгоритмом ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (если количество Ń€Š°ŃƒŠ½Š“Š¾Š² не заГано в команГной строке)\&. -.sp -Увеличение количества Ń€Š°ŃƒŠ½Š“Š¾Š² ŠæŠ¾Š²Ń‹ŃˆŠ°ŠµŃ‚ ŃŠ»Š¾Š¶Š½Š¾ŃŃ‚ŃŒ поГбора ŠæŠ°Ń€Š¾Š»Ń простым перебором\&. ŠŠ¾ заметим, что при ŃŃ‚Š¾Š¼ Š“Š»Ń Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŠø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ большее количество процессорных Ń€ŠµŃŃƒŃ€ŃŠ¾Š²\&. -.sp -Если не заГана, то libc выбирает значение количества Ń€Š°ŃƒŠ½Š“Š¾Š² по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (5000)\&. -.sp -Š—Š½Š°Ń‡ŠµŠ½ŠøŃ Голжны Š»ŠµŠ¶Š°Ń‚ŃŒ в Гиапазоне 1000\-999999999\&. -.sp -Если заГано какое\-то оГно значение \(em -\fBSHA_CRYPT_MIN_ROUNDS\fR -или -\fBSHA_CRYPT_MAX_ROUNDS\fR -\(em то Š±ŃƒŠ“ет использовано ŃŃ‚Š¾ значение\&. -.sp -Если -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся большее значение\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBgpasswd\fR(1), -\fBgroupadd\fR(8), -\fBlogin.defs\fR(5)\&. diff --git a/man/ru/man8/chpasswd.8 b/man/ru/man8/chpasswd.8 deleted file mode 100644 index 73353a9a..00000000 --- a/man/ru/man8/chpasswd.8 +++ /dev/null @@ -1,205 +0,0 @@ -'\" t -.\" Title: chpasswd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "chpasswd" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -chpasswd \- Š¾Š±Š½Š¾Š²Š»ŃŠµŃ‚ пароли в пакетном режиме -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fIпараметры\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBchpasswd\fR -читает список пар \(FoŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ\(Fc ŠøŠ· станГартного вхоГного потока Šø Š¾Š±Š½Š¾Š²Š»ŃŠµŃ‚ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠøŃ… ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ…\&. ŠšŠ°Š¶Š“Š°Ń строка имеет виГ: -.PP -\fIŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR:\fIŠæŠ°Ń€Š¾Š»ŃŒ\fR -.PP -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, переГаваемый ŠæŠ°Ń€Š¾Š»ŃŒ Голжен Š±Ń‹Ń‚ŃŒ в виГе обычного текста Šø ŃˆŠøŃ„Ń€ŃƒŠµŃ‚ŃŃ команГой -\fBchpasswd\fR\&. Также, если ŠµŃŃ‚ŃŒ срок Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ŠæŠ°Ń€Š¾Š»Ń, то он Š±ŃƒŠ“ет обновлён\&. -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -or -\fBMD5_CRYPT_ENAB\fR -variables of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -\fBchpasswd\fR -first updates all the passwords in memory, and then commits all the changes to disk if no errors occurred for any user\&. -.PP -Š”Š°Š½Š½Š°Ń команГа преГназначена Š“Š»Ń работы в ŠŗŃ€ŃƒŠæŠ½Ń‹Ń… системных среГах, гГе за оГин раз Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ несколько ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBchpasswd\fR: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR\ \&\fIŠœŠ•Š¢ŠžŠ”\fR -.RS 4 -Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¹ метоГ Š“Š»Ń ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей\&. -.sp -Возможные метоГы: DES, MD5, NONE Šø SHA256 или SHA512, если ŃŃ‚Šø метоГы ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ libc\&. -.sp -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (если не указан параметр\fB\-c\fR, -\fB\-m\fR -или -\fB\-e\fR), метоГ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменной -\fBENCRYPT_METHOD\fR -или -\fBMD5_CRYPT_ENAB\fR -ŠøŠ· файла -/etc/login\&.defs\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -ŠŸŠµŃ€ŠµŠ“Š°Š²Š°ŠµŠ¼Ń‹Šµ пароли заГаны в ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Š¾Š¼ виГе\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ MD5 вместо DES, если пароли ŠæŠµŃ€ŠµŠ“Š°ŃŽŃ‚ŃŃ не ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¼Šø\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIŠ ŠŠ£ŠŠ”ŠžŠ’\fR -.RS 4 -Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ указанное количество Ń€Š°ŃƒŠ½Š“Š¾Š² ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей\&. -.sp -Значение 0 означает, что система выберет количество Ń€Š°ŃƒŠ½Š“Š¾Š² по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń выбранного метоГа ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ (5000)\&. -.sp -Минимальное значение равно 1000, а максимальное значение равно 999,999,999\&. -.sp -Š’Ń‹ можете ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŃŃ‚Š¾Ń‚ параметр Ń‚Š¾Š»ŃŒŠŗŠ¾ при метоГе ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ SHA256 или SHA512\&. -.sp -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, количество Ń€Š°ŃƒŠ½Š“Š¾Š² Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменными -\fBSHA_CRYPT_MIN_ROUNDS\fR -Šø -\fBSHA_CRYPT_MAX_ROUNDS\fR -в -/etc/login\&.defs\&. -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -ŠŠµ Š·Š°Š±ŃƒŠ“ŃŒŃ‚Šµ ŃƒŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ права или umask, чтобы не ŠæŠ¾Š·Š²Š¾Š»ŠøŃ‚ŃŒ чтение не ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Ń… файлов Š“Ń€ŃƒŠ³ŠøŠ¼Šø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼Šø\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBENCRYPT_METHOD\fR (строка) -.RS 4 -ЗаГаёт системный алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей (ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ, если алгоритм не указан в команГной строке)\&. -.sp -Возможны ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -\fIDES\fR -(по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Замечание: ŃŃ‚Š¾Ń‚ параметр ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (логический) -.RS 4 -ŠžŠ±Š¾Š·Š½Š°Ń‡Š°ŠµŃ‚, что ŠæŠ°Ń€Š¾Š»ŃŒ Голжен Š±Ń‹Ń‚ŃŒ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5\&. Если значение равно -\fIyes\fR, то новые пароли Š±ŃƒŠ“ŃƒŃ‚ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Ń‹ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5, ŃŠ¾Š²Š¼ŠµŃŃ‚ŠøŠ¼Š¾Š¼Ńƒ с ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¼ в новых Š²ŠµŃ€ŃŠøŃŃ… FreeBSD\&. ŠžŠ½ поГГерживает пароли неограниченной Глины Šø имеет более Š“Š»ŠøŠ½Š½ŃƒŃŽ ŃŃ‚Ń€Š¾ŠŗŃƒ соли\&. Установите в -\fIno\fR, если вам нужно ŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Šµ пароли в Š“Ń€ŃƒŠ³ŠøŠµ системы, которые не ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŃŽŃ‚ новый алгоритм\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ -\fIno\fR\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменной -\fBENCRYPT_METHOD\fR -или Š»ŃŽŠ±Ń‹Š¼ параметром команГной строки, который заГаёт алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŃƒŃŃ‚Š°Ń€ŠµŠ»Š°; ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (число), \fBSHA_CRYPT_MAX_ROUNDS\fR (число) -.RS 4 -Если значение -\fBENCRYPT_METHOD\fR -равно -\fISHA256\fR -или -\fISHA512\fR, ŃŃ‚Š° ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ количество Ń€Š°ŃƒŠ½Š“Š¾Š² SHA, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Ń… алгоритмом ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (если количество Ń€Š°ŃƒŠ½Š“Š¾Š² не заГано в команГной строке)\&. -.sp -Увеличение количества Ń€Š°ŃƒŠ½Š“Š¾Š² ŠæŠ¾Š²Ń‹ŃˆŠ°ŠµŃ‚ ŃŠ»Š¾Š¶Š½Š¾ŃŃ‚ŃŒ поГбора ŠæŠ°Ń€Š¾Š»Ń простым перебором\&. ŠŠ¾ заметим, что при ŃŃ‚Š¾Š¼ Š“Š»Ń Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŠø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ большее количество процессорных Ń€ŠµŃŃƒŃ€ŃŠ¾Š²\&. -.sp -Если не заГана, то libc выбирает значение количества Ń€Š°ŃƒŠ½Š“Š¾Š² по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (5000)\&. -.sp -Š—Š½Š°Ń‡ŠµŠ½ŠøŃ Голжны Š»ŠµŠ¶Š°Ń‚ŃŒ в Гиапазоне 1000\-999999999\&. -.sp -Если заГано какое\-то оГно значение \(em -\fBSHA_CRYPT_MIN_ROUNDS\fR -или -\fBSHA_CRYPT_MAX_ROUNDS\fR -\(em то Š±ŃƒŠ“ет использовано ŃŃ‚Š¾ значение\&. -.sp -Если -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся большее значение\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBpasswd\fR(1), -\fBnewusers\fR(8), -\fBlogin.defs\fR(5),\fBuseradd\fR(8)\&. diff --git a/man/ru/man8/faillog.8 b/man/ru/man8/faillog.8 deleted file mode 100644 index 3e773805..00000000 --- a/man/ru/man8/faillog.8 +++ /dev/null @@ -1,159 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "faillog" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -faillog \- показывает записи ŠøŠ· файла faillog или заГаёт преГел Š½ŠµŃƒŠ“ачных попыток вхоГа в ŃŠøŃŃ‚ŠµŠ¼Ńƒ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIпараметры\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBfaillog\fR -показывает соГержимое Š¶ŃƒŃ€Š½Š°Š»Š° Š½ŠµŃƒŠ“Š°Ń‡Š½Ń‹Ń… попыток (файл -/var/log/faillog)\&. Также она может Š±Ń‹Ń‚ŃŒ использована Š“Š»Ń ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ счётчиком Š½ŠµŃƒŠ“ачных попыток Šø ŠøŃ… ограничением\&. ŠŸŃ€Šø запуске -\fBfaillog\fR -без параметров Š²Ń‹Š²Š¾Š“ŃŃ‚ŃŃ записи faillog Ń‚Š¾Š»ŃŒŠŗŠ¾ тех ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, у которых ŠøŠ¼ŠµŠµŃ‚ŃŃ Ń…Š¾Ń‚Ń бы оГна Š½ŠµŃƒŠ“Š°Ń‡Š½Š°Ń попытка вхоГа\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBfaillog\fR: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ записи faillog Š“Š»Ń всех ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ ŠøŠ· базы Ганных -faillog\&. -.sp -Дписок ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ можно Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ параметра -\fB\-u\fR\&. -.sp -Š’ режиме вывоГа ŃŃ‚Š¾ ограничивает вывоГ списком ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠøŃ… ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, но при ŃŃ‚Š¾Š¼ Š“Š»Ń них Š²Ń‹Š²Š¾Š“ŃŃ‚ŃŃ Гаже ŠæŃƒŃŃ‚ые записи faillog\&. -.sp -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ -\fB\-l\fR, -\fB\-m\fR, -\fB\-r\fR, -\fB\-t\fR -ŠøŠ·Š¼ŠµŠ½ŃŃŽŃ‚ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, Гаже если они не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ в системе\&. Это полезно Š“Š»Ń сброса записей ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, которые были ŃƒŠ“Š°Š»ŠµŠ½Ń‹ или Š“Š»Ń ŠæŃ€ŠµŠ“Š²Š°Ń€ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾Š¹ ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŠø политики Š“Š»Ń Гиапазона ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fIŠ”Š•ŠšŠ£ŠŠ”\fR -.RS 4 -Š‘Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись на указанное количество -\fIŠ”Š•ŠšŠ£ŠŠ”\fR -после Š½ŠµŃƒŠ“ачной попытки вхоГа\&. -.sp -Š”Š»Ń ŃŃ‚Š¾Š³Š¾ параметра Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ право на запись в -/var/log/faillog\&. -.RE -.PP -\fB\-m\fR, \fB\-\-maximum\fR\ \&\fIМАКД_Š§Š˜Š”Š›Šž\fR -.RS 4 -Š£ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ максимальное количество Š½ŠµŃƒŠ“ачных попыток вхоГа переГ блокировкой ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи равным -\fIМАКД_Š§Š˜Š”Š›Šž\fR\&. -.sp -Если значение -\fIМАКД_Š§Š˜Š”Š›Šž\fR -равно 0, то количество Š½ŠµŃƒŠ“ачных попыток вхоГа не Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŠ²Š°ŠµŃ‚ся\&. -.sp -Š”Š»Ń ŠæŃ€ŠµŠ“Š¾Ń‚Š²Ń€Š°Ń‰ŠµŠ½ŠøŃ атаки отказа в обслуживании максимальное количество Š½ŠµŃƒŠ“ачных попыток вхоГа у -\fIroot\fR -всегГа Голжно Š±Ń‹Ń‚ŃŒ равно 0\&. -.sp -Š”Š»Ń ŃŃ‚Š¾Š³Š¾ параметра Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ право на запись в -/var/log/faillog\&. -.RE -.PP -\fB\-r\fR, \fB\-\-reset\fR -.RS 4 -Š”Š±Ń€Š¾ŃŠøŃ‚ŃŒ счётчик Š½ŠµŃƒŠ“ачных попыток вхоГа\&. -.sp -Š”Š»Ń ŃŃ‚Š¾Š³Š¾ параметра Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ право на запись в -/var/log/faillog\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIŠ”ŠŠ•Š™\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ записи faillog новее чем -\fIŠ”ŠŠ•Š™\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fIŠ£Š§ŠŠ¢ŠŠŠÆ Š—ŠŠŸŠ˜Š”Š¬\fR|\fIŠ”Š˜ŠŠŸŠŠ—ŠžŠ\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ запись faillog или ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ счётчики Š½ŠµŃƒŠ“ачных попыток Šø Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ (если заГан параметр -\fB\-l\fR, -\fB\-m\fR -или -\fB\-r\fR) Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š»Ń ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Ń… ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей\&. -.sp -ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń можно ŃƒŠŗŠ°Š·Š°Ń‚ŃŒ по Š¾Ń‚Š“ŠµŠ»ŃŒŠ½Š¾Š¼Ńƒ имени, Ń‡ŠøŃŠ»Š¾Š²Š¾Š¼Ńƒ ŠøŠ“ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń‚Š¾Ń€Ńƒ или в виГе -\fIŠ”Š˜ŠŠŸŠŠ—ŠžŠŠ\fR -ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. Такой -\fIŠ”Š˜ŠŠŸŠŠ—ŠžŠ\fR -можно Š·Š°Š“Š°Š²Š°Ń‚ŃŒ в виГе максимального Šø минимального значений(\fIUID_ŠœŠ˜Š\-UID_МАКД\fR), максимального (\fI\-UID_МАКД\fR) или минимального (\fIUID_ŠœŠ˜Š\-\fR) Š·Š½Š°Ń‡ŠµŠ½ŠøŃ\&. -.RE -.PP -Если параметры -\fB\-l\fR, -\fB\-m\fR -или -\fB\-r\fR -не заГаны, то -\fBfaillog\fR -показывает записи faillog ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Ń… ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBfaillog\fR -вывоГит Ń‚Š¾Š»ŃŒŠŗŠ¾ записи о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ…, ŠæŠ¾ŃŠ»ŠµŠ“Š½ŃŃ попытка вхоГа которых была Š½ŠµŃƒŠ“ачной\&. Чтобы ŃƒŠ²ŠøŠ“ŠµŃ‚ŃŒ запись о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šµ, ŠæŠ¾ŃŠ»ŠµŠ“Š½ŃŃ попытка вхоГа которого была ŃƒŠ“Š°Ń‡Š½Š¾Š¹, вы Голжны ŃŠæŠµŃ†ŠøŠ°Š»ŃŒŠ½Š¾ ŃƒŠŗŠ°Š·Š°Ń‚ŃŒ ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ параметра -\fB\-u\fR, или Š“Š»Ń показа всех ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ ŃƒŠŗŠ°Š·Š°Ń‚ŃŒ параметр -\fB\-a\fR\&. -.SH "ФАЙЛЫ" -.PP -/var/log/faillog -.RS 4 -Š¶ŃƒŃ€Š½Š°Š» Š½ŠµŃƒŠ“Š°Š²ŃˆŠøŃ…ŃŃ попыток вхоГа в ŃŠøŃŃ‚ŠµŠ¼Ńƒ -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBlogin\fR(1), -\fBfaillog\fR(5)\&. diff --git a/man/ru/man8/groupadd.8 b/man/ru/man8/groupadd.8 deleted file mode 100644 index bf7e2651..00000000 --- a/man/ru/man8/groupadd.8 +++ /dev/null @@ -1,242 +0,0 @@ -'\" t -.\" Title: groupadd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "groupadd" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -groupadd \- созГаёт Š½Š¾Š²ŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIпараметры\fR] \fIŠ³Ń€ŃƒŠæŠæŠ°\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBgroupadd\fR -созГаёт Š½Š¾Š²ŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ согласно ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¼ Š·Š½Š°Ń‡ŠµŠ½ŠøŃŠ¼ команГной строки Šø системным Š·Š½Š°Ń‡ŠµŠ½ŠøŃŠ¼ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\&. ŠŠ¾Š²Š°Ń Š³Ń€ŃƒŠæŠæŠ° Š±ŃƒŠ“ŠµŃ‚ Гобавлена в системные файлы\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBgroupadd\fR: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Š—Š°Š²ŠµŃ€ŃˆŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ Šø Š²ŠµŃ€Š½ŃƒŃ‚ŃŒ ŃŠ¾ŃŃ‚Š¾ŃŠ½ŠøŠµ успешного Š²Ń‹ŠæŠ¾Š»Š½ŠµŠ½ŠøŃ, если Š³Ń€ŃƒŠæŠæŠ° уже ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚\&. Если ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся вместе с параметром -\fB\-g\fR -Šø ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¹ GID уже ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚, то Š²Ń‹Š±ŠøŃ€Š°ŠµŃ‚ся Š“Ń€ŃƒŠ³Š¾Š¹ (ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¹) GID (то ŠµŃŃ‚ŃŒ параметр -\fB\-g\fR -ŠøŠ³Š½Š¾Ń€ŠøŃ€ŃƒŠµŃ‚ŃŃ)\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -Числовое значение иГентификатора Š³Ń€ŃƒŠæŠæŃ‹ (ID)\&. ŠžŠ½Š¾ Голжно Š±Ń‹Ń‚ŃŒ ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¼, если не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся параметр -\fB\-o\fR\&. Значение Голжно Š±Ń‹Ń‚ŃŒ Š½ŠµŠ¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¼\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ наименьшее значение ID большее или равное -\fBGID_MIN\fR -Šø большее чем у Š¾ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š³Ń€ŃƒŠæŠæ\&. -.sp -Дмотрите также описание -\fB\-r\fR -Šø -\fBGID_MAX\fR\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fIŠšŠ›Š®Š§\fR=\fIŠ—ŠŠŠ§Š•ŠŠ˜Š•\fR -.RS 4 -Š˜Š·Š¼ŠµŠ½ŠøŃ‚ŃŒ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (GID_MIN, GID_MAX Šø Š“Ń€ŃƒŠ³ŠøŠµ), которые Ń…Ń€Š°Š½ŃŃ‚ŃŃ в файле -/etc/login\&.defs\&. Можно ŃƒŠŗŠ°Š·Š°Ń‚ŃŒ несколько параметров -\fB\-K\fR\&. -.sp -ŠŸŃ€ŠøŠ¼ŠµŃ€: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI100\fR\ \&\fB\-K\fR\ \&\fIGID_MAX\fR=\fI499\fR -.sp -Замечание: запись виГа -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR -пока не работает\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Š Š°Š·Ń€ŠµŃˆŠøŃ‚ŃŒ Гобавление Š³Ń€ŃƒŠæŠæŃ‹ с не ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¼ GID\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIŠŸŠŠ ŠžŠ›Š¬\fR -.RS 4 -Шифрованное значение ŠæŠ°Ń€Š¾Š»Ń, которое возвращает Ń„ŃƒŠ½ŠŗŃ†ŠøŃ -\fBcrypt\fR(3)\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŠæŠ°Ń€Š¾Š»ŃŒ Š¾Ń‚ŠŗŠ»ŃŽŃ‡Ń‘Š½\&. -.sp -\fBЗамечание:\fR -Этот параметр ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ не Ń€ŠµŠŗŠ¾Š¼ŠµŠ½Š“ŃƒŠµŃ‚ŃŃ, так как ŠæŠ°Ń€Š¾Š»ŃŒ (или не ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ) Š±ŃƒŠ“ŠµŃ‚ виГим Š“Ń€ŃƒŠ³ŠøŠ¼Šø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼ в списке процессов\&. -.sp -Š’Ń‹ Голжны ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ, что ŠæŠ°Ń€Š¾Š»ŃŒ ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŠµŃ‚ политике системных паролей\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Š”Š¾Š·Š“Š°Ń‚ŃŒ ŃŠøŃŃ‚ŠµŠ¼Š½ŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ\&. -.sp -Числовые иГентификаторы Š“Š»Ń системных Š³Ń€ŃƒŠæŠæ Š²Ń‹Š±ŠøŃ€Š°ŃŽŃ‚ŃŃ ŠøŠ· Гиапазона -\fBSYS_GID_MIN\fR\-\fBSYS_GID_MAX\fR, опреГелённых в -login\&.defs, а не ŠøŠ· -\fBGID_MIN\fR\-\fBGID_MAX\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBGID_MAX\fR (число), \fBGID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов Š³Ń€ŃƒŠæŠæ, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR, -\fBgroupadd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ обычных Š³Ń€ŃƒŠæŠæ\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBGID_MIN\fR -(соотв\&. -\fBGID_MAX\fR) равно 1000 (соотв\&. 60000)\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.PP -\fBSYS_GID_MAX\fR (число), \fBSYS_GID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов Š³Ń€ŃƒŠæŠæ, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR, -\fBgroupadd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ системных Š³Ń€ŃƒŠæŠæ\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBSYS_GID_MIN\fR -(соотв\&.\fBSYS_GID_MAX\fR) равно 101 (соотв\&. -\fBGID_MIN\fR\-1)\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -Имена Š³Ń€ŃƒŠæŠæ Голжны Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒŃŃ со строчной Š±ŃƒŠŗŠ²Ń‹ или символа ŠæŠ¾Š“Ń‡Ń‘Ń€ŠŗŠøŠ²Š°Š½ŠøŃ, Šø Голжны ŃŠ¾ŃŃ‚Š¾ŃŃ‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ ŠøŠ· строчных букв, цифр, символов ŠæŠ¾Š“Ń‡Ń‘Ń€ŠŗŠøŠ²Š°Š½ŠøŃ Šø минус\&. ŠžŠ½Šø Š¼Š¾Š³ŃƒŃ‚ Š·Š°ŠŗŠ°Š½Ń‡ŠøŠ²Š°Ń‚ŃŒŃŃ знаком Голлара\&. Это можно Š¾ŠæŠøŃŠ°Ń‚ŃŒ Ń€ŠµŠ³ŃƒŠ»ŃŃ€Š½Ń‹Š¼ выражением: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -Имена Š³Ń€ŃƒŠæŠæ Š¼Š¾Š³ŃƒŃ‚ Š±Ń‹Ń‚ŃŒ Глиной не более 16 знаков\&. -.PP -ŠŠµŠ»ŃŒŠ·Ń Š“Š¾Š±Š°Š²ŠøŃ‚ŃŒ Š³Ń€ŃƒŠæŠæŃƒ NIS или LDAP\&. Это необхоГимо Š“ŠµŠ»Š°Ń‚ŃŒ на ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠ¼ сервере\&. -.PP -Если ŠøŠ¼Ń Š³Ń€ŃƒŠæŠæŃ‹ уже ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ во внешней базе Ганных Š³Ń€ŃƒŠæŠæ, например в NIS или LDAP, то -\fBgroupadd\fR -не станет ŃŠ¾Š·Š“Š°Š²Š°Ń‚ŃŒ Š³Ń€ŃƒŠæŠæŃƒ\&. -.SH "Š’ŠžŠ—Š’Š ŠŠ©ŠŠ•ŠœŠ«Š• Š—ŠŠŠ§Š•ŠŠ˜ŠÆ" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBgroupadd\fR -Š·Š°Š²ŠµŃ€ŃˆŠ°Ń Ń€Š°Š±Š¾Ń‚Ńƒ, возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -.PP -\fI0\fR -.RS 4 -успешное выполнение -.RE -.PP -\fI2\fR -.RS 4 -ошибка в параметрах команГы -.RE -.PP -\fI3\fR -.RS 4 -Š½ŠµŠ“Š¾ŠæŃƒŃŃ‚ŠøŠ¼Š¾Šµ значение параметра -.RE -.PP -\fI4\fR -.RS 4 -не ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¹ GID (если не заГан параметр -\fB\-o\fR) -.RE -.PP -\fI9\fR -.RS 4 -не уникальное ŠøŠ¼Ń Š³Ń€ŃƒŠæŠæŃ‹ -.RE -.PP -\fI10\fR -.RS 4 -не уГалось ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ файл Š³Ń€ŃƒŠæŠæ -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/ru/man8/groupdel.8 b/man/ru/man8/groupdel.8 deleted file mode 100644 index 321120d3..00000000 --- a/man/ru/man8/groupdel.8 +++ /dev/null @@ -1,133 +0,0 @@ -'\" t -.\" Title: groupdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "groupdel" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -groupdel \- ŃƒŠ“Š°Š»ŃŠµŃ‚ Š³Ń€ŃƒŠæŠæŃƒ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIпараметры\fR] \fIŠ“Š Š£ŠŸŠŸŠ\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBgroupdel\fR -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ системные файлы ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей, ŃƒŠ“Š°Š»ŃŃ все записи, Š¾Ń‚Š½Š¾ŃŃŃ‰ŠøŠµŃŃ Šŗ -\fIŠ“Š Š£ŠŸŠŸŠ•\fR\&. Š“Ń€ŃƒŠæŠæŠ° с таким именем Голжна ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBgroupdel\fR: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -Š’Ń‹ не можете ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ Š³Ń€ŃƒŠæŠæŃƒ, если она ŃŠ²Š»ŃŠµŃ‚ŃŃ первичной Š“Š»Ń ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠ³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Š’Ń‹ Голжны ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń переГ тем как ŃƒŠ“Š°Š»ŃŃ‚ŃŒ Š³Ń€ŃƒŠæŠæŃƒ\&. -.PP -Š’Ń‹ Голжны Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ все файловые системы, чтобы ŃƒŠ±ŠµŠ“ŠøŃ‚ŃŒŃŃ, что не Š¾ŃŃ‚Š°Š»Š¾ŃŃŒ файлов, принаГлежащих ŃƒŠ“Š°Š»Ń‘Š½Š½Š¾Š¹ Š³Ń€ŃƒŠæŠæŠµ\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.SH "Š’ŠžŠ—Š’Š ŠŠ©ŠŠ•ŠœŠ«Š• Š—ŠŠŠ§Š•ŠŠ˜ŠÆ" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBgroupdel\fR -Š·Š°Š²ŠµŃ€ŃˆŠ°Ń Ń€Š°Š±Š¾Ń‚Ńƒ, возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -.PP -\fI0\fR -.RS 4 -успешное выполнение -.RE -.PP -\fI2\fR -.RS 4 -ошибка в параметрах команГы -.RE -.PP -\fI6\fR -.RS 4 -ŃƒŠŗŠ°Š·Š°Š½Š½Š°Ń Š³Ń€ŃƒŠæŠæŠ° не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ -.RE -.PP -\fI8\fR -.RS 4 -не уГалось ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ ŠæŠµŃ€Š²ŠøŃ‡Š½ŃƒŃŽ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ -.RE -.PP -\fI10\fR -.RS 4 -не уГалось ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ файл Š³Ń€ŃƒŠæŠæ -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/ru/man8/groupmems.8 b/man/ru/man8/groupmems.8 deleted file mode 100644 index 4fe454f7..00000000 --- a/man/ru/man8/groupmems.8 +++ /dev/null @@ -1,170 +0,0 @@ -'\" t -.\" Title: groupmems -.\" Author: George Kraft, IV -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "groupmems" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -groupmems \- ŃƒŠæŃ€Š°Š²Š»ŃŠµŃ‚ членами первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBgroupmems\fR\ 'u -\fBgroupmems\fR \-a\ \fIŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR | \-d\ \fIŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR | [\-g\ \fIŠøŠ¼Ń_Š³Ń€ŃƒŠæŠæŃ‹\fR] | \-l | \-p -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBgroupmems\fR -ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ ŃƒŠæŃ€Š°Š²Š»ŃŃ‚ŃŒ списком членов своей Š³Ń€ŃƒŠæŠæŃ‹ не ŠøŠ¼ŠµŃ привилегий ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBgroupmems\fR -работает в системах, гГе в качестве первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŃŠ²Š»ŃŠµŃ‚ŃŃ Š³Ń€ŃƒŠæŠæŠ° с именем ŃŠ¾Š²ŠæŠ°Š“Š°ŃŽŃ‰ŠøŠ¼ с именем ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń (то ŠµŃŃ‚ŃŒ, guest / guest)\&. -.PP -Только ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ как аГминистратор может ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ -\fBgroupmems\fR, чтобы ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ список членов не своей Š³Ń€ŃƒŠæŠæŃ‹\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBgroupmems\fR: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR -.RS 4 -Add a user to the group membership list\&. -.sp -Если ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ файл -/etc/gshadow -Šø записи о Š³Ń€ŃƒŠæŠæŠµ нет в файле -/etc/gshadow, то Š±ŃƒŠ“ет созГана Š½Š¾Š²Š°Ń запись\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR -.RS 4 -Š£Š“Š°Š»ŠøŃ‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŠøŠ· Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ файл -/etc/gshadow, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Š±ŃƒŠ“ŠµŃ‚ ŃƒŠ“Š°Š»Ń‘Š½ ŠøŠ· списка членов Šø аГминистраторов Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ файл -/etc/gshadow -Šø записи о Š³Ń€ŃƒŠæŠæŠµ нет в файле -/etc/gshadow, то Š±ŃƒŠ“ет созГана Š½Š¾Š²Š°Ń запись\&. -.RE -.PP -\fB\-g\fR, \fB\-\-group\fR\ \&\fIŠøŠ¼Ń_Š³Ń€ŃƒŠæŠæŃ‹\fR -.RS 4 -Š”ŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может ŃƒŠŗŠ°Š·Š°Ń‚ŃŒ Š³Ń€ŃƒŠæŠæŃƒ, в которой нужно ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ список членов\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ список членов Š³Ń€ŃƒŠæŠæŃ‹\&. -.RE -.PP -\fB\-p\fR, \fB\-\-purge\fR -.RS 4 -Š’Ń‹Ń‡ŠøŃŃ‚ŠøŃ‚ŃŒ всех ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ ŠøŠ· списка членов Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ файл -/etc/gshadow -Šø записи о Š³Ń€ŃƒŠæŠæŠµ нет в файле -/etc/gshadow, то Š±ŃƒŠ“ет созГана Š½Š¾Š²Š°Ń запись\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -Š˜ŃŠæŠ¾Š»Š½ŃŠµŠ¼Ń‹Š¹ файл программы -\fBgroupmems\fR -Голжен ŠøŠ¼ŠµŃ‚ŃŒ права -2770, ŠæŃ€ŠøŠ½Š°Š“Š»ŠµŠ¶Š°Ń‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ -\fIroot\fR -Šø Š³Ń€ŃƒŠæŠæŠµ -\fIgroups\fR\&. Дистемный аГминистратор может Š“Š¾Š±Š°Š²Š»ŃŃ‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ в Š³Ń€ŃƒŠæŠæŃƒ -\fIgroups\fR, Ń€Š°Š·Ń€ŠµŃˆŠ°Ń или Š·Š°ŠæŃ€ŠµŃ‰Š°Ń им Š·Š°ŠæŃƒŃŠŗŠ°Ń‚ŃŒ ŠæŃ€Š¾Š³Ń€Š°Š¼Š¼Ńƒ -\fBgroupmems\fR -Š“Š»Ń ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ членством в своей Š³Ń€ŃƒŠæŠæŠµ\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - $ groupadd \-r groups - $ chmod 2770 groupmems - $ chown root\&.groups groupmems - $ groupmems \-g groups \-a gk4 - -.fi -.if n \{\ -.RE -.\} -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/ru/man8/groupmod.8 b/man/ru/man8/groupmod.8 deleted file mode 100644 index d2cb46e0..00000000 --- a/man/ru/man8/groupmod.8 +++ /dev/null @@ -1,205 +0,0 @@ -'\" t -.\" Title: groupmod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "groupmod" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -groupmod \- ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ опреГеление Š³Ń€ŃƒŠæŠæŃ‹ в системе -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIпараметры\fR] \fIŠ“Š Š£ŠŸŠŸŠ\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -КоманГа -\fBgroupmod\fR -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ опреГеление указанной -\fIŠ“Š Š£ŠŸŠŸŠ«\fR, ŠøŠ·Š¼ŠµŠ½ŃŃ ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŃƒŃŽ запись в базе Ганных Š³Ń€ŃƒŠæŠæ\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBgroupmod\fR: -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -Š˜Š¼Ń Š³Ń€ŃƒŠæŠæŃ‹ Š±ŃƒŠ“ŠµŃ‚ изменено с -\fIŠ“Š Š£ŠŸŠŸŠ\fR -на -\fIGID\fR\&. -.sp -Š”ŠµŃŃŃ‚ŠøŃ‡Š½Š¾Šµ значение -\fIGID\fR -Голжно Š±Ń‹Ń‚ŃŒ Š½ŠµŠ¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¼\&. Это значение Голжно Š±Ń‹Ń‚ŃŒ ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¼, если не указан параметр -\fB\-o\fR\&. -.sp -Š£ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, которых ŃŃ‚Š° Š³Ń€ŃƒŠæŠæŠ° ŃŠ²Š»ŃŠµŃ‚ŃŃ первичной, Š±ŃƒŠ“ŠµŃ‚ выполнено ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠµ обновление\&. -.sp -Š£ всех файлов, которые ŠøŠ¼ŠµŃŽŃ‚ ID старой Š³Ń€ŃƒŠæŠæŃ‹ Šø Голжны ŠæŃ€Š¾Š“Š¾Š»Š¶Š°Ń‚ŃŒ ŠæŃ€ŠøŠ½Š°Š“Š»ŠµŠ¶Š°Ń‚ŃŒ -\fIGROUP\fR, нужно ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŠøŃ… ID Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ\&. -.sp -ŠŠøŠŗŠ°ŠŗŠøŃ… проверок по -\fBGID_MIN\fR, -\fBGID_MAX\fR, -\fBSYS_GID_MIN\fR -или -\fBSYS_GID_MAX\fR -ŠøŠ· -/etc/login\&.defs -не ŠæŃ€Š¾ŠøŠ·Š²Š¾Š“ŠøŃ‚ŃŃ\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-n\fR, \fB\-\-new\-name\fR\ \&\fIŠŠžŠ’ŠŠÆ_Š“Š Š£ŠŸŠŸŠ\fR -.RS 4 -Š˜Š¼Ń Š³Ń€ŃƒŠæŠæŃ‹ Š±ŃƒŠ“ŠµŃ‚ изменено с -\fIŠ“Š Š£ŠŸŠŸŠ\fR -на -\fIŠŠžŠ’ŠŠÆ_Š“Š Š£ŠŸŠŸŠ\fR\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -ŠŸŃ€Šø использовании с параметром -\fB\-g\fR -Ń€Š°Š·Ń€ŠµŃˆŠ°ŠµŃ‚ŃŃ ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ -\fIGID\fR -Š³Ń€ŃƒŠæŠæŃ‹ не ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¼ значением\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIŠŸŠŠ ŠžŠ›Š¬\fR -.RS 4 -Шифрованное значение ŠæŠ°Ń€Š¾Š»Ń, которое возвращает Ń„ŃƒŠ½ŠŗŃ†ŠøŃ -\fBcrypt\fR(3)\&. -.sp -\fBЗамечание:\fR -Этот параметр ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ не Ń€ŠµŠŗŠ¾Š¼ŠµŠ½Š“ŃƒŠµŃ‚ŃŃ, так как ŠæŠ°Ń€Š¾Š»ŃŒ (или не ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ) Š±ŃƒŠ“ŠµŃ‚ виГим Š“Ń€ŃƒŠ³ŠøŠ¼Šø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼ в списке процессов\&. -.sp -Š’Ń‹ Голжны ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ, что ŠæŠ°Ń€Š¾Š»ŃŒ ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŠµŃ‚ политике системных паролей\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.SH "Š’ŠžŠ—Š’Š ŠŠ©ŠŠ•ŠœŠ«Š• Š—ŠŠŠ§Š•ŠŠ˜ŠÆ" -.PP -КоманГа -\fBgroupmod\fR -Š·Š°Š²ŠµŃ€ŃˆŠ°Ń Ń€Š°Š±Š¾Ń‚Ńƒ, возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -.PP -\fI0\fR -.RS 4 -успешное выполнение -.RE -.PP -\fI2\fR -.RS 4 -ошибка в параметрах команГы -.RE -.PP -\fI3\fR -.RS 4 -Š½ŠµŠ“Š¾ŠæŃƒŃŃ‚ŠøŠ¼Š¾Šµ значение параметра -.RE -.PP -\fI4\fR -.RS 4 -ŃƒŠŗŠ°Š·Š°Š½Š½Š°Ń Š³Ń€ŃƒŠæŠæŠ° не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ -.RE -.PP -\fI6\fR -.RS 4 -ŃƒŠŗŠ°Š·Š°Š½Š½Š°Ń Š³Ń€ŃƒŠæŠæŠ° не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ -.RE -.PP -\fI9\fR -.RS 4 -такое ŠøŠ¼Ń Š³Ń€ŃƒŠæŠæŃ‹ уже ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся -.RE -.PP -\fI10\fR -.RS 4 -не уГалось ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ файл Š³Ń€ŃƒŠæŠæ -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/ru/man8/grpck.8 b/man/ru/man8/grpck.8 deleted file mode 100644 index 996c971d..00000000 --- a/man/ru/man8/grpck.8 +++ /dev/null @@ -1,238 +0,0 @@ -'\" t -.\" Title: grpck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "grpck" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -grpck \- ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ ŠŗŠ¾Ń€Ń€ŠµŠŗŃ‚Š½Š¾ŃŃ‚ŃŒ файлов Š³Ń€ŃƒŠæŠæ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [параметры] [\fIŠ³Ń€ŃƒŠæŠæŠ°\fR\ [\ \fIshadow\fR\ ]] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBgrpck\fR -ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ Ń†ŠµŠ»Š¾ŃŃ‚Š½Š¾ŃŃ‚ŃŒ информации о Š³Ń€ŃƒŠæŠæŠ°Ń… в системе\&. ŠŸŃ€Š¾Š²ŠµŃ€ŃŃŽŃ‚ŃŃ формат Šø ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾ŃŃ‚ŃŒ Ганных всех записей в файлах -/etc/group -Šø -/etc/gshadow\&. Š’ ŃŠ»ŃƒŃ‡Š°Šµ Š¾Š±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŃ ошибок ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ ŠæŃ€ŠµŠ“Š»Š°Š³Š°ŠµŃ‚ŃŃ ŠæŠ¾Š“Ń‚Š²ŠµŃ€Š“ŠøŃ‚ŃŒ уГаление записей, ŠøŠ¼ŠµŃŽŃ‰ŠøŃ… неверный формат или восстановление которых невозможно\&. -.PP -Š’Ń‹ŠæŠ¾Š»Š½ŃŃŽŃ‚ŃŃ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ проверки: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Šµ количество полей -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Š¾ŃŃ‚ŃŒ Šø ŠŗŠ¾Ń€Ń€ŠµŠŗŃ‚Š½Š¾ŃŃ‚ŃŒ имени Š³Ń€ŃƒŠæŠæŃ‹ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŠŗŠ¾Ń€Ń€ŠµŠŗŃ‚Š½Š¾ŃŃ‚ŃŒ иГентификатора Š³Ń€ŃƒŠæŠæŃ‹ -(Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š»Ń /etc/group) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŠŗŠ¾Ń€Ń€ŠµŠŗŃ‚Š½Š¾ŃŃ‚ŃŒ списка членов -Šø аГминистраторов -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -соответствие записи в файле -/etc/gshadow -(Šø -/etc/group -при проверках -gshadow) -.RE -.PP -ŠžŃˆŠøŠ±ŠŗŠø в количестве полей Šø ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Š¾ŃŃ‚Šø имён Š³Ń€ŃƒŠæŠæ невосстановимы\&. Если запись соГержит неверное число полей, ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŠæŠ¾ŠæŃ€Š¾ŃŃŃ‚ ŠæŠ¾Š“Ń‚Š²ŠµŃ€Š“ŠøŃ‚ŃŒ уГаление всей строки\&. Если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ ответит Š¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Š¾, Š“Š°Š»ŃŒŠ½ŠµŠ¹ŃˆŠ°Ń проверка Š²Ń‹ŠæŠ¾Š»Š½ŃŃ‚ŃŒŃŃ не Š±ŃƒŠ“ет\&. ŠŸŃ€Šø ошибке ŠæŠ¾Š²Ń‚Š¾Ń€ŠµŠ½ŠøŃ имени Š³Ń€ŃƒŠæŠæŃ‹ также возникает запрос на уГаление, но в ŃŠ»ŃƒŃ‡Š°Šµ отказа проверка Š±ŃƒŠ“ет проГолжена\&. ŠžŠ±Š¾ всех Š¾ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š¾ŃˆŠøŠ±ŠŗŠ°Ń… Š²Ń‹Š²Š¾Š“ŠøŃ‚ŃŃ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Šø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ ŠæŃ€ŠµŠ“Š»Š°Š³Š°ŠµŃ‚ŃŃ Š·Š°ŠæŃƒŃŃ‚ŠøŃ‚ŃŒ команГу -\fBgroupmod\fR, чтобы ŠøŃŠæŃ€Š°Š²ŠøŃ‚ŃŒ ошибку\&. -.PP -ŠšŠ¾Š¼Š°Š½Š“Ń‹, которые Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‚ с файлом -/etc/group -Šø /etc/gshadow, не способны ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ поврежГённые или Š“ŃƒŠ±Š»ŠøŃ€ŃƒŃŽŃ‰ŠøŠµŃŃ записи\&. Š’ ŃŃ‚Š¾Š¼ ŃŠ»ŃƒŃ‡Š°Šµ нужно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ -\fBgrpck\fR -Š“Š»Ń ŃƒŠ“Š°Š»ŠµŠ½ŠøŃ испорченной записи\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ -\fB\-r\fR, -\fB\-s\fR -не Š¼Š¾Š³ŃƒŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ оГновременно\&. -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBgrpck\fR: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Š—Š°ŠæŃƒŃŠŗŠ°Ń‚ŃŒ команГу -\fBgrpck\fR -в режиме Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š»Ń Ń‡Ń‚ŠµŠ½ŠøŃ\&. ŠŸŃ€Šø ŃŃ‚Š¾Š¼ на все вопросы об ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃŃ… ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŠµŃ‚ŃŃ ответ -\fIнет\fR -Šø ŃƒŃ‡Š°ŃŃ‚ŠøŠµ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń не Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -ŠžŃ‚ŃŠ¾Ń€Ń‚ŠøŃ€Š¾Š²Š°Ń‚ŃŒ все записи в файле -/etc/groupŠø /etc/gshadow -по Ń‡ŠøŃŠ»Š¾Š²Š¾Š¼Ńƒ ŠøŠ“ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń‚Š¾Ń€Ńƒ Š³Ń€ŃƒŠæŠæŃ‹ (GID)\&. -.RE -.PP -By default, -\fBgrpck\fR -operates on -/etc/group -and /etc/gshadow\&. The user may select alternate files with the -\fIgroup\fR -and \fIshadow\fR parameters\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.SH "Š’ŠžŠ—Š’Š ŠŠ©ŠŠ•ŠœŠ«Š• Š—ŠŠŠ§Š•ŠŠ˜ŠÆ" -.PP -КоманГа -\fBgrpck\fR -Š·Š°Š²ŠµŃ€ŃˆŠ°Ń Ń€Š°Š±Š¾Ń‚Ńƒ, возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -.PP -\fI0\fR -.RS 4 -успешное выполнение -.RE -.PP -\fI1\fR -.RS 4 -ошибка в параметрах команГы -.RE -.PP -\fI2\fR -.RS 4 -ŠµŃŃ‚ŃŒ оГна или более Š½ŠµŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Ń‹Ń… записей Š³Ń€ŃƒŠæŠæ -.RE -.PP -\fI3\fR -.RS 4 -не уГалось Š¾Ń‚ŠŗŃ€Ń‹Ń‚ŃŒ файл Š³Ń€ŃƒŠæŠæ -.RE -.PP -\fI4\fR -.RS 4 -не уГалось Š·Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ файл Š³Ń€ŃƒŠæŠæ -.RE -.PP -\fI5\fR -.RS 4 -не уГалось ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ файл Š³Ń€ŃƒŠæŠæ -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBgroup\fR(5), -\fBgroupmod\fR(8), -\fBgshadow\fR(5),\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBshadow\fR(5)\&. diff --git a/man/ru/man8/grpconv.8 b/man/ru/man8/grpconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/ru/man8/grpconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/ru/man8/grpunconv.8 b/man/ru/man8/grpunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/ru/man8/grpunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/ru/man8/lastlog.8 b/man/ru/man8/lastlog.8 deleted file mode 100644 index 6447dd8e..00000000 --- a/man/ru/man8/lastlog.8 +++ /dev/null @@ -1,119 +0,0 @@ -'\" t -.\" Title: lastlog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "lastlog" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -lastlog \- вывоГит отчёт о послеГней регистрации в системе всех или указанного ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIпараметры\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBlastlog\fR -ŃƒŠæŠ¾Ń€ŃŠ“Š¾Ń‡ŠøŠ²Š°ŠµŃ‚ Šø вывоГит соГержимое файла -/var/log/lastlog, который соГержит Гаты послеГнего вхоГа ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ в ŃŠøŃŃ‚ŠµŠ¼Ńƒ\&. Š’Ń‹Š²Š¾Š“ŃŃ‚ŃŃ -\fIŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR, -\fIпорт\fR -Šø -\fIГата послеГнего вхоГа в ŃŠøŃŃ‚ŠµŠ¼Ńƒ\fR\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (вызов без параметров) ŠæŠ¾ŠŗŠ°Š·Ń‹Š²Š°ŃŽŃ‚ŃŃ записи файла lastlog, отсортированные согласно Ń€Š°ŃŠæŠ¾Š»Š¾Š¶ŠµŠ½ŠøŃŽ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ в файле -/etc/passwd\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBlastlog\fR: -.PP -\fB\-b\fR, \fB\-\-before\fR\ \&\fIŠ”ŠŠ•Š™\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ записи lastlog за послеГние -\fIŠ”ŠŠ•Š™\fR\&. -.RE -.PP -\fB\-C\fR, \fB\-\-clear\fR -.RS 4 -Clear lastlog record of a user\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-S\fR, \fB\-\-set\fR -.RS 4 -Set lastlog record of a user to the current time\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIŠ”ŠŠ•Š™\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ записи lastlog новее чем -\fIŠ”ŠŠ•Š™\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fIŠ£Š§ŠŠ¢ŠŠŠÆ Š—ŠŠŸŠ˜Š”Š¬\fR|\fIŠ”Š˜ŠŠŸŠŠ—ŠžŠ\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ запись lastlog Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š»Ń указанного ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń(ей)\&. -.sp -ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń можно ŃƒŠŗŠ°Š·Š°Ń‚ŃŒ по Š¾Ń‚Š“ŠµŠ»ŃŒŠ½Š¾Š¼Ńƒ имени, Ń‡ŠøŃŠ»Š¾Š²Š¾Š¼Ńƒ ŠøŠ“ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń‚Š¾Ń€Ńƒ или в виГе -\fIŠ”Š˜ŠŠŸŠŠ—ŠžŠŠ\fR -ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. Такой -\fIŠ”Š˜ŠŠŸŠŠ—ŠžŠ\fR -можно Š·Š°Š“Š°Š²Š°Ń‚ŃŒ в виГе максимального Šø минимального значений(\fIUID_ŠœŠ˜Š\-UID_МАКД\fR), максимального (\fI\-UID_МАКД\fR) или минимального (\fIUID_ŠœŠ˜Š\-\fR) Š·Š½Š°Ń‡ŠµŠ½ŠøŃ\&. -.RE -.PP -Если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ никогГа не Ń€ŠµŠ³ŠøŃŃ‚Ń€ŠøŃ€Š¾Š²Š°Š»ŃŃ в системе, то Š±ŃƒŠ“ет показано сообщение -\fI** ŠŠøŠŗŠ¾Š³Š“Š° не вхоГил в ŃŠøŃŃ‚ŠµŠ¼Ńƒ**\fR -вместо Š½Š°Š·Š²Š°Š½ŠøŃ порта Šø Гаты\&. -.PP -Š‘ŃƒŠ“ŃƒŃ‚ показаны записи Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š»Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, ŠøŠ¼ŠµŃŽŃ‰ŠøŃ… в системе Ганный момент\&. Š’ Š¶ŃƒŃ€Š½Š°Š»Šµ Š¼Š¾Š³ŃƒŃ‚ ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ записи Š“Š»Ń ŃƒŠ“Š°Š»Ń‘Š½Š½Ń‹Ń… ранее ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.SH "Š—ŠŠœŠ•Š§ŠŠŠ˜Š•" -.PP -Файл -lastlog -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о послеГней регистрации в системе кажГого ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Š’Ń‹ не Голжны ŠæŃ€ŠøŠ¼ŠµŠ½ŃŃ‚ŃŒ Šŗ нему Ń€Š¾Ń‚Š°Ń†ŠøŃŽ Š¶ŃƒŃ€Š½Š°Š»ŃŒŠ½Ń‹Ń… файлов\&. Этот файл ŃŠ²Š»ŃŠµŃ‚ŃŃ разреженным, ŠæŠ¾ŃŃ‚Š¾Š¼Ńƒ его размер на Гиске горазГо меньше, чем показывает команГа \(Fo\fBls \-l\fR\(Fc (ŠŗŠ¾Ń‚Š¾Ń€Š°Ń может ŠæŠ¾ŠŗŠ°Š·Ń‹Š²Š°Ń‚ŃŒ, что ŃŃ‚Š¾ Š¾Ń‡ŠµŠ½ŃŒ большой файл, если Š·Š½Š°Ń‡ŠµŠ½ŠøŃ иГентификаторов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ в системе Š“Š¾ŃŃ‚ŠøŠ³Š°ŃŽŃ‚ Š±Š¾Š»ŃŒŃˆŠøŃ… значений)\&. Чтобы ŃƒŠ²ŠøŠ“ŠµŃ‚ŃŒ Ń€ŠµŠ°Š»ŃŒŠ½Ń‹Š¹ размер ввеГите \(Fo\fBls \-s\fR\(Fc\&. -.SH "ФАЙЛЫ" -.PP -/var/log/lastlog -.RS 4 -соГержит список Š·Š°Š²ŠµŃ€ŃˆŃ‘нных сеансов работы с системой -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -Š‘Š¾Š»ŃŒŃˆŠøŠµ ŠæŃ€Š¾Š¼ŠµŠ¶ŃƒŃ‚ŠŗŠø в Š·Š½Š°Ń‡ŠµŠ½ŠøŃŃ… иГентификаторов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ ŠæŃ€ŠøŠ²Š¾Š“ŃŃ‚ Šŗ Ń‚Š¾Š¼Ńƒ, что программа некоторое Š²Ń€ŠµŠ¼Ń ничего не вывоГит на ŃŠŗŃ€Š°Š½ (то ŠµŃŃ‚ŃŒ, если в базе Ганных lastlog нет ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ с иГентификаторами с 170 по 800, то во Š²Ń€ŠµŠ¼Ń обработки UID с 171 по 799 программа ŠŗŠ°Š¶ŠµŃ‚ся повисшей)\&. diff --git a/man/ru/man8/logoutd.8 b/man/ru/man8/logoutd.8 deleted file mode 100644 index ae09fa7e..00000000 --- a/man/ru/man8/logoutd.8 +++ /dev/null @@ -1,57 +0,0 @@ -'\" t -.\" Title: logoutd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "logoutd" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -logoutd \- ŠŗŠ¾Š½Ń‚Ń€Š¾Š»ŠøŃ€ŃƒŠµŃ‚ временные интервалы работы в системе -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBlogoutd\fR\ 'u -\fBlogoutd\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBlogoutd\fR -ŠŗŠ¾Š½Ń‚Ń€Š¾Š»ŠøŃ€ŃƒŠµŃ‚ временные Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ работы в системе Šø порты, заГанные в файле -/etc/porttime\&. ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBlogoutd\fR -Голжна Š·Š°ŠæŃƒŃŠŗŠ°Ń‚ŃŒŃŃ ŠøŠ· ŃŃ†ŠµŠ½Š°Ń€ŠøŃ -/etc/rc\&. Файл -/var/run/utmp -периоГически ŃŠŗŠ°Š½ŠøŃ€ŃƒŠµŃ‚ŃŃ Šø Š“Š»Ń кажГого имени ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ŃŃ, Ń€Š°Š·Ń€ŠµŃˆŠµŠ½Š¾ ли Ганному ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ Ń€Š°Š±Š¾Ń‚Š°Ń‚ŃŒ в Š½Š°ŃŃ‚Š¾ŃŃ‰ŠøŠ¹ момент на Ганном ŠæŠ¾Ń€Ń‚Ńƒ\&. Š›ŃŽŠ±Š¾Š¹ сеанс, который Š½Š°Ń€ŃƒŃˆŠ°ŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ, описанные в файле -/etc/porttime, Š±ŃƒŠ“ŠµŃ‚ Š·Š°Š²ŠµŃ€ŃˆŃ‘Š½\&. -.SH "ФАЙЛЫ" -.PP -/etc/porttime -.RS 4 -соГержит Ń€Š°Š·Ń€ŠµŃˆŃ‘Š½Š½Š¾Šµ Š²Ń€ŠµŠ¼Ń работы опреГелённых ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ с опреГелённых портов -.RE -.PP -/var/run/utmp -.RS 4 -соГержит список Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‰ŠøŃ… сеансов в системе -.RE diff --git a/man/ru/man8/newusers.8 b/man/ru/man8/newusers.8 deleted file mode 100644 index 7ce9660a..00000000 --- a/man/ru/man8/newusers.8 +++ /dev/null @@ -1,431 +0,0 @@ -'\" t -.\" Title: newusers -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "newusers" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -newusers \- Š¾Š±Š½Š¾Š²Š»ŃŠµŃ‚ Šø созГаёт новые ŃƒŃ‡Ń‘Ń‚Š½Ń‹Šµ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ в пакетном режиме -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fIпараметры\fR] [\fIфайл\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBnewusers\fR -читает -\fIфайл\fR -(или по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ станГартный ввоГ) Šø ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ эту ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ Š“Š»Ń Š¾Š±Š½Š¾Š²Š»ŠµŠ½ŠøŃ Š³Ń€ŃƒŠæŠæŃ‹ ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠøŃ… или ŃŠ¾Š·Š“Š°Š½ŠøŃ новых ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей\&. ŠšŠ°Š¶Š“Š°Ń строка имеет формат станГартного файла паролей (смотрите -\fBpasswd\fR(5)) за ŠøŃŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŠµŠ¼: -.PP -pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell -.PP -\fIpw_name\fR -.RS 4 -Š˜Š¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.sp -It can be the name of a new user or the name of an existing user (or a user created before by -\fBnewusers\fR)\&. In case of an existing user, the user\*(Aqs information will be changed, otherwise a new user will be created\&. -.RE -.PP -\fIpw_passwd\fR -.RS 4 -Это поле Š±ŃƒŠ“ет Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š¾ Šø использовано как новое значение ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Š¾Š³Š¾ ŠæŠ°Ń€Š¾Š»Ń\&. -.RE -.PP -\fI pw_gid\fR -.RS 4 -Это поле ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ UID ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.sp -If the field is empty, a new (unused) UID will be defined automatically by -\fBnewusers\fR\&. -.sp -Если в ŃŃ‚Š¾Š¼ поле указано число, то оно Š±ŃƒŠ“ет использовано в качестве UID\&. -.sp -If this field contains the name of an existing user (or the name of a user created before by -\fBnewusers\fR), the UID of the specified user will be used\&. -.sp -Если ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ся UID ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠ³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, то у файлов, которыми влаГел ŃŃ‚Š¾Ń‚ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ, нужно Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŠøŃ‚ŃŒ Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Š°\&. -.RE -.PP -\fIpw_gid\fR -.RS 4 -Это поле ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ ID первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.sp -Если в ŃŃ‚Š¾Š¼ поле ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ ŠøŠ¼Ń ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠ¹ Š³Ń€ŃƒŠæŠæŃ‹ (или Š³Ń€ŃƒŠæŠæŃ‹, созГанной -\fBnewusers\fR -ранее), то в качестве ID первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ использован GID ŃŃ‚Š¾Š¹ Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если в ŃŃ‚Š¾Š¼ поле ŃŠ¾Š“ŠµŃ€Š¶ŠøŃ‚ŃŃ число, то ŃŃ‚Š¾ число Š±ŃƒŠ“ет использовано как ID первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Если с таким GID не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚, то Š±ŃƒŠ“ет созГана Š½Š¾Š²Š°Ń Š³Ń€ŃƒŠæŠæŠ° с ŃŃ‚ŠøŠ¼ GID Šø именем ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.sp -Если ŃŃ‚Š¾ поле ŠæŃƒŃŃ‚о, то Š½Š¾Š²Š°Ń Š³Ń€ŃƒŠæŠæŠ° Š±ŃƒŠ“ŠµŃ‚ созГана с именем ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, а GID Š±ŃƒŠ“ŠµŃ‚ опреГелён -\fBnewusers\fR -автоматически (Š“Š»Ń ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ в качестве ID первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Šø GID новой Š³Ń€ŃƒŠæŠæŃ‹)\&. -.sp -Если поле соГержит ŠøŠ¼Ń Š³Ń€ŃƒŠæŠæŃ‹, которой не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ (Šø ŠŗŠ¾Ń‚Š¾Ń€Š°Ń не была созГана -\fBnewusers\fR -ранее), то Š±ŃƒŠ“ет созГана Š½Š¾Š²Š°Ń Š³Ń€ŃƒŠæŠæŠ° с ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¼ именем, GID Š±ŃƒŠ“ŠµŃ‚ опреГелён -\fBnewusers\fR -автоматически (Š“Š»Ń ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ в качестве ID первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Šø GID новой Š³Ń€ŃƒŠæŠæŃ‹)\&. -.RE -.PP -\fIpw_gecos\fR -.RS 4 -Это поле ŠŗŠ¾ŠæŠøŃ€ŃƒŠµŃ‚ся в поле GECOS записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fIpw_dir\fR -.RS 4 -Это поле ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ Гомашнего каталога ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.sp -Если ŃŃ‚Š¾ поле ŃƒŠŗŠ°Š·Ń‹Š²Š°ŠµŃ‚ на Š½ŠµŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠøŠ¹ каталог, то ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¹ каталог ŃŠ¾Š·Š“Š°Ń‘Ń‚ŃŃ, его Š²Š»Š°Š“ŠµŠ»ŃŒŃ†ŠµŠ¼ Š½Š°Š·Š½Š°Ń‡Š°ŠµŃ‚ŃŃ созГаваемый или Š¾Š±Š½Š¾Š²Š»ŃŠµŠ¼Ń‹Š¹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Šø его ŠæŠµŃ€Š²ŠøŃ‡Š½Š°Ń Š³Ń€ŃƒŠæŠæŠ°\&. -.sp -Если ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ся Гомашний каталог ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠ³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, то команГа -\fBnewusers\fR -не перемещает или ŠŗŠ¾ŠæŠøŃ€ŃƒŠµŃ‚ соГержимое старого каталога в новое место\&. Это нужно Š²Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ\&. -.RE -.PP -\fIpw_shell\fR -.RS 4 -Š’ ŃŃ‚Š¾Š¼ поле Š·Š°Š“Š°Ń‘Ń‚ŃŃ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ°Ń оболочка\&. ŠŠøŠŗŠ°ŠŗŠøŃ… проверок ŠæŠ¾Š»Ń не Š“ŠµŠ»Š°ŠµŃ‚ŃŃ\&. -.RE -.PP -КоманГа -\fBnewusers\fR -сначала ŠæŃ‹Ń‚Š°ŠµŃ‚ŃŃ ŃŠ¾Š·Š“Š°Ń‚ŃŒ или ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ всех ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Ń… ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, а затем Š·Š°ŠæŠøŃŠ°Ń‚ŃŒ ŃŃ‚Šø ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в базы Ганных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ или Š³Ń€ŃƒŠæŠæ\&. Если происхоГит ошибка (кроме ошибок при послеГней записи в базы Ганных), то ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в базы не ŃŠ¾Ń…Ń€Š°Š½ŃŃŽŃ‚ŃŃ\&. -.PP -Š”Š°Š½Š½Š°Ń команГа преГназначена Š“Š»Ń работы в ŠŗŃ€ŃƒŠæŠ½Ń‹Ń… системных среГах, гГе за оГин раз Š¾Š±Š½Š¾Š²Š»ŃŠµŃ‚ся несколько ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBnewusers\fR: -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¹ метоГ Š“Š»Ń ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей\&. -.sp -Возможные метоГы: DES, MD5, NONE Šø SHA256 или SHA512, если ŃŃ‚Šø метоГы ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ libc\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Š”Š¾Š·Š“Š°Ń‚ŃŒ ŃŠøŃŃ‚ŠµŠ¼Š½ŃƒŃŽ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись\&. -.sp -Дистемные ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šø ŃŠ¾Š·Š“Š°ŃŽŃ‚ŃŃ без информации об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø в -/etc/shadow, Šø ŠøŃ… числовые иГентификаторы Š²Ń‹Š±ŠøŃ€Š°ŃŽŃ‚ŃŃ ŠøŠ· Гиапазона -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR, опреГелённого в -login\&.defs, а не ŠøŠ· -\fBUID_MIN\fR\-\fBUID_MAX\fR -(ŃŃ‚Š¾ же ŠŗŠ°ŃŠ°ŠµŃ‚ся Šø части с -\fBGID\fR -при созГании Š³Ń€ŃƒŠæŠæ)\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ указанное количество Ń€Š°ŃƒŠ½Š“Š¾Š² ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей\&. -.sp -Значение 0 означает, что система выберет количество Ń€Š°ŃƒŠ½Š“Š¾Š² по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń выбранного метоГа ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ (5000)\&. -.sp -Минимальное значение равно 1000, а максимальное значение равно 999,999,999\&. -.sp -Š’Ń‹ можете ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŃŃ‚Š¾Ń‚ параметр Ń‚Š¾Š»ŃŒŠŗŠ¾ при метоГе ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ SHA256 или SHA512\&. -.sp -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, количество Ń€Š°ŃƒŠ½Š“Š¾Š² Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменными SHA_CRYPT_MIN_ROUNDS Šø SHA_CRYPT_MAX_ROUNDS ŠøŠ· -/etc/login\&.defs\&. -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -Файл с вхоГными Ганными Голжен Š±Ń‹Ń‚ŃŒ защищён, так как в нём ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‚ŃŃ не ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Šµ пароли\&. -.PP -Š’Ń‹ Голжны ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ, что ŠæŠ°Ń€Š¾Š»ŃŒ Šø метоГ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŠµŃ‚ политике системных паролей\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBENCRYPT_METHOD\fR (строка) -.RS 4 -ЗаГаёт системный алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ паролей (ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ, если алгоритм не указан в команГной строке)\&. -.sp -Возможны ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -\fIDES\fR -(по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Замечание: ŃŃ‚Š¾Ń‚ параметр ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBMD5_CRYPT_ENAB\fR\&. -.RE -.PP -\fBGID_MAX\fR (число), \fBGID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов Š³Ń€ŃƒŠæŠæ, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR, -\fBgroupadd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ обычных Š³Ń€ŃƒŠæŠæ\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBGID_MIN\fR -(соотв\&. -\fBGID_MAX\fR) равно 1000 (соотв\&. 60000)\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (логический) -.RS 4 -ŠžŠ±Š¾Š·Š½Š°Ń‡Š°ŠµŃ‚, что ŠæŠ°Ń€Š¾Š»ŃŒ Голжен Š±Ń‹Ń‚ŃŒ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5\&. Если значение равно -\fIyes\fR, то новые пароли Š±ŃƒŠ“ŃƒŃ‚ Š·Š°ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Ń‹ по Š°Š»Š³Š¾Ń€ŠøŃ‚Š¼Ńƒ на основе MD5, ŃŠ¾Š²Š¼ŠµŃŃ‚ŠøŠ¼Š¾Š¼Ńƒ с ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¼ в новых Š²ŠµŃ€ŃŠøŃŃ… FreeBSD\&. ŠžŠ½ поГГерживает пароли неограниченной Глины Šø имеет более Š“Š»ŠøŠ½Š½ŃƒŃŽ ŃŃ‚Ń€Š¾ŠŗŃƒ соли\&. Установите в -\fIno\fR, если вам нужно ŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Šµ пароли в Š“Ń€ŃƒŠ³ŠøŠµ системы, которые не ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŃŽŃ‚ новый алгоритм\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ -\fIno\fR\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŠæŠµŃ€ŠµŠ¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменной -\fBENCRYPT_METHOD\fR -или Š»ŃŽŠ±Ń‹Š¼ параметром команГной строки, который заГаёт алгоритм ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń ŃƒŃŃ‚Š°Ń€ŠµŠ»Š°; ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (число) -.RS 4 -Максимальное число Гней ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\&. Если ŠæŠ°Ń€Š¾Š»ŃŒ старее ŃŃ‚Š¾Š³Š¾ числа, то Š±ŃƒŠ“ет Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° ŠæŃ€Š¾Ń†ŠµŠ“ŃƒŃ€Š° смены ŠæŠ°Ń€Š¾Š»Ń\&. Если значение не заГано, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ значение \-1 (то ŠµŃŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (число) -.RS 4 -Максимальное число Гней межГу ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃŠ¼Šø ŠæŠ°Ń€Š¾Š»Ń\&. Š›ŃŽŠ±Š°Ń смена ŠæŠ°Ń€Š¾Š»Ń ранее заГанного срока выполнена не Š±ŃƒŠ“ет\&. Если значение не заГано, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ значение \-1 (то ŠµŃŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (число) -.RS 4 -Число Гней за которое начнёт Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń\&. ŠŃƒŠ»ŠµŠ²Š¾Šµ значение означает, что ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Š²Ń‹Š“Š°Ń‘Ń‚ŃŃ в Гень ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ, при Š¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Š¾Š¼ значении ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ не Š±ŃƒŠ“ет\&. Если значение не заГано, выГача ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ Š¾Ń‚ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ŃŃ\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (число), \fBSHA_CRYPT_MAX_ROUNDS\fR (число) -.RS 4 -Если значение -\fBENCRYPT_METHOD\fR -равно -\fISHA256\fR -или -\fISHA512\fR, ŃŃ‚Š° ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ количество Ń€Š°ŃƒŠ½Š“Š¾Š² SHA, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Ń… алгоритмом ŃˆŠøŃ„Ń€Š¾Š²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (если количество Ń€Š°ŃƒŠ½Š“Š¾Š² не заГано в команГной строке)\&. -.sp -Увеличение количества Ń€Š°ŃƒŠ½Š“Š¾Š² ŠæŠ¾Š²Ń‹ŃˆŠ°ŠµŃ‚ ŃŠ»Š¾Š¶Š½Š¾ŃŃ‚ŃŒ поГбора ŠæŠ°Ń€Š¾Š»Ń простым перебором\&. ŠŠ¾ заметим, что при ŃŃ‚Š¾Š¼ Š“Š»Ń Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŠø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ большее количество процессорных Ń€ŠµŃŃƒŃ€ŃŠ¾Š²\&. -.sp -Если не заГана, то libc выбирает значение количества Ń€Š°ŃƒŠ½Š“Š¾Š² по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (5000)\&. -.sp -Š—Š½Š°Ń‡ŠµŠ½ŠøŃ Голжны Š»ŠµŠ¶Š°Ń‚ŃŒ в Гиапазоне 1000\-999999999\&. -.sp -Если заГано какое\-то оГно значение \(em -\fBSHA_CRYPT_MIN_ROUNDS\fR -или -\fBSHA_CRYPT_MAX_ROUNDS\fR -\(em то Š±ŃƒŠ“ет использовано ŃŃ‚Š¾ значение\&. -.sp -Если -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся большее значение\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (число), \fBSYS_GID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов Š³Ń€ŃƒŠæŠæ, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR, -\fBgroupadd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ системных Š³Ń€ŃƒŠæŠæ\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBSYS_GID_MIN\fR -(соотв\&.\fBSYS_GID_MAX\fR) равно 101 (соотв\&. -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (число), \fBSYS_UID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ системных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBSYS_UID_MIN\fR -(соотв\&. -\fBSYS_UID_MAX\fR) равно 101 (соотв\&. -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBUID_MAX\fR (число), \fBUID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ обычных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBUID_MIN\fR -(соотв\&. -\fBUID_MAX\fR) равно 1000 (соотв\&. 60000)\&. -.RE -.PP -\fBUMASK\fR (число) -.RS 4 -ЗаГаёт Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Šµ значение маски Š“Š¾ŃŃ‚ŃƒŠæŠ° Š“Š»Ń созГаваемых файлов\&. Если не указано, то маска ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŠµŃ‚ŃŃ в 022\&. -.sp -ŠšŠ¾Š¼Š°Š½Š“Ń‹ -\fBuseradd\fR -Šø -\fBnewusers\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ эту маску Š“Š»Ń ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŠø прав Š“Š¾ŃŃ‚ŃƒŠæŠ° Šŗ Гомашнему ŠŗŠ°Ń‚Š°Š»Š¾Š³Ńƒ, который они ŃŠ¾Š·Š“Š°ŃŽŃ‚\&. -.sp -Также она ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся программой -\fBlogin\fR -Š“Š»Ń Š·Š°Š“Š°Š½ŠøŃ Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Š³Š¾ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ umask ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Заметим, что ŃŃ‚Š° маска может Š±Ń‹Ń‚ŃŒ переопреГелена ŠøŠ· ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ¾Š¹ строки GECOS (если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š° ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń -\fBQUOTAS_ENAB\fR) или указанием Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ с иГентификатором -\fIK\fR, в -\fBlimits\fR(5)\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBlogin.defs\fR(5), -\fBpasswd\fR(1), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8)\&. diff --git a/man/ru/man8/nologin.8 b/man/ru/man8/nologin.8 deleted file mode 100644 index edf09e11..00000000 --- a/man/ru/man8/nologin.8 +++ /dev/null @@ -1,51 +0,0 @@ -'\" t -.\" Title: nologin -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "nologin" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -nologin \- вежливо отказывает во вхоГе в ŃŠøŃŃ‚ŠµŠ¼Ńƒ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBnologin\fR\ 'u -\fBnologin\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBnologin\fR -выГаёт сообщение, что ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š½ŠµŠ“Š¾ŃŃ‚ŃƒŠæŠ½Š° Šø Š·Š°Š²ŠµŃ€ŃˆŠ°ŠµŃ‚ Ń€Š°Š±Š¾Ń‚Ńƒ с Š½ŠµŠ½ŃƒŠ»ŠµŠ²Ń‹Š¼ коГом возврата\&. ŠžŠ½Š° преГназначена Š“Š»Ń замены оболочки команГной строки в поле оболочки у заблокированных ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей\&. -.PP -Чтобы Š·Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ все ŃƒŃ‡Ń‘Ń‚Š½Ń‹Šµ записи посмотрите ŃŠæŃ€Š°Š²Š¾Ń‡Š½ŃƒŃŽ ŃŃ‚Ń€Š°Š½ŠøŃ†Ńƒ -\fBnologin\fR(5)\&. -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBlogin\fR(1), -\fBnologin\fR(5)\&. -.SH "Š˜Š”Š¢ŠžŠ Š˜ŠÆ" -.PP -The -\fBnologin\fR -command appeared in BSD 4\&.4\&. diff --git a/man/ru/man8/pwck.8 b/man/ru/man8/pwck.8 deleted file mode 100644 index cbbdbc23..00000000 --- a/man/ru/man8/pwck.8 +++ /dev/null @@ -1,316 +0,0 @@ -'\" t -.\" Title: pwck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "pwck" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -pwck \- ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ Ń†ŠµŠ»Š¾ŃŃ‚Š½Š¾ŃŃ‚ŃŒ файлов паролей -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [параметры] [\fIpasswd\fR\ [\ \fIshadow\fR\ ]] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° -\fBpwck\fR -ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ Ń†ŠµŠ»Š¾ŃŃ‚Š½Š¾ŃŃ‚ŃŒ информации о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… Šø Š°ŃƒŃ‚ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń†ŠøŠø\&. ŠŸŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚ŃŃ формат всех записей файлов -/etc/passwd -Šø -/etc/shadow -Šø ŠŗŠ¾Ń€Ń€ŠµŠŗŃ‚Š½Š¾ŃŃ‚ŃŒ Ганных кажГого ŠæŠ¾Š»Ń\&. Š’ ŃŠ»ŃƒŃ‡Š°Šµ Š¾Š±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŃ ошибок ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ ŠæŃ€ŠµŠ“Š»Š°Š³Š°ŠµŃ‚ŃŃ ŠæŠ¾Š“Ń‚Š²ŠµŃ€Š“ŠøŃ‚ŃŒ уГаление записей, ŠøŠ¼ŠµŃŽŃ‰ŠøŃ… неверный формат или восстановление которых невозможно\&. -.PP -Š’Ń‹ŠæŠ¾Š»Š½ŃŃŽŃ‚ŃŃ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ проверки: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Šµ количество полей -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Š¾ŃŃ‚ŃŒ Šø ŠŗŠ¾Ń€Ń€ŠµŠŗŃ‚Š½Š¾ŃŃ‚ŃŒ имени ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŠŗŠ¾Ń€Ń€ŠµŠŗŃ‚Š½Š¾ŃŃ‚ŃŒ иГентификатора ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Šø Š³Ń€ŃƒŠæŠæŃ‹ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŠŗŠ¾Ń€Ń€ŠµŠŗŃ‚Š½Š¾ŃŃ‚ŃŒ первичной Š³Ń€ŃƒŠæŠæŃ‹ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŠŗŠ¾Ń€Ń€ŠµŠŗŃ‚Š½Š¾ŃŃ‚ŃŒ Гомашнего каталога -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ŠŗŠ¾Ń€Ń€ŠµŠŗŃ‚Š½Š¾ŃŃ‚ŃŒ регистрационной оболочки -.RE -.PP -ŠŸŃ€Š¾Š²ŠµŃ€ŠŗŠø -shadow -Š²Ń‹ŠæŠ¾Š»Š½ŃŃŽŃ‚ŃŃ, если указан второй файловый параметр или когГа в системе ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ файл -/etc/shadow\&. -.PP -Š’Ń‹ŠæŠ¾Š»Š½ŃŃŽŃ‚ŃŃ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ проверки: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -что ŠŗŠ°Š¶Š“Š°Ń запись passwd имеет ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŃƒŃŽ запись shadow Šø ŠŗŠ°Š¶Š“Š°Ń запись shadow имеет ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŃƒŃŽ запись passwd -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -пароли ŃƒŠŗŠ°Š·Š°Š½Ń‹ в теневом файле -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -записи shadow соГержат корректное количество полей -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -записи shadow ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹ в shadow -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Гата послеГней смены ŠæŠ°Ń€Š¾Š»Ń не Š½Š°Ń…Š¾Š“ŠøŃ‚ŃŃ в Š±ŃƒŠ“ŃƒŃ‰ŠµŠ¼ -.RE -.PP -ŠžŃˆŠøŠ±ŠŗŠø в количестве полей Šø ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Š¾ŃŃ‚Šø имён ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ невосстановимы\&. Если запись соГержит неверное число полей, ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń ŠæŠ¾ŠæŃ€Š¾ŃŃŃ‚ ŠæŠ¾Š“Ń‚Š²ŠµŃ€Š“ŠøŃ‚ŃŒ уГаление всей записи\&. Если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ ответит Š¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Š¾, Š“Š°Š»ŃŒŠ½ŠµŠ¹ŃˆŠ°Ń проверка Š²Ń‹ŠæŠ¾Š»Š½ŃŃ‚ŃŒŃŃ не Š±ŃƒŠ“ет\&. ŠŸŃ€Šø ошибке ŠæŠ¾Š²Ń‚Š¾Ń€ŠµŠ½ŠøŃ имени ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń также возникает запрос на уГаление, но в ŃŠ»ŃƒŃ‡Š°Šµ отказа проверка Š±ŃƒŠ“ет проГолжена\&. ŠžŠ±Š¾ всех Š¾ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… Š¾ŃˆŠøŠ±ŠŗŠ°Ń… Š²Ń‹Š²Š¾Š“ŠøŃ‚ŃŃ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Šø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ ŠæŃ€ŠµŠ“Š»Š°Š³Š°ŠµŃ‚ŃŃ Š·Š°ŠæŃƒŃŃ‚ŠøŃ‚ŃŒ команГу -\fBusermod\fR, чтобы ŠøŃŠæŃ€Š°Š²ŠøŃ‚ŃŒ ошибку\&. -.PP -ŠšŠ¾Š¼Š°Š½Š“Ń‹, которые Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‚ с файлом -/etc/passwd, не Š¼Š¾Š³ŃƒŃ‚ ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ поврежГённые или Š“ŃƒŠ±Š»ŠøŃ€ŃƒŃŽŃ‰ŠøŠµŃŃ записи\&. Как раз в ŃŃ‚Š¾Š¼ ŃŠ»ŃƒŃ‡Š°Šµ Šø нужно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ -\fBpwck\fR -Š“Š»Ń ŃƒŠ“Š°Š»ŠµŠ½ŠøŃ испорченной записи\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ -\fB\-r\fR, -\fB\-s\fR -не Š¼Š¾Š³ŃƒŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ оГновременно\&. -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBpwck\fR: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Š”Š¾Š¾Š±Ń‰Š°Ń‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ об Š¾ŃˆŠøŠ±ŠŗŠ°Ń…\&. ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ, которые не Ń‚Ń€ŠµŠ±ŃƒŃŽŃ‚ от ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń никаких Гействий, показаны не Š±ŃƒŠ“ŃƒŃ‚\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŃŃ‚ŃŒ команГу -\fBpwck\fR -в режиме \(FoŃ‚Š¾Š»ŃŒŠŗŠ¾ чтение\(Fc\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -ŠžŃ‚ŃŠ¾Ń€Ń‚ŠøŃ€Š¾Š²Š°Ń‚ŃŒ все записи в файлах -/etc/passwd -Šø -/etc/shadow -по Ń‡ŠøŃŠ»Š¾Š²Š¾Š¼Ńƒ ŠøŠ“ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń‚Š¾Ń€Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, команГа -\fBpwck\fR -работает с файлами -/etc/passwd -Šø -/etc/shadow\&. ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ может ŃƒŠŗŠ°Š·Š°Ń‚ŃŒ Š“Ń€ŃƒŠ³ŠøŠµ файлы с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ параметров -\fIpasswd\fR -Šø -\fIshadow\fR\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBPASS_MAX_DAYS\fR (число) -.RS 4 -Максимальное число Гней ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\&. Если ŠæŠ°Ń€Š¾Š»ŃŒ старее ŃŃ‚Š¾Š³Š¾ числа, то Š±ŃƒŠ“ет Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° ŠæŃ€Š¾Ń†ŠµŠ“ŃƒŃ€Š° смены ŠæŠ°Ń€Š¾Š»Ń\&. Если значение не заГано, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ значение \-1 (то ŠµŃŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (число) -.RS 4 -Максимальное число Гней межГу ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃŠ¼Šø ŠæŠ°Ń€Š¾Š»Ń\&. Š›ŃŽŠ±Š°Ń смена ŠæŠ°Ń€Š¾Š»Ń ранее заГанного срока выполнена не Š±ŃƒŠ“ет\&. Если значение не заГано, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ значение \-1 (то ŠµŃŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (число) -.RS 4 -Число Гней за которое начнёт Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń\&. ŠŃƒŠ»ŠµŠ²Š¾Šµ значение означает, что ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Š²Ń‹Š“Š°Ń‘Ń‚ŃŃ в Гень ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ, при Š¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Š¾Š¼ значении ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ не Š±ŃƒŠ“ет\&. Если значение не заГано, выГача ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ Š¾Ń‚ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ŃŃ\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.SH "Š’ŠžŠ—Š’Š ŠŠ©ŠŠ•ŠœŠ«Š• Š—ŠŠŠ§Š•ŠŠ˜ŠÆ" -.PP -КоманГа -\fBpwck\fR -Š·Š°Š²ŠµŃ€ŃˆŠ°Ń Ń€Š°Š±Š¾Ń‚Ńƒ, возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -.PP -\fI0\fR -.RS 4 -успешное выполнение -.RE -.PP -\fI1\fR -.RS 4 -ошибка в параметрах команГы -.RE -.PP -\fI2\fR -.RS 4 -ŠµŃŃ‚ŃŒ оГна или более записей с Š½ŠµŠ“Š¾ŠæŃƒŃŃ‚ŠøŠ¼Ń‹Š¼Šø ŠæŠ°Ń€Š¾Š»ŃŠ¼Šø -.RE -.PP -\fI3\fR -.RS 4 -не уГалось Š¾Ń‚ŠŗŃ€Ń‹Ń‚ŃŒ файл паролей -.RE -.PP -\fI4\fR -.RS 4 -не уГалось Š·Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ файл паролей -.RE -.PP -\fI5\fR -.RS 4 -не уГалось ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ файл паролей -.RE -.PP -\fI6\fR -.RS 4 -не уГалось Š¾Ń‚ŃŠ¾Ń€Ń‚ŠøŃ€Š¾Š²Š°Ń‚ŃŒ файл паролей -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBusermod\fR(8)\&. diff --git a/man/ru/man8/pwconv.8 b/man/ru/man8/pwconv.8 deleted file mode 100644 index e60a7010..00000000 --- a/man/ru/man8/pwconv.8 +++ /dev/null @@ -1,192 +0,0 @@ -'\" t -.\" Title: pwconv -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "pwconv" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -pwconv, pwunconv, grpconv, grpunconv \- ŠæŃ€ŠµŠ¾Š±Ń€Š°Š·ŃƒŠµŃ‚ пароли ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Šø Š³Ń€ŃƒŠæŠæ в/ŠøŠ· Š·Š°Ń‰ŠøŃ‰Ń‘Š½Š½ŃƒŃŽ Ń„Š¾Ń€Š¼Ńƒ -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fIпараметры\fR] -.HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fIпараметры\fR] -.HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fIпараметры\fR] -.HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fIпараметры\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -КоманГа -\fBpwconv\fR -созГаёт файл -\fIshadow\fR -ŠøŠ· файла -\fIpasswd\fR -Šø Š½ŠµŠ¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Š¾ ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠ³Š¾ файла -\fIshadow\fR\&. -.PP -КоманГа -\fBpwunconv\fR -созГаёт файл -\fIpasswd\fR -ŠøŠ· файлов -\fIpasswd\fR -Šø -\fIshadow\fR, а затем ŃƒŠ“Š°Š»ŃŠµŃ‚ файл -\fIshadow\fR\&. -.PP -КоманГа -\fBgrpconv\fR -созГаёт файл -\fIgshadow\fR -ŠøŠ· файла -\fIgroup\fR -Šø Š½ŠµŠ¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Š¾ ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠ³Š¾ файла -\fIgshadow\fR\&. -.PP -КоманГа -\fBgrpunconv\fR -созГаёт файл -\fIgroup\fR -ŠøŠ· файлов -\fIgroup\fR -Šø -\fIgshadow\fR, а затем ŃƒŠ“Š°Š»ŃŠµŃ‚ файл -\fIgshadow\fR\&. -.PP -Эти четыре программы Ń€Š°Š±Š¾Ń‚Š°ŃŽŃ‚ с файлами обычных или теневых паролей ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Šø Š³Ń€ŃƒŠæŠæ: -/etc/passwd, -/etc/group, -/etc/shadow -Šø -/etc/gshadow\&. -.PP -ŠšŠ°Š¶Š“Š°Ń программа Š²Ń‹ŠæŠ¾Š»Š½ŃŠµŃ‚ необхоГимые блокировки переГ ŠæŃ€ŠµŠ¾Š±Ń€Š°Š·Š¾Š²Š°Š½ŠøŃŠ¼Šø\&. ŠšŠ¾Š¼Š°Š½Š“Ń‹ -\fBpwconv\fR -Šø -\fBgrpconv\fR -Š²Ń‹ŠæŠ¾Š»Š½ŃŃŽŃ‚ схожий ŠæŠ¾Ń€ŃŠ“Š¾Šŗ Гействий\&. Дначала ŃƒŠ“Š°Š»ŃŃŽŃ‚ŃŃ записи ŠøŠ· теневого файла которых нет в главном файле\&. Затем Š¾Š±Š½Š¾Š²Š»ŃŃŽŃ‚ся записи в теневом файле которые не соГержат \(Fox\(Fc вместо ŠæŠ°Ń€Š¾Š»Ń в главном файле\&. Далее Š“Š¾Š±Š°Š²Š»ŃŃŽŃ‚ŃŃ Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŠøŠµ теневые записи\&. ŠŠ°ŠŗŠ¾Š½ŠµŃ†, пароли в главном файле Š·Š°Š¼ŠµŠ½ŃŃŽŃ‚ся символом \(Fox\(Fc\&. Данные программы можно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ как Š“Š»Ń ŠæŠµŃ€Š²Š¾Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Š³Š¾ ŠæŃ€ŠµŠ¾Š±Ń€Š°Š·Š¾Š²Š°Š½ŠøŃ, так Šø Š“Š»Ń Š¾Š±Š½Š¾Š²Š»ŠµŠ½ŠøŃ теневого файла, если главный файл Ń€ŠµŠ“Š°ŠŗŃ‚ŠøŃ€Š¾Š²Š°Š»ŃŃ Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ\&. -.PP -КоманГа -\fBpwconv\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ переменных -\fIPASS_MIN_DAYS\fR, -\fIPASS_MAX_DAYS\fR -Šø -\fIPASS_WARN_AGE\fR -ŠøŠ· файла -/etc/login\&.defs -при Гобавлении новых записей в файл -/etc/shadow\&. -.PP -ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Ń‹ -\fBpwunconv\fR -Šø -\fBgrpunconv\fR -также Š²Ń‹ŠæŠ¾Š»Š½ŃŃŽŃ‚ схожий ŠæŠ¾Ń€ŃŠ“Š¾Šŗ Гействий\&. ŠŸŠ°Ń€Š¾Š»Šø в главном файле Š¾Š±Š½Š¾Š²Š»ŃŃŽŃ‚ся ŠøŠ· теневого файла\&. Записи, которые ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‚ в главном файле, но не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‚ в теневом файле Š¾ŃŃ‚Š°Š²Š»ŃŃŽŃ‚ŃŃ как ŠµŃŃ‚ŃŒ\&. По окончании, теневой файл ŃƒŠ“Š°Š»ŃŠµŃ‚ŃŃ\&. Š˜Š½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń не ŃƒŃ‡ŠøŃ‚Ń‹Š²Š°ŠµŃ‚ŃŃ программой -\fBpwunconv\fR\&. ŠšŠ¾Š½Š²ŠµŃ€Ń‚ŠøŃ€ŃƒŠµŃ‚ŃŃ Ń‚Š¾Š»ŃŒŠŗŠ¾ возможное\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹, применимые Šŗ -\fBpwconv\fR, -\fBpwunconv\fR, -\fBgrpconv\fR -Šø -\fBgrpunconv\fR: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.SH "ŠžŠØŠ˜Š‘ŠšŠ˜ Š Š•ŠŠ›Š˜Š—ŠŠ¦Š˜Š˜" -.PP -ŠžŃˆŠøŠ±ŠŗŠø в файлах паролей или Š³Ń€ŃƒŠæŠæ (типа неверных или Š“ŃƒŠ±Š»ŠøŃ€ŃƒŃŽŃ‰ŠøŃ…ŃŃ записей) Š¼Š¾Š³ŃƒŃ‚ Š·Š°Ń†ŠøŠŗŠ»ŠøŃ‚ŃŒ ŠæŃ€Š¾Š³Ń€Š°Š¼Š¼Ńƒ или ŠæŃ€Š¾ŠøŠ·Š¾Š¹Š“ŃƒŃ‚ какие\-то Š“Ń€ŃƒŠ³ŠøŠµ странные вещи\&. ŠŸŠµŃ€ŠµŠ“ конвертацией Š·Š°ŠæŃƒŃŃ‚ите -\fBpwck\fR -Šø -\fBgrpck\fR, чтобы ŠøŃŠæŃ€Š°Š²ŠøŃ‚ŃŒ возможные ошибки\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń настройки в -/etc/login\&.defs -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ повеГение -\fBgrpconv\fR -Šø -\fBgrpunconv\fR: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.PP -Š”Š»ŠµŠ“ŃƒŃŽŃ‰Š°Ń ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń настройки в -/etc/login\&.defs -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ повеГение -\fBpwconv\fR: -.PP -\fBPASS_MAX_DAYS\fR (число) -.RS 4 -Максимальное число Гней ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\&. Если ŠæŠ°Ń€Š¾Š»ŃŒ старее ŃŃ‚Š¾Š³Š¾ числа, то Š±ŃƒŠ“ет Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° ŠæŃ€Š¾Ń†ŠµŠ“ŃƒŃ€Š° смены ŠæŠ°Ń€Š¾Š»Ń\&. Если значение не заГано, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ значение \-1 (то ŠµŃŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (число) -.RS 4 -Максимальное число Гней межГу ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃŠ¼Šø ŠæŠ°Ń€Š¾Š»Ń\&. Š›ŃŽŠ±Š°Ń смена ŠæŠ°Ń€Š¾Š»Ń ранее заГанного срока выполнена не Š±ŃƒŠ“ет\&. Если значение не заГано, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ значение \-1 (то ŠµŃŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (число) -.RS 4 -Число Гней за которое начнёт Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń\&. ŠŃƒŠ»ŠµŠ²Š¾Šµ значение означает, что ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Š²Ń‹Š“Š°Ń‘Ń‚ŃŃ в Гень ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ, при Š¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Š¾Š¼ значении ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ не Š±ŃƒŠ“ет\&. Если значение не заГано, выГача ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ Š¾Ń‚ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ŃŃ\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBgrpck\fR(8), -\fBlogin.defs\fR(5), -\fBpwck\fR(8)\&. diff --git a/man/ru/man8/pwunconv.8 b/man/ru/man8/pwunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/ru/man8/pwunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/ru/man8/sulogin.8 b/man/ru/man8/sulogin.8 deleted file mode 100644 index 6c560134..00000000 --- a/man/ru/man8/sulogin.8 +++ /dev/null @@ -1,114 +0,0 @@ -'\" t -.\" Title: sulogin -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "sulogin" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -sulogin \- Single\-user login -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.PP -\fBsulogin\fR -[\fItty\-device\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -The -\fBsulogin\fR -command is invoked by -\fBinit\fR -prior to allowing the user access to the system when in single user mode\&. This feature may only be available on certain systems where -\fBinit\fR -has been modified accordingly, or where the -/etc/inittab -has an entry for a single user login\&. -.PP -The user is prompted -.PP -Type control\-d to proceed with normal startup, (or give root password for system maintenance): -.PP -Input and output will be performed with the standard file descriptors unless the optional device name argument is provided\&. -.PP -If the user enters the correct root password, a login session is initiated\&. When -\fIEOF\fR -is pressed instead, the system enters multi\-user mode\&. -.PP -After the user exits the single\-user shell, or presses -\fIEOF\fR, the system begins the initialization process required to enter multi\-user mode\&. -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -This command can only be used if -\fBinit\fR -has been modified to call -\fBsulogin\fR -instead of -/bin/sh, or if the user has set the -\fIinittab\fR -to support a single user login\&. For example, the line: -.PP -co:s:respawn:/etc/sulogin /dev/console -.PP -should execute the sulogin command in single user mode\&. -.PP -As complete an environment as possible is created\&. However, various devices may be unmounted or uninitialized and many of the user commands may be unavailable or nonfunctional as a result\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBENV_HZ\fR (строка) -.RS 4 -Если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°, то Š±ŃƒŠ“ет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ HZ при вхоГе ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в ŃŠøŃŃ‚ŠµŠ¼Ńƒ\&. Значение Голжно Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒŃŃ с -\fIHZ=\fR\&. ŠžŠ±Ń‹Ń‡Š½Š¾Šµ значение Š“Š»Ń Linux \(em -\fIHZ=100\fR\&. -.RE -.PP -\fBENV_TZ\fR (строка) -.RS 4 -Если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°, то Š±ŃƒŠ“ет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ TZ при вхоГе ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Значение может Š±Ń‹Ń‚ŃŒ равно имени часового ŠæŠ¾ŃŃŠ°, Š½Š°Ń‡ŠøŠ½Š°ŃŽŃ‰ŠµŠ³Š¾ŃŃ -\fITZ=\fR -(например, -\fITZ=CST6CDT\fR), или полному ŠæŃƒŃ‚Šø Šŗ Ń„Š°Š¹Š»Ńƒ с параметрами часового ŠæŠ¾ŃŃŠ° (например, -/etc/tzname)\&. -.sp -Если указан полный ŠæŃƒŃ‚ŃŒ, но файл не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ или Š½ŠµŠ“Š¾ŃŃ‚ŃƒŠæŠµŠ½ Š“Š»Ń Ń‡Ń‚ŠµŠ½ŠøŃ, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ: -\fITZ=CST6CDT\fR\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBlogin\fR(1), -\fBsh\fR(1), -\fBinit\fR(8)\&. diff --git a/man/ru/man8/useradd.8 b/man/ru/man8/useradd.8 deleted file mode 100644 index 2a4c0ed2..00000000 --- a/man/ru/man8/useradd.8 +++ /dev/null @@ -1,740 +0,0 @@ -'\" t -.\" Title: useradd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "useradd" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -useradd \- Ń€ŠµŠ³ŠøŃŃ‚Ń€ŠøŃ€ŃƒŠµŃ‚ нового ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń или ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ о новых ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fIпараметры\fR] \fIŠ£Š§ŠŠ¢ŠŠŠÆ_Š—ŠŠŸŠ˜Š”Š¬\fR -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fIпараметры\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -ŠŸŃ€Šø запуске без параметра -\fB\-D\fR -команГа -\fBuseradd\fR -созГаёт Š½Š¾Š²ŃƒŃŽ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ ŠøŠ· команГной строки Šø системные Š·Š½Š°Ń‡ŠµŠ½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\&. Š’ зависимости от параметров команГной строки, команГа -\fBuseradd\fR -Š¾Š±Š½Š¾Š²Š»ŃŠµŃ‚ системные файлы, а также может ŃŠ¾Š·Š“Š°Ń‚ŃŒ Гомашний каталог нового ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Šø ŃŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ Š½Š°Ń‡Š°Š»ŃŒŠ½Ń‹Šµ файлы настроек\&. -.PP -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, Š“Š»Ń нового ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń также ŃŠ¾Š·Š“Š°Ń‘Ń‚ŃŃ Š³Ń€ŃƒŠæŠæŠ° (смотрите параметры -\fB\-g\fR, -\fB\-N\fR, -\fB\-U\fR -Šø -\fBUSERGROUPS_ENAB\fR)\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBuseradd\fR: -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR \fIŠ‘ŠŠ—ŠžŠ’Š«Š™_ŠšŠŠ¢ŠŠ›ŠžŠ“\fR -.RS 4 -Базовый системный каталог по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, если Š“Ń€ŃƒŠ³Š¾Š¹ каталог не указан с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ параметра -\fB\-d\fR\&. Значение -\fIŠ‘ŠŠ—ŠžŠ’Š«Š™_ŠšŠŠ¢ŠŠ›ŠžŠ“\fR -Š¾Š±ŃŠŠµŠ“ŠøŠ½ŃŠµŃ‚ŃŃ с именем ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ Гомашнего каталога\&. Если не указан параметр -\fB\-m\fR, то -\fIŠ‘ŠŠ—ŠžŠ’Š«Š™_ŠšŠŠ¢ŠŠ›ŠžŠ“\fR -Голжен ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ\&. -.sp -Если ŃŃ‚Š¾Ń‚ параметр не заГан, то команГа -\fBuseradd\fR -Š±ŃƒŠ“ŠµŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ базовый каталог, ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¹ в переменной -\fBHOME\fR -в файле -/etc/default/useradd -иначе -/home -(по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ)\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fIŠšŠžŠœŠœŠ•ŠŠ¢ŠŠ Š˜Š™\fR -.RS 4 -Š›ŃŽŠ±Š°Ń Ń‚ŠµŠŗŃŃ‚Š¾Š²Š°Ń строка\&. ŠžŠ±Ń‹Ń‡Š½Š¾, зГесь коротко Š¾ŠæŠøŃŃ‹Š²Š°ŠµŃ‚ся ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись, Šø в Š½Š°ŃŃ‚Š¾ŃŃ‰ŠµŠµ Š²Ń€ŠµŠ¼Ń ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ как поле Š“Š»Ń имени Šø фамилии ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\-dir\fR \fIŠ”ŠžŠœŠŠØŠŠ˜Š™_ŠšŠŠ¢ŠŠ›ŠžŠ“\fR -.RS 4 -Š”Š»Ń созГаваемого ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ использован каталог -\fIŠ”ŠžŠœŠŠØŠŠ˜Š™_ŠšŠŠ¢ŠŠ›ŠžŠ“\fR -в качестве Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Š³Š¾ каталога\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, ŃŃ‚Š¾ значение ŠæŠ¾Š»ŃƒŃ‡Š°ŠµŃ‚ŃŃ объеГинением -\fIŠ˜ŠœŠ•ŠŠ˜\fR -ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń с -\fIŠ‘ŠŠ—ŠžŠ’Š«Šœ_ŠšŠŠ¢ŠŠ›ŠžŠ“ŠžŠœ\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ как ŠøŠ¼Ń Гомашнего каталога\&. ŠšŠ°Ń‚Š°Š»Š¾Š³ -\fIŠ”ŠžŠœŠŠØŠŠ˜Š™_ŠšŠŠ¢ŠŠ›ŠžŠ“\fR -Š½ŠµŠ¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Š¾ Голжен ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ, но не Š±ŃƒŠ“ет созГан, если его нет\&. -.RE -.PP -\fB\-D\fR, \fB\-\-defaults\fR -.RS 4 -Дмотрите Галее в поГразГеле \(FoИзменение значений по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\(Fc\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR \fIДАТА_Š£Š”Š¢ŠŠ Š•Š’ŠŠŠ˜ŠÆ\fR -.RS 4 -Дата, когГа ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ заблокирована\&. Дата Š·Š°Š“Š°Ń‘Ń‚ŃŃ в формате -\fIГГГГ\-ММ\-ДД\fR\&. -.sp -Если ŃŃ‚Š¾Ń‚ параметр не заГан, то команГа -\fBuseradd\fR -Š±ŃƒŠ“ŠµŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Š“Š°Ń‚Ńƒ ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, ŃƒŠŗŠ°Š·Š°Š½Š½ŃƒŃŽ в переменной -\fBEXPIRE\fR -в файле -/etc/default/useradd, иначе ŠæŃƒŃŃ‚ŃƒŃŽ ŃŃ‚Ń€Š¾ŠŗŃƒ (без ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ, по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ)\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIŠ”ŠŠ•Š™\fR -.RS 4 -Если указано значение 0, то ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š±Š»Š¾ŠŗŠøŃ€ŃƒŠµŃ‚ŃŃ ŃŃ€Š°Š·Ńƒ после ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń, а при значении \-1 Š“Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся\&. -.sp -Если ŃŃ‚Š¾Ń‚ параметр не заГан, то команГа -\fBuseradd\fR -Š±ŃƒŠ“ŠµŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ срок неактивности по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¹ в переменной -\fBINACTIVE\fR -в файле -/etc/default/useradd -или \-1 (по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ)\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIŠ“Š Š£ŠŸŠŸŠ\fR -.RS 4 -Š˜Š¼Ń или числовой иГентификатор первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Š“Ń€ŃƒŠæŠæŠ° с таким именем Голжна ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ\&. Š˜Š“ŠµŠ½Ń‚ŠøŃ„ŠøŠŗŠ°Ń‚Š¾Ń€ Š³Ń€ŃƒŠæŠæŃ‹ Голжен ŃƒŠŗŠ°Š·Ń‹Š²Š°Ń‚ŃŒ на уже ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ\&. -.sp -Если не указан, то повеГение -\fBuseradd\fR -зависит от переменной -\fBUSERGROUPS_ENAB\fR -в файле -/etc/login\&.defs\&. Если значение ŃŃ‚Š¾Š¹ переменной равно -\fIyes\fR -(или в команГной строке указан параметр -\fB\-U/\-\-user\-group\fR), то Š“Š»Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ созГана Š³Ń€ŃƒŠæŠæŠ° с тем же именем как его ŠøŠ¼Ń Š“Š»Ń вхоГа\&. Если значение переменной равно -\fIno\fR -(или в команГной строке указан параметр -\fB\-N/\-\-no\-user\-group\fR), то useradd ŃƒŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ ŠæŠµŃ€Š²ŠøŃ‡Š½ŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ нового ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń равной Š·Š½Š°Ń‡ŠµŠ½ŠøŃŽ переменной -\fBGROUP\fR -ŠøŠ· файла -/etc/default/useradd, или 100 (по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ)\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIŠ“Š Š£ŠŸŠŸŠ1\fR[\fI,Š“Š Š£ŠŸŠŸŠ2,\&...\fR[\fI,Š“Š Š£ŠŸŠŸŠN\fR]]] -.RS 4 -Дписок Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Ń… Š³Ń€ŃƒŠæŠæ, в которых Ń‡ŠøŃŠ»ŠøŃ‚ŃŃ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ\&. ŠŸŠµŃ€ŠµŃ‡ŠøŃŠ»ŠµŠ½ŠøŠµ Š³Ń€ŃƒŠæŠæ Š¾ŃŃƒŃ‰ŠµŃŃ‚Š²Š»ŃŠµŃ‚ŃŃ через Š·Š°ŠæŃŃ‚ŃƒŃŽ, без ŠæŃ€Š¾Š¼ŠµŠ¶ŃƒŃ‚очных пробелов\&. ŠŠ° ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Šµ Š³Ń€ŃƒŠæŠæŃ‹ Š“ŠµŠ¹ŃŃ‚Š²ŃƒŃŽŃ‚ те же Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ, что Šø Š“Š»Ń Š³Ń€ŃƒŠæŠæŃ‹ указанной в параметре -\fB\-g\fR\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ вхоГит Ń‚Š¾Š»ŃŒŠŗŠ¾ в Š½Š°Ń‡Š°Š»ŃŒŠ½ŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-k\fR, \fB\-\-skel\fR\ \&\fIŠšŠŠ¢ŠŠ›ŠžŠ“_ŠØŠŠ‘Š›ŠžŠŠžŠ’\fR -.RS 4 -ŠšŠ°Ń‚Š°Š»Š¾Š³ с шаблонами, который соГержит файлы Šø каталоги Š“Š»Ń ŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Š½ŠøŃ в Гомашний каталог ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń при созГании Гомашнего каталога команГой -\fBuseradd\fR\&. -.sp -Этот параметр можно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ с параметром -\fB\-m\fR -(или -\fB\-\-create\-home\fR)\&. -.sp -Если ŃŃ‚Š¾Ń‚ параметр не заГан, то каталог шаблонов Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменной -\fBSKEL\fR -ŠøŠ· файла -/etc/default/useradd, или равен -/etc/skel -(по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ)\&. -.sp -Если возможно, Š²Ń‹ŠæŠ¾Š»Š½ŃŠµŃ‚ŃŃ копирование ACL Šø Ń€Š°ŃŃˆŠøŃ€ŠµŠ½Š½Ń‹Ń… Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Š¾Š²\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fIŠšŠ›Š®Š§\fR=\fIŠ—ŠŠŠ§Š•ŠŠ˜Š•\fR -.RS 4 -Overrides -/etc/login\&.defs -defaults (\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBUMASK\fR, -\fBPASS_MAX_DAYS\fR -and others)\&. - -Example: -\fB\-K\fR\ \&\fIPASS_MAX_DAYS\fR=\fI\-1\fR -can be used when creating system account to turn off password aging, even though system account has no password at all\&. Multiple -\fB\-K\fR -options can be specified, e\&.g\&.: -\fB\-K\fR\ \&\fIUID_MIN\fR=\fI100\fR\ \& -\fB\-K\fR\ \&\fIUID_MAX\fR=\fI499\fR -.RE -.PP -\fB\-l\fR, \fB\-\-no\-log\-init\fR -.RS 4 -ŠŠµ Š“Š¾Š±Š°Š²Š»ŃŃ‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в базы Ганных lastlog Šø faillog\&. -.sp -By default, the user\*(Aqs entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user\&. -.RE -.PP -\fB\-m\fR, \fB\-\-create\-home\fR -.RS 4 -Š”Š¾Š·Š“Š°Ń‚ŃŒ Гомашний каталог ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, если он не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚\&. Файлы Šø каталоги, ŃŠ¾Š“ŠµŃ€Š¶Š°Ń‰ŠøŠµŃŃ в каталоге шаблонов (который можно ŃƒŠŗŠ°Š·Š°Ń‚ŃŒ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ параметра the -\fB\-k\fR -option), Š±ŃƒŠ“ŃƒŃ‚ скопированы в Гомашний каталог\&. -.sp -По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, если ŃŃ‚Š¾Ń‚ параметр не указан Šø не заГана ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń -\fBCREATE_HOME\fR, Гомашний каталог не ŃŠ¾Š·Š“Š°Ń‘Ń‚ŃŃ\&. -.RE -.PP -\fB\-M\fR, \fB\-\-no\-create\-home\fR -.RS 4 -ŠŠµ ŃŠ¾Š·Š“Š°Š²Š°Ń‚ŃŒ Гомашний каталог ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, Гаже если значение системной переменной в файле -/etc/login\&.defs -(\fBCREATE_HOME\fR) равно -\fIyes\fR\&. -.RE -.PP -\fB\-N\fR, \fB\-\-no\-user\-group\fR -.RS 4 -ŠŠµ ŃŠ¾Š·Š“Š°Š²Š°Ń‚ŃŒ Š³Ń€ŃƒŠæŠæŃƒ с тем же именем как у ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, но Š“Š¾Š±Š°Š²ŠøŃ‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в Š³Ń€ŃƒŠæŠæŃƒ, Š·Š°Š“Š°Š½Š½ŃƒŃŽ параметром -\fB\-g\fR -или переменной -\fBGROUP\fR -ŠøŠ· файла -/etc/default/useradd\&. -.sp -ПовеГение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (если не указан параметр -\fB\-g\fR, -\fB\-N\fR -Šø -\fB\-U\fR) Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменной -\fBUSERGROUPS_ENAB\fR -ŠøŠ· файла -/etc/login\&.defs\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -Š Š°Š·Ń€ŠµŃˆŠøŃ‚ŃŒ созГание ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи с уже ŠøŠ¼ŠµŃŽŃ‰ŠøŠ¼ŃŃ (не ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¼) UID\&. -.sp -Этот параметр можно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ с параметром -\fB\-u\fR\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIŠŸŠŠ ŠžŠ›Š¬\fR -.RS 4 -Шифрованное значение ŠæŠ°Ń€Š¾Š»Ń, которое возвращает Ń„ŃƒŠ½ŠŗŃ†ŠøŃ -\fBcrypt\fR(3)\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŠæŠ°Ń€Š¾Š»ŃŒ Š¾Ń‚ŠŗŠ»ŃŽŃ‡Ń‘Š½\&. -.sp -\fBЗамечание:\fR -Этот параметр ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ не Ń€ŠµŠŗŠ¾Š¼ŠµŠ½Š“ŃƒŠµŃ‚ŃŃ, так как ŠæŠ°Ń€Š¾Š»ŃŒ (или не ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ) Š±ŃƒŠ“ŠµŃ‚ виГим Š“Ń€ŃƒŠ³ŠøŠ¼Šø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼ в списке процессов\&. -.sp -Š’Ń‹ Голжны ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ, что ŠæŠ°Ń€Š¾Š»ŃŒ ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŠµŃ‚ политике системных паролей\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Š”Š¾Š·Š“Š°Ń‚ŃŒ ŃŠøŃŃ‚ŠµŠ¼Š½ŃƒŃŽ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись\&. -.sp -Дистемные ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Šø ŃŠ¾Š·Š“Š°ŃŽŃ‚ŃŃ без информации об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø в -/etc/shadow, Šø ŠøŃ… числовые иГентификаторы Š²Ń‹Š±ŠøŃ€Š°ŃŽŃ‚ŃŃ ŠøŠ· Гиапазона -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR, опреГелённого в -/etc/login\&.defs, а не ŠøŠ· -\fBUID_MIN\fR\-\fBUID_MAX\fR -(ŃŃ‚Š¾ же ŠŗŠ°ŃŠ°ŠµŃ‚ся Šø части с -\fBGID\fR -при созГании Š³Ń€ŃƒŠæŠæ)\&. -.sp -Note that -\fBuseradd\fR -will not create a home directory for such a user, regardless of the default setting in -/etc/login\&.defs -(\fBCREATE_HOME\fR)\&. You have to specify the -\fB\-m\fR -options if you want a home directory for a system account to be created\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fIŠžŠ‘ŠžŠ›ŠžŠ§ŠšŠ\fR -.RS 4 -Š˜Š¼Ń регистрационной оболочки ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŃŃ‚Š¾ поле ŠæŃƒŃŃ‚о, что вызывает выбор регистрационной оболочки по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ согласно Š·Š½Š°Ń‡ŠµŠ½ŠøŃŽ переменной -\fBSHELL\fR -ŠøŠ· файла -/etc/default/useradd, или по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ ŠæŃƒŃŃ‚Š°Ń строка\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -Числовое значение иГентификатора ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń (ID)\&. ŠžŠ½Š¾ Голжно Š±Ń‹Ń‚ŃŒ ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¼, если не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся параметр -\fB\-o\fR\&. Значение Голжно Š±Ń‹Ń‚ŃŒ Š½ŠµŠ¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¼\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ наименьшее значение ID большее или равное -\fBUID_MIN\fR -Šø большее чем у Š¾ŃŃ‚Š°Š»ŃŒŠ½Ń‹Ń… ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.sp -Дмотрите также описание -\fB\-r\fR -Šø -\fBUID_MAX\fR\&. -.RE -.PP -\fB\-U\fR, \fB\-\-user\-group\fR -.RS 4 -Š”Š¾Š·Š“Š°Ń‚ŃŒ Š³Ń€ŃƒŠæŠæŃƒ с тем же именем что Šø у ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, Šø Š“Š¾Š±Š°Š²ŠøŃ‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в эту Š³Ń€ŃƒŠæŠæŃƒ\&. -.sp -ПовеГение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ (если не указан параметр -\fB\-g\fR, -\fB\-N\fR -Šø -\fB\-U\fR) Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ŃŃ переменной -\fBUSERGROUPS_ENAB\fR -ŠøŠ· файла -/etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR -.RS 4 -ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ SELinux Š“Š»Ń регистрационной оболочки ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. По ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŃŃ‚Š¾ поле ŠæŃƒŃŃ‚о, что Š·Š°ŃŃ‚Š°Š²Š»ŃŠµŃ‚ ŃŠøŃŃ‚ŠµŠ¼Ńƒ Š²Ń‹Š±Ń€Š°Ń‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń SELinux по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\&. -.RE -.SS "Изменение значений по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ" -.PP -ŠŸŃ€Šø запуске программы Ń‚Š¾Š»ŃŒŠŗŠ¾ с параметром -\fB\-D\fR -команГа -\fBuseradd\fR -показывает Ń‚ŠµŠŗŃƒŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\&. Если программа Š·Š°ŠæŃƒŃŠŗŠ°ŠµŃ‚ся с параметром -\fB\-D\fR -вместе с Š“Ń€ŃƒŠ³ŠøŠ¼Šø параметрами, то -\fBuseradd\fR -Š¾Š±Š½Š¾Š²Š»ŃŠµŃ‚ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ ŃŃ‚ŠøŃ… ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Ń… параметров\&. Š˜Š·Š¼ŠµŠ½ŃŠµŠ¼Ń‹Šµ параметры: -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR \fIŠ‘ŠŠ—ŠžŠ’Š«Š™_ŠšŠŠ¢ŠŠ›ŠžŠ“\fR -.RS 4 -ŠŠ°Ń‡Š°Š»ŃŒŠ½Š°Ń Ń‡Š°ŃŃ‚ŃŒ ŠæŃƒŃ‚Šø нового Гомашнего каталога ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Š˜Š¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ Гобавлено в конец -\fIŠ”ŠžŠœŠŠØŠŠ•Š“Šž_ŠšŠŠ¢ŠŠ›ŠžŠ“Š\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ имени нового каталога, если при созГании новой ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи не указан параметр -\fB\-d\fR\&. -.sp -Этот параметр ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBHOME\fR -в файле -/etc/default/useradd\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR \fIДАТА_Š£Š”Š¢ŠŠ Š•Š’ŠŠŠ˜ŠÆ\fR -.RS 4 -Дата, когГа ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń заблокирована\&. -.sp -Этот параметр ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBEXPIRE\fR -в файле -/etc/default/useradd\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIŠ”ŠŠ•Š™\fR -.RS 4 -Число Гней, которые Голжны пройти после ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń, переГ тем как ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š±ŃƒŠ“ŠµŃ‚ заблокирована\&. -.sp -Этот параметр ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBINACTIVE\fR -в файле -/etc/default/useradd\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIŠ“Š Š£ŠŸŠŸŠ\fR -.RS 4 -Š˜Š¼Ń Š³Ń€ŃƒŠæŠæŃ‹ или ID новой первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń (если ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся -\fB\-N/\-\-no\-user\-group\fR -или когГа значение переменной -\fBUSERGROUPS_ENAB\fR -равно -\fIno\fR -(файл -/etc/login\&.defs)\&. Š“Ń€ŃƒŠæŠæŠ° с ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¼ именем Голжна ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ, а Š“Š»Ń числового иГентификатора Š³Ń€ŃƒŠæŠæŃ‹ Голжна Š±Ń‹Ń‚ŃŒ ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰Š°Ń запись\&. -.sp -Этот параметр ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBGROUP\fR -в файле -/etc/default/useradd\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fIŠžŠ‘ŠžŠ›ŠžŠ§ŠšŠ\fR -.RS 4 -Š˜Š¼Ń новой регистрационной команГной оболочки ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.sp -Этот параметр ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ -\fBSHELL\fR -в файле -/etc/default/useradd\&. -.RE -.SH "Š—ŠŠœŠ•Š§ŠŠŠ˜ŠÆ" -.PP -Дистемный аГминистратор сам Ń€ŠµŃˆŠ°ŠµŃ‚, какие файлы нужно ŠæŠ¾Š»Š¾Š¶ŠøŃ‚ŃŒ в каталог -/etc/skel/ -(или в Š»ŃŽŠ±Š¾Š¹ Š“Ń€ŃƒŠ³Š¾Š¹ каталог шаблонов, ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¹ в -/etc/default/useradd -или в команГной строке)\&. -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -ŠŠµŠ»ŃŒŠ·Ń Š“Š¾Š±Š°Š²ŠøŃ‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в Š³Ń€ŃƒŠæŠæŃƒ NIS или LDAP\&. Это необхоГимо Š“ŠµŠ»Š°Ń‚ŃŒ на ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰ŠµŠ¼ сервере\&. -.PP -Также, если ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń уже ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ во внешней базе Ганных такой как NIS или LDAP, то -\fBuseradd\fR -не станет ŃŠ¾Š·Š“Š°Š²Š°Ń‚ŃŒ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.PP -Имена ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Голжны Š½Š°Ń‡ŠøŠ½Š°Ń‚ŃŒŃŃ со строчной Š±ŃƒŠŗŠ²Ń‹ или символа ŠæŠ¾Š“Ń‡Ń‘Ń€ŠŗŠøŠ²Š°Š½ŠøŃ, Šø Голжны ŃŠ¾ŃŃ‚Š¾ŃŃ‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ ŠøŠ· строчных букв, цифр, символов ŠæŠ¾Š“Ń‡Ń‘Ń€ŠŗŠøŠ²Š°Š½ŠøŃ Šø минус\&. ŠžŠ½Šø Š¼Š¾Š³ŃƒŃ‚ Š·Š°ŠŗŠ°Š½Ń‡ŠøŠ²Š°Ń‚ŃŒŃŃ знаком Голлара\&. Это можно Š¾ŠæŠøŃŠ°Ń‚ŃŒ Ń€ŠµŠ³ŃƒŠ»ŃŃ€Š½Ń‹Š¼ выражением: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -Имена ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Š¼Š¾Š³ŃƒŃ‚ Š±Ń‹Ń‚ŃŒ Глиной не более 32 знаков\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBCREATE_HOME\fR (логический) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚, Голжен ли ŃŠ¾Š·Š“Š°Š²Š°Ń‚ŃŒŃŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Гомашний каталог Š“Š»Ń новых ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.sp -Эта ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń не Š²Š»ŠøŃŠµŃ‚ на системных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ Šø может Š±Ń‹Ń‚ŃŒ переопреГелена ŠøŠ· команГной строки\&. -.RE -.PP -\fBGID_MAX\fR (число), \fBGID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов Š³Ń€ŃƒŠæŠæ, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR, -\fBgroupadd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ обычных Š³Ń€ŃƒŠæŠæ\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBGID_MIN\fR -(соотв\&. -\fBGID_MAX\fR) равно 1000 (соотв\&. 60000)\&. -.RE -.PP -\fBMAIL_DIR\fR (строка) -.RS 4 -ŠŸŠ¾Ń‡Ń‚Š¾Š²Ń‹Š¹ каталог\&. Данный параметр нужен Š“Š»Ń ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ почтовым ŃŃ‰ŠøŠŗŠ¾Š¼ при изменении или уГалении ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Если параметр не заГан, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение указанное при сборке\&. -.RE -.PP -\fBMAIL_FILE\fR (строка) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ расположение почтовых файлов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š¾Ń‚Š½Š¾ŃŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ Гомашнего каталога\&. -.RE -.PP -ŠŸŠµŃ€ŠµŠ¼ŠµŠ½Š½Ń‹Šµ -\fBMAIL_DIR\fR -Šø -\fBMAIL_FILE\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ŃŃ команГами -\fBuseradd\fR, -\fBusermod\fR -Šø -\fBuserdel\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ, ŠæŠµŃ€ŠµŠ¼ŠµŃ‰ŠµŠ½ŠøŃ или ŃƒŠ“Š°Š»ŠµŠ½ŠøŃ почты ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.PP -Если значение -\fBMAIL_CHECK_ENAB\fR -равно -\fIyes\fR, то они также ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ся Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.PP -\fBPASS_MAX_DAYS\fR (число) -.RS 4 -Максимальное число Гней ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń\&. Если ŠæŠ°Ń€Š¾Š»ŃŒ старее ŃŃ‚Š¾Š³Š¾ числа, то Š±ŃƒŠ“ет Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° ŠæŃ€Š¾Ń†ŠµŠ“ŃƒŃ€Š° смены ŠæŠ°Ń€Š¾Š»Ń\&. Если значение не заГано, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ значение \-1 (то ŠµŃŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (число) -.RS 4 -Максимальное число Гней межГу ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃŠ¼Šø ŠæŠ°Ń€Š¾Š»Ń\&. Š›ŃŽŠ±Š°Ń смена ŠæŠ°Ń€Š¾Š»Ń ранее заГанного срока выполнена не Š±ŃƒŠ“ет\&. Если значение не заГано, то ŠæŃ€ŠµŠ“ŠæŠ¾Š»Š°Š³Š°ŠµŃ‚ŃŃ значение \-1 (то ŠµŃŃ‚ŃŒ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (число) -.RS 4 -Число Гней за которое начнёт Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ об ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠø ŠæŠ°Ń€Š¾Š»Ń\&. ŠŃƒŠ»ŠµŠ²Š¾Šµ значение означает, что ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Š²Ń‹Š“Š°Ń‘Ń‚ŃŃ в Гень ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ, при Š¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Š¾Š¼ значении ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ Š²Ń‹Š“Š°Š²Š°Ń‚ŃŒŃŃ не Š±ŃƒŠ“ет\&. Если значение не заГано, выГача ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŃ Š¾Ń‚ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ŃŃ\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (число), \fBSYS_GID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов Š³Ń€ŃƒŠæŠæ, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR, -\fBgroupadd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ системных Š³Ń€ŃƒŠæŠæ\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBSYS_GID_MIN\fR -(соотв\&.\fBSYS_GID_MAX\fR) равно 101 (соотв\&. -\fBGID_MIN\fR\-1)\&. -.RE -.PP -\fBSYS_UID_MAX\fR (число), \fBSYS_UID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ системных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBSYS_UID_MIN\fR -(соотв\&. -\fBSYS_UID_MAX\fR) равно 101 (соотв\&. -\fBUID_MIN\fR\-1)\&. -.RE -.PP -\fBUID_MAX\fR (число), \fBUID_MIN\fR (число) -.RS 4 -Диапазон иГентификаторов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŠ¼Ń‹Š¹ в программах -\fBuseradd\fR -или -\fBnewusers\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ обычных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń -\fBUID_MIN\fR -(соотв\&. -\fBUID_MAX\fR) равно 1000 (соотв\&. 60000)\&. -.RE -.PP -\fBUMASK\fR (число) -.RS 4 -ЗаГаёт Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Šµ значение маски Š“Š¾ŃŃ‚ŃƒŠæŠ° Š“Š»Ń созГаваемых файлов\&. Если не указано, то маска ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŠµŃ‚ŃŃ в 022\&. -.sp -ŠšŠ¾Š¼Š°Š½Š“Ń‹ -\fBuseradd\fR -Šø -\fBnewusers\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ эту маску Š“Š»Ń ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŠø прав Š“Š¾ŃŃ‚ŃƒŠæŠ° Šŗ Гомашнему ŠŗŠ°Ń‚Š°Š»Š¾Š³Ńƒ, который они ŃŠ¾Š·Š“Š°ŃŽŃ‚\&. -.sp -Также она ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся программой -\fBlogin\fR -Š“Š»Ń Š·Š°Š“Š°Š½ŠøŃ Š½Š°Ń‡Š°Š»ŃŒŠ½Š¾Š³Š¾ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ umask ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Заметим, что ŃŃ‚Š° маска может Š±Ń‹Ń‚ŃŒ переопреГелена ŠøŠ· ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ¾Š¹ строки GECOS (если ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š° ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń -\fBQUOTAS_ENAB\fR) или указанием Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ с иГентификатором -\fIK\fR, в -\fBlimits\fR(5)\&. -.RE -.PP -\fBUSERGROUPS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŃƒ Š³Ń€ŃƒŠæŠæŃ‹ битов umask равной битам Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Š° (пример: 022 \-> 002, 077 \-> 007) Š“Š»Ń не ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, если uid равен gid Šø ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń совпаГает с именем первичной Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если значение равно -\fIyes\fR, то -\fBuserdel\fR -ŃƒŠ“Š°Š»ŃŠµŃ‚ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ, если в ней нет больше членов, а -\fBuseradd\fR -по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ созГаёт Š³Ń€ŃƒŠæŠæŃƒ с именем ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/default/useradd -.RS 4 -Š·Š½Š°Ń‡ŠµŠ½ŠøŃ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ Š“Š»Ń созГаваемой ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи -.RE -.PP -/etc/skel/ -.RS 4 -каталог, соГержащий файлы по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.SH "Š’ŠžŠ—Š’Š ŠŠ©ŠŠ•ŠœŠ«Š• Š—ŠŠŠ§Š•ŠŠ˜ŠÆ" -.PP -КоманГа -\fBuseradd\fR -Š·Š°Š²ŠµŃ€ŃˆŠ°Ń Ń€Š°Š±Š¾Ń‚Ńƒ, возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -.PP -\fI0\fR -.RS 4 -успешное выполнение -.RE -.PP -\fI1\fR -.RS 4 -не уГалось ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ файл паролей -.RE -.PP -\fI2\fR -.RS 4 -ошибка в параметрах команГы -.RE -.PP -\fI3\fR -.RS 4 -Š½ŠµŠ“Š¾ŠæŃƒŃŃ‚ŠøŠ¼Š¾Šµ значение параметра -.RE -.PP -\fI4\fR -.RS 4 -такой UID уже ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ (Šø не заГан параметр -\fB\-o\fR) -.RE -.PP -\fI6\fR -.RS 4 -ŃƒŠŗŠ°Š·Š°Š½Š½Š°Ń Š³Ń€ŃƒŠæŠæŠ° не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ -.RE -.PP -\fI9\fR -.RS 4 -ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń уже ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ -.RE -.PP -\fI10\fR -.RS 4 -не уГалось ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ файл Š³Ń€ŃƒŠæŠæ -.RE -.PP -\fI12\fR -.RS 4 -не уГалось ŃŠ¾Š·Š“Š°Ń‚ŃŒ Гомашний каталог -.RE -.PP -\fI14\fR -.RS 4 -can\*(Aqt update SELinux user mapping -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBnewusers\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/ru/man8/userdel.8 b/man/ru/man8/userdel.8 deleted file mode 100644 index c54fdb7c..00000000 --- a/man/ru/man8/userdel.8 +++ /dev/null @@ -1,294 +0,0 @@ -'\" t -.\" Title: userdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "userdel" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -userdel \- ŃƒŠ“Š°Š»ŃŠµŃ‚ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись Šø файлы ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [параметры] \fIŠ£Š§ŠŠ¢ŠŠŠÆ_Š—ŠŠŸŠ˜Š”Š¬\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -КоманГа -\fBuserdel\fR -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ системные файлы ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей, ŃƒŠ“Š°Š»ŃŃ все записи, Š¾Ń‚Š½Š¾ŃŃŃ‰ŠøŠµŃŃ Šŗ указанному -\fIимени_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\fR\&. Š—Š°Š“Š°Š½Š½Š°Ń ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Голжна ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBuserdel\fR: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Š” ŃŃ‚ŠøŠ¼ параметром ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š±ŃƒŠ“ŠµŃ‚ уГалена, Гаже если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ в ŃŃ‚Š¾Ń‚ момент работает в системе\&. ŠžŠ½ также Š·Š°ŃŃ‚Š°Š²Š»ŃŠµŃ‚ -\fBuserdel\fR -ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ Гомашний каталог ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Šø почтовый ŃŃ‰ŠøŠŗ, Гаже если Š“Ń€ŃƒŠ³Š¾Š¹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ тот же Гомашний каталог или если почтовый ŃŃ‰ŠøŠŗ не принаГлежит Ганному ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ\&. Если значение -\fBUSERGROUPS_ENAB\fR -равно -\fIyes\fR -в файле -/etc/login\&.defs -Šø если ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ Š³Ń€ŃƒŠæŠæŠ° с именем ŃƒŠ“Š°Š»ŃŠµŠ¼Š¾Š³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, то ŃŃ‚Š¾ Š³Ń€ŃƒŠæŠæŠ° Š±ŃƒŠ“ŠµŃ‚ уГалена, Гаже если она всё ещё ŃŠ²Š»ŃŠµŃ‚ŃŃ первичной Š³Ń€ŃƒŠæŠæŠ¾Š¹ Š“Ń€ŃƒŠ³Š¾Š³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.sp -\fIЗамечание:\fR -Этот параметр опасно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ; он может привести ŃŠøŃŃ‚ŠµŠ¼Ńƒ в нерабочее ŃŠ¾ŃŃ‚Š¾ŃŠ½ŠøŠµ\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\fR -.RS 4 -Файлы в Гомашнем каталоге ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŃƒŃ‚ ŃƒŠ“Š°Š»ŠµŠ½Ń‹ вместе с самим Гомашним каталогом Šø почтовым ŃŃ‰ŠøŠŗŠ¾Š¼\&. ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ файлы, расположенные в Š“Ń€ŃƒŠ³ŠøŃ… файловых системах, нужно ŠøŃŠŗŠ°Ń‚ŃŒ Šø ŃƒŠ“Š°Š»ŃŃ‚ŃŒ Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ\&. -.sp -Š˜Š¼Ń файла почтового ŃŃ‰ŠøŠŗŠ° Š·Š°Š“Š°Ń‘Ń‚ŃŃ переменной -\fBMAIL_DIR\fR -в файле -login\&.defs\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR -.RS 4 -Š£Š“Š°Š»ŃŠµŃ‚ все ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠµ ŃŠ¾ŠæŠ¾ŃŃ‚Š°Š²Š»ŠµŠ½ŠøŃ SELinux Š“Š»Ń ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBMAIL_DIR\fR (строка) -.RS 4 -ŠŸŠ¾Ń‡Ń‚Š¾Š²Ń‹Š¹ каталог\&. Данный параметр нужен Š“Š»Ń ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ почтовым ŃŃ‰ŠøŠŗŠ¾Š¼ при изменении или уГалении ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Если параметр не заГан, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение указанное при сборке\&. -.RE -.PP -\fBMAIL_FILE\fR (строка) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ расположение почтовых файлов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š¾Ń‚Š½Š¾ŃŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ Гомашнего каталога\&. -.RE -.PP -ŠŸŠµŃ€ŠµŠ¼ŠµŠ½Š½Ń‹Šµ -\fBMAIL_DIR\fR -Šø -\fBMAIL_FILE\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ŃŃ команГами -\fBuseradd\fR, -\fBusermod\fR -Šø -\fBuserdel\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ, ŠæŠµŃ€ŠµŠ¼ŠµŃ‰ŠµŠ½ŠøŃ или ŃƒŠ“Š°Š»ŠµŠ½ŠøŃ почты ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.PP -Если значение -\fBMAIL_CHECK_ENAB\fR -равно -\fIyes\fR, то они также ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ся Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.PP -\fBUSERDEL_CMD\fR (строка) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ ŠæŃ€Š¾Š³Ń€Š°Š¼Š¼Ńƒ, ŠŗŠ¾Ń‚Š¾Ń€Š°Ń Š±ŃƒŠ“ŠµŃ‚ Š·Š°ŠæŃƒŃ‰ŠµŠ½Š° при уГалении ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. ŠžŠ½Š° Голжна ŃƒŠ“Š°Š»ŃŃ‚ŃŒ Š»ŃŽŠ±Ń‹Šµ Š·Š°Š“Š°Š½ŠøŃ at/cron/печати ŃƒŠ“Š°Š»ŃŠµŠ¼Š¾Š³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń (ŠæŠµŃ€ŠµŠ“Š°Ń‘Ń‚ŃŃ в качестве первого Š°Ń€Š³ŃƒŠ¼ŠµŠ½Ń‚а)\&. -.sp -Возвращаемый сценарием коГ Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ŠøŃ не ŃƒŃ‡ŠøŃ‚Ń‹Š²Š°ŠµŃ‚ŃŃ\&. -.sp -Вот простой сценарий, который ŃƒŠ“Š°Š»ŃŠµŃ‚ Š·Š°Š“Š°Š½ŠøŃ печати, cron Šø at: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ все необхоГимые параметры -if [ $# != 1 ]; then - echo "Использование: $0 ŠøŠ¼Ń_ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń" - exit 1 -fi - -# ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ Š·Š°Š“Š°Š½ŠøŃ cron -crontab \-r \-u $1 - -# ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ Š·Š°Š“Š°Š½ŠøŃ at -# Заметим, что ŃŃ‚Š¾ ŃƒŠ“Š°Š»ŠøŃ‚ все Š·Š°Š“Š°Š½ŠøŃ с ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¼ UID, -# Гаже если он ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся Š“Š»Ń Š“Ń€ŃƒŠ³Š¾Š¹ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ Š·Š°Š“Š°Š½ŠøŃ печати -lprm $1 - -# всё -exit 0 - -.fi -.if n \{\ -.RE -.\} -.RE -.PP -\fBUSERGROUPS_ENAB\fR (логический) -.RS 4 -Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŃƒ Š³Ń€ŃƒŠæŠæŃ‹ битов umask равной битам Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Š° (пример: 022 \-> 002, 077 \-> 007) Š“Š»Ń не ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, если uid равен gid Šø ŠøŠ¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń совпаГает с именем первичной Š³Ń€ŃƒŠæŠæŃ‹\&. -.sp -Если значение равно -\fIyes\fR, то -\fBuserdel\fR -ŃƒŠ“Š°Š»ŃŠµŃ‚ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ, если в ней нет больше членов, а -\fBuseradd\fR -по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ созГаёт Š³Ń€ŃƒŠæŠæŃƒ с именем ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "Š’ŠžŠ—Š’Š ŠŠ©ŠŠ•ŠœŠ«Š• Š—ŠŠŠ§Š•ŠŠ˜ŠÆ" -.PP -КоманГа -\fBuserdel\fR -Š·Š°Š²ŠµŃ€ŃˆŠ°Ń Ń€Š°Š±Š¾Ń‚Ńƒ, возвращает ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ: -.PP -\fI0\fR -.RS 4 -успешное выполнение -.RE -.PP -\fI1\fR -.RS 4 -не уГалось ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ файл паролей -.RE -.PP -\fI2\fR -.RS 4 -ошибка в параметрах команГы -.RE -.PP -\fI6\fR -.RS 4 -ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Š¹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ -.RE -.PP -\fI8\fR -.RS 4 -ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ сейчас работает в системе -.RE -.PP -\fI10\fR -.RS 4 -не уГалось ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ файл Š³Ń€ŃƒŠæŠæ -.RE -.PP -\fI12\fR -.RS 4 -не уГалось ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ Гомашний каталог -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -КоманГа -\fBuserdel\fR -не позволит ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись, если ŠµŃŃ‚ŃŒ Š·Š°ŠæŃƒŃ‰ŠµŠ½Š½Ń‹Šµ процессы, принаГлежащие Ганной ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. Š’ ŃŃ‚Š¾Š¼ ŃŠ»ŃƒŃ‡Š°Šµ вы можете ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ ŃŃ‚Šø процессы или Š·Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń или ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись, а затем ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись\&. Если указан параметр -\fB\-f\fR, то ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š±ŃƒŠ“ŠµŃ‚ уГалена Š½ŠµŃŠ¼Š¾Ń‚Ń€Ń ни на что\&. -.PP -Š’Ń‹ Голжны Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ все файловые системы, чтобы ŃƒŠ±ŠµŠ“ŠøŃ‚ŃŒŃŃ, что не Š¾ŃŃ‚Š°Š»Š¾ŃŃŒ файлов, принаГлежащих ŃŃ‚Š¾Š¼Ńƒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ\&. -.PP -ŠŠµŠ»ŃŒŠ·Ń ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ NIS Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Ń‹ клиента NIS\&. Это необхоГимо ŃŠ“ŠµŠ»Š°Ń‚ŃŒ на NIS сервере\&. -.PP -Если значение переменной -\fBUSERGROUPS_ENAB\fR -равно -\fIyes\fR -в файле -/etc/login\&.defs, то -\fBuserdel\fR -ŃƒŠ“Š°Š»ŠøŃ‚ Š³Ń€ŃƒŠæŠæŃƒ с именем как у ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Чтобы ŠøŠ·Š±ŠµŠ¶Š°Ń‚ŃŒ рассогласованности в базах Ганных Š³Ń€ŃƒŠæŠæ Šø паролей, -\fBuserdel\fR -проверит, что Š“Š°Š½Š½Š°Ń Š³Ń€ŃƒŠæŠæŠ° не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся в качестве первичной Š“Š»Ń Š“Ń€ŃƒŠ³Š¾Š³Š¾ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, Šø выГаст ŠæŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ без ŃƒŠ“Š°Š»ŠµŠ½ŠøŃ, если такое ŃŠ»ŃƒŃ‡ŠøŃ‚ŃŃ\&. ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€ -\fB\-f\fR -поможет ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ Š³Ń€ŃƒŠæŠæŃƒ в Š»ŃŽŠ±Š¾Š¼ ŃŠ»ŃƒŃ‡Š°Šµ\&. -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBlogin.defs\fR(5), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/ru/man8/usermod.8 b/man/ru/man8/usermod.8 deleted file mode 100644 index 0e7e3636..00000000 --- a/man/ru/man8/usermod.8 +++ /dev/null @@ -1,437 +0,0 @@ -'\" t -.\" Title: usermod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "usermod" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -usermod \- ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIпараметры\fR] \fIŠ£Š§ŠŠ¢ŠŠŠÆ_Š—ŠŠŸŠ˜Š”Š¬\fR -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -КоманГа -\fBusermod\fR -ŠøŠ·Š¼ŠµŠ½ŃŠµŃ‚ системные файлы ŃƒŃ‡Ń‘Ń‚Š½Ń‹Ń… записей согласно переГанным в команГной строке параметрам\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГы -\fBusermod\fR: -.PP -\fB\-a\fR, \fB\-\-append\fR -.RS 4 -Š”Š¾Š±Š°Š²ŠøŃ‚ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½ŃƒŃŽ Š³Ń€ŃƒŠæŠæŃƒ(ы)\&. Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ вместе с параметром -\fB\-G\fR\&. -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fIŠšŠžŠœŠœŠ•ŠŠ¢ŠŠ Š˜Š™\fR -.RS 4 -ŠŠ¾Š²Š¾Šµ значение ŠæŠ¾Š»Ń ŠŗŠ¾Š¼Š¼ŠµŠ½Ń‚Š°Ń€ŠøŃ в файле ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŃ… паролей\&. ŠžŠ±Ń‹Ń‡Š½Š¾ его ŠøŠ·Š¼ŠµŠ½ŃŃŽŃ‚ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ программы -\fBchfn\fR(1)\&. -.RE -.PP -\fB\-d\fR, \fB\-\-home\fR\ \&\fIHOME_DIR\fR -.RS 4 -Š”Š¾Š¼Š°ŃˆŠ½ŠøŠ¹ каталог нового ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.sp -Если указан параметр -\fB\-m\fR, то соГержимое Ń‚ŠµŠŗŃƒŃ‰ŠµŠ³Š¾ Гомашнего каталога Š±ŃƒŠ“ет перемещено в новый Гомашний каталог, который Š±ŃƒŠ“ет созГан, если он ещё не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR \fIДАТА_Š£Š”Š¢ŠŠ Š•Š’ŠŠŠ˜ŠÆ\fR -.RS 4 -Дата, когГа ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ заблокирована\&. Дата Š·Š°Š“Š°Ń‘Ń‚ŃŃ в формате -\fIГГГГ\-ММ\-ДД\fR\&. -.sp -ŠŸŃƒŃŃ‚Š¾Šµ значение Š°Ń€Š³ŃƒŠ¼ŠµŠ½Ń‚а -\fIДАТА_Š£Š”Š¢ŠŠ Š•Š’ŠŠŠ˜ŠÆ\fR -Š¾Ń‚ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŠµ ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи\&. -.sp -Š”Š»Ń ŃŃ‚Š¾Š³Š¾ параметра Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ файл -/etc/shadow\&. ŠŸŃ€Šø Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²ŠøŠø в -/etc/shadow -ŃŠ¾Š·Š“Š°Ń‘Ń‚ŃŃ Š½ŠµŠ¾Š±Ń…Š¾Š“ŠøŠ¼Š°Ń запись\&. -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIŠ”ŠŠ•Š™\fR -.RS 4 -ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ Гней, которые Голжны пройти после ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń, чтобы ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š·Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Š»Š°ŃŃŒ навсегГа\&. -.sp -Если указано значение 0, то ŃƒŃ‡Ń‘Ń‚Š½Š°Ń запись Š±Š»Š¾ŠŗŠøŃ€ŃƒŠµŃ‚ŃŃ ŃŃ€Š°Š·Ńƒ после ŃƒŃŃ‚Š°Ń€ŠµŠ²Š°Š½ŠøŃ ŠæŠ°Ń€Š¾Š»Ń, а при значении \-1 Š“Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся\&. -.sp -Š”Š»Ń ŃŃ‚Š¾Š³Š¾ параметра Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ файл -/etc/shadow\&. ŠŸŃ€Šø Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²ŠøŠø в -/etc/shadow -ŃŠ¾Š·Š“Š°Ń‘Ń‚ŃŃ Š½ŠµŠ¾Š±Ń…Š¾Š“ŠøŠ¼Š°Ń запись\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIŠ“Š Š£ŠŸŠŸŠ\fR -.RS 4 -Š˜Š¼Ń или числовой иГентификатор новой первичной Š³Ń€ŃƒŠæŠæŃ‹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Š“Ń€ŃƒŠæŠæŠ° с таким именем Голжна ŃŃƒŃ‰ŠµŃŃ‚Š²Š¾Š²Š°Ń‚ŃŒ\&. -.sp -Все файлы в Гомашнем каталоге ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, ŠæŃ€ŠøŠ½Š°Š“Š»ŠµŠ¶Š°Š²ŃˆŠøŠµ ŠæŃ€ŠµŠ“Ń‹Š“ŃƒŃ‰ŠµŠ¹ первичной Š³Ń€ŃƒŠæŠæŠµ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń, Š±ŃƒŠ“ŃƒŃ‚ ŠæŃ€ŠøŠ½Š°Š“Š»ŠµŠ¶Š°Ń‚ŃŒ новой Š³Ń€ŃƒŠæŠæŠµ\&. -.sp -Š“Ń€ŃƒŠæŠæŠ¾Š²Š¾Š³Š¾ Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Š° файлов вне Гомашнего каталога нужно ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ\&. -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIŠ“Š Š£ŠŸŠŸŠ1\fR[\fI,Š“Š Š£ŠŸŠŸŠ2,\&...\fR[\fI,Š“Š Š£ŠŸŠŸŠN\fR]]] -.RS 4 -Дписок Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Ń… Š³Ń€ŃƒŠæŠæ, в которых Ń‡ŠøŃŠ»ŠøŃ‚ŃŃ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ\&. ŠŸŠµŃ€ŠµŃ‡ŠøŃŠ»ŠµŠ½ŠøŠµ Š³Ń€ŃƒŠæŠæ Š¾ŃŃƒŃ‰ŠµŃŃ‚Š²Š»ŃŠµŃ‚ŃŃ через Š·Š°ŠæŃŃ‚ŃƒŃŽ, без ŠæŃ€Š¾Š¼ŠµŠ¶ŃƒŃ‚очных пробелов\&. ŠŠ° ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Šµ Š³Ń€ŃƒŠæŠæŃ‹ Š“ŠµŠ¹ŃŃ‚Š²ŃƒŃŽŃ‚ те же Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ, что Šø Š“Š»Ń Š³Ń€ŃƒŠæŠæŃ‹ указанной в параметре -\fB\-g\fR\&. -.sp -Если ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ \(em член Š³Ń€ŃƒŠæŠæŃ‹, которой в указанном списке нет, то ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ ŃƒŠ“Š°Š»ŃŠµŃ‚ŃŃ ŠøŠ· ŃŃ‚Š¾Š¹ Š³Ń€ŃƒŠæŠæŃ‹\&. Такое повеГение можно ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ параметра -\fB\-a\fR, при указании которого Šŗ уже ŠøŠ¼ŠµŃŽŃ‰ŠµŠ¼ŃƒŃŃ списку Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š“Š¾Š±Š°Š²Š»ŃŠµŃ‚ŃŃ список ŃƒŠŗŠ°Š·Š°Š½Š½Ń‹Ń… Š“Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Ń… Š³Ń€ŃƒŠæŠæ\&. -.RE -.PP -\fB\-l\fR, \fB\-\-login\fR\ \&\fIŠŠžŠ’ŠžŠ•_ИМЯ\fR -.RS 4 -Š˜Š¼Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š±ŃƒŠ“ŠµŃ‚ изменено с -\fIИМЯ\fR -на -\fIŠŠžŠ’ŠžŠ•_ИМЯ\fR\&. Š‘Š¾Š»ŃŒŃˆŠµ ничего не Š¼ŠµŠ½ŃŠµŃ‚ся\&. Š’ частности, Š²ŠµŃ€Š¾ŃŃ‚Š½Š¾, Голжно Š±Ń‹Ń‚ŃŒ изменено ŠøŠ¼Ń Гомашнего каталога Šø почтового ŃŃ‰ŠøŠŗŠ°, чтобы Š¾Ń‚Ń€Š°Š·ŠøŃ‚ŃŒ изменение имени ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fB\-L\fR, \fB\-\-lock\fR -.RS 4 -Š—Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Это Š“ŠµŠ»Š°ŠµŃ‚ŃŃ помещением символа \(Fo!\(Fc в начало ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Š¾Š³Š¾ ŠæŠ°Ń€Š¾Š»Ń, чтобы привоГит Šŗ блокировке ŠæŠ°Ń€Š¾Š»Ń\&. ŠŠµ ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ ŃŃ‚Š¾Ń‚ параметр вместе с -\fB\-p\fR -или -\fB\-U\fR\&. -.sp -Замечание: если вы хотите Š·Š°Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись (не Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š¾ŃŃ‚ŃƒŠæ по ŠæŠ°Ń€Š¾Š»ŃŽ), также ŃƒŃŃ‚Š°Š½Š¾Š²ŠøŃ‚Šµ значение -\fIEXPIRE_DATE\fR -в -\fI1\fR\&. -.RE -.PP -\fB\-m\fR, \fB\-\-move\-home\fR -.RS 4 -ŠŸŠµŃ€ŠµŠ¼ŠµŃŃ‚ŠøŃ‚ŃŒ соГержимое Гомашнего каталога в новое место\&. -.sp -Этот параметр можно ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Ń‚Š¾Š»ŃŒŠŗŠ¾ с параметром -\fB\-d\fR -(или -\fB\-\-home\fR)\&. -.sp -КоманГа -\fBusermod\fR -ŠæŃ‹Ń‚Š°ŠµŃ‚ŃŃ ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ Š²Š»Š°Š“ŠµŠ»ŃŒŃ†ŠµŠ² файлов Šø ŠŗŠ¾ŠæŠøŃ€ŃƒŠµŃ‚ права, ACL Šø Ń€Š°ŃŃˆŠøŃ€ŠµŠ½Š½Ń‹Šµ Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Ń‹, но после неё всё равно Š¼Š¾Š³ŃƒŃ‚ ŠæŠ¾Ń‚Ń€ŠµŠ±Š¾Š²Š°Ń‚ŃŒŃŃ некоторые Ń€ŃƒŃ‡Š½Ń‹Šµ Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -ŠŸŃ€Šø использовании с параметром -\fB\-u\fR, ŃŃ‚Š¾Ń‚ параметр ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ ŃƒŠŗŠ°Š·Ń‹Š²Š°Ń‚ŃŒ не ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¹ числовой иГентификатор ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIŠŸŠŠ ŠžŠ›Š¬\fR -.RS 4 -Шифрованное значение ŠæŠ°Ń€Š¾Š»Ń, которое возвращает Ń„ŃƒŠ½ŠŗŃ†ŠøŃ -\fBcrypt\fR(3)\&. -.sp -\fBЗамечание:\fR -Этот параметр ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ не Ń€ŠµŠŗŠ¾Š¼ŠµŠ½Š“ŃƒŠµŃ‚ŃŃ, так как ŠæŠ°Ń€Š¾Š»ŃŒ (или не ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Ń‹Š¹ ŠæŠ°Ń€Š¾Š»ŃŒ) Š±ŃƒŠ“ŠµŃ‚ виГим Š“Ń€ŃƒŠ³ŠøŠ¼Šø ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŠ¼ в списке процессов\&. -.sp -Š’Ń‹ Голжны ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ, что ŠæŠ°Ń€Š¾Š»ŃŒ ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŠµŃ‚ политике системных паролей\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fIŠžŠ‘ŠžŠ›ŠžŠ§ŠšŠ\fR -.RS 4 -Š˜Š¼Ń новой регистрационной оболочки ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Если Š·Š°Š“Š°Ń‚ŃŒ ŠæŃƒŃŃ‚Š¾Šµ значение, то Š±ŃƒŠ“ет использована Ń€ŠµŠ³ŠøŃŃ‚Ń€Š°Ń†ŠøŠ¾Š½Š½Š°Ń оболочка по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ\&. -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -ŠŠ¾Š²Ń‹Š¹ числовой иГентификатор ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń (UID)\&. -.sp -ŠžŠ½Š¾ Голжно Š±Ń‹Ń‚ŃŒ ŃƒŠ½ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¼, если не ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся параметр -\fB\-o\fR\&. Значение Голжно Š±Ń‹Ń‚ŃŒ Š½ŠµŠ¾Ń‚Ń€ŠøŃ†Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¼\&. -.sp -Š”Š»Ń почтового ŃŃ‰ŠøŠŗŠ° Šø всех файлов, которыми влаГеет ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ Šø которые расположены в его Гомашнем каталоге, иГентификатор Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Š° файла Š±ŃƒŠ“ет изменён автоматически\&. -.sp -Š”Š»Ń файлов, расположенных вне Гомашнего каталога, иГентификатор нужно ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ\&. -.sp -ŠŠøŠŗŠ°ŠŗŠøŃ… проверок по -\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBSYS_UID_MIN\fR -или -\fBSYS_UID_MAX\fR -ŠøŠ· -/etc/login\&.defs -не ŠæŃ€Š¾ŠøŠ·Š²Š¾Š“ŠøŃ‚ŃŃ\&. -.RE -.PP -\fB\-U\fR, \fB\-\-unlock\fR -.RS 4 -Š Š°Š·Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŠæŠ°Ń€Š¾Š»ŃŒ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Это Š²Ń‹ŠæŠ¾Š»Š½ŃŠµŃ‚ся уГалением символа \(Fo!\(Fc ŠøŠ· начала ŃˆŠøŃ„Ń€Š¾Š²Š°Š½Š½Š¾Š³Š¾ ŠæŠ°Ń€Š¾Š»Ń\&. ŠŠµ ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ ŃŃ‚Š¾Ń‚ параметр вместе с -\fB\-p\fR -или -\fB\-L\fR\&. -.sp -Замечание: если вы хотите Ń€Š°Š·Š±Š»Š¾ŠŗŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃƒŃ‡Ń‘Ń‚Š½ŃƒŃŽ запись (не Ń‚Š¾Š»ŃŒŠŗŠ¾ Š“Š¾ŃŃ‚ŃƒŠæ по ŠæŠ°Ń€Š¾Š»ŃŽ), также ŃƒŃŃ‚Š°Š½Š¾Š²ŠøŃ‚Šµ значение -\fIEXPIRE_DATE\fR -(например, в to -\fI99999\fR -или равным Š·Š½Š°Ń‡ŠµŠ½ŠøŃŽ -\fBEXPIRE\fR -ŠøŠ· файла -/etc/default/useradd)\&. -.RE -.PP -\fB\-v\fR, \fB\-\-add\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate uids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-V\fR, \fB\-\-del\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate uids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-uids\fR -and -\fB\-\-add\-sub\-uids\fR -are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-w\fR, \fB\-\-add\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate gids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-W\fR, \fB\-\-del\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate gids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-gids\fR -and -\fB\-\-add\-sub\-gids\fR -are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR -.RS 4 -ŠŠ¾Š²Ń‹Š¹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ SELinux Š“Š»Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ¾Š³Š¾ вхоГа\&. -.sp -ŠŸŃ€Šø ŠæŃƒŃŃ‚Š¾Š¼ значении -\fISEUSER\fR -ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠ¾Šµ сопоставление SELinux Š“Š»Ń ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń -\fILOGIN\fR -ŃƒŠ“Š°Š»ŃŠµŃ‚ŃŃ (если ŠµŃŃ‚ŃŒ)\&. -.RE -.SH "ŠŸŠ Š•Š”ŠžŠ”Š¢Š•Š Š•Š–Š•ŠŠ˜ŠÆ" -.PP -You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. -\fBusermod\fR -checks this on Linux\&. On other platforms it only uses utmp to check if the user is logged in\&. -.PP -Š’Ń‹ Голжны Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ Š²Š»Š°Š“ŠµŠ»ŃŒŃ†Š° всех файлов -\fBcrontab\fR -или заГаний -\fBat\fR\&. -.PP -Š’Ń‹ Голжны ŃŠ“ŠµŠ»Š°Ń‚ŃŒ все ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ NIS на сервере NIS ŃŠ°Š¼Š¾ŃŃ‚Š¾ŃŃ‚ŠµŠ»ŃŒŠ½Š¾\&. -.SH "ŠŠŠ”Š¢Š ŠžŠ™ŠšŠ" -.PP -ŠŠ° Ń€Š°Š±Š¾Ń‚Ńƒ ŃŃ‚Š¾Š³Š¾ ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š° Š²Š»ŠøŃŃŽŃ‚ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠµ переменные настройки ŠøŠ· -/etc/login\&.defs: -.PP -\fBMAIL_DIR\fR (строка) -.RS 4 -ŠŸŠ¾Ń‡Ń‚Š¾Š²Ń‹Š¹ каталог\&. Данный параметр нужен Š“Š»Ń ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ почтовым ŃŃ‰ŠøŠŗŠ¾Š¼ при изменении или уГалении ŃƒŃ‡Ń‘Ń‚Š½Š¾Š¹ записи ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. Если параметр не заГан, то ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся значение указанное при сборке\&. -.RE -.PP -\fBMAIL_FILE\fR (строка) -.RS 4 -ŠžŠæŃ€ŠµŠ“ŠµŠ»ŃŠµŃ‚ расположение почтовых файлов ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń Š¾Ń‚Š½Š¾ŃŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ Гомашнего каталога\&. -.RE -.PP -ŠŸŠµŃ€ŠµŠ¼ŠµŠ½Š½Ń‹Šµ -\fBMAIL_DIR\fR -Šø -\fBMAIL_FILE\fR -ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ŃŃ команГами -\fBuseradd\fR, -\fBusermod\fR -Šø -\fBuserdel\fR -Š“Š»Ń ŃŠ¾Š·Š“Š°Š½ŠøŃ, ŠæŠµŃ€ŠµŠ¼ŠµŃ‰ŠµŠ½ŠøŃ или ŃƒŠ“Š°Š»ŠµŠ½ŠøŃ почты ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń\&. -.PP -Если значение -\fBMAIL_CHECK_ENAB\fR -равно -\fIyes\fR, то они также ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‚ся Š“Š»Ń Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠµŠ½ŠøŃ переменной Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fBMAIL\fR\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (число) -.RS 4 -Максимальное количество членов в записи о Š³Ń€ŃƒŠæŠæŠµ\&. ŠŸŃ€Šø Š“Š¾ŃŃ‚ŠøŠ¶ŠµŠ½ŠøŃ максимума Š·Š°Š²Š¾Š“ŠøŃ‚ŃŃ Š½Š¾Š²Š°Ń запись Š³Ń€ŃƒŠæŠæŃ‹ (строка) в -/etc/group -(с тем же именем, паролем Šø тем же GID)\&. -.sp -Значение по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ равно 0, Š¾Š·Š½Š°Ń‡Š°ŃŽŃ‰ŠµŠµ, что Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ на количество членов в Š³Ń€ŃƒŠæŠæŠµ нет\&. -.sp -Š”Š°Š½Š½Š°Ń Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ (разГеление Š³Ń€ŃƒŠæŠæŃ‹) ŠæŠ¾Š·Š²Š¾Š»ŃŠµŃ‚ Š¾Š³Ń€Š°Š½ŠøŃ‡ŠøŃ‚ŃŒ Глину строк в файле Š³Ń€ŃƒŠæŠæ\&. Это полезно Š“Š»Ń Š¾Š³Ń€Š°Š½ŠøŃ‡ŠµŠ½ŠøŃ Глины строк Š³Ń€ŃƒŠæŠæ NIS в 1024 символа\&. -.sp -Если вам нужно такое ограничение, ŃƒŠŗŠ°Š¶ŠøŃ‚Šµ значение 25\&. -.sp -Замечание: разГеление Š³Ń€ŃƒŠæŠæ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ не всеми ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š°Š¼Šø (Гаже в наборе ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Š¾Š² Shadow)\&. Š’Ń‹ не Голжны ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ эту ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ, если вам Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃŃ‚Š¾ ненужно\&. -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/login\&.defs -.RS 4 -соГержит ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŃŽ поГсистемы теневых паролей -.RE -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8)\&. diff --git a/man/ru/man8/vigr.8 b/man/ru/man8/vigr.8 deleted file mode 100644 index ff72d7ae..00000000 --- a/man/ru/man8/vigr.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/vipw.8 diff --git a/man/ru/man8/vipw.8 b/man/ru/man8/vipw.8 deleted file mode 100644 index c3d0be2d..00000000 --- a/man/ru/man8/vipw.8 +++ /dev/null @@ -1,132 +0,0 @@ -'\" t -.\" Title: vipw -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 09/18/2016 -.\" Manual: ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой -.\" Source: shadow-utils 4.4 -.\" Language: Russian -.\" -.TH "vipw" "8" "09/18/2016" "shadow\-utils 4\&.4" "ŠšŠ¾Š¼Š°Š½Š“Ń‹ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ системой" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "ŠŠŠ—Š’ŠŠŠ˜Š•" -vipw, vigr \- ŠæŠ¾Š·Š²Š¾Š»ŃŃŽŃ‚ Ń€ŠµŠ“Š°ŠŗŃ‚ŠøŃ€Š¾Š²Š°Ń‚ŃŒ файлы паролей, Š³Ń€ŃƒŠæŠæ, теневых паролей ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ или Š³Ń€ŃƒŠæŠæ\&. -.SH "Š”Š˜ŠŠ¢ŠŠšŠ”Š˜Š”" -.HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIпараметры\fR] -.HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIпараметры\fR] -.SH "ŠžŠŸŠ˜Š”ŠŠŠ˜Š•" -.PP -Š” ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ программ -\fBvipw\fR -Šø -\fBvigr\fR -можно ŠøŠ·Š¼ŠµŠ½ŃŃ‚ŃŒ файлы -/etc/passwd -Šø -/etc/group, соответственно\&. Если указан параметр -\fB\-s\fR, то Š±ŃƒŠ“ŃƒŃ‚ Ń€ŠµŠ“Š°ŠŗŃ‚ŠøŃ€Š¾Š²Š°Ń‚ŃŒŃŃ теневые версии ŃŃ‚ŠøŃ… файлов, -/etc/shadow -Šø -/etc/gshadow, соответственно\&. ŠŠ° Š²Ń€ŠµŠ¼Ń работы программы ŃƒŃŃ‚Š°Š½Š°Š²Š»ŠøŠ²Š°ŃŽŃ‚ Š±Š»Š¾ŠŗŠøŃ€Š¾Š²ŠŗŃƒ Š“Š»Ń ŠæŃ€ŠµŠ“Š¾Ń‚Š²Ń€Š°Ń‰ŠµŠ½ŠøŃ ŠæŠ¾Š²Ń€ŠµŠ¶Š“ŠµŠ½ŠøŃ файла\&. ŠŸŃ€Šø выборе реГактора программы сначала ŠæŃ€Š¾Š²ŠµŃ€ŃŃŽŃ‚ ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½ŃƒŃŽ Š¾ŠŗŃ€ŃƒŠ¶ŠµŠ½ŠøŃ -\fB$VISUAL\fR, затем -\fB$EDITOR\fR, Šø если ничего не найГено, Š·Š°ŠæŃƒŃŠŗŠ°ŃŽŃ‚ станГартный реГактор -\fBvi\fR(1)\&. -.SH "ŠŸŠŠ ŠŠœŠ•Š¢Š Š«" -.PP -ŠŸŠ°Ń€Š°Š¼ŠµŃ‚Ń€Ń‹ команГ -\fBvipw\fR -Šø -\fBvigr\fR: -.PP -\fB\-g\fR, \fB\-\-group\fR -.RS 4 -Š ŠµŠ“Š°ŠŗŃ‚ŠøŃ€Š¾Š²Š°Ń‚ŃŒ базу Ганных Š³Ń€ŃƒŠæŠæ\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ ŠŗŃ€Š°Ń‚ŠŗŃƒŃŽ ŃŠæŃ€Š°Š²ŠŗŃƒ Šø Š·Š°ŠŗŠ¾Š½Ń‡ŠøŃ‚ŃŒ Ń€Š°Š±Š¾Ń‚Ńƒ\&. -.RE -.PP -\fB\-p\fR, \fB\-\-passwd\fR -.RS 4 -Š ŠµŠ“Š°ŠŗŃ‚ŠøŃ€Š¾Š²Š°Ń‚ŃŒ базу Ганных passwd\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -ŠŠµ Š²Ń‹Š²Š¾Š“ŠøŃ‚ŃŒ сообщений при работе\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fIКАТ_CHROOT\fR -.RS 4 -Š’Ń‹ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŃ в каталоге -\fIКАТ_CHROOT\fR -Šø ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ файлы настройки ŠøŠ· каталога -\fIКАТ_CHROOT\fR\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shadow\fR -.RS 4 -Š ŠµŠ“Š°ŠŗŃ‚ŠøŃ€Š¾Š²Š°Ń‚ŃŒ базу Ганных shadow или gshadow\&. -.RE -.SH "ŠžŠšŠ Š£Š–Š•ŠŠ˜Š•" -.PP -\fBVISUAL\fR -.RS 4 -РеГактор, который Š±ŃƒŠ“ет вызван\&. -.RE -.PP -\fBEDITOR\fR -.RS 4 -РеГактор, который Š±ŃƒŠ“ет вызван, если не заГана ŠæŠµŃ€ŠµŠ¼ŠµŠ½Š½Š°Ń -\fBVISUAL\fR\&. -.RE -.SH "ФАЙЛЫ" -.PP -/etc/group -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/gshadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о Š³Ń€ŃƒŠæŠæŠ°Ń… -.RE -.PP -/etc/passwd -.RS 4 -соГержит ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.PP -/etc/shadow -.RS 4 -соГержит Š·Š°Ń‰ŠøŃ‰Š°ŠµŠ¼ŃƒŃŽ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ о ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŃ… -.RE -.SH "Š”ŠœŠžŠ¢Š Š˜Š¢Š• Š¢ŠŠšŠ–Š•" -.PP -\fBvi\fR(1), -\fBgroup\fR(5), -\fBgshadow\fR(5), -\fBpasswd\fR(5), , -\fBshadow\fR(5)\&. diff --git a/man/sv/Makefile.in b/man/sv/Makefile.in deleted file mode 100644 index 0a5e0a69..00000000 --- a/man/sv/Makefile.in +++ /dev/null @@ -1,754 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) -subdir = man/sv -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ - "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" -man3dir = $(mandir)/man3 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/../generate_mans.mak \ - $(srcdir)/../generate_translations.mak $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/sv -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ - -# 2012.01.28 - activate manpages with more than 50% translated messages -man_MANS = man1/chage.1 man1/chsh.1 man1/expiry.1 man5/faillog.5 \ - man8/faillog.8 man3/getspnam.3 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man5/gshadow.5 man8/lastlog.8 man8/logoutd.8 man1/newgrp.1 \ - man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man1/sg.1 man3/shadow.3 man5/suauth.5 man8/userdel.8 \ - man8/vigr.8 man8/vipw.8 $(am__append_1) -man_nopam = \ - man5/limits.5 \ - man5/porttime.5 - -EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_2) -LANG = $(notdir $(CURDIR)) -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_TRUE@SHADOWGRP_COND = gshadow -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_FALSE@TCB_COND = no_tcb -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids -CLEANFILES = .xml2po.mo $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/sv/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/sv/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man3: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man3dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.3[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@ENABLE_REGENERATE_MAN_FALSE@clean-local: -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man3 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ - uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man3 install-man5 install-man8 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-man uninstall-man1 \ - uninstall-man3 uninstall-man5 uninstall-man8 - -.PRECIOUS: Makefile - - -@ENABLE_REGENERATE_MAN_TRUE@config.xml: ../config.xml.in -@ENABLE_REGENERATE_MAN_TRUE@ $(MAKE) -C .. config.xml -@ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ xml2po --expand-all-entities -l $(LANG) -p ../po/$(LANG).po -o $@ ../$@ -@ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml -@ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $<; then \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^/%config;/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ else \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ fi - -@ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ -@ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< - -@ENABLE_REGENERATE_MAN_TRUE@clean-local: -@ENABLE_REGENERATE_MAN_TRUE@ for d in man1 man3 man5 man8; do [ -d $$d ] && rmdir $$d; done - -#$(man_MANS): -# @echo you need to run configure with --enable-man to generate man pages -# @false - -@ENABLE_REGENERATE_MAN_TRUE@man8/grpconv.8 man8/grpunconv.8 man8/pwunconv.8: man8/pwconv.8 - -@ENABLE_REGENERATE_MAN_TRUE@man3/getspnam.3: man3/shadow.3 - -@ENABLE_REGENERATE_MAN_TRUE@man8/vigr.8: man8/vipw.8 - -@ENABLE_REGENERATE_MAN_FALSE@$(man_MANS): -@ENABLE_REGENERATE_MAN_FALSE@ @echo you need to run configure with --enable-man to generate man pages -@ENABLE_REGENERATE_MAN_FALSE@ @false - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/sv/man1/chage.1 b/man/sv/man1/chage.1 deleted file mode 100644 index 1f6e16b4..00000000 --- a/man/sv/man1/chage.1 +++ /dev/null @@ -1,184 +0,0 @@ -'\" t -.\" Title: chage -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "CHAGE" "1" "18-09-2016" "shadow\-utils 4\&.4" "Anv\(:andarkommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -chage \- \(:andra \(oaldringsinformation f\(:or anv\(:andarl\(:osenord -.SH "SYNOPSIS" -.HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIflaggor\fR] \fIINLOGGNINGSNAMN\fR -.SH "BESKRIVNING" -.PP -The -\fBchage\fR -command changes the number of days between password changes and the date of the last password change\&. This information is used by the system to determine when a user must change his/her password\&. -.SH "FLAGGOR" -.PP -Flaggorna som g\(:aller f\(:or kommandot -\fBchage\fR -\(:ar: -.PP -\fB\-d\fR, \fB\-\-lastday\fR\ \&\fISISTA_DAG\fR -.RS 4 -Set the number of days since January 1st, 1970 when the password was last changed\&. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area)\&. -.RE -.PP -\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIUTG\(oANGSDATUM\fR -.RS 4 -Set the date or number of days since January 1, 1970 on which the user\*(Aqs account will no longer be accessible\&. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area)\&. A user whose account is locked must contact the system administrator before being able to use the system again\&. -.sp -Passing the number -\fI\-1\fR -as the -\fIEXPIRE_DATE\fR -will remove an account expiration date\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-I\fR, \fB\-\-inactive\fR\ \&\fIINAKTIV\fR -.RS 4 -Set the number of days of inactivity after a password has expired before the account is locked\&. The -\fIINACTIVE\fR -option is the number of days of inactivity\&. A user whose account is locked must contact the system administrator before being able to use the system again\&. -.sp -Passing the number -\fI\-1\fR -as the -\fIINACTIVE\fR -will remove an account\*(Aqs inactivity\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -Visa kontots \(oaldringsinformation -.RE -.PP -\fB\-m\fR, \fB\-\-mindays\fR\ \&\fIMIN_DAGAR\fR -.RS 4 -S\(:atter minimalt antal dagar mellan l\(:osenords\(:andringar till -\fIMIN_DAGAR\fR\&. Ett nollv\(:arde f\(:or detta f\(:alt betyder att anv\(:andaren kan \(:andra sitt l\(:osenord n\(:ar som helst\&. -.RE -.PP -\fB\-M\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAGAR\fR -.RS 4 -Set the maximum number of days during which a password is valid\&. When -\fIMAX_DAYS\fR -plus -\fILAST_DAY\fR -is less than the current day, the user will be required to change his/her password before being able to use his/her account\&. This occurrence can be planned for in advance by use of the -\fB\-W\fR -option, which provides the user with advance warning\&. -.sp -Passing the number -\fI\-1\fR -as -\fIMAX_DAYS\fR -will remove checking a password\*(Aqs validity\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-W\fR, \fB\-\-warndays\fR\ \&\fIVARN_DAGAR\fR -.RS 4 -Set the number of days of warning before a password change is required\&. The -\fIWARN_DAYS\fR -option is the number of days prior to the password expiring that a user will be warned his/her password is about to expire\&. -.RE -.PP -If none of the options are selected, -\fBchage\fR -operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of -\fI[ ]\fR -marks\&. -.SH "NOTERA" -.PP -Programmet -\fBchage\fR -kr\(:aver att en skuggl\(:osenordsfil finns tillg\(:anglig\&. -.PP -The -\fBchage\fR -command is restricted to the root user, except for the -\fB\-l\fR -option, which may be used by an unprivileged user to determine when his/her password or account is due to expire\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.SH "FILER" -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.PP -/etc/shadow -.RS 4 -S\(:aker anv\(:andarkontoinformation\&. -.RE -.SH "AVSLUTNINGSV\(:ARDEN" -.PP -Kommandot -\fBchage\fR -avslutas med f\(:oljande v\(:arden: -.PP -\fI0\fR -.RS 4 -lyckad -.RE -.PP -\fI1\fR -.RS 4 -\(oatkomst nekad -.RE -.PP -\fI2\fR -.RS 4 -ogiltig kommandosyntax -.RE -.PP -\fI15\fR -.RS 4 -kan inte hitta skuggl\(:osenordsfilen -.RE -.SH "SE OCKS\(oA" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/sv/man1/chsh.1 b/man/sv/man1/chsh.1 deleted file mode 100644 index b21b6d58..00000000 --- a/man/sv/man1/chsh.1 +++ /dev/null @@ -1,121 +0,0 @@ -'\" t -.\" Title: chsh -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "CHSH" "1" "18-09-2016" "shadow\-utils 4\&.4" "Anv\(:andarkommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -chsh \- \(:andra inloggningsskal -.SH "SYNOPSIS" -.HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIflaggor\fR] [\fIINLOGGNINGSNAMN\fR] -.SH "BESKRIVNING" -.PP -The -\fBchsh\fR -command changes the user login shell\&. This determines the name of the user\*(Aqs initial login command\&. A normal user may only change the login shell for her own account; the superuser may change the login shell for any account\&. -.SH "FLAGGOR" -.PP -Flaggorna som g\(:aller f\(:or kommandot -\fBchsh\fR -\(:ar: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISKAL\fR -.RS 4 -The name of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&. -.RE -.PP -If the -\fB\-s\fR -option is not selected, -\fBchsh\fR -operates in an interactive fashion, prompting the user with the current login shell\&. Enter the new value to change the shell, or leave the line blank to use the current one\&. The current shell is displayed between a pair of -\fI[ ]\fR -marks\&. -.SH "NOTERA" -.PP -The only restriction placed on the login shell is that the command name must be listed in -/etc/shells, unless the invoker is the superuser, and then any value may be added\&. An account with a restricted login shell may not change her login shell\&. For this reason, placing -/bin/rsh -in -/etc/shells -is discouraged since accidentally changing to a restricted shell would prevent the user from ever changing her login shell back to its original value\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBCHSH_AUTH\fR (boolean) -.RS 4 -If -\fIyes\fR, the -\fBchsh\fR -program will require authentication before making any changes, unless run by the superuser\&. -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -The string used for prompting a password\&. The default is to use "Password: ", or a translation of that string\&. If you set this variable, the prompt will not be translated\&. -.sp -If the string contains -\fI%s\fR, this will be replaced by the user\*(Aqs name\&. -.RE -.SH "FILER" -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.PP -/etc/shells -.RS 4 -Lista p\(oa giltiga inloggningsskal\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBchfn\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/sv/man1/expiry.1 b/man/sv/man1/expiry.1 deleted file mode 100644 index 1a97b859..00000000 --- a/man/sv/man1/expiry.1 +++ /dev/null @@ -1,74 +0,0 @@ -'\" t -.\" Title: expiry -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "EXPIRY" "1" "18-09-2016" "shadow\-utils 4\&.4" "Anv\(:andarkommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -expiry \- kontrollera och uppr\(:atth\(oall policy f\(:or l\(:osenordsutg\(oang -.SH "SYNOPSIS" -.HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIoption\fR -.SH "BESKRIVNING" -.PP -The -\fBexpiry\fR -command checks (\fB\-c\fR) the current password expiration and forces (\fB\-f\fR) changes when required\&. It is callable as a normal user command\&. -.SH "FLAGGOR" -.PP -The options which apply to the -\fBexpiry\fR -command are: -.PP -\fB\-c\fR, \fB\-\-check\fR -.RS 4 -Check the password expiration of the current user\&. -.RE -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -Force a password change if the current user has an expired password\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.SH "FILER" -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.PP -/etc/shadow -.RS 4 -S\(:aker anv\(:andarkontoinformation\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/sv/man1/groups.1 b/man/sv/man1/groups.1 deleted file mode 100644 index e7c797a0..00000000 --- a/man/sv/man1/groups.1 +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "GROUPS" "1" "18-09-2016" "shadow\-utils 4\&.4" "Anv\(:andarkommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -groups \- visa aktuella gruppnamn -.SH "SYNOPSIS" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIanv\(:andare\fR] -.SH "BESKRIVNING" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named -\fIuser\fR\&. -.SH "NOTERA" -.PP -Systems which do not support concurrent group sets will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2)\&. diff --git a/man/sv/man1/id.1 b/man/sv/man1/id.1 deleted file mode 100644 index 8783e915..00000000 --- a/man/sv/man1/id.1 +++ /dev/null @@ -1,60 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "ID" "1" "18-09-2016" "shadow\-utils 4\&.4" "Anv\(:andarkommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -id \- display current user and group ID names -.SH "SYNOPSIS" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "BESKRIVNING" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support multiple concurrent group membership\&. -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2) diff --git a/man/sv/man1/newgrp.1 b/man/sv/man1/newgrp.1 deleted file mode 100644 index 2b910fd1..00000000 --- a/man/sv/man1/newgrp.1 +++ /dev/null @@ -1,98 +0,0 @@ -'\" t -.\" Title: newgrp -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "NEWGRP" "1" "18-09-2016" "shadow\-utils 4\&.4" "Anv\(:andarkommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -newgrp \- logga in i en ny grupp -.SH "SYNOPSIS" -.HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIgrupp\fR] -.SH "BESKRIVNING" -.PP -The -\fBnewgrp\fR -command is used to change the current group ID during a login session\&. If the optional -\fB\-\fR -flag is given, the user\*(Aqs environment will be reinitialized as though the user had logged in, otherwise the current environment, including current working directory, remains unchanged\&. -.PP -\fBnewgrp\fR -changes the current real group ID to the named group, or to the default group listed in -/etc/passwd -if no group name is given\&. -\fBnewgrp\fR -also tries to add the group to the user groupset\&. If not root, the user will be prompted for a password if she does not have a password (in -/etc/shadow -if this user has an entry in the shadowed password file, or in -/etc/passwd -otherwise) and the group does, or if the user is not listed as a member and the group has a password\&. The user will be denied access if the group password is empty and the user is not listed as a member\&. -.PP -If there is an entry for this group in -/etc/gshadow, then the list of members and the password of this group will be taken from this file, otherwise, the entry in -/etc/group -is considered\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsg\fR -activity\&. -.RE -.SH "FILER" -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.PP -/etc/shadow -.RS 4 -S\(:aker anv\(:andarkontoinformation\&. -.RE -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/gshadow -.RS 4 -S\(:aker gruppkontoinformation\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBsu\fR(1), -\fBsg\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/sv/man1/passwd.1 b/man/sv/man1/passwd.1 deleted file mode 100644 index b1231449..00000000 --- a/man/sv/man1/passwd.1 +++ /dev/null @@ -1,361 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "PASSWD" "1" "18-09-2016" "shadow\-utils 4\&.4" "Anv\(:andarkommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -passwd \- \(:andra anv\(:andarl\(:osenord -.SH "SYNOPSIS" -.HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIflaggor\fR] [\fIINLOGGNINGSNAMN\fR] -.SH "BESKRIVNING" -.PP -The -\fBpasswd\fR -command changes passwords for user accounts\&. A normal user may only change the password for his/her own account, while the superuser may change the password for any account\&. -\fBpasswd\fR -also changes the account or associated password validity period\&. -.SS "L\(:osenords\(:andringar" -.PP -The user is first prompted for his/her old password, if one is present\&. This password is then encrypted and compared against the stored password\&. The user has only one chance to enter the correct password\&. The superuser is permitted to bypass this step so that forgotten passwords may be changed\&. -.PP -Efter att l\(:osenordet har matats in kontrolleras l\(:osenordets \(oaldringsinformation f\(:or att se om anv\(:andaren till\(oats att \(:andra l\(:osenord f\(:or tillf\(:allet\&. Om inte, nekar -\fBpasswd\fR -att \(:andra l\(:osenordet och avslutas\&. -.PP -Anv\(:andaren fr\(oagas sedan tv\(oa g\(oanger efter ett ers\(:attande l\(:osenord\&. Den andra inmatningen j\(:amf\(:ors mot den f\(:orsta och b\(oada m\(oaste st\(:amma \(:overens f\(:or att l\(:osenordet ska \(:andras\&. -.PP -Sedan testas l\(:osenordet f\(:or sin komplexitet\&. Som en allm\(:an riktlinje b\(:or l\(:osenord inneh\(oalla 6 till 8 tecken och inkluderas ett eller flera tecken fr\(oan var och en av f\(:oljande punkter: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -gemena bokst\(:aver ur alfabetet -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -siffrorna 0 till 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -skiljetecken -.RE -.PP -T\(:ank p\(oa att inte inkludera systemets standardtecken f\(:or radering eller d\(:oda\&. -\fBpasswd\fR -kommer att neka alla l\(:osenord som inte har l\(:amplig komplexitet\&. -.SS "Tips f\(:or anv\(:andarl\(:osenord" -.PP -The security of a password depends upon the strength of the encryption algorithm and the size of the key space\&. The legacy -\fIUNIX\fR -System encryption method is based on the NBS DES algorithm\&. More recent methods are now recommended (see -\fBENCRYPT_METHOD\fR)\&. The size of the key space depends upon the randomness of the password which is selected\&. -.PP -Problem i l\(:osenordss\(:akerheten brukar normalt komma fr\(oan slarvigt valda l\(:osenord eller hantering\&. Av denna anledning b\(:or du inte v\(:alja ett l\(:osenord som finns i en ordbok eller som m\(oaste skrivas ner\&. L\(:osenordet b\(:or heller inte vara ett korrekt namn, ditt personnummer, f\(:odelsedatum eller gatuadress\&. Dessa kan anv\(:andas som gissningar f\(:or att ta sig in i systemet\&. -.PP -You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength -.SH "FLAGGOR" -.PP -Flaggorna som g\(:aller f\(:or kommandot -\fBpasswd\fR -\(:ar: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Denna flagga kan endast anv\(:andas med -\fB\-S\fR -och g\(:or att status visas f\(:or alla anv\(:andare\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR -.RS 4 -Ta bort en anv\(:andares l\(:osenord (g\(:or det blankt)\&. Detta \(:ar ett snabbt s\(:att att inaktivera ett l\(:osenord f\(:or ett konto\&. Det kommer att ta bort det angivna kontots l\(:osenord\&. -.RE -.PP -\fB\-e\fR, \fB\-\-expire\fR -.RS 4 -L\(:osenordet f\(:or ett konto s\(:atts omedelbart som utg\(oanget\&. Detta kan tvinga en anv\(:andare att \(:andra sitt l\(:osenord vid n\(:asta inloggningsf\(:ors\(:ok\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-i\fR, \fB\-\-inactive\fR\ \&\fIINAKTIV\fR -.RS 4 -Denna flagga anv\(:ands f\(:or att inaktivera ett konto efter att l\(:osenordet har varit utg\(oanget i ett antal dagar\&. Efter att ett anv\(:andarkonto har haft ett utg\(oanget l\(:osenord i -\fIINAKTIV\fR -dagar f\(oar anv\(:andaren inte l\(:angre logga in med detta konto\&. -.RE -.PP -\fB\-k\fR, \fB\-\-keep\-tokens\fR -.RS 4 -Indicate password change should be performed only for expired authentication tokens (passwords)\&. The user wishes to keep their non\-expired tokens as before\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\fR -.RS 4 -Lock the password of the named account\&. This option disables a password by changing it to a value which matches no possible encrypted value (it adds a \(aa!\(aa at the beginning of the password)\&. -.sp -Note that this does not disable the account\&. The user may still be able to login using another authentication token (e\&.g\&. an SSH key)\&. To disable the account, administrators should use -\fBusermod \-\-expiredate 1\fR -(this set the account\*(Aqs expire date to Jan 2, 1970)\&. -.sp -Users with a locked password are not allowed to change their password\&. -.RE -.PP -\fB\-n\fR, \fB\-\-mindays\fR\ \&\fIMIN_DAYS\fR -.RS 4 -S\(:atter minimalt antal dagar mellan l\(:osenords\(:andringar till -\fIMIN_DAGAR\fR\&. Ett nollv\(:arde f\(:or detta f\(:alt betyder att anv\(:andaren kan \(:andra sitt l\(:osenord n\(:ar som helst\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Tyst l\(:age\&. -.RE -.PP -\fB\-r\fR, \fB\-\-repository\fR\ \&\fIF\(:ORR\(oAD\fR -.RS 4 -change password in -\fIREPOSITORY\fR -repository -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-S\fR, \fB\-\-status\fR -.RS 4 -Display account status information\&. The status information consists of 7 fields\&. The first field is the user\*(Aqs login name\&. The second field indicates if the user account has a locked password (L), has no password (NP), or has a usable password (P)\&. The third field gives the date of the last password change\&. The next four fields are the minimum age, maximum age, warning period, and inactivity period for the password\&. These ages are expressed in days\&. -.RE -.PP -\fB\-u\fR, \fB\-\-unlock\fR -.RS 4 -Unlock the password of the named account\&. This option re\-enables a password by changing the password back to its previous value (to the value before using the -\fB\-l\fR -option)\&. -.RE -.PP -\fB\-w\fR, \fB\-\-warndays\fR\ \&\fIVARN_DAGAR\fR -.RS 4 -S\(:atter antalet dagar f\(:or varning f\(:ore ett l\(:osenord beh\(:over \(:andras\&. Flaggan -\fIVARN_DAGAR\fR -\(:ar antalet dagar f\(:ore anv\(:andaren varnas om att l\(:osenordet \(:ar p\(oa v\(:ag att bli utg\(oanget\&. -.RE -.PP -\fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAGAR\fR -.RS 4 -S\(:atter maximalt antal dagar som ett l\(:osenord ska vara giltigt\&. Efter -\fIMAX_DAGAR\fR -kr\(:avs det att l\(:osenordet \(:andras\&. -.RE -.SH "T\(:ANK P\(oA" -.PP -Password complexity checking may vary from site to site\&. The user is urged to select a password as complex as he or she feels comfortable with\&. -.PP -Users may not be able to change their password on a system if NIS is enabled and they are not logged into the NIS server\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -This defines the system default encryption algorithm for encrypting passwords (if no algorithm are specified on the command line)\&. -.sp -It can take one of these values: -\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -Note: this parameter overrides the -\fBMD5_CRYPT_ENAB\fR -variable\&. -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -Indicate if passwords must be encrypted using the MD5\-based algorithm\&. If set to -\fIyes\fR, new passwords will be encrypted using the MD5\-based algorithm compatible with the one used by recent releases of FreeBSD\&. It supports passwords of unlimited length and longer salt strings\&. Set to -\fIno\fR -if you need to copy encrypted passwords to other systems which don\*(Aqt understand the new algorithm\&. Default is -\fIno\fR\&. -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -This variable is deprecated\&. You should use -\fBENCRYPT_METHOD\fR\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (boolean) -.RS 4 -Enable additional checks upon password changes\&. -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (boolean) -.RS 4 -Warn about weak passwords (but still allow them) if you are root\&. -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (number) -.RS 4 -Maximum number of attempts to change password if rejected (too easy)\&. -.RE -.PP -\fBPASS_MAX_LEN\fR (number), \fBPASS_MIN_LEN\fR (number) -.RS 4 -Number of significant characters in the password for crypt()\&. -\fBPASS_MAX_LEN\fR -is 8 by default\&. Don\*(Aqt change unless your crypt() is better\&. This is ignored if -\fBMD5_CRYPT_ENAB\fR -set to -\fIyes\fR\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -When -\fBENCRYPT_METHOD\fR -is set to -\fISHA256\fR -or -\fISHA512\fR, this defines the number of SHA rounds used by the encryption algorithm by default (when the number of rounds is not specified on the command line)\&. -.sp -With a lot of rounds, it is more difficult to brute forcing the password\&. But note also that more CPU resources will be needed to authenticate users\&. -.sp -If not specified, the libc will choose the default number of rounds (5000)\&. -.sp -The values must be inside the 1000\-999,999,999 range\&. -.sp -If only one of the -\fBSHA_CRYPT_MIN_ROUNDS\fR -or -\fBSHA_CRYPT_MAX_ROUNDS\fR -values is set, then this value will be used\&. -.sp -If -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fR, the highest value will be used\&. -.RE -.SH "FILER" -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.PP -/etc/shadow -.RS 4 -S\(:aker anv\(:andarkontoinformation\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "AVSLUTNINGSV\(:ARDEN" -.PP -Kommandot -\fBpasswd\fR -avslutas med f\(:oljande v\(:arden: -.PP -\fI0\fR -.RS 4 -lyckad -.RE -.PP -\fI1\fR -.RS 4 -\(oatkomst nekad -.RE -.PP -\fI2\fR -.RS 4 -ogiltig kombination av flaggor -.RE -.PP -\fI3\fR -.RS 4 -ov\(:antat fel, ingenting har genomf\(:orts -.RE -.PP -\fI4\fR -.RS 4 -ov\(:antat fel, filen -passwd -saknas -.RE -.PP -\fI5\fR -.RS 4 -Filen -passwd -\(:ar upptagen, f\(:ors\(:ok igen -.RE -.PP -\fI6\fR -.RS 4 -ogiltigt argument till flagga -.RE -.SH "SE OCKS\(oA" -.PP -\fBchpasswd\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBlogin.defs\fR(5), -\fBusermod\fR(8)\&. diff --git a/man/sv/man1/sg.1 b/man/sv/man1/sg.1 deleted file mode 100644 index 39296c2e..00000000 --- a/man/sv/man1/sg.1 +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\" Title: sg -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "SG" "1" "18-09-2016" "shadow\-utils 4\&.4" "Anv\(:andarkommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -sg \- k\(:or kommando med annat grupp\-id -.SH "SYNOPSIS" -.HP \w'\fBsg\fR\ 'u -\fBsg\fR [\-] [grupp\ [\-c]\ kommando] -.SH "BESKRIVNING" -.PP -The -\fBsg\fR -command works similar to -\fBnewgrp\fR -but accepts a command\&. The command will be executed with the -/bin/sh -shell\&. With most shells you may run -\fBsg\fR -from, you need to enclose multi\-word commands in quotes\&. Another difference between -\fBnewgrp\fR -and -\fBsg\fR -is that some shells treat -\fBnewgrp\fR -specially, replacing themselves with a new instance of a shell that -\fBnewgrp\fR -creates\&. This doesn\*(Aqt happen with -\fBsg\fR, so upon exit from a -\fBsg\fR -command you are returned to your previous group ID\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -Enable "syslog" logging of -\fBsg\fR -activity\&. -.RE -.SH "FILER" -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.PP -/etc/shadow -.RS 4 -S\(:aker anv\(:andarkontoinformation\&. -.RE -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/gshadow -.RS 4 -S\(:aker gruppkontoinformation\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBnewgrp\fR(1), -\fBsu\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/sv/man3/getspnam.3 b/man/sv/man3/getspnam.3 deleted file mode 100644 index cd473da3..00000000 --- a/man/sv/man3/getspnam.3 +++ /dev/null @@ -1 +0,0 @@ -.so man3/shadow.3 diff --git a/man/sv/man3/shadow.3 b/man/sv/man3/shadow.3 deleted file mode 100644 index 7e2931ec..00000000 --- a/man/sv/man3/shadow.3 +++ /dev/null @@ -1,245 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Biblioteksanrop -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "SHADOW" "3" "18-09-2016" "shadow\-utils 4\&.4" "Biblioteksanrop" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -shadow, getspnam \- encrypted password file routines -.SH "SYNTAX" -.PP -\fI#include \fR -.PP -\fIstruct spwd *getspent();\fR -.PP -\fIstruct spwd *getspnam(char\fR -\fI*name\fR\fI);\fR -.PP -\fIvoid setspent();\fR -.PP -\fIvoid endspent();\fR -.PP -\fIstruct spwd *fgetspent(FILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIstruct spwd *sgetspent(char\fR -\fI*cp\fR\fI);\fR -.PP -\fIint putspent(struct spwd\fR -\fI*p,\fR -\fIFIL\fR -\fI*fp\fR\fI);\fR -.PP -\fIint lckpwdf();\fR -.PP -\fIint ulckpwdf();\fR -.SH "BESKRIVNING" -.PP -\fIshadow\fR -manipulates the contents of the shadow password file, -/etc/shadow\&. The structure in the -\fI#include\fR -file is: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct spwd { - char *sp_namp; /* user login name */ - char *sp_pwdp; /* encrypted password */ - long int sp_lstchg; /* last password change */ - long int sp_min; /* days until change allowed\&. */ - long int sp_max; /* days before change required */ - long int sp_warn; /* days warning for expiration */ - long int sp_inact; /* days before account inactive */ - long int sp_expire; /* date when account expires */ - unsigned long int sp_flag; /* reserved for future use */ -} - -.fi -.if n \{\ -.RE -.\} -.PP -Betydelsen av varje f\(:alt \(:ar: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_namp \- pointer to null\-terminated user name -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_pwdp \- pointer to null\-terminated password -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_lstchg \- days since Jan 1, 1970 password was last changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_min \- days before which password may not be changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_max \- days after which password must be changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_warn \- days before password is to expire that user is warned of pending password expiration -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_inact \- days after password expires that account is considered inactive and disabled -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_expire \- days since Jan 1, 1970 when account will be disabled -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_flag \- reserverat f\(:or framtida anv\(:andning -.RE -.SH "BESKRIVNING" -.PP -\fIgetspent\fR, -\fIgetspname\fR, -\fIfgetspent\fR, and -\fIsgetspent\fR -each return a pointer to a -\fIstruct spwd\fR\&. -\fIgetspent\fR -returns the next entry from the file, and -\fIfgetspent\fR -returns the next entry from the given stream, which is assumed to be a file of the proper format\&. -\fIsgetspent\fR -returns a pointer to a -\fIstruct spwd\fR -using the provided string as input\&. -\fIgetspnam\fR -searches from the current position in the file for an entry matching -\fIname\fR\&. -.PP -\fIsetspent\fR -and -\fIendspent\fR -may be used to begin and end, respectively, access to the shadow password file\&. -.PP -The -\fIlckpwdf\fR -and -\fIulckpwdf\fR -routines should be used to insure exclusive access to the -/etc/shadow -file\&. -\fIlckpwdf\fR -attempts to acquire a lock using -\fIpw_lock\fR -for up to 15 seconds\&. It continues by attempting to acquire a second lock using -\fIspw_lock\fR -for the remainder of the initial 15 seconds\&. Should either attempt fail after a total of 15 seconds, -\fIlckpwdf\fR -returns \-1\&. When both locks are acquired 0 is returned\&. -.SH "DIAGNOSTIK" -.PP -Routines return NULL if no more entries are available or if an error occurs during processing\&. Routines which have -\fIint\fR -as the return value return 0 for success and \-1 for failure\&. -.SH "T\(:ANK P\(oA" -.PP -These routines may only be used by the superuser as access to the shadow password file is restricted\&. -.SH "FILER" -.PP -/etc/shadow -.RS 4 -S\(:aker anv\(:andarkontoinformation\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBgetpwent\fR(3), -\fBshadow\fR(5)\&. diff --git a/man/sv/man5/faillog.5 b/man/sv/man5/faillog.5 deleted file mode 100644 index 75cd62bf..00000000 --- a/man/sv/man5/faillog.5 +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Filformat och konversioner -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "FAILLOG" "5" "18-09-2016" "shadow\-utils 4\&.4" "Filformat och konversioner" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -faillog \- login failure logging file -.SH "BESKRIVNING" -.PP -/var/log/faillog -maintains a count of login failures and the limits for each account\&. -.PP -The file contains fixed length records, indexed by numerical UID\&. Each record contains the count of login failures since the last successful login; the maximum number of failures before the account is disabled; the line on which the last login failure occurred; the date of the last login failure; and the duration (in seconds) during which the account will be locked after a failure\&. -.PP -Strukturen f\(:or filen \(:ar: -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct faillog { - short fail_cnt; - short fail_max; - char fail_line[12]; - time_t fail_time; - long fail_locktime; -}; -.fi -.if n \{\ -.RE -.\} -.SH "FILER" -.PP -/var/log/faillog -.RS 4 -Failure logging file\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBfaillog\fR(8) diff --git a/man/sv/man5/gshadow.5 b/man/sv/man5/gshadow.5 deleted file mode 100644 index ec9ad510..00000000 --- a/man/sv/man5/gshadow.5 +++ /dev/null @@ -1,101 +0,0 @@ -'\" t -.\" Title: gshadow -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Filformat och konversioner -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "GSHADOW" "5" "18-09-2016" "shadow\-utils 4\&.4" "Filformat och konversioner" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -gshadow \- skuggad gruppfil -.SH "BESKRIVNING" -.PP -/etc/gshadow -contains the shadowed information for group accounts\&. -.PP -Denna fil f\(oar inte vara l\(:asbar av vanliga anv\(:andare om l\(:osenordss\(:akerheten ska uppr\(:atth\(oallas\&. -.PP -Each line of this file contains the following colon\-separated fields: -.PP -\fBgruppnamn\fR -.RS 4 -It must be a valid group name, which exist on the system\&. -.RE -.PP -\fBkrypterat l\(:osenord\fR -.RS 4 -Referera till -\fBcrypt\fR(3) -f\(:or detaljer om hur denna str\(:ang tolkas\&. -.sp -If the password field contains some string that is not a valid result of -\fBcrypt\fR(3), for instance ! or *, users will not be able to use a unix password to access the group (but group members do not need the password)\&. -.sp -The password is used when a user who is not a member of the group wants to gain the permissions of this group (see -\fBnewgrp\fR(1))\&. -.sp -This field may be empty, in which case only the group members can gain the group permissions\&. -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.sp -This password supersedes any password specified in -/etc/group\&. -.RE -.PP -\fBadministrators\fR -.RS 4 -It must be a comma\-separated list of user names\&. -.sp -Administrators can change the password or the members of the group\&. -.sp -Administrators also have the same permissions as the members (see below)\&. -.RE -.PP -\fBmembers\fR -.RS 4 -It must be a comma\-separated list of user names\&. -.sp -Members can access the group without being prompted for a password\&. -.sp -You should use the same list of users as in -/etc/group\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/gshadow -.RS 4 -S\(:aker gruppkontoinformation\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBgpasswd\fR(5), -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBgrpconv\fR(8), -\fBnewgrp\fR(1)\&. diff --git a/man/sv/man5/limits.5 b/man/sv/man5/limits.5 deleted file mode 100644 index 00d28df1..00000000 --- a/man/sv/man5/limits.5 +++ /dev/null @@ -1,274 +0,0 @@ -'\" t -.\" Title: limits -.\" Author: Luca Berra -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Filformat och konversioner -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "LIMITS" "5" "18-09-2016" "shadow\-utils 4\&.4" "Filformat och konversioner" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -limits \- definition av resursbegr\(:ansningar -.SH "BESKRIVNING" -.PP -The -\fIlimits\fR -file (/etc/limits -by default or LIMITS_FILE defined -config\&.h) describes the resource limits you wish to impose\&. It should be owned by root and readable by root account only\&. -.PP -By default no quota is imposed on \*(Aqroot\*(Aq\&. In fact, there is no way to impose limits via this procedure to root\-equiv accounts (accounts with UID 0)\&. -.PP -Varje rad beskriver en begr\(:ansning f\(:or anv\(:andaren i formatet: -.PP -\fIuser LIMITS_STRING\fR -.PP -or in the form: -.PP -\fI@group LIMITS_STRING\fR -.PP -The -\fILIMITS_STRING\fR -is a string of a concatenated list of resource limits\&. Each limit consists of a letter identifier followed by a numerical limit\&. -.PP -De giltiga identifierarna \(:ar: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -A: maximal adressrymd (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -C: max core file size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -D: maximal datastorlek (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -F: maximum file size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -K: file creation mask, set by -\fBumask\fR(2)\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -I: max nice value (0\&.\&.39 which translates to 20\&.\&.\-19) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -L: maximalt antal inloggningar f\(:or denna anv\(:andare -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -M: max locked\-in\-memory address space (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -N: maximalt antal \(:oppna filer -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -O: max real time priority -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -P: processprioritet, inst\(:alld av -\fBsetpriority\fR(2)\&. -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -R: max resident set size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -S: maximal stackstorlek (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -T: maximal processortid (MIN) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -U: maximalt antal processer -.RE -.PP -For example, -\fIL2D2048N5\fR -is a valid -\fILIMITS_STRING\fR\&. For reading convenience, the following entries are equivalent: -.sp -.if n \{\ -.RS 4 -.\} -.nf - username L2D2048N5 - username L2 D2048 N5 - -.fi -.if n \{\ -.RE -.\} -.PP -Be aware that after -\fIusername\fR -the rest of the line is considered a limit string, thus comments are not allowed\&. An invalid limits string will be rejected (not considered) by the -\fBlogin\fR -program\&. -.PP -The default entry is denoted by username "\fI*\fR"\&. If you have multiple -\fIdefault\fR -entries in your -\fILIMITS_FILE\fR, then the last one will be used as the default entry\&. -.PP -The limits specified in the form "\fI@group\fR" apply to the members of the specified -\fIgroup\fR\&. -.PP -If more than one line with limits for a user exist, only the first line for this user will be considered\&. -.PP -If no lines are specified for a user, the last -\fI@group\fR -line matching a group whose the user is a member of will be considered, or the last line with default limits if no groups contain the user\&. -.PP -To completely disable limits for a user, a single dash "\fI\-\fR" will do\&. -.PP -To disable a limit for a user, a single dash "\fI\-\fR" can be used instead of the numerical value for this limit\&. -.PP -Also, please note that all limit settings are set PER LOGIN\&. They are not global, nor are they permanent\&. Perhaps global limits will come, but for now this will have to do ;) -.SH "FILER" -.PP -/etc/limits -.RS 4 -.RE -.SH "SE OCKS\(oA" -.PP -\fBlogin\fR(1), -\fBsetpriority\fR(2), -\fBsetrlimit\fR(2)\&. diff --git a/man/sv/man5/passwd.5 b/man/sv/man5/passwd.5 deleted file mode 100644 index a151c1d2..00000000 --- a/man/sv/man5/passwd.5 +++ /dev/null @@ -1,179 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Filformat och konversioner -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "PASSWD" "5" "18-09-2016" "shadow\-utils 4\&.4" "Filformat och konversioner" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -passwd \- l\(:osenordsfilen -.SH "BESKRIVNING" -.PP -/etc/passwd -inneh\(oaller en rad f\(:or varje anv\(:andarkonto men sju f\(:alt separerade med kolontecken (\(rq:\(rq)\&. Dessa f\(:alt \(:ar: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -inloggningsnamn -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -valfritt krypterat l\(:osenord -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numeriskt anv\(:andar\-id -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numeriskt grupp\-id -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -anv\(:andarnamn eller kommentarsf\(:alt -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -anv\(:andarens hemkatalog -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -optional user command interpreter -.RE -.PP -The encrypted password field may be blank, in which case no password is required to authenticate as the specified login name\&. However, some applications which read the -/etc/passwd -file may decide not to permit -\fIany\fR -access at all if the -\fIpassword\fR -field is blank\&. If the -\fIpassword\fR -field is a lower\-case -\(rqx\(rq, then the encrypted password is actually stored in the -\fBshadow\fR(5) -file instead; there -\fImust\fR -be a corresponding line in the -/etc/shadow -file, or else the user account is invalid\&. If the -\fIpassword\fR -field is any other string, then it will be treated as an encrypted password, as specified by -\fBcrypt\fR(3)\&. -.PP -The comment field is used by various system utilities, such as -\fBfinger\fR(1)\&. -.PP -The home directory field provides the name of the initial working directory\&. The -\fBlogin\fR -program uses this information to set the value of the -\fB$HOME\fR -environmental variable\&. -.PP -The command interpreter field provides the name of the user\*(Aqs command language interpreter, or the name of the initial program to execute\&. The -\fBlogin\fR -program uses this information to set the value of the -\fB$SHELL\fR -environmental variable\&. If this field is empty, it defaults to the value -/bin/sh\&. -.SH "FILER" -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.PP -/etc/shadow -.RS 4 -optional encrypted password file -.RE -.PP -/etc/passwd\- -.RS 4 -Backup file for /etc/passwd\&. -.sp -Note that this file is used by the tools of the shadow toolsuite, but not by all user and password management tools\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBcrypt\fR(3), -\fBgetent\fR(1), -\fBgetpwnam\fR(3), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBshadow\fR(5), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/sv/man5/porttime.5 b/man/sv/man5/porttime.5 deleted file mode 100644 index 4a6da36c..00000000 --- a/man/sv/man5/porttime.5 +++ /dev/null @@ -1,96 +0,0 @@ -'\" t -.\" Title: porttime -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Filformat och konversioner -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "PORTTIME" "5" "18-09-2016" "shadow\-utils 4\&.4" "Filformat och konversioner" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -porttime \- port access time file -.SH "BESKRIVNING" -.PP -\fIporttime\fR -inneh\(oaller en lista av tty\-enheter, anv\(:andarnamn och till\(oatna inloggningstider\&. -.PP -Each entry consists of three colon separated fields\&. The first field is a comma separated list of tty devices, or an asterisk to indicate that all tty devices are matched by this entry\&. The second field is a comma separated list of user names, or an asterisk to indicated that all user names are matched by this entry\&. The third field is a comma separated list of permitted access times\&. -.PP -Each access time entry consists of zero or more days of the week, abbreviated -\fISu\fR, -\fIMo\fR, -\fITu\fR, -\fIWe\fR, -\fITh\fR, -\fIFr\fR, and -\fISa\fR, followed by a pair of times separated by a hyphen\&. The abbreviation -\fIWk\fR -may be used to represent Monday thru Friday, and -\fIAl\fR -may be used to indicate every day\&. If no days are given, -\fIAl\fR -is assumed\&. -.SH "EXEMPEL" -.PP -F\(:oljande post till\(oater \(oatkomst f\(:or anv\(:andaren -\fBjfh\fR -p\(oa varje port under veckodagar fr\(oan 09\&.00 till 17\&.00\&. -.PP -*:jfh:Wk0900\-1700 -.PP -De f\(:oljande posterna till\(oater \(oatkomst endast till anv\(:andarna -\fIroot\fR -och -\fIoper\fR -p\(oa -/dev/console -n\(:ar som helst\&. Detta illustrerar hur filen -/etc/porttime -\(:ar en ordnad lista f\(:or \(oatkomsttider\&. Alla andra anv\(:andare skulle matcha den andra poster, vilken inte till\(oater n\(oagon \(oatkomst oavsett tid\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - console:root,oper:Al0000\-2400 - console:*: - -.fi -.if n \{\ -.RE -.\} -.PP -F\(:olajnde post till\(oater \(oatkomst f\(:or anv\(:andaren -\fIgames\fR -p\(oa valfri port men inte under arbetstid\&. -.PP -*:games:Wk1700\-0900,SaSu0000\-2400 -.SH "FILER" -.PP -/etc/porttime -.RS 4 -Fil som inneh\(oaller port\(oatkomst -.RE -.SH "SE OCKS\(oA" -.PP -\fBlogin\fR(1)\&. diff --git a/man/sv/man5/suauth.5 b/man/sv/man5/suauth.5 deleted file mode 100644 index 3fa9ab26..00000000 --- a/man/sv/man5/suauth.5 +++ /dev/null @@ -1,146 +0,0 @@ -'\" t -.\" Title: suauth -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Filformat och konversioner -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "SUAUTH" "5" "18-09-2016" "shadow\-utils 4\&.4" "Filformat och konversioner" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -suauth \- detaljerad kontrollfil f\(:or su -.SH "SYNOPSIS" -.HP \w'\fB/etc/suauth\fR\ 'u -\fB/etc/suauth\fR -.SH "BESKRIVNING" -.PP -The file -/etc/suauth -is referenced whenever the su command is called\&. It can change the behaviour of the su command, based upon: -.sp -.if n \{\ -.RS 4 -.\} -.nf - 1) the user su is targeting - -.fi -.if n \{\ -.RE -.\} -.PP -2) the user executing the su command (or any groups he might be a member of) -.PP -Filen \(:ar i f\(:oljande format, med de rader som inleds med # behandlas som kommentarsrader och ignoreras; -.sp -.if n \{\ -.RS 4 -.\} -.nf - till\-id:fr\(oan\-id:\(oATG\(:ARD - -.fi -.if n \{\ -.RE -.\} -.PP -Where to\-id is either the word -\fIALL\fR, a list of usernames delimited by "," or the words -\fIALL EXCEPT\fR -followed by a list of usernames delimited by ","\&. -.PP -from\-id is formatted the same as to\-id except the extra word -\fIGROUP\fR -is recognized\&. -\fIALL EXCEPT GROUP\fR -is perfectly valid too\&. Following -\fIGROUP\fR -appears one or more group names, delimited by ","\&. It is not sufficient to have primary group id of the relevant group, an entry in -\fB/etc/group\fR(5) -is necessary\&. -.PP -\(oAtg\(:arden kan endast vara en av f\(:oljande f\(:or n\(:arvarande st\(:odda flaggor\&. -.PP -\fIDENY\fR -.RS 4 -F\(:ors\(:oket att anv\(:anda su stoppades f\(:ore ett l\(:osenord har efterfr\(oagats\&. -.RE -.PP -\fINOPASS\fR -.RS 4 -F\(:ors\(:oket att anv\(:anda su lyckades helt automatiskt; inget l\(:osenord har efterfr\(oagats\&. -.RE -.PP -\fIOWNPASS\fR -.RS 4 -F\(:or att su\-kommandot ska lyckas m\(oaste anv\(:andaren mata in sitt egna l\(:osenord\&. De blir fr\(oagade att g\(:ora detta\&. -.RE -.PP -Note there are three separate fields delimited by a colon\&. No whitespace must surround this colon\&. Also note that the file is examined sequentially line by line, and the first applicable rule is used without examining the file further\&. This makes it possible for a system administrator to exercise as fine control as he or she wishes\&. -.SH "EXEMPEL" -.sp -.if n \{\ -.RS 4 -.\} -.nf - # exempelfil f\(:or /etc/suauth - # - # Ett par priviligerade anv\(:andarnamn som - # kan su till root med sina egna l\(:osenord\&. - # - root:bosse,birddog:OWNPASS - # - # Alla andra kan inte su till root om de inte finns - # gruppen wheel\&. Det \(:ar s\(oa BSD g\(:or saker\&. - # - root:ALL EXCEPT GROUP wheel:DENY - # - # Kanske terry och birddog \(:ar konton som - # \(:ags av samma person\&. - # Tillg\(oang kan ges mellan dem utan - # l\(:osenord\&. - # - terry:birddog:NOPASS - birddog:terry:NOPASS - # - -.fi -.if n \{\ -.RE -.\} -.SH "FILER" -.PP -/etc/suauth -.RS 4 -.RE -.SH "FEL" -.PP -There could be plenty lurking\&. The file parser is particularly unforgiving about syntax errors, expecting no spurious whitespace (apart from beginning and end of lines), and a specific token delimiting different things\&. -.SH "DIAGNOSTIK" -.PP -An error parsing the file is reported using -\fBsyslogd\fR(8) -as level ERR on facility AUTH\&. -.SH "SE OCKS\(oA" -.PP -\fBsu\fR(1)\&. diff --git a/man/sv/man8/faillog.8 b/man/sv/man8/faillog.8 deleted file mode 100644 index 34da346f..00000000 --- a/man/sv/man8/faillog.8 +++ /dev/null @@ -1,165 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "FAILLOG" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -faillog \- display faillog records or set login failure limits -.SH "SYNOPSIS" -.HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIflaggor\fR] -.SH "BESKRIVNING" -.PP -\fBfaillog\fR -displays the contents of the failure log database (/var/log/faillog)\&. It can also set the failure counters and limits\&. When -\fBfaillog\fR -is run without arguments, it only displays the faillog records of the users who had a login failure\&. -.SH "FLAGGOR" -.PP -Flaggorna som g\(:aller f\(:or kommandot -\fBfaillog\fR -\(:ar: -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Display (or act on) faillog records for all users having an entry in the -faillog -database\&. -.sp -The range of users can be restricted with the -\fB\-u\fR -option\&. -.sp -In display mode, this is still restricted to existing users but forces the display of the faillog entries even if they are empty\&. -.sp -With the -\fB\-l\fR, -\fB\-m\fR, -\fB\-r\fR, -\fB\-t\fR -options, the users\*(Aq records are changed, even if the user does not exist on the system\&. This is useful to reset records of users that have been deleted or to set a policy in advance for a range of users\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fISEC\fR -.RS 4 -Lock account for -\fISEC\fR -seconds after failed login\&. -.sp -Write access to -/var/log/faillog -is required for this option\&. -.RE -.PP -\fB\-m\fR, \fB\-\-maximum\fR\ \&\fIMAX\fR -.RS 4 -Set the maximum number of login failures after the account is disabled to -\fIMAX\fR\&. -.sp -Selecting a -\fIMAX\fR -value of 0 has the effect of not placing a limit on the number of failed logins\&. -.sp -The maximum failure count should always be 0 for -\fIroot\fR -to prevent a denial of services attack against the system\&. -.sp -Write access to -/var/log/faillog -is required for this option\&. -.RE -.PP -\fB\-r\fR, \fB\-\-reset\fR -.RS 4 -Reset the counters of login failures\&. -.sp -Write access to -/var/log/faillog -is required for this option\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIDAGAR\fR -.RS 4 -Display faillog records more recent than -\fIDAYS\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR -.RS 4 -Display faillog record or maintains failure counters and limits (if used with -\fB\-l\fR, -\fB\-m\fR -or -\fB\-r\fR -options) only for the specified user(s)\&. -.sp -The users can be specified by a login name, a numerical user ID, or a -\fIRANGE\fR -of users\&. This -\fIRANGE\fR -of users can be specified with a min and max values (\fIUID_MIN\-UID_MAX\fR), a max value (\fI\-UID_MAX\fR), or a min value (\fIUID_MIN\-\fR)\&. -.RE -.PP -When none of the -\fB\-l\fR, -\fB\-m\fR, or -\fB\-r\fR -options are used, -\fBfaillog\fR -displays the faillog record of the specified user(s)\&. -.SH "T\(:ANK P\(oA" -.PP -\fBfaillog\fR -only prints out users with no successful login since the last failure\&. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the -\fB\-u\fR -flag, or print out all users with the -\fB\-a\fR -flag\&. -.SH "FILER" -.PP -/var/log/faillog -.RS 4 -Failure logging file\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBlogin\fR(1), -\fBfaillog\fR(5)\&. diff --git a/man/sv/man8/groupadd.8 b/man/sv/man8/groupadd.8 deleted file mode 100644 index ec41fff4..00000000 --- a/man/sv/man8/groupadd.8 +++ /dev/null @@ -1,248 +0,0 @@ -'\" t -.\" Title: groupadd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "GROUPADD" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -groupadd \- skapa en ny grupp -.SH "SYNOPSIS" -.HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIflaggor\fR] \fIgrupp\fR -.SH "BESKRIVNING" -.PP -The -\fBgroupadd\fR -command creates a new group account using the values specified on the command line plus the default values from the system\&. The new group will be entered into the system files as needed\&. -.SH "FLAGGOR" -.PP -Flaggorna som g\(:aller f\(:or kommandot -\fBgroupadd\fR -\(:ar: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -This option causes the command to simply exit with success status if the specified group already exists\&. When used with -\fB\-g\fR, and the specified GID already exists, another (unique) GID is chosen (i\&.e\&. -\fB\-g\fR -is turned off)\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -The numerical value of the group\*(Aqs ID\&. This value must be unique, unless the -\fB\-o\fR -option is used\&. The value must be non\-negative\&. The default is to use the smallest ID value greater than or equal to -\fBGID_MIN\fR -and greater than every other group\&. -.sp -See also the -\fB\-r\fR -option and the -\fBGID_MAX\fR -description\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fINYCKEL\fR=\fIV\(:ARDE\fR -.RS 4 -\(oAsidos\(:atter standardv\(:arden i -/etc/login\&.defs -(GID_MIN, GID_MAX och andra)\&. Flera flaggor av -\fB\-K\fR -kan anges\&. -.sp -Example: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI100\fR\ \& -\fB\-K\fR\ \&\fIGID_MAX\fR=\fI499\fR -.sp -Notera: -\fB\-K\fR\ \&\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR -fungerar \(:annu inte\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -This option permits to add a group with a non\-unique GID\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIL\(:OSENORD\fR -.RS 4 -The encrypted password, as returned by -\fBcrypt\fR(3)\&. The default is to disable the password\&. -.sp -\fBNote:\fR -This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. -.sp -You should make sure the password respects the system\*(Aqs password policy\&. -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -Create a system group\&. -.sp -The numeric identifiers of new system groups are chosen in the -\fBSYS_GID_MIN\fR\-\fBSYS_GID_MAX\fR -range, defined in -login\&.defs, instead of -\fBGID_MIN\fR\-\fBGID_MAX\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBGID_MAX\fR (number), \fBGID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of regular groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBGID_MIN\fR -(resp\&. -\fBGID_MAX\fR) is 1000 (resp\&. 60000)\&. -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) -.RS 4 -Range of group IDs used for the creation of system groups by -\fBuseradd\fR, -\fBgroupadd\fR, or -\fBnewusers\fR\&. -.sp -The default value for -\fBSYS_GID_MIN\fR -(resp\&. -\fBSYS_GID_MAX\fR) is 101 (resp\&. -\fBGID_MIN\fR\-1)\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/gshadow -.RS 4 -S\(:aker gruppkontoinformation\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.SH "T\(:ANK P\(oA" -.PP -Groupnames must start with a lower case letter or an underscore, followed by lower case letters, digits, underscores, or dashes\&. They can end with a dollar sign\&. In regular expression terms: [a\-z_][a\-z0\-9_\-]*[$]? -.PP -Groupnames may only be up to 16 characters long\&. -.PP -You may not add a NIS or LDAP group\&. This must be performed on the corresponding server\&. -.PP -If the groupname already exists in an external group database such as NIS or LDAP, -\fBgroupadd\fR -will deny the group creation request\&. -.SH "AVSLUTNINGSV\(:ARDEN" -.PP -Kommandot -\fBgroupadd\fR -avslutas med f\(:oljande v\(:arden: -.PP -\fI0\fR -.RS 4 -lyckad -.RE -.PP -\fI2\fR -.RS 4 -ogiltig kommandosyntax -.RE -.PP -\fI3\fR -.RS 4 -ogiltigt argument till flagga -.RE -.PP -\fI4\fR -.RS 4 -GID inte unikt (n\(:ar -\fB\-o\fR -inte anv\(:ands) -.RE -.PP -\fI9\fR -.RS 4 -gruppnamn inte unikt -.RE -.PP -\fI10\fR -.RS 4 -kan inte uppdatera gruppfilen -.RE -.SH "SE OCKS\(oA" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/sv/man8/groupdel.8 b/man/sv/man8/groupdel.8 deleted file mode 100644 index 745fd277..00000000 --- a/man/sv/man8/groupdel.8 +++ /dev/null @@ -1,136 +0,0 @@ -'\" t -.\" Title: groupdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "GROUPDEL" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -groupdel \- ta bort en grupp -.SH "SYNOPSIS" -.HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIflaggor\fR] \fIGRUPP\fR -.SH "BESKRIVNING" -.PP -The -\fBgroupdel\fR -command modifies the system account files, deleting all entries that refer to -\fIGROUP\fR\&. The named group must exist\&. -.SH "FLAGGOR" -.PP -The options which apply to the -\fBgroupdel\fR -command are: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "T\(:ANK P\(oA" -.PP -Du f\(oar inte ta bort den prim\(:ara gruppen f\(:or n\(oagon existerande anv\(:andare\&. Du m\(oaste ta bort anv\(:andaren innan du tar bort gruppen\&. -.PP -You should manually check all file systems to ensure that no files remain owned by this group\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/gshadow -.RS 4 -S\(:aker gruppkontoinformation\&. -.RE -.SH "AVSLUTNINGSV\(:ARDEN" -.PP -Kommandot -\fBgroupdel\fR -avslutas med f\(:oljande v\(:arden: -.PP -\fI0\fR -.RS 4 -lyckad -.RE -.PP -\fI2\fR -.RS 4 -ogiltig kommandosyntax -.RE -.PP -\fI6\fR -.RS 4 -angiven grupp finns inte -.RE -.PP -\fI8\fR -.RS 4 -kan inte ta bort anv\(:andarens prim\(:ara grupp -.RE -.PP -\fI10\fR -.RS 4 -kan inte uppdatera gruppfilen -.RE -.SH "SE OCKS\(oA" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/sv/man8/groupmems.8 b/man/sv/man8/groupmems.8 deleted file mode 100644 index 9d526f8f..00000000 --- a/man/sv/man8/groupmems.8 +++ /dev/null @@ -1,180 +0,0 @@ -'\" t -.\" Title: groupmems -.\" Author: George Kraft, IV -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "GROUPMEMS" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -groupmems \- administrera medlemmar av en anv\(:andares prim\(:ara grupp -.SH "SYNOPSIS" -.HP \w'\fBgroupmems\fR\ 'u -\fBgroupmems\fR \-a\ \fIanv\(:andarnamn\fR | \-d\ \fIanv\(:andarnamn\fR | [\-g\ \fIgruppnamn\fR] | \-l | \-p -.SH "BESKRIVNING" -.PP -The -\fBgroupmems\fR -command allows a user to administer his/her own group membership list without the requirement of superuser privileges\&. The -\fBgroupmems\fR -utility is for systems that configure its users to be in their own name sake primary group (i\&.e\&., guest / guest)\&. -.PP -Only the superuser, as administrator, can use -\fBgroupmems\fR -to alter the memberships of other groups\&. -.SH "FLAGGOR" -.PP -Flaggorna som g\(:aller f\(:or kommandot -\fBgroupmems\fR -\(:ar: -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIuser_name\fR -.RS 4 -Add a user to the group membership list\&. -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIuser_name\fR -.RS 4 -Ta bort en anv\(:andare fr\(oan gruppen medlemslista\&. -.sp -If the -/etc/gshadow -file exist, the user will be removed from the list of members and administrators of the group\&. -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-g\fR, \fB\-\-group\fR\ \&\fIgroup_name\fR -.RS 4 -The superuser can specify which group membership list to modify\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -Lista gruppens medlemslista\&. -.RE -.PP -\fB\-p\fR, \fB\-\-purge\fR -.RS 4 -Rensa alla anv\(:andare fr\(oan gruppens medlemslista\&. -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "SETUP" -.PP -The -\fBgroupmems\fR -executable should be in mode -2770 -as user -\fIroot\fR -and in group -\fIgroups\fR\&. The system administrator can add users to group -\fIgroups\fR -to allow or disallow them using the -\fBgroupmems\fR -utility to manage their own group membership list\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - $ groupadd \-r groups - $ chmod 2770 groupmems - $ chown root\&.groups groupmems - $ groupmems \-g groups \-a gk4 - -.fi -.if n \{\ -.RE -.\} -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/gshadow -.RS 4 -s\(:aker gruppkontoinformation -.RE -.SH "SE OCKS\(oA" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/sv/man8/groupmod.8 b/man/sv/man8/groupmod.8 deleted file mode 100644 index 0192d79d..00000000 --- a/man/sv/man8/groupmod.8 +++ /dev/null @@ -1,209 +0,0 @@ -'\" t -.\" Title: groupmod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "GROUPMOD" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -groupmod \- \(:andra en gruppdefinition p\(oa systemet -.SH "SYNOPSIS" -.HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIflaggor\fR] \fIGRUPP\fR -.SH "BESKRIVNING" -.PP -The -\fBgroupmod\fR -command modifies the definition of the specified -\fIGROUP\fR -by modifying the appropriate entry in the group database\&. -.SH "FLAGGOR" -.PP -Flaggorna som g\(:aller f\(:or kommandot -\fBgroupmod\fR -\(:ar: -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -The group ID of the given -\fIGROUP\fR -will be changed to -\fIGID\fR\&. -.sp -The value of -\fIGID\fR -must be a non\-negative decimal integer\&. This value must be unique, unless the -\fB\-o\fR -option is used\&. -.sp -Users who use the group as primary group will be updated to keep the group as their primary group\&. -.sp -Any files that have the old group ID and must continue to belong to -\fIGROUP\fR, must have their group ID changed manually\&. -.sp -No checks will be performed with regard to the -\fBGID_MIN\fR, -\fBGID_MAX\fR, -\fBSYS_GID_MIN\fR, or -\fBSYS_GID_MAX\fR -from -/etc/login\&.defs\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-n\fR, \fB\-\-new\-name\fR\ \&\fINY_GRUPP\fR -.RS 4 -The name of the group will be changed from -\fIGROUP\fR -to -\fINEW_GROUP\fR -name\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -When used with the -\fB\-g\fR -option, allow to change the group -\fIGID\fR -to a non\-unique value\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIL\(:OSENORD\fR -.RS 4 -Det krypterade l\(:osenordet, som returneras av -\fBcrypt\fR(3)\&. -.sp -\fBNote:\fR -This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. -.sp -You should make sure the password respects the system\*(Aqs password policy\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/gshadow -.RS 4 -S\(:aker gruppkontoinformation\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.SH "AVSLUTNINGSV\(:ARDEN" -.PP -Kommandot -\fBgroupmod\fR -avslutas med f\(:oljande v\(:arden: -.PP -\fI0\fR -.RS 4 -lyckad -.RE -.PP -\fI2\fR -.RS 4 -ogiltig kommandosyntax -.RE -.PP -\fI3\fR -.RS 4 -ogiltigt argument till flagga -.RE -.PP -\fI4\fR -.RS 4 -angiven grupp finns inte -.RE -.PP -\fI6\fR -.RS 4 -angiven grupp finns inte -.RE -.PP -\fI9\fR -.RS 4 -gruppnamnet anv\(:ands redan -.RE -.PP -\fI10\fR -.RS 4 -kan inte uppdatera gruppfilen -.RE -.SH "SE OCKS\(oA" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/sv/man8/grpck.8 b/man/sv/man8/grpck.8 deleted file mode 100644 index 349683b5..00000000 --- a/man/sv/man8/grpck.8 +++ /dev/null @@ -1,247 +0,0 @@ -'\" t -.\" Title: grpck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "GRPCK" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -grpck \- validera integriteten f\(:or gruppfiler -.SH "SYNOPSIS" -.HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [flaggor] [\fIgrupp\fR\ [\ \fIshadow\fR\ ]] -.SH "BESKRIVNING" -.PP -The -\fBgrpck\fR -command verifies the integrity of the groups information\&. It checks that all entries in -/etc/group -and /etc/gshadow -have the proper format and contain valid data\&. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors\&. -.PP -Kontroller g\(:ors f\(:or att validera att varje post har: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -korrekt antal f\(:alt -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a unique and valid group name -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a valid group identifier -(/etc/group only) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a valid list of members -and administrators -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a corresponding entry in the -/etc/gshadow -file (respectively -/etc/group -for the -gshadow -checks) -.RE -.PP -The checks for correct number of fields and unique group name are fatal\&. If an entry has the wrong number of fields, the user will be prompted to delete the entire line\&. If the user does not answer affirmatively, all further checks are bypassed\&. An entry with a duplicated group name is prompted for deletion, but the remaining checks will still be made\&. All other errors are warnings and the user is encouraged to run the -\fBgroupmod\fR -command to correct the error\&. -.PP -The commands which operate on the -/etc/group -and /etc/gshadow files -are not able to alter corrupted or duplicated entries\&. -\fBgrpck\fR -should be used in those circumstances to remove the offending entries\&. -.SH "FLAGGOR" -.PP -The -\fB\-r\fR -and -\fB\-s\fR -options cannot be combined\&. -.PP -The options which apply to the -\fBgrpck\fR -command are: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Execute the -\fBgrpck\fR -command in read\-only mode\&. This causes all questions regarding changes to be answered -\fIno\fR -without user intervention\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -Sort entries in -/etc/group -and /etc/gshadow -by GID\&. -.RE -.PP -By default, -\fBgrpck\fR -operates on -/etc/group -and /etc/gshadow\&. The user may select alternate files with the -\fIgroup\fR -and \fIshadow\fR parameters\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/gshadow -.RS 4 -S\(:aker gruppkontoinformation\&. -.RE -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.SH "AVSLUTNINGSV\(:ARDEN" -.PP -Kommandot -\fBgrpck\fR -avslutas med f\(:oljande v\(:arden: -.PP -\fI0\fR -.RS 4 -lyckad -.RE -.PP -\fI1\fR -.RS 4 -ogiltig kommandosyntax -.RE -.PP -\fI2\fR -.RS 4 -en eller flera felaktiga grupposter -.RE -.PP -\fI3\fR -.RS 4 -kan inte \(:oppna gruppfiler -.RE -.PP -\fI4\fR -.RS 4 -kan inte l\(oasa gruppfiler -.RE -.PP -\fI5\fR -.RS 4 -kan inte uppdatera gruppfiler -.RE -.SH "SE OCKS\(oA" -.PP -\fBgroup\fR(5), -\fBgroupmod\fR(8), -\fBgshadow\fR(5), -\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBshadow\fR(5)\&. diff --git a/man/sv/man8/lastlog.8 b/man/sv/man8/lastlog.8 deleted file mode 100644 index df13b814..00000000 --- a/man/sv/man8/lastlog.8 +++ /dev/null @@ -1,123 +0,0 @@ -'\" t -.\" Title: lastlog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "LASTLOG" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -lastlog \- reports the most recent login of all users or of a given user -.SH "SYNOPSIS" -.HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIflaggor\fR] -.SH "BESKRIVNING" -.PP -\fBlastlog\fR -formats and prints the contents of the last login log -/var/log/lastlog -file\&. The -\fIlogin\-name\fR, -\fIport\fR, and -\fIlast login time\fR -will be printed\&. The default (no flags) causes lastlog entries to be printed, sorted by their order in -/etc/passwd\&. -.SH "FLAGGOR" -.PP -Flaggorna som g\(:aller f\(:or kommandot -\fBlastlog\fR -\(:ar: -.PP -\fB\-b\fR, \fB\-\-before\fR\ \&\fIDAGAR\fR -.RS 4 -Print only lastlog records older than -\fIDAYS\fR\&. -.RE -.PP -\fB\-C\fR, \fB\-\-clear\fR -.RS 4 -Clear lastlog record of a user\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-S\fR, \fB\-\-set\fR -.RS 4 -Set lastlog record of a user to the current time\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIDAGAR\fR -.RS 4 -Print the lastlog records more recent than -\fIDAYS\fR\&. -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR -.RS 4 -Print the lastlog record of the specified user(s)\&. -.sp -The users can be specified by a login name, a numerical user ID, or a -\fIRANGE\fR -of users\&. This -\fIRANGE\fR -of users can be specified with a min and max values (\fIUID_MIN\-UID_MAX\fR), a max value (\fI\-UID_MAX\fR), or a min value (\fIUID_MIN\-\fR)\&. -.RE -.PP -If the user has never logged in the message -\fI** Never logged in**\fR -will be displayed instead of the port and time\&. -.PP -Only the entries for the current users of the system will be displayed\&. Other entries may exist for users that were deleted previously\&. -.SH "NOTERA" -.PP -The -lastlog -file is a database which contains info on the last login of each user\&. You should not rotate it\&. It is a sparse file, so its size on the disk is usually much smaller than the one shown by "\fBls \-l\fR" (which can indicate a really big file if you have in -passwd -users with a high UID)\&. You can display its real size with "\fBls \-s\fR"\&. -.SH "FILER" -.PP -/var/log/lastlog -.RS 4 -Databastider f\(:or tidigare anv\(:andarinloggningar\&. -.RE -.SH "T\(:ANK P\(oA" -.PP -Large gaps in UID numbers will cause the lastlog program to run longer with no output to the screen (i\&.e\&. if in lastlog database there is no entries for users with UID between 170 and 800 lastlog will appear to hang as it processes entries with UIDs 171\-799)\&. diff --git a/man/sv/man8/logoutd.8 b/man/sv/man8/logoutd.8 deleted file mode 100644 index 479b1508..00000000 --- a/man/sv/man8/logoutd.8 +++ /dev/null @@ -1,57 +0,0 @@ -'\" t -.\" Title: logoutd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "LOGOUTD" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -logoutd \- enforce login time restrictions -.SH "SYNOPSIS" -.HP \w'\fBlogoutd\fR\ 'u -\fBlogoutd\fR -.SH "BESKRIVNING" -.PP -\fBlogoutd\fR -enforces the login time and port restrictions specified in -/etc/porttime\&. -\fBlogoutd\fR -should be started from -/etc/rc\&. The -/var/run/utmp -file is scanned periodically and each user name is checked to see if the named user is permitted on the named port at the current time\&. Any login session which is violating the restrictions in -/etc/porttime -is terminated\&. -.SH "FILER" -.PP -/etc/porttime -.RS 4 -Fil som inneh\(oaller port\(oatkomst -.RE -.PP -/var/run/utmp -.RS 4 -Lista p\(oa aktuella inloggningssessioner\&. -.RE diff --git a/man/sv/man8/nologin.8 b/man/sv/man8/nologin.8 deleted file mode 100644 index 55fd426d..00000000 --- a/man/sv/man8/nologin.8 +++ /dev/null @@ -1,51 +0,0 @@ -'\" t -.\" Title: nologin -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "NOLOGIN" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -nologin \- v\(:agra sn\(:allt en inloggning -.SH "SYNOPSIS" -.HP \w'\fBnologin\fR\ 'u -\fBnologin\fR -.SH "BESKRIVNING" -.PP -The -\fBnologin\fR -command displays a message that an account is not available and exits non\-zero\&. It is intended as a replacement shell field for accounts that have been disabled\&. -.PP -F\(:or att inaktivera alla inloggningar, unders\(:ok -\fBnologin\fR(5)\&. -.SH "SE OCKS\(oA" -.PP -\fBlogin\fR(1), -\fBnologin\fR(5)\&. -.SH "HISTORY" -.PP -The -\fBnologin\fR -command appeared in BSD 4\&.4\&. diff --git a/man/sv/man8/pwck.8 b/man/sv/man8/pwck.8 deleted file mode 100644 index a690c1e8..00000000 --- a/man/sv/man8/pwck.8 +++ /dev/null @@ -1,323 +0,0 @@ -'\" t -.\" Title: pwck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "PWCK" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -pwck \- validera integriteten f\(:or l\(:osenordsfiler -.SH "SYNOPSIS" -.HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [flaggor] [\fIpasswd\fR\ [\ \fIshadow\fR\ ]] -.SH "BESKRIVNING" -.PP -The -\fBpwck\fR -command verifies the integrity of the users and authentication information\&. It checks that all entries in -/etc/passwd -and -/etc/shadow -have the proper format and contain valid data\&. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors\&. -.PP -Kontroller g\(:ors f\(:or att validera att varje post har: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -korrekt antal f\(:alt -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a unique and valid user name -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -en giltig identifierare f\(:or anv\(:andare och grupp -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -en giltig prim\(:ar grupp -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -en giltig hemkatalog -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ett giltigt inloggningsskal -.RE -.PP -shadow -checks are enabled when a second file parameter is specified or when -/etc/shadow -exists on the system\&. -.PP -These checks are the following: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -every passwd entry has a matching shadow entry, and every shadow entry has a matching passwd entry -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -passwords are specified in the shadowed file -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -shadow entries have the correct number of fields -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -shadow entries are unique in shadow -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -the last password changes are not in the future -.RE -.PP -The checks for correct number of fields and unique user name are fatal\&. If the entry has the wrong number of fields, the user will be prompted to delete the entire line\&. If the user does not answer affirmatively, all further checks are bypassed\&. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made\&. All other errors are warning and the user is encouraged to run the -\fBusermod\fR -command to correct the error\&. -.PP -The commands which operate on the -/etc/passwd -file are not able to alter corrupted or duplicated entries\&. -\fBpwck\fR -should be used in those circumstances to remove the offending entry\&. -.SH "FLAGGOR" -.PP -The -\fB\-r\fR -and -\fB\-s\fR -options cannot be combined\&. -.PP -Flaggorna som g\(:aller f\(:or kommandot -\fBpwck\fR -\(:ar: -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Report errors only\&. The warnings which do not require any action from the user won\*(Aqt be displayed\&. -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Starta kommandot -\fBpwck\fR -i skrivskyddat l\(:age\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -Sorterar poster i -/etc/passwd -och -/etc/shadow -efter UID\&. -.RE -.PP -By default, -\fBpwck\fR -operates on the files -/etc/passwd -and -/etc/shadow\&. The user may select alternate files with the -\fIpasswd\fR -and -\fIshadow\fR -parameters\&. -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -The maximum number of days a password may be used\&. If the password is older than this, a password change will be forced\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -The minimum number of days allowed between password changes\&. Any password changes attempted sooner than this will be rejected\&. If not specified, \-1 will be assumed (which disables the restriction)\&. -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a negative value means no warning is given\&. If not specified, no warning will be provided\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.PP -/etc/shadow -.RS 4 -S\(:aker anv\(:andarkontoinformation\&. -.RE -.SH "AVSLUTNINGSV\(:ARDEN" -.PP -Kommandot -\fBpwck\fR -avslutas med f\(:oljande v\(:arden: -.PP -\fI0\fR -.RS 4 -lyckad -.RE -.PP -\fI1\fR -.RS 4 -ogiltig kommandosyntax -.RE -.PP -\fI2\fR -.RS 4 -en eller flera felaktiga l\(:osenordsposter -.RE -.PP -\fI3\fR -.RS 4 -kan inte \(:oppna l\(:osenordsfiler -.RE -.PP -\fI4\fR -.RS 4 -kan inte l\(oasa l\(:osenordsfiler -.RE -.PP -\fI5\fR -.RS 4 -kan inte uppdatera l\(:osenordsfiler -.RE -.PP -\fI6\fR -.RS 4 -can\*(Aqt sort password files -.RE -.SH "SE OCKS\(oA" -.PP -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBusermod\fR(8)\&. diff --git a/man/sv/man8/userdel.8 b/man/sv/man8/userdel.8 deleted file mode 100644 index abbb4fe8..00000000 --- a/man/sv/man8/userdel.8 +++ /dev/null @@ -1,299 +0,0 @@ -'\" t -.\" Title: userdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "USERDEL" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -userdel \- ta bort ett anv\(:andarkonto och relaterade filer -.SH "SYNOPSIS" -.HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [flaggor] \fIINLOGGNINGSNAMN\fR -.SH "BESKRIVNING" -.PP -The -\fBuserdel\fR -command modifies the system account files, deleting all entries that refer to the user name -\fILOGIN\fR\&. The named user must exist\&. -.SH "FLAGGOR" -.PP -Flaggorna som g\(:aller f\(:or kommandot -\fBuserdel\fR -\(:ar: -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -This option forces the removal of the user account, even if the user is still logged in\&. It also forces -\fBuserdel\fR -to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs -and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. -.sp -\fINotera:\fR -Denna flagga \(:ar farlig och kan g\(:ora att ditt system f\(:ors\(:atts i ett inkonsistent tillst\(oand\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\fR -.RS 4 -Files in the user\*(Aqs home directory will be removed along with the home directory itself and the user\*(Aqs mail spool\&. Files located in other file systems will have to be searched for and deleted manually\&. -.sp -The mail spool is defined by the -\fBMAIL_DIR\fR -variable in the -login\&.defs -file\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR -.RS 4 -Remove any SELinux user mapping for the user\*(Aqs login\&. -.RE -.SH "CONFIGURATION" -.PP -The following configuration variables in -/etc/login\&.defs -change the behavior of this tool: -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -The mail spool directory\&. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted\&. If not specified, a compile\-time default is used\&. -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -Defines the location of the users mail spool files relatively to their home directory\&. -.RE -.PP -The -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -variables are used by -\fBuseradd\fR, -\fBusermod\fR, and -\fBuserdel\fR -to create, move, or delete the user\*(Aqs mail spool\&. -.PP -If -\fBMAIL_CHECK_ENAB\fR -is set to -\fIyes\fR, they are also used to define the -\fBMAIL\fR -environment variable\&. -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -Maximum members per group entry\&. When the maximum is reached, a new group entry (line) is started in -/etc/group -(with the same name, same password, and same GID)\&. -.sp -The default value is 0, meaning that there are no limits in the number of members in a group\&. -.sp -This feature (split group) permits to limit the length of lines in the group file\&. This is useful to make sure that lines for NIS groups are not larger than 1024 characters\&. -.sp -If you need to enforce such limit, you can use 25\&. -.sp -Note: split groups may not be supported by all tools (even in the Shadow toolsuite)\&. You should not use this variable unless you really need it\&. -.RE -.PP -\fBUSERDEL_CMD\fR (string) -.RS 4 -If defined, this command is run when removing a user\&. It should remove any at/cron/print jobs etc\&. owned by the user to be removed (passed as the first argument)\&. -.sp -The return code of the script is not taken into account\&. -.sp -Here is an example script, which removes the user\*(Aqs cron, at and print jobs: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# Check for the required argument\&. -if [ $# != 1 ]; then - echo "Usage: $0 username" - exit 1 -fi - -# Remove cron jobs\&. -crontab \-r \-u $1 - -# Remove at jobs\&. -# Note that it will remove any jobs owned by the same UID, -# even if it was shared by a different username\&. -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# Remove print jobs\&. -lprm $1 - -# All done\&. -exit 0 - -.fi -.if n \{\ -.RE -.\} -.sp -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -Enable setting of the umask group bits to be the same as owner bits (examples: 022 \-> 002, 077 \-> 007) for non\-root users, if the uid is the same as gid, and username is the same as the primary group name\&. -.sp -If set to -\fIyes\fR, -\fBuserdel\fR -will remove the user\*(Aqs group if it contains no more members, and -\fBuseradd\fR -will create by default a group with the name of the user\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow password suite configuration\&. -.RE -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.PP -/etc/shadow -.RS 4 -S\(:aker anv\(:andarkontoinformation\&. -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "AVSLUTNINGSV\(:ARDEN" -.PP -Kommandot -\fBuserdel\fR -avslutas med f\(:oljande v\(:arden: -.PP -\fI0\fR -.RS 4 -lyckad -.RE -.PP -\fI1\fR -.RS 4 -kan inte uppdatera l\(:osenordsfilen -.RE -.PP -\fI2\fR -.RS 4 -ogiltig kommandosyntax -.RE -.PP -\fI6\fR -.RS 4 -angiven anv\(:andare finns inte -.RE -.PP -\fI8\fR -.RS 4 -anv\(:andaren \(:ar f\(:or n\(:arvarande inloggad -.RE -.PP -\fI10\fR -.RS 4 -kan inte uppdatera gruppfilen -.RE -.PP -\fI12\fR -.RS 4 -kan inte ta bort hemkatalogen -.RE -.SH "T\(:ANK P\(oA" -.PP -\fBuserdel\fR -will not allow you to remove an account if there are running processes which belong to this account\&. In that case, you may have to kill those processes or lock the user\*(Aqs password or account and remove the account later\&. The -\fB\-f\fR -option can force the deletion of this account\&. -.PP -You should manually check all file systems to ensure that no files remain owned by this user\&. -.PP -Du f\(oar inte ta bort n\(oagra NIS\-attribut p\(oa en NIS\-klient\&. Detta m\(oaste genomf\(:oras p\(oa NIS\-servern\&. -.PP -If -\fBUSERGROUPS_ENAB\fR -is defined to -\fIyes\fR -in -/etc/login\&.defs, -\fBuserdel\fR -will delete the group with the same name as the user\&. To avoid inconsistencies in the passwd and group databases, -\fBuserdel\fR -will check that this group is not used as a primary group for another user, and will just warn without deleting the group otherwise\&. The -\fB\-f\fR -option can force the deletion of this group\&. -.SH "SE OCKS\(oA" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBlogin.defs\fR(5), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/sv/man8/vigr.8 b/man/sv/man8/vigr.8 deleted file mode 100644 index ff72d7ae..00000000 --- a/man/sv/man8/vigr.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/vipw.8 diff --git a/man/sv/man8/vipw.8 b/man/sv/man8/vipw.8 deleted file mode 100644 index aea094f7..00000000 --- a/man/sv/man8/vipw.8 +++ /dev/null @@ -1,137 +0,0 @@ -'\" t -.\" Title: vipw -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 18-09-2016 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.4 -.\" Language: Swedish -.\" -.TH "VIPW" "8" "18-09-2016" "shadow\-utils 4\&.4" "Systemhanteringskommandon" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAMN" -vipw, vigr \- redigera l\(:osenordet, grupp, skuggl\(:osenord eller skuggruppfil -.SH "SYNOPSIS" -.HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIflaggor\fR] -.HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIflaggor\fR] -.SH "BESKRIVNING" -.PP -The -\fBvipw\fR -and -\fBvigr\fR -commands edits the files -/etc/passwd -and -/etc/group, respectively\&. With the -\fB\-s\fR -flag, they will edit the shadow versions of those files, -/etc/shadow -and -/etc/gshadow, respectively\&. The programs will set the appropriate locks to prevent file corruption\&. When looking for an editor, the programs will first try the environment variable -\fB$VISUAL\fR, then the environment variable -\fB$EDITOR\fR, and finally the default editor, -\fBvi\fR(1)\&. -.SH "FLAGGOR" -.PP -Flaggorna som g\(:aller f\(:or kommandona -\fBvipw\fR -och -\fBvigr\fR -\(:ar: -.PP -\fB\-g\fR, \fB\-\-group\fR -.RS 4 -Redigera gruppdatabasen\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -Visa hj\(:alpmeddelande och avsluta\&. -.RE -.PP -\fB\-p\fR, \fB\-\-passwd\fR -.RS 4 -Redigera l\(:osenordsdatabasen\&. -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -Tyst l\(:age\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shadow\fR -.RS 4 -Redigera shadow\- eller gshadow\-databasen\&. -.RE -.SH "ENVIRONMENT" -.PP -\fBVISUAL\fR -.RS 4 -Editor to be used\&. -.RE -.PP -\fBEDITOR\fR -.RS 4 -Editor to be used if -\fBVISUAL\fR -is not set\&. -.RE -.SH "FILER" -.PP -/etc/group -.RS 4 -Gruppkontoinformation\&. -.RE -.PP -/etc/gshadow -.RS 4 -S\(:aker gruppkontoinformation\&. -.RE -.PP -/etc/passwd -.RS 4 -Anv\(:andarkontoinformation\&. -.RE -.PP -/etc/shadow -.RS 4 -S\(:aker anv\(:andarkontoinformation\&. -.RE -.SH "SE OCKS\(oA" -.PP -\fBvi\fR(1), -\fBgroup\fR(5), -\fBgshadow\fR(5) -, -\fBpasswd\fR(5), , -\fBshadow\fR(5)\&. diff --git a/man/tr/Makefile.in b/man/tr/Makefile.in deleted file mode 100644 index fb1b3b73..00000000 --- a/man/tr/Makefile.in +++ /dev/null @@ -1,654 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = man/tr -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ - "$(DESTDIR)$(man8dir)" -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/tr -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = \ - man1/chage.1 \ - man1/chfn.1 \ - man8/groupadd.8 \ - man8/groupdel.8 \ - man8/groupmod.8 \ - man1/login.1 \ - man1/passwd.1 \ - man5/passwd.5 \ - man5/shadow.5 \ - man1/su.1 \ - man8/useradd.8 \ - man8/userdel.8 \ - man8/usermod.8 - -EXTRA_DIST = $(man_MANS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/tr/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/tr/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man5 install-man8 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-man uninstall-man1 uninstall-man5 \ - uninstall-man8 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/zh_CN/Makefile.in b/man/zh_CN/Makefile.in deleted file mode 100644 index f15dabfa..00000000 --- a/man/zh_CN/Makefile.in +++ /dev/null @@ -1,757 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) -subdir = man/zh_CN -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ - "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" -man3dir = $(mandir)/man3 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/../generate_mans.mak \ - $(srcdir)/../generate_translations.mak $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@/zh_CN -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ - man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ - man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ - man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) -man_nopam = \ - man5/limits.5 \ - man5/login.access.5 \ - man5/porttime.5 - -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_2) -LANG = $(notdir $(CURDIR)) -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam -@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow -@ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_TRUE@SHADOWGRP_COND = gshadow -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_FALSE@TCB_COND = no_tcb -@ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids -@ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids -CLEANFILES = .xml2po.mo $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/zh_CN/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/zh_CN/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/../generate_translations.mak $(srcdir)/../generate_mans.mak $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man3: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man3dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.3[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ - done; } - -uninstall-man3: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man3dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.3[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@ENABLE_REGENERATE_MAN_FALSE@clean-local: -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man3 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ - uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man3 install-man5 install-man8 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-man uninstall-man1 \ - uninstall-man3 uninstall-man5 uninstall-man8 - -.PRECIOUS: Makefile - - -@ENABLE_REGENERATE_MAN_TRUE@config.xml: ../config.xml.in -@ENABLE_REGENERATE_MAN_TRUE@ $(MAKE) -C .. config.xml -@ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ xml2po --expand-all-entities -l $(LANG) -p ../po/$(LANG).po -o $@ ../$@ -@ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ - -@ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml -@ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $<; then \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^/%config;/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ else \ -@ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ -@ENABLE_REGENERATE_MAN_TRUE@ fi - -@ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ -@ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ -@ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< - -@ENABLE_REGENERATE_MAN_TRUE@clean-local: -@ENABLE_REGENERATE_MAN_TRUE@ for d in man1 man3 man5 man8; do [ -d $$d ] && rmdir $$d; done - -#$(man_MANS): -# @echo you need to run configure with --enable-man to generate man pages -# @false - -@ENABLE_REGENERATE_MAN_TRUE@man8/grpconv.8 man8/grpunconv.8 man8/pwunconv.8: man8/pwconv.8 - -@ENABLE_REGENERATE_MAN_TRUE@man3/getspnam.3: man3/shadow.3 - -@ENABLE_REGENERATE_MAN_TRUE@man8/vigr.8: man8/vipw.8 - -@ENABLE_REGENERATE_MAN_FALSE@$(man_MANS): -@ENABLE_REGENERATE_MAN_FALSE@ @echo you need to run configure with --enable-man to generate man pages -@ENABLE_REGENERATE_MAN_FALSE@ @false - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/man/zh_CN/man1/chage.1 b/man/zh_CN/man1/chage.1 deleted file mode 100644 index 9eb4b5f5..00000000 --- a/man/zh_CN/man1/chage.1 +++ /dev/null @@ -1,176 +0,0 @@ -'\" t -.\" Title: chage -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "CHAGE" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -chage \- ę›“ę”¹ē”Øęˆ·åÆ†ē čæ‡ęœŸäæ”ęÆ -.SH "大纲" -.HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fI选锹\fR] \fI登录\fR -.SH "ęčæ°" -.PP -The -\fBchage\fR -command changes the number of days between password changes and the date of the last password change\&. This information is used by the system to determine when a user must change his/her password\&. -.SH "选锹" -.PP -\fBchage\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR -.RS 4 -Set the number of days since January 1st, 1970 when the password was last changed\&. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area)\&. -.RE -.PP -\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR -.RS 4 -Set the date or number of days since January 1, 1970 on which the user\*(Aqs account will no longer be accessible\&. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area)\&. A user whose account is locked must contact the system administrator before being able to use the system again\&. -.sp -\fIEXPIRE_DATE\fR -设置为 -\fI\-1\fR -ä¼šē§»é™¤č“¦ęˆ·ēš„čæ‡ęœŸę—„ęœŸć€‚ -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-I\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR -.RS 4 -Set the number of days of inactivity after a password has expired before the account is locked\&. The -\fIINACTIVE\fR -option is the number of days of inactivity\&. A user whose account is locked must contact the system administrator before being able to use the system again\&. -.sp -\fIINACTIVE\fR -设置为 -\fI\-1\fR -ä¼šē§»é™¤č“¦ęˆ·ē¦ē”ØåŠŸčƒ½ć€‚ -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -ēŽ°å®žč“¦ęˆ·å¹“é¾„äæ”ęÆć€‚ -.RE -.PP -\fB\-m\fR, \fB\-\-mindays\fR\ \&\fIMIN_DAYS\fR -.RS 4 -åœØåÆ†ē ę›“ę”¹ä¹‹é—“ēš„ęœ€å°å¤©ę•°č®¾ē½®äøŗ -\fIMIN_DAYS\fRć€‚ę­¤å­—ę®µäø­ēš„ 0 å€¼č”Øē¤ŗē”Øęˆ·åÆä»„åœØä»»ä½•ę—¶é—“ę›“ę”¹å…¶åÆ†ē ć€‚ -.RE -.PP -\fB\-M\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAYS\fR -.RS 4 -Set the maximum number of days during which a password is valid\&. When -\fIMAX_DAYS\fR -plus -\fILAST_DAY\fR -is less than the current day, the user will be required to change his/her password before being able to use his/her account\&. This occurrence can be planned for in advance by use of the -\fB\-W\fR -option, which provides the user with advance warning\&. -.sp -\fIMAX_DAYS\fR -设置为 -\fI\-1\fR -ä¼šē§»é™¤åÆ†ē ęœ‰ę•ˆę€§ę£€ęŸ„ć€‚ -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR -.RS 4 -Set the number of days of warning before a password change is required\&. The -\fIWARN_DAYS\fR -option is the number of days prior to the password expiring that a user will be warned his/her password is about to expire\&. -.RE -.PP -å¦‚ęžœę²”ęœ‰é€‰ę‹©ä»»ä½•é€‰é”¹ļ¼Œ\fBchage\fR -ä¼ščæ›å…„äŗ¤äŗ’ęØ”å¼ļ¼Œä»„ę‰€ęœ‰å­—ę®µēš„å½“å‰å€¼ęē¤ŗē”Øęˆ·ć€‚č¾“å…„äø€äøŖę–°å€¼åÆä»„ę›“ę”¹čæ™äŗ›å­—ę®µļ¼Œęˆ–č€…ē•™ē©ŗä½æē”Øå½“å‰å€¼ć€‚å½“å‰å€¼å‡ŗēŽ°åœØ -\fI[ ]\fR -ę ‡č®°åÆ¹é‡Œć€‚ -.SH "ę³Øę„" -.PP -\fBchage\fR -éœ€č¦ęœ‰äø€äøŖå½±å­åÆ†ē ę–‡ä»¶ę‰åÆē”Øć€‚ -.PP -åŖęœ‰ root ę‰åÆä»„ä½æē”Ø -\fBchage\fRļ¼Œäø€äøŖē‰¹ę®Šęƒ…å†µę˜Æ -\fB\-l\fR -é€‰é”¹ļ¼Œē”Øę„č®©éžē‰¹ęƒē”Øęˆ·č§‰å¾—č‡Ŗå·±ēš„åÆ†ē ęˆ–č“¦ęˆ·ä½•ę—¶čæ‡ęœŸć€‚ -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "退出值" -.PP -\fBchage\fR -å‘½ä»¤ęœ‰å¦‚äø‹é€€å‡ŗå€¼ļ¼š -.PP -\fI0\fR -.RS 4 -成功 -.RE -.PP -\fI1\fR -.RS 4 -ęƒé™äøå¤Ÿ -.RE -.PP -\fI2\fR -.RS 4 -ę— ę•ˆēš„å‘½ä»¤čÆ­ę³• -.RE -.PP -\fI15\fR -.RS 4 -ę— ę³•ę‰¾åˆ°å½±å­åÆ†ē ę–‡ä»¶ -.RE -.SH "å‚č§" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/zh_CN/man1/chfn.1 b/man/zh_CN/man1/chfn.1 deleted file mode 100644 index 6f54b0b3..00000000 --- a/man/zh_CN/man1/chfn.1 +++ /dev/null @@ -1,161 +0,0 @@ -'\" t -.\" Title: chfn -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "CHFN" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -chfn \- ę›“ę”¹ēœŸåå’Œäæ”ęÆ -.SH "大纲" -.HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fI选锹\fR] [\fI登录\fR] -.SH "ęčæ°" -.PP -The -\fBchfn\fR -command changes user fullname, office room number, office phone number, and home phone number information for a user\*(Aqs account\&. This information is typically printed by -\fBfinger\fR(1) -and similar programs\&. A normal user may only change the fields for her own account, subject to the restrictions in -/etc/login\&.defs\&. (The default configuration is to prevent users from changing their fullname\&.) The superuser may change any field for any account\&. Additionally, only the superuser may use the -\fB\-o\fR -option to change the undefined portions of the GECOS field\&. -.PP -These fields must not contain any colons\&. Except for the -\fIother\fR -field, they should not contain any comma or equal sign\&. It is also recommended to avoid non\-US\-ASCII characters, but this is only enforced for the phone numbers\&. The -\fIother\fR -field is used to store accounting information used by other applications\&. -.SH "选锹" -.PP -\fBchfn\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-f\fR, \fB\-\-full\-name\fR\ \&\fIFULL_NAME\fR -.RS 4 -ę›“ę”¹ē”Øęˆ·ēš„å…Øå -.RE -.PP -\fB\-h\fR, \fB\-\-home\-phone\fR\ \&\fIHOME_PHONE\fR -.RS 4 -Change the user\*(Aqs home phone number\&. -.RE -.PP -\fB\-o\fR, \fB\-\-other\fR\ \&\fIOTHER\fR -.RS 4 -Change the user\*(Aqs other GECOS information\&. This field is used to store accounting information used by other applications, and can be changed only by a superuser\&. -.RE -.PP -\fB\-r\fR, \fB\-\-room\fR\ \&\fIROOM_NUMBER\fR -.RS 4 -Change the user\*(Aqs room number\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-u\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-w\fR, \fB\-\-work\-phone\fR\ \&\fIWORK_PHONE\fR -.RS 4 -Change the user\*(Aqs office phone number\&. -.RE -.PP -If none of the options are selected, -\fBchfn\fR -operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of -\fB[ ]\fR -marks\&. Without options, -\fBchfn\fR -prompts for the current user account\&. -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBCHFN_AUTH\fR (boolean) -.RS 4 -å¦‚ęžœäøŗ -\fIyes\fR,\fBchfn\fR -čæ›č”Œä»»ä½•ę›“ę”¹å‰éƒ½č¦č¦ę±‚č®¤čÆļ¼Œé™¤éžē”±č¶…ēŗ§ē”Øęˆ·čæč”Œć€‚ -.RE -.PP -\fBCHFN_RESTRICT\fR (string) -.RS 4 -This parameter specifies which values in the -\fIgecos\fR -field of the -/etc/passwd -file may be changed by regular users using the -\fBchfn\fR -program\&. It can be any combination of letters -\fIf\fR, -\fIr\fR, -\fIw\fR, -\fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility, -\fIyes\fR -is equivalent to -\fIrwh\fR -and -\fIno\fR -is equivalent to -\fIfrwh\fR\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing -\fBchfn\fR -SUID\&. -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -ę­¤å­—ē¬¦äø²ē”ØäŗŽęē¤ŗč¾“å…„åÆ†ē ć€‚é»˜č®¤ę˜Æ "Password: "ļ¼Œęˆ–č€…ēæ»čÆ‘äŗ†ēš„ē»“ęžœ(汉语中翻译为了\(lqåÆ†ē ļ¼š\(rq)ć€‚å¦‚ęžœč®¾ē½®äŗ†ę­¤å˜é‡ļ¼Œęē¤ŗäøä¼šč¢«ēæ»čÆ‘ć€‚ -.sp -å¦‚ęžœå­—ē¬¦äø²åŒ…å« -\fI%s\fRļ¼Œå°†ä¼šč¢«ē”Øęˆ·åę›æę¢ć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBchsh\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/zh_CN/man1/chsh.1 b/man/zh_CN/man1/chsh.1 deleted file mode 100644 index a1b9c298..00000000 --- a/man/zh_CN/man1/chsh.1 +++ /dev/null @@ -1,119 +0,0 @@ -'\" t -.\" Title: chsh -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "CHSH" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -chsh \- 曓改登录 shell -.SH "大纲" -.HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fI选锹\fR] [\fI登录\fR] -.SH "ęčæ°" -.PP -The -\fBchsh\fR -command changes the user login shell\&. This determines the name of the user\*(Aqs initial login command\&. A normal user may only change the login shell for her own account; the superuser may change the login shell for any account\&. -.SH "选锹" -.PP -\fBchsh\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -ē”Øęˆ·ēš„ę–°ē™»å½• shell ēš„åē§°ć€‚å°†ę­¤å­—ę®µč®¾ē½®äøŗē©ŗä¼šč®©ē³»ē»Ÿé€‰ę‹©é»˜č®¤ēš„ē™»å½• shell怂 -.RE -.PP -If the -\fB\-s\fR -option is not selected, -\fBchsh\fR -operates in an interactive fashion, prompting the user with the current login shell\&. Enter the new value to change the shell, or leave the line blank to use the current one\&. The current shell is displayed between a pair of -\fI[ ]\fR -marks\&. -.SH "ę³Øę„" -.PP -The only restriction placed on the login shell is that the command name must be listed in -/etc/shells, unless the invoker is the superuser, and then any value may be added\&. An account with a restricted login shell may not change her login shell\&. For this reason, placing -/bin/rsh -in -/etc/shells -is discouraged since accidentally changing to a restricted shell would prevent the user from ever changing her login shell back to its original value\&. -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBCHSH_AUTH\fR (boolean) -.RS 4 -å¦‚ęžœ -\fIyes\fR,\fBchsh\fR -ēØ‹åŗåœØåšä»»ä½•ę›“ę”¹ä¹‹å‰éƒ½ä¼šč¦ę±‚č®¤čÆļ¼Œé™¤éžę˜Æä»„č¶…ēŗ§ē”Øęˆ·čŗ«ä»½čæč”Œēš„ć€‚ -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -ę­¤å­—ē¬¦äø²ē”ØäŗŽęē¤ŗč¾“å…„åÆ†ē ć€‚é»˜č®¤ę˜Æ "Password: "ļ¼Œęˆ–č€…ēæ»čÆ‘äŗ†ēš„ē»“ęžœ(汉语中翻译为了\(lqåÆ†ē ļ¼š\(rq)ć€‚å¦‚ęžœč®¾ē½®äŗ†ę­¤å˜é‡ļ¼Œęē¤ŗäøä¼šč¢«ēæ»čÆ‘ć€‚ -.sp -å¦‚ęžœå­—ē¬¦äø²åŒ…å« -\fI%s\fRļ¼Œå°†ä¼šč¢«ē”Øęˆ·åę›æę¢ć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shells -.RS 4 -åÆē”Øēš„ē™»å½• shell ēš„åˆ—č”Øć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.SH "å‚č§" -.PP -\fBchfn\fR(1), -\fBlogin.defs\fR(5), -\fBpasswd\fR(5)\&. diff --git a/man/zh_CN/man1/expiry.1 b/man/zh_CN/man1/expiry.1 deleted file mode 100644 index 490938ab..00000000 --- a/man/zh_CN/man1/expiry.1 +++ /dev/null @@ -1,73 +0,0 @@ -'\" t -.\" Title: expiry -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "EXPIRY" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -expiry \- check and enforce password expiration policy -.SH "大纲" -.HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fI选锹\fR -.SH "ęčæ°" -.PP -The -\fBexpiry\fR -command checks (\fB\-c\fR) the current password expiration and forces (\fB\-f\fR) changes when required\&. It is callable as a normal user command\&. -.SH "选锹" -.PP -\fBexpiry\fR -é€‰é”¹åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-c\fR, \fB\-\-check\fR -.RS 4 -Check the password expiration of the current user\&. -.RE -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -å¦‚ęžœē”Øęˆ·åÆ†ē čæ‡ęœŸļ¼Œåˆ™å¼ŗåˆ¶ē”Øęˆ·äæ®ę”¹åÆ†ē ć€‚ -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBpasswd\fR(5), -\fBshadow\fR(5)\&. diff --git a/man/zh_CN/man1/gpasswd.1 b/man/zh_CN/man1/gpasswd.1 deleted file mode 100644 index 990b452a..00000000 --- a/man/zh_CN/man1/gpasswd.1 +++ /dev/null @@ -1,229 +0,0 @@ -'\" t -.\" Title: gpasswd -.\" Author: Rafal Maszkowski -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "GPASSWD" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -gpasswd \- ē®”ē†å‘˜ /etc/group 和 /etc/gshadow -.SH "大纲" -.HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fI选锹\fR] \fIgroup\fR -.SH "ęčæ°" -.PP -The -\fBgpasswd\fR -command is used to administer -/etc/group, and /etc/gshadow\&. Every group can have -administrators, -members and a password\&. -.PP -System administrators can use the -\fB\-A\fR -option to define group administrator(s) and the -\fB\-M\fR -option to define members\&. They have all rights of group administrators and members\&. -.PP -\fBgpasswd\fR -called by -a group administrator -with a group name only prompts for the new password of the -\fIgroup\fR\&. -.PP -If a password is set the members can still use -\fBnewgrp\fR(1) -without a password, and non\-members must supply the password\&. -.SS "čÆ·ę³Øę„ē»„åÆ†ē " -.PP -Group passwords are an inherent security problem since more than one person is permitted to know the password\&. However, groups are a useful tool for permitting co\-operation between different users\&. -.SH "选锹" -.PP -除了 -\fB\-A\fR -和 -\fB\-M\fR -é€‰é”¹ļ¼Œå…¶å®ƒé€‰é”¹äøčƒ½č”åˆä½æē”Øć€‚ -.PP -\fBgpasswd\fR -åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIuser\fR -.RS 4 -å‘åäøŗ -\fIgroup\fR -ēš„ē»„äø­ę·»åŠ ē”Øęˆ· -\fIuser\fR怂 -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIuser\fR -.RS 4 -ä»Žåäøŗ -\fIgroup\fR -ēš„ē»„äø­ē§»é™¤ē”Øęˆ· -\fIuser\fR怂 -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-Q\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-r\fR, \fB\-\-remove\-password\fR -.RS 4 -Remove the password from the named -\fIgroup\fR\&. The group password will be empty\&. Only group members will be allowed to use -\fBnewgrp\fR -to join the named -\fIgroup\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-restrict\fR -.RS 4 -Restrict the access to the named -\fIgroup\fR\&. The group password is set to "!"\&. Only group members with a password will be allowed to use -\fBnewgrp\fR -to join the named -\fIgroup\fR\&. -.RE -.PP -\fB\-A\fR, \fB\-\-administrators\fR\ \&\fIuser\fR,\&.\&.\&. -.RS 4 -č®¾ē½®ęœ‰ē®”ē†ęƒé™ēš„ē”Øęˆ·åˆ—č”Øć€‚ -.RE -.PP -\fB\-M\fR, \fB\-\-members\fR\ \&\fIuser\fR,\&.\&.\&. -.RS 4 -č®¾ē½®ē»„ęˆå‘˜åˆ—č”Øć€‚ -.RE -.SH "CAVEATS" -.PP -This tool only operates on the -/etc/group -and /etc/gshadow files\&. -Thus you cannot change any NIS or LDAP group\&. This must be performed on the corresponding server\&. -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -čæ™å®šä¹‰äŗ†ē³»ē»ŸåŠ åÆ†åÆ†ē ēš„é»˜č®¤ē®—ę³•(å¦‚ęžœę²”ęœ‰åœØå‘½ä»¤č”ŒäøŠęŒ‡å®šē®—ę³•)怂 -.sp -åÆä»„ä½æē”Øå¦‚äø‹å€¼ļ¼š\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -ę³Øę„ļ¼Œę­¤å‚ę•°ä¼šč¦†ē›– -\fBMD5_CRYPT_ENAB\fR -å˜é‡ć€‚ -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -č”Øē¤ŗåÆ†ē ę˜Æå¦åæ…é”»ä½æē”ØåŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å¦‚ęžœč®¾äøŗ -\fIyes\fRļ¼Œę–°åÆ†ē å°†ä½æē”ØåÆä»„å’Œę–°ē‰ˆ FreeBSD å…¼å®¹ēš„åŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å®ƒę”ÆęŒę— é™é•æåŗ¦ēš„åÆ†ē ä»„åŠę›“é•æēš„ē›å­—ē¬¦äø²ć€‚å¦‚ęžœę‚Øéœ€č¦å°†åŠ åÆ†ēš„åÆ†ē å¤åˆ¶åˆ°å…¶å®ƒäøē†č§£ę–°ē®—ę³•ēš„ē³»ē»Ÿļ¼Œč®¾ē½®äøŗ -\fIno\fRć€‚é»˜č®¤å€¼ę˜Æ -\fIno\fR怂 -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -ę­¤å˜é‡å·²ē»åŗŸå¼ƒć€‚ę‚Øåŗ”čÆ„ä½æē”Ø -\fBENCRYPT_METHOD\fR怂 -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -\fBENCRYPT_METHOD\fR -设为 -\fISHA256\fR -ꈖ -\fISHA512\fR -ę—¶ļ¼Œę­¤é”¹ē”®å®šåŠ åÆ†ē®—ę³•é»˜č®¤ä½æē”Ø SHA 轮转数目(å½“č½®č½¬ę•°ę²”ęœ‰é€ščæ‡å‘½ä»¤č”ŒęŒ‡å®šę—¶)怂 -.sp -ä½æē”Øå¾ˆå¤šč½®č½¬ļ¼Œä¼šč®©ęš“åŠ›ē “č§£ę›“åŠ å›°éš¾ć€‚ä½†ę˜Æéœ€č¦ę³Øę„ļ¼Œč®¤čÆē”Øęˆ·ę—¶ä¹Ÿä¼šéœ€č¦ę›“å¤šēš„ CPU 资源。 -.sp -å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œlibc ä¼šé€‰ę‹©é»˜č®¤ēš„č½®č½¬ę•°(5000)怂 -.sp -å€¼åæ…é”»åœØ 1000 \- 999,999,999 之闓。 -.sp -å¦‚ęžœåŖč®¾ē½®äŗ†äø€äøŖ -\fBSHA_CRYPT_MIN_ROUNDS\fR -ꈖ -\fBSHA_CRYPT_MAX_ROUNDS\fR -å€¼ļ¼Œå°±ä¼šä½æē”Øčæ™äøŖå€¼ć€‚ -.sp -å¦‚ęžœ -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fRļ¼Œå°†ä¼šä½æē”Øå¤§ēš„é‚£äøŖć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBnewgrp\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBgrpck\fR(8), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/zh_CN/man1/groups.1 b/man/zh_CN/man1/groups.1 deleted file mode 100644 index 006e4dd0..00000000 --- a/man/zh_CN/man1/groups.1 +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Title: groups -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "GROUPS" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -groups \- ēŽ°å®žå½“å‰ē»„å -.SH "大纲" -.HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIē”Øęˆ·\fR] -.SH "ęčæ°" -.PP -The -\fBgroups\fR -command displays the current group names or ID values\&. If the value does not have a corresponding entry in -/etc/group, the value will be displayed as the numerical group value\&. The optional -\fIuser\fR -parameter will display the groups for the named -\fIuser\fR\&. -.SH "ę³Øę„" -.PP -Systems which do not support concurrent group sets will have the information from -/etc/group -reported\&. The user must use -\fBnewgrp\fR -or -\fBsg\fR -to change his current real and effective group ID\&. -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBnewgrp\fR(1), -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2)\&. diff --git a/man/zh_CN/man1/id.1 b/man/zh_CN/man1/id.1 deleted file mode 100644 index 72a2c1ed..00000000 --- a/man/zh_CN/man1/id.1 +++ /dev/null @@ -1,60 +0,0 @@ -'\" t -.\" Title: id -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "ID" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -id \- display current user and group ID names -.SH "大纲" -.HP \w'\fBid\fR\ 'u -\fBid\fR [\-a] -.SH "ęčæ°" -.PP -The -\fBid\fR -command displays the current real and effective user and group ID names or values\&. If the value does not have a corresponding entry in -/etc/passwd -or -/etc/group, the value will be displayed without the corresponding name\&. The optional -\fB\-a\fR -flag will display the group set on systems which support multiple concurrent group membership\&. -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBgetgid\fR(2), -\fBgetgroups\fR(2), -\fBgetuid\fR(2) diff --git a/man/zh_CN/man1/login.1 b/man/zh_CN/man1/login.1 deleted file mode 100644 index deda2a79..00000000 --- a/man/zh_CN/man1/login.1 +++ /dev/null @@ -1,481 +0,0 @@ -'\" t -.\" Title: login -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "LOGIN" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -login \- åœØē³»ē»ŸäøŠåÆåŠØå›žčÆ -.SH "大纲" -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fI主机\fR] [\fIē”Øęˆ·å\fR] [\fIENV=VAR\fR...] -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fI主机\fR] \-f \fIē”Øęˆ·å\fR -.HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] \-r\ \fI主机\fR -.SH "ęčæ°" -.PP -The -\fBlogin\fR -program is used to establish a new session with the system\&. It is normally invoked automatically by responding to the -\fIlogin:\fR -prompt on the user\*(Aqs terminal\&. -\fBlogin\fR -may be special to the shell and may not be invoked as a sub\-process\&. When called from a shell, -\fBlogin\fR -should be executed as -\fBexec login\fR -which will cause the user to exit from the current shell (and thus will prevent the new logged in user to return to the session of the caller)\&. Attempting to execute -\fBlogin\fR -from any shell but the login shell will produce an error message\&. -.PP -The user is then prompted for a password, where appropriate\&. Echoing is disabled to prevent revealing the password\&. Only a small number of password failures are permitted before -\fBlogin\fR -exits and the communications link is severed\&. -.PP -If password aging has been enabled for your account, you may be prompted for a new password before proceeding\&. You will be forced to provide your old password and the new password before continuing\&. Please refer to -\fBpasswd\fR(1) -for more information\&. -.PP -After a successful login, you will be informed of any system messages and the presence of mail\&. You may turn off the printing of the system message file, -/etc/motd, by creating a zero\-length file -\&.hushlogin -in your login directory\&. The mail message will be one of "\fIYou have new mail\&.\fR", "\fIYou have mail\&.\fR", or "\fINo Mail\&.\fR" according to the condition of your mailbox\&. -.PP -Your user and group ID will be set according to their values in the -/etc/passwd -file\&. The value for -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$PATH\fR, -\fB$LOGNAME\fR, and -\fB$MAIL\fR -are set according to the appropriate fields in the password entry\&. Ulimit, umask and nice values may also be set according to entries in the GECOS field\&. -.PP -On some installations, the environmental variable -\fB$TERM\fR -will be initialized to the terminal type on your tty line, as specified in -/etc/ttytype\&. -.PP -å‘½ä»¤č§£é‡Šå™Øēš„åˆå§‹åŒ–č„šęœ¬ä¹ŸåÆčƒ½ę‰§č”Œć€‚čÆ·å‚č€ƒę‰‹å†Œäø­ē›øåŗ”ēš„ē« čŠ‚ę„čŽ·å–å…³äŗŽę­¤åŠŸčƒ½ēš„ę›“å¤šäæ”ęÆć€‚ -.PP -åœØē™»å½• shell äø­ä»„ē¬¬äø€äøŖå­—ē¬¦ę˜Æ\(lq*\(rqę ‡ę³Øēš„ę˜Æå­ē³»ē»Ÿē™»å½•ć€‚ē»™å®šēš„äø»ē›®å½•å°†č¢«ē”ØäŗŽē”Øęˆ·å®žé™…ē™»å½•ēš„ę–°ę–‡ä»¶ē³»ē»Ÿēš„ę ¹ć€‚ -.PP -The -\fBlogin\fR -program is NOT responsible for removing users from the utmp file\&. It is the responsibility of -\fBgetty\fR(8) -and -\fBinit\fR(8) -to clean up apparent ownership of a terminal session\&. If you use -\fBlogin\fR -from the shell prompt without -\fBexec\fR, the user you use will continue to appear to be logged in even after you log out of the "subsession"\&. -.SH "选锹" -.PP -\fB\-f\fR -.RS 4 -äøč¦ę‰§č”Œč®¤čÆļ¼Œē”Øęˆ·å·²ē»é¢„č®¤čÆčæ‡ć€‚ -.sp -ę³Øę„ļ¼šę­¤ę—¶ļ¼Œ\fIusername\fR -ę˜Æå¼ŗåˆ¶ēš„ć€‚ -.RE -.PP -\fB\-h\fR -.RS 4 -ę­¤ē™»å½•ēš„čæœēØ‹äø»ęœŗåć€‚ -.RE -.PP -\fB\-p\fR -.RS 4 -äæē•™ēŽÆå¢ƒć€‚ -.RE -.PP -\fB\-r\fR -.RS 4 -äøŗ rlogin (čæœēØ‹ē™»å½•)ę‰§č”Œ autologin (č‡ŖåŠØē™»å½•)åč®®ć€‚ -.RE -.PP -\fB\-r\fR, -\fB\-h\fR -and -\fB\-f\fR -åŖčƒ½ē”ØäŗŽ root 使用 -\fBlogin\fR -ꗶ怂 -.SH "CAVEATS" -.PP -ę­¤ē‰ˆęœ¬ēš„ -\fBlogin\fR -ęœ‰å¾ˆå¤šē¼–čÆ‘é€‰é”¹ļ¼ŒåŖęœ‰äø€éƒØåˆ†åÆä»„åœØä»»ä½•ē«™ē‚¹ä½æē”Øć€‚ -.PP -ę–‡ä»¶ēš„ä½ē½®ē”±ē³»ē»Ÿé…ē½®å†³å®šć€‚ -.PP -The -\fBlogin\fR -program is NOT responsible for removing users from the utmp file\&. It is the responsibility of -\fBgetty\fR(8) -and -\fBinit\fR(8) -to clean up apparent ownership of a terminal session\&. If you use -\fBlogin\fR -from the shell prompt without -\fBexec\fR, the user you use will continue to appear to be logged in even after you log out of the "subsession"\&. -.PP -As with any program, -\fBlogin\fR\*(Aqs appearance can be faked\&. If non\-trusted users have physical access to a machine, an attacker could use this to obtain the password of the next person coming to sit in front of the machine\&. Under Linux, the SAK mechanism can be used by users to initiate a trusted path and prevent this kind of attack\&. -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBCONSOLE\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œęˆ–č€…ę˜ÆåŒ…å«č®¾å¤‡å(ę²”č”Œäø€äøŖ)ēš„ę–‡ä»¶ēš„å®Œę•“č·Æå¾„åļ¼Œęˆ–č€…ę˜Æ\(lq:\(rqåˆ†éš”ēš„č®¾å¤‡ååˆ—č”Øć€‚å°†åŖä¼šåœØčæ™å†™č®¾å¤‡äøŠå…č®ø root 登录。 -.sp -å¦‚ęžœę²”ęœ‰å®šä¹‰ļ¼ŒåÆä»„åœØä»»ä½•č®¾å¤‡äøŠä½æē”Ø root怂 -.sp -ęŒ‡å®šēš„č®¾å¤‡ę—¶äøåø¦ /dev/ å‰ē¼€ć€‚ -.RE -.PP -\fBCONSOLE_GROUPS\fR (string) -.RS 4 -åœØęŽ§åˆ¶å°ē™»å½•ę—¶ļ¼Œę·»åŠ åˆ°ē”Øęˆ·é™„åŠ ē»„é›†äø­ēš„ē»„åˆ—č”Ø(就如 CONSOLE ę‰€ē”®å®šēš„)ć€‚é»˜č®¤ę˜Æę— ć€‚ -ä½æē”Øę—¶éœ€č¦ę³Øę„ļ¼ščæ™åÆčƒ½ä½æē”Øęˆ·čŽ·å–čæ™äŗ›ē»„ēš„ę°øä¹…ęƒé™ļ¼Œē”šč‡³ē™»å½•åˆ°ēš„äøę˜Æę­¤ęŽ§åˆ¶å°ę—¶ć€‚ -.RE -.PP -\fBDEFAULT_HOME\fR (boolean) -.RS 4 -å¦‚ęžœäøčƒ½ cd åˆ°äø»ē›®å½•ę—¶ļ¼ŒčÆ“ę˜Žę˜Æå¦å…č®øē™»å½•ć€‚é»˜č®¤ę˜Æå¦ć€‚ -.sp -å¦‚ęžœč®¾ē½®äøŗ -\fIyes\fRļ¼Œå¦‚ęžœäøčƒ½ cd åˆ°äø»ē›®å½•ę—¶ļ¼Œē”Øęˆ·å°†ä¼šē™»å½•åˆ°ę ¹ē›®å½•(/)怂 -.RE -.PP -\fBENV_HZ\fR (string) -.RS 4 -å¦‚ęžœč®¾ē½®äŗ†ļ¼Œå°†ä¼šē”ØäŗŽåœØē”Øęˆ·ē™»å½•ę—¶å®šä¹‰ HZ ēŽÆå¢ƒå˜é‡ć€‚å€¼åæ…é”»ä»„ -\fIHZ=\fR -开夓。Linux äøŠēš„åøøē”Øå€¼ę˜Æ -\fIHZ=100\fR怂 -.RE -.PP -\fBENV_PATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (string) -.RS 4 -å¦‚ęžœč®¾ē½®äŗ†ļ¼Œå®ƒå°†ē”ØäŗŽåœØē”Øęˆ·ē™»å½•ę—¶å®šä¹‰ TZ ēŽÆå¢ƒå˜é‡ć€‚ę­¤å€¼åÆä»„ę˜Æä»„ -\fITZ=\fR -å¼€å¤“ēš„ę—¶åŒŗå(例如 -\fITZ=CST6CDT\fR)ļ¼Œęˆ–č€…ę˜ÆåŒ…å«ę—¶åŒŗč§„åˆ™ēš„ę–‡ä»¶å®Œę•“č·Æå¾„(例如 -/etc/tzname)怂 -.sp -å¦‚ęžœå°†å®Œę•“č·Æå¾„ęŒ‡å®šäøŗäŗ†äø€äøŖäøå­˜åœØęˆ–äøåÆčÆ»ēš„ę–‡ä»¶ļ¼Œåˆ™é»˜č®¤ä½æē”Ø -\fITZ=CST6CDT\fR怂 -.RE -.PP -\fBENVIRON_FILE\fR (string) -.RS 4 -å¦‚ęžœę­¤ę–‡ä»¶å­˜åœØļ¼Œå¹¶äø”åÆčÆ»ļ¼Œå°†ä¼šä»Žäø­čÆ»å–ē™»å½•ēŽÆå¢ƒć€‚ę‰€ęœ‰č”Œéƒ½åæ…é”»ę˜Æ name=value ēš„ę ¼å¼ć€‚ -.sp -仄 # å¼€å¤“ēš„č”Œå°†č§†äøŗę³Øé‡Šļ¼Œå¹¶č¢«åæ½ē•„ć€‚ -.RE -.PP -\fBERASECHAR\fR (number) -.RS 4 -ē»ˆē«Æę“¦é™¤å­—ē¬¦ (\fI010\fR -= backspace, -\fI0177\fR -= DEL)怂 -.sp -ę­¤å€¼åÆä»„ä½æē”Øå‰ē¼€\(lq0\(rqč”Øē¤ŗå…«čæ›åˆ¶ļ¼Œ\(lq0x\(rqč”Øē¤ŗåå…­čæ›åˆ¶ć€‚ -.RE -.PP -\fBFAIL_DELAY\fR (number) -.RS 4 -ē™»å½•å¤±č“„åŽļ¼Œē­‰å¾…å¤šå°‘ē§’ę‰å†å…č®øē™»å½•ć€‚ -.RE -.PP -\fBFAILLOG_ENAB\fR (boolean) -.RS 4 -å…č®øē™»å½•å¹¶ę˜¾ē¤ŗ -/var/log/faillog -登录失蓄俔息。 -.RE -.PP -\fBFAKE_SHELL\fR (string) -.RS 4 -å¦‚ęžœč®¾ē½®äŗ†ļ¼Œ\fBlogin\fR -å°†ę‰§č”Œę­¤ shell č€Œäøę˜ÆåœØ -/etc/passwd -äø­ęŒ‡å®šēš„ē”Øęˆ· shell怂 -.RE -.PP -\fBFTMP_FILE\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰ļ¼Œē™»å½•å¤±č“„ä¼šä»„ utmp ę ¼å¼č®°å½•åœØę­¤ę–‡ä»¶äø­ć€‚ -.RE -.PP -\fBHUSHLOGIN_FILE\fR (string) -.RS 4 -If defined, this file can inhibit all the usual chatter during the login sequence\&. If a full pathname is specified, then hushed mode will be enabled if the user\*(Aqs name or shell are found in the file\&. If not a full pathname, then hushed mode will be enabled if the file exists in the user\*(Aqs home directory\&. -.RE -.PP -\fBISSUE_FILE\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œę­¤ę–‡ä»¶å°†åœØęÆę¬”ēš„ē™»å½•ęē¤ŗä¹‹å‰ēŽ°å®žć€‚ -.RE -.PP -\fBKILLCHAR\fR (number) -.RS 4 -终端 KILL 字符 (\fI025\fR -= CTRL/U)怂 -.sp -ę­¤å€¼åÆä»„ä½æē”Øå‰ē¼€\(lq0\(rqč”Øē¤ŗå…«čæ›åˆ¶ļ¼Œ\(lq0x\(rqč”Øē¤ŗåå…­čæ›åˆ¶ć€‚ -.RE -.PP -\fBLASTLOG_ENAB\fR (boolean) -.RS 4 -å…č®øč®°å½•å’Œę˜¾ē¤ŗ /var/log/lastlog 登录时闓俔息。 -.RE -.PP -\fBLOGIN_RETRIES\fR (number) -.RS 4 -åÆ†ē é”™čÆÆę—¶ļ¼Œé‡čÆ•ēš„ęœ€å¤§ę¬”ę•°ć€‚ -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -ę­¤å­—ē¬¦äø²ē”ØäŗŽęē¤ŗč¾“å…„åÆ†ē ć€‚é»˜č®¤ę˜Æ "Password: "ļ¼Œęˆ–č€…ēæ»čÆ‘äŗ†ēš„ē»“ęžœ(汉语中翻译为了\(lqåÆ†ē ļ¼š\(rq)ć€‚å¦‚ęžœč®¾ē½®äŗ†ę­¤å˜é‡ļ¼Œęē¤ŗäøä¼šč¢«ēæ»čÆ‘ć€‚ -.sp -å¦‚ęžœå­—ē¬¦äø²åŒ…å« -\fI%s\fRļ¼Œå°†ä¼šč¢«ē”Øęˆ·åę›æę¢ć€‚ -.RE -.PP -\fBLOGIN_TIMEOUT\fR (number) -.RS 4 -ęœ€å¤§ē™»å½•ę—¶é—“(ä»„ē§’äøŗå•ä½)怂 -.RE -.PP -\fBLOG_OK_LOGINS\fR (boolean) -.RS 4 -å…č®øč®°å½•ęˆåŠŸē™»å½•ć€‚ -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (boolean) -.RS 4 -åœØč®°å½•åˆ°ē™»å½•å¤±č“„ę—¶ļ¼Œå…č®øč®°å½•ęœŖēŸ„ē”Øęˆ·åć€‚ -.sp -ę³Øę„ļ¼šå¦‚ęžœē”Øęˆ·äøå°åæƒå°†åÆ†ē č¾“å…„åˆ°äŗ†ē™»å½•åäø­ļ¼Œč®°å½•ęœŖēŸ„ē”Øęˆ·ååÆčƒ½ę˜Æäø€äøŖå®‰å…Øéšę‚£ć€‚ -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (boolean) -.RS 4 -åÆē”Øē™»å½•ę—¶ę£€ęŸ„å’ŒēŽ°å®žé‚®ē®±ēŠ¶ę€ć€‚ -.sp -å¦‚ęžœ shell ēš„åÆåŠØę–‡ä»¶å·²ē»ę£€ęŸ„äŗ†é‚®ä»¶("mailx \-e" ęˆ–č€…å…¶å®ƒåŒåŠŸčƒ½ēš„å·„å…·)ļ¼Œę‚Øåŗ”čÆ„ē¦ē”Øå®ƒć€‚ -.RE -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -é‚®ē®±ē›®å½•ć€‚äæ®ę”¹ęˆ–åˆ é™¤ē”Øęˆ·č“¦ęˆ·ę—¶éœ€č¦å¤„ē†é‚®ē®±ļ¼Œå¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œå°†ä½æē”Øē¼–čÆ‘ę—¶ęŒ‡å®šēš„é»˜č®¤å€¼ć€‚ -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -å®šä¹‰ē”Øęˆ·é‚®ē®±ę–‡ä»¶ēš„ä½ē½®(ē›øåÆ¹äŗŽäø»ē›®å½•)怂 -.RE -.PP -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -å˜é‡ē”± -\fBuseradd\fR,\fBusermod\fR -和 -\fBuserdel\fR -ē”ØäŗŽåˆ›å»ŗć€ē§»åŠØęˆ–åˆ é™¤ē”Øęˆ·é‚®ē®±ć€‚ -.PP -å¦‚ęžœ -\fBMAIL_CHECK_ENAB\fR -设置为 -\fIyes\fRļ¼Œå®ƒä»¬ä¹Ÿč¢«ē”ØäŗŽå®šä¹‰ -\fBMAIL\fR -ēŽÆå¢ƒå˜é‡ć€‚ -.PP -\fBMOTD_FILE\fR (string) -.RS 4 -If defined, ":" delimited list of "message of the day" files to be displayed upon login\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (string) -.RS 4 -If defined, name of file whose presence will inhibit non\-root logins\&. The contents of this file should be a message indicating why logins are inhibited\&. -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (boolean) -.RS 4 -Enable checking of time restrictions specified in -/etc/porttime\&. -.RE -.PP -\fBQUOTAS_ENAB\fR (boolean) -.RS 4 -Enable setting of resource limits from -/etc/limits -and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&. -.RE -.PP -\fBTTYGROUP\fR (string), \fBTTYPERM\fR (string) -.RS 4 -The terminal permissions: the login tty will be owned by the -\fBTTYGROUP\fR -group, and the permissions will be set to -\fBTTYPERM\fR\&. -.sp -By default, the ownership of the terminal is set to the user\*(Aqs primary group and the permissions are set to -\fI0600\fR\&. -.sp -\fBTTYGROUP\fR -can be either the name of a group or a numeric group identifier\&. -.sp -If you have a -\fBwrite\fR -program which is "setgid" to a special group which owns the terminals, define TTYGROUP to the group number and TTYPERM to 0620\&. Otherwise leave TTYGROUP commented out and assign TTYPERM to either 622 or 600\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (string) -.RS 4 -If defined, file which maps tty line to TERM environment parameter\&. Each line of the file is in a format something like "vt100 tty01"\&. -.RE -.PP -\fBULIMIT\fR (number) -.RS 4 -默认 -\fBulimit\fR -值。 -.RE -.PP -\fBUMASK\fR (number) -.RS 4 -ę–‡ä»¶ęØ”å¼åˆ›å»ŗęŽ©ē åˆå§‹åŒ–äøŗę­¤å€¼ć€‚å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼ŒęŽ©ē åˆå§‹åŒ–äøŗ 022怂 -.sp -\fBuseradd\fR -和 -\fBnewusers\fR -ä½æē”Øę­¤ęŽ©ē č®¾ē½®å®ƒä»¬åˆ›å»ŗēš„ē”Øęˆ·äø»ē›®å½•ēš„ęØ”å¼ć€‚ -.sp -也被 -\fBlogin\fR -ē”ØäŗŽęŒ‡å®šē”Øęˆ·ēš„åˆå§‹ umaskć€‚ę³Øę„ļ¼Œę­¤ęŽ©ē åÆä»„č¢«ē”Øęˆ·ēš„ GECOS č”Œč¦†ē›–(当设置了 -\fBQUOTAS_ENAB\fR -ę—¶)ļ¼Œä¹ŸåÆä»„č¢«åø¦ -\fIK\fR -ęŒ‡ē¤ŗē¬¦ēš„ -\fBlimits\fR(5) -å®šä¹‰ēš„é™åˆ¶å€¼č¦†ē›–ć€‚ -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -å¦‚ęžœ uid 和 gid ē›øåŒļ¼Œē”Øęˆ·åå’Œäø»ē”Øęˆ·åä¹Ÿē›øåŒļ¼Œä½æéž root ē»„ēš„ē»„ęŽ©ē ä½å’Œå±žäø»ä½ē›øåŒ (å¦‚ļ¼š022 \-> 002, 077 \-> 007)怂 -.sp -å¦‚ęžœč®¾ē½®äøŗ -\fIyes\fRļ¼Œå¦‚ęžœē»„äø­ę²”ęœ‰ęˆå‘˜äŗ†ļ¼Œ\fBuserdel\fR -å°†ē§»é™¤ę­¤ē”Øęˆ·ē»„ļ¼Œ\fBuseradd\fR -åˆ›å»ŗē”Øęˆ·ę—¶ļ¼Œä¹Ÿä¼šåˆ›å»ŗäø€äøŖåŒåēš„é»˜č®¤ē»„ć€‚ -.RE -.SH "ꖇ件" -.PP -/var/run/utmp -.RS 4 -å½“å‰ē™»å½•ä¼ščÆēš„åˆ—č”Øć€‚ -.RE -.PP -/var/log/wtmp -.RS 4 -å…ˆå‰ēš„ē™»å½•ä¼ščÆåˆ—č”Øć€‚ -.RE -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/motd -.RS 4 -System message of the day file\&. -.RE -.PP -/etc/nologin -.RS 4 -é˜»ę­¢éž root ē”Øęˆ·ē™»å½•ć€‚ -.RE -.PP -/etc/ttytype -.RS 4 -ē»ˆē«Æē±»åž‹åˆ—č”Øć€‚ -.RE -.PP -$HOME/\&.hushlogin -.RS 4 -é˜»ę­¢ēŽ°å®žē³»ē»Ÿäæ”ęÆć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.SH "å‚č§" -.PP -\fBmail\fR(1), -\fBpasswd\fR(1), -\fBsh\fR(1), -\fBsu\fR(1), -\fBlogin.defs\fR(5), -\fBnologin\fR(5), -\fBpasswd\fR(5), -\fBsecuretty\fR(5), -\fBgetty\fR(8)\&. diff --git a/man/zh_CN/man1/newgrp.1 b/man/zh_CN/man1/newgrp.1 deleted file mode 100644 index bab29c26..00000000 --- a/man/zh_CN/man1/newgrp.1 +++ /dev/null @@ -1,98 +0,0 @@ -'\" t -.\" Title: newgrp -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "NEWGRP" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -newgrp \- ē™»å½•åˆ°äø€äøŖę–°ē»„ -.SH "大纲" -.HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIgroup\fR] -.SH "ęčæ°" -.PP -The -\fBnewgrp\fR -command is used to change the current group ID during a login session\&. If the optional -\fB\-\fR -flag is given, the user\*(Aqs environment will be reinitialized as though the user had logged in, otherwise the current environment, including current working directory, remains unchanged\&. -.PP -\fBnewgrp\fR -changes the current real group ID to the named group, or to the default group listed in -/etc/passwd -if no group name is given\&. -\fBnewgrp\fR -also tries to add the group to the user groupset\&. If not root, the user will be prompted for a password if she does not have a password (in -/etc/shadow -if this user has an entry in the shadowed password file, or in -/etc/passwd -otherwise) and the group does, or if the user is not listed as a member and the group has a password\&. The user will be denied access if the group password is empty and the user is not listed as a member\&. -.PP -If there is an entry for this group in -/etc/gshadow, then the list of members and the password of this group will be taken from this file, otherwise, the entry in -/etc/group -is considered\&. -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -允许\(lqsyslog\(rq记录 -\fBsg\fR -ēš„ę“»åŠØć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBsu\fR(1), -\fBsg\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/zh_CN/man1/passwd.1 b/man/zh_CN/man1/passwd.1 deleted file mode 100644 index 8c2050b1..00000000 --- a/man/zh_CN/man1/passwd.1 +++ /dev/null @@ -1,347 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "PASSWD" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -passwd \- ę›“ę”¹ē”Øęˆ·åÆ†ē  -.SH "大纲" -.HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fI选锹\fR] [\fI登录\fR] -.SH "ęčæ°" -.PP -\fBpasswd\fR -å‘½ä»¤ē”Øę„ę›“ę”¹ē”Øęˆ·č“¦ęˆ·ēš„åÆ†ē ć€‚ę™®é€šē”Øęˆ·é€šåøøåŖę›“ę”¹å…¶č‡Ŗå·±č“¦ęˆ·ēš„åÆ†ē ļ¼Œč€Œč¶…ēŗ§ē”Øęˆ·åÆä»„ę›“ę”¹ä»»ä½•č“¦ęˆ·ēš„åÆ†ē ć€‚\fBpasswd\fR -ä¹Ÿę›“ę”¹č“¦ęˆ·ęˆ–ē›øå…³ēš„åÆ†ē ęœ‰ę•ˆęœŸć€‚ -.SS "密码曓改" -.PP -å¦‚ęžœęœ‰ę—§åÆ†ē ļ¼Œé¦–å…ˆęē¤ŗē”Øęˆ·č¾“å…„ę—§åÆ†ē ć€‚åŠ åÆ†čæ™äøŖåÆ†ē ē„¶åŽå’Œå­˜å‚Øēš„åÆ†ē čæ›č”ŒęÆ”č¾ƒć€‚ē”Øęˆ·åŖęœ‰äø€ę¬”ęœŗä¼šč¾“å…„ę­£ē”®åÆ†ē ć€‚å…č®øč¶…ēŗ§ē”Øęˆ·ē•„čæ‡čæ™äøŖę­„éŖ¤ļ¼Œä»„ä¾æę›“ę”¹åæ˜č®°äŗ†ēš„åÆ†ē ć€‚ -.PP -č¾“å…„äŗ†åÆ†ē ä¹‹åŽļ¼Œä¼šę£€ęŸ„åÆ†ē å¹“é¾„äæ”ęÆļ¼Œä»„ęŸ„ēœ‹ę­¤ę—¶ę˜Æå¦å…č®øē”Øęˆ·ę›“ę”¹åÆ†ē ć€‚å¦‚ęžœäøå…č®øļ¼Œ\fBpasswd\fR -ę‹’ē»ę›“ę”¹åÆ†ē ļ¼Œē„¶åŽé€€å‡ŗć€‚ -.PP -ęē¤ŗē”Øęˆ·č¾“å…„äø¤ę¬”ę–°åÆ†ē ć€‚ē¬¬äŗŒę¬”å’Œē¬¬äø€ę¬”čæ›č”ŒęÆ”č¾ƒļ¼Œå¹¶äø”éœ€č¦ē›øåŒę‰čƒ½ę›“ę”¹åÆ†ē ć€‚ -.PP -ē„¶åŽļ¼Œęµ‹čÆ•åÆ†ē ēš„č“Ÿč“£ēØ‹åŗ¦ć€‚äø€čˆ¬ę„č®²ļ¼ŒåÆ†ē åŗ”čÆ„åŒ…å« 6 到 8 ä½å­—ē¬¦ļ¼Œä»Žäø‹č¾¹ēš„äø€äøŖęˆ–å¤šäøŖé›†åˆäø­é€‰ę‹©ļ¼š -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -å°å†™å­—ęÆ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ę•°å­— 0 到 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ę ‡ē‚¹ē¬¦å· -.RE -.PP -åæ…é”»č¦ē•™ę„äøčƒ½åŒ…å«ē³»ē»Ÿé»˜č®¤ēš„ę“¦é™¤å’Œę€ę­»å­—ē¬¦ć€‚\fBpasswd\fR -ä¼šę‹’ē»å¤ę‚åŗ¦äøę»”č¶³č¦ę±‚ēš„åÆ†ē ć€‚ -.SS "å…³äŗŽē”Øęˆ·åÆ†ē ēš„ęē¤ŗ" -.PP -åÆ†ē ēš„å®‰å…Øę€§ä¾čµ–äŗŽåŠ åÆ†ē®—ę³•ēš„å¼ŗåŗ¦å’ŒåÆ†é’„ē©ŗé—“ēš„å¤§å°ć€‚ę—§ēš„ -\fIUNIX\fR -ē³»ē»ŸåŠ åÆ†ē®—ę³•åŸŗäŗŽ NBS DES ē®—ę³•ć€‚ęŽØčä½æē”Øę›“ę–°ēš„ē®—ę³•(ęŸ„ēœ‹ -\fBENCRYPT_METHOD\fR)ć€‚åÆ†é’„ē©ŗé—“ēš„å¤§å°ä¾čµ–äŗŽé€‰ę‹©ēš„åÆ†ē ēš„éšęœŗę€§ć€‚ -.PP -ē”±äŗŽē²—åæƒåœ°ęˆ–å¤„ē†é€‰ę‹©åÆ†ē ļ¼Œä¼šå±åŠåÆ†ē ēš„å®‰å…Øć€‚ē”±äŗŽčæ™äøŖåŽŸå› ļ¼Œę‚Øäøåŗ”čÆ„é€‰ę‹©å‡ŗēŽ°åœØčÆå…øäø­ęˆ–č€…åæ…é”»č¦å†™äø‹ę„ę‰čƒ½č®°ä½ēš„åÆ†ē ć€‚åÆ†ē ä¹Ÿäøåŗ”čÆ„ę˜Æäø€äøŖåå­—ć€č®øåÆčÆå·ć€ē”Ÿę—„ęˆ–č€…č”—é“å·ć€‚ę‰€ęœ‰čæ™äŗ›åÆä»„ē”ØäŗŽēŒœęµ‹ę„ęŸå®³ē³»ē»Ÿå®‰å…Øć€‚ -.PP -You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength -.SH "选锹" -.PP -\fBpasswd\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -ę­¤é€‰é”¹åŖčƒ½å’Œ -\fB\-S\fR -äø€čµ·ä½æē”Øļ¼Œę„ę˜¾ē¤ŗę‰€ęœ‰ē”Øęˆ·ēš„ēŠ¶ę€ć€‚ -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR -.RS 4 -åˆ é™¤ē”Øęˆ·åÆ†ē (让它为空)ć€‚čæ™ę˜Æē¦ē”Øäø€äøŖē”Øęˆ·åÆ†ē ēš„åæ«é€Ÿę–¹ę³•ć€‚å®ƒå°†č®¾ē½®ē»™å‡ŗåē§°ēš„č“¦ęˆ·ć€‚ -.RE -.PP -\fB\-e\fR, \fB\-\-expire\fR -.RS 4 -č®©äø€äøŖč“¦ęˆ·ēš„åÆ†ē ē«‹å³čæ‡ęœŸć€‚čæ™åÆä»„å¼ŗåˆ¶äø€äøŖē”Øęˆ·äø‹ę¬”ē™»å½•ę—¶ę›“ę”¹åÆ†ē ć€‚ -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-i\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR -.RS 4 -ę­¤é€‰é”¹ē”ØäŗŽåœØåÆ†ē čæ‡ęœŸäø€å®šå¤©ę•°ä¹‹åŽē¦ē”Øč“¦ęˆ·ć€‚äø€äøŖē”Øęˆ·č“¦ęˆ·åÆ†ē å·²ē»čæ‡ęœŸ -\fIINACTIVE\fR -å¤©ä¹‹åŽļ¼Œē”Øęˆ·å°†äøčƒ½å†ē™»å½•čæ›č“¦ęˆ·ć€‚ -.RE -.PP -\fB\-k\fR, \fB\-\-keep\-tokens\fR -.RS 4 -č”Øē¤ŗåÆ†ē ę›“ę”¹åŖåŗ”čÆ„å› äøŗč®¤čÆå£ä»¤(密码)čæ‡ęœŸę›“ę”¹ć€‚ē”Øęˆ·åøŒęœ›äæęŒä»–ä»¬å°šęœŖčæ‡ęœŸēš„å£ä»¤ć€‚ -.RE -.PP -\fB\-l\fR, \fB\-\-lock\fR -.RS 4 -é”å®šęŒ‡å®šč“¦ęˆ·ēš„åÆ†ē ć€‚ę­¤é€‰é”¹é€ščæ‡å°†åÆ†ē ę›“ę”¹äøŗäø€äøŖäøåÆčƒ½äøŽåŠ åÆ†å€¼åŒ¹é…ēš„å€¼ę„ē¦ē”Ø(å®ƒåœØåÆ†ē å¼€å¤“ę·»åŠ äø€äøŖ\(lq!\(rq)怂 -.sp -ę³Øę„ļ¼Œčæ™å¹¶ę²”ęœ‰ē¦ē”Øę­¤č“¦ęˆ·ć€‚ē”Øęˆ·ä»ē„¶åÆä»„é€ščæ‡å…¶å®ƒč®¤čÆę–¹å¼(如 SSH 密码)ę„ē™»å½•ć€‚č¦ē¦ē”Øę­¤č“¦ęˆ·ļ¼Œē®”ē†å‘˜éœ€č¦ä½æē”Ø -\fBusermod \-\-expiredate 1\fR -(č®¾ē½®č“¦ęˆ·ēš„čæ‡ęœŸę—¶é—“äøŗ1970幓1月2ę—„)怂 -.sp -č¢«é”å®šäŗ†åÆ†ē ēš„ē”Øęˆ·äøå…č®øę›“ę”¹åÆ†ē ć€‚ -.RE -.PP -\fB\-n\fR, \fB\-\-mindays\fR\ \&\fIMIN_DAYS\fR -.RS 4 -åœØåÆ†ē ę›“ę”¹ä¹‹é—“ēš„ęœ€å°å¤©ę•°č®¾ē½®äøŗ -\fIMIN_DAYS\fRć€‚ę­¤å­—ę®µäø­ēš„ 0 å€¼č”Øē¤ŗē”Øęˆ·åÆä»„åœØä»»ä½•ę—¶é—“ę›“ę”¹å…¶åÆ†ē ć€‚ -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -å®‰é™ęØ”å¼ć€‚ -.RE -.PP -\fB\-r\fR, \fB\-\-repository\fR\ \&\fIREPOSITORY\fR -.RS 4 -在 -\fIREPOSITORY\fR -中曓改密码 -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-S\fR, \fB\-\-status\fR -.RS 4 -ę˜¾ē¤ŗč“¦ęˆ·ēŠ¶ę€äæ”ęÆć€‚ēŠ¶ę€äæ”ęÆåŒ…å« 7 äøŖå­—ę®µć€‚é¦–äøŖå­—ę®µę˜Æē”Øęˆ·ēš„ē™»å½•åļ¼Œē¬¬äŗŒäøŖå­—ę®µč”Øē¤ŗē”Øęˆ·č“¦ęˆ·ę˜Æå¦å·²ē»é”å®šåÆ†ē (L)ć€ę²”ęœ‰åÆ†ē  (NP)ęˆ–č€…åÆ†ē åÆē”Ø(P)ļ¼Œē¬¬äø‰äøŖå­—ę®µē»™å‡ŗęœ€åŽäø€ę¬”ę›“ę”¹åÆ†ē ēš„ę—„ęœŸć€‚ęŽ„äø‹ę„ēš„å››äøŖå­—ę®µåˆ†åˆ«ę˜ÆåÆ†ē ēš„ęœ€å°å¹“é¾„ć€ęœ€å¤§å¹“é¾„ć€č­¦å‘ŠęœŸå’Œē¦ē”ØęœŸć€‚čæ™äŗ›å¹“é¾„ä»„å¤©äøŗå•ä½č®”ē®—ć€‚ -.RE -.PP -\fB\-u\fR, \fB\-\-unlock\fR -.RS 4 -č§£é”ęŒ‡å®šē”Øęˆ·ēš„åÆ†ē ć€‚ę­¤ę“ä½œé€ščæ‡å°†åÆ†ē ę”¹å›žå…ˆå‰å€¼(ę”¹å›žä½æē”Ø -\fB\-l\fR -ä¹‹å‰ēš„å€¼)é‡ę–°åÆē”ØåÆ†ē ć€‚ -.RE -.PP -\fB\-w\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR -.RS 4 -č®¾ē½®åœØč¦ę±‚ę›“ę”¹åÆ†ē ä¹‹å‰č­¦å‘Šēš„å¤©ę•°ć€‚\fIWARN_DAYS\fR -é€‰é”¹ę˜ÆåœØåÆ†ē čæ‡ęœŸä¹‹å‰ęå‰č­¦å‘Šēš„å¤©ę•°ć€‚ -.RE -.PP -\fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAYS\fR -.RS 4 -č®¾ē½®åÆ†ē ä»ē„¶ęœ‰ę•ˆēš„ęœ€å¤§å¤©ę•°ć€‚\fIMAX_DAYS\fR -ä¹‹åŽļ¼ŒåÆ†ē ä¼šč¦ę±‚ę›“ę”¹ć€‚ -.RE -.SH "CAVEATS" -.PP -åÆ†ē å¤ę‚ę€§ę£€ęŸ„åœØęÆå°ęœŗå™Øé—“äøåŒć€‚ē”Øęˆ·åŗ”čÆ„é€‰ę‹©é€‚åˆēš„å°½é‡å¤ę‚ēš„åÆ†ē ć€‚ -.PP -åœØåÆåŠØäŗ† NIS ēš„ē³»ē»ŸäøŠļ¼Œå¦‚ęžœę²”ęœ‰ē™»å½• NIS ęœåŠ”å™Øļ¼Œē”Øęˆ·ęˆ–č®øäøčƒ½ę›“ę”¹č‡Ŗå·±ēš„åÆ†ē ć€‚ -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -čæ™å®šä¹‰äŗ†ē³»ē»ŸåŠ åÆ†åÆ†ē ēš„é»˜č®¤ē®—ę³•(å¦‚ęžœę²”ęœ‰åœØå‘½ä»¤č”ŒäøŠęŒ‡å®šē®—ę³•)怂 -.sp -åÆä»„ä½æē”Øå¦‚äø‹å€¼ļ¼š\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -ę³Øę„ļ¼Œę­¤å‚ę•°ä¼šč¦†ē›– -\fBMD5_CRYPT_ENAB\fR -å˜é‡ć€‚ -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -č”Øē¤ŗåÆ†ē ę˜Æå¦åæ…é”»ä½æē”ØåŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å¦‚ęžœč®¾äøŗ -\fIyes\fRļ¼Œę–°åÆ†ē å°†ä½æē”ØåÆä»„å’Œę–°ē‰ˆ FreeBSD å…¼å®¹ēš„åŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å®ƒę”ÆęŒę— é™é•æåŗ¦ēš„åÆ†ē ä»„åŠę›“é•æēš„ē›å­—ē¬¦äø²ć€‚å¦‚ęžœę‚Øéœ€č¦å°†åŠ åÆ†ēš„åÆ†ē å¤åˆ¶åˆ°å…¶å®ƒäøē†č§£ę–°ē®—ę³•ēš„ē³»ē»Ÿļ¼Œč®¾ē½®äøŗ -\fIno\fRć€‚é»˜č®¤å€¼ę˜Æ -\fIno\fR怂 -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -ę­¤å˜é‡å·²ē»åŗŸå¼ƒć€‚ę‚Øåŗ”čÆ„ä½æē”Ø -\fBENCRYPT_METHOD\fR怂 -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (boolean) -.RS 4 -åÆ¹åÆ†ē ę›“ę”¹åÆē”Øé™„åŠ ę£€ęŸ„ć€‚ -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (boolean) -.RS 4 -å¦‚ęžœę˜Æ rootļ¼Œč­¦å‘Šå¼±åÆ†ē ļ¼Œä½†ę˜Æä»ē„¶å…č®øä½æē”Øć€‚ -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (number) -.RS 4 -åÆä»„å°čÆ•ę›“ę”¹åÆ†ē ēš„ęœ€å¤§ę¬”ę•°(å¤Ŗå®¹ę˜“)怂 -.RE -.PP -\fBPASS_MAX_LEN\fR (number), \fBPASS_MIN_LEN\fR (number) -.RS 4 -crypt() ēš„ęœ‰ę•ˆå­—ē¬¦ä½ę•°ć€‚\fBPASS_MAX_LEN\fR -默认是 8ļ¼Œé™¤éžę‚Øč‡Ŗå·±ēš„ crypt() ę›“å„½ļ¼Œå¦åˆ™äøč¦ę›“ę”¹ć€‚å¦‚ęžœ -\fBMD5_CRYPT_ENAB\fR -设为 -\fIyes\fRļ¼Œä¼šč¢«åæ½ē•„ć€‚ -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -\fBENCRYPT_METHOD\fR -设为 -\fISHA256\fR -ꈖ -\fISHA512\fR -ę—¶ļ¼Œę­¤é”¹ē”®å®šåŠ åÆ†ē®—ę³•é»˜č®¤ä½æē”Ø SHA 轮转数目(å½“č½®č½¬ę•°ę²”ęœ‰é€ščæ‡å‘½ä»¤č”ŒęŒ‡å®šę—¶)怂 -.sp -ä½æē”Øå¾ˆå¤šč½®č½¬ļ¼Œä¼šč®©ęš“åŠ›ē “č§£ę›“åŠ å›°éš¾ć€‚ä½†ę˜Æéœ€č¦ę³Øę„ļ¼Œč®¤čÆē”Øęˆ·ę—¶ä¹Ÿä¼šéœ€č¦ę›“å¤šēš„ CPU 资源。 -.sp -å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œlibc ä¼šé€‰ę‹©é»˜č®¤ēš„č½®č½¬ę•°(5000)怂 -.sp -å€¼åæ…é”»åœØ 1000 \- 999,999,999 之闓。 -.sp -å¦‚ęžœåŖč®¾ē½®äŗ†äø€äøŖ -\fBSHA_CRYPT_MIN_ROUNDS\fR -ꈖ -\fBSHA_CRYPT_MAX_ROUNDS\fR -å€¼ļ¼Œå°±ä¼šä½æē”Øčæ™äøŖå€¼ć€‚ -.sp -å¦‚ęžœ -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fRļ¼Œå°†ä¼šä½æē”Øå¤§ēš„é‚£äøŖć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.SH "退出值" -.PP -\fBpasswd\fR -å‘½ä»¤é€€å‡ŗļ¼Œå¹¶čæ”å›žå¦‚äø‹å€¼ļ¼š -.PP -\fI0\fR -.RS 4 -成功 -.RE -.PP -\fI1\fR -.RS 4 -ęƒé™äøå¤Ÿ -.RE -.PP -\fI2\fR -.RS 4 -ę— ę•ˆēš„é€‰é”¹ē»„åˆ -.RE -.PP -\fI3\fR -.RS 4 -ę„å¤–ēš„å¤±č“„ļ¼Œä»€ä¹ˆä¹Ÿę²”ęœ‰åšć€‚ -.RE -.PP -\fI4\fR -.RS 4 -ę„å¤–ēš„å¤±č“„ļ¼Œpasswd -文件丢失 -.RE -.PP -\fI5\fR -.RS 4 -passwd -ę–‡ä»¶åæ™ļ¼ŒčÆ·é‡čÆ• -.RE -.PP -\fI6\fR -.RS 4 -ē»™äŗ†é€‰é”¹äø€äøŖę— ę•ˆēš„å‚ę•° -.RE -.SH "å‚č§" -.PP -\fBchpasswd\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBlogin.defs\fR(5),\fBusermod\fR(8)\&. diff --git a/man/zh_CN/man1/sg.1 b/man/zh_CN/man1/sg.1 deleted file mode 100644 index b60daa9f..00000000 --- a/man/zh_CN/man1/sg.1 +++ /dev/null @@ -1,95 +0,0 @@ -'\" t -.\" Title: sg -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "SG" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -sg \- ä»„äøåŒēš„ē»„ ID ę‰§č”Œå‘½ä»¤ -.SH "大纲" -.HP \w'\fBsg\fR\ 'u -\fBsg\fR [\-] [组\ [\-c]\ 命令] -.SH "ęčæ°" -.PP -\fBsg\fR -å‘½ä»¤ē±»ä¼¼äŗŽ -\fBnewgrp\fRļ¼Œä½†ę˜ÆåÆä»„ęŽ„å—äø€äøŖå‘½ä»¤ć€‚čæ™äøŖå‘½ä»¤å°†ä¼šä½æē”Ø -/bin/sh -shell ę„ę‰§č”Œć€‚åÆ¹äŗŽę‚ØåÆä»„ä½æē”Ø -\fBsg\fR -åÆåŠØēš„å¤šę•° shellļ¼Œę‚Øéœ€č¦å°†å¤šäøŖčÆēš„å‘½ä»¤ē”Øå¼•å·å¼•čµ·ę„ć€‚\fBnewgrp\fR -和 -\fBsg\fR -ä¹‹é—“ēš„å¦å¤–äø€äøŖäøåŒē‚¹ę˜ÆęŸäŗ› shell 对 -\fBnewgrp\fR -ęœ‰ē‰¹ę®ŠåÆ¹å¾…ļ¼Œä¼šä½æē”Ø -\fBnewgrp\fR -åˆ›å»ŗēš„äø€äøŖę–°ēš„ shell å®žä¾‹ę›æę¢č‡Ŗčŗ«ć€‚čæ™äøä¼šå‘ē”ŸåœØ -\fBsg\fR -čŗ«äøŠļ¼Œę‰€ä»„ä»Ž -\fBsg\fR -é€€å‡ŗåŽļ¼Œę‚Øä¼ščæ”å›žåˆ°å…ˆå‰ēš„ē»„ ID怂 -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -允许\(lqsyslog\(rq记录 -\fBsg\fR -ēš„ę“»åŠØć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBid\fR(1), -\fBlogin\fR(1), -\fBnewgrp\fR(1), -\fBsu\fR(1), -\fBgpasswd\fR(1), -\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/zh_CN/man1/su.1 b/man/zh_CN/man1/su.1 deleted file mode 100644 index 9d5cdca0..00000000 --- a/man/zh_CN/man1/su.1 +++ /dev/null @@ -1,425 +0,0 @@ -'\" t -.\" Title: su -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē”Øęˆ·å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "SU" "1" "2016-09-18" "shadow\-utils 4\&.4" "ē”Øęˆ·å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -su \- ę›“ę”¹ē”Øęˆ· ID ęˆ–ęˆäøŗč¶…ēŗ§ē”Øęˆ· -.SH "大纲" -.HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fI选锹\fR] [\fIē”Øęˆ·å\fR] -.SH "ęčæ°" -.PP -\fBsu\fR -ē”ØäŗŽč®©ē”Øęˆ·åœØē™»å½•ęœŸé—“å˜ęˆå¦å¤–äø€äøŖē”Øęˆ·ć€‚åŽč¾¹äøåø¦ -\fBusername\fR -ä½æē”Øę—¶ļ¼Œ\fBsu\fR -é»˜č®¤ä¼šå˜ęˆč¶…ēŗ§ē”Øęˆ·ć€‚åÆé€‰ēš„é€‰é”¹ -\fB\-\fRļ¼ŒåÆä»„ē”ØäŗŽęä¾›äø€äøŖē±»ä¼¼äŗŽē”Øęˆ·ē›“ęŽ„ē™»å½•ēš„ēŽÆå¢ƒļ¼Œē”Øęˆ·åÆčƒ½ęœŸęœ›ę˜Æčæ™ę ·ēš„ć€‚ -.PP -é™„åŠ å‚ę•°åÆä»„åœØē”Øęˆ·åä¹‹åŽęä¾›ļ¼Œčæ™ę—¶ļ¼Œå°†ä¼šęŠŠä»–ä»¬ęä¾›ē»™ē”Øęˆ·ēš„ē™»å½• shellć€‚ē‰¹åˆ«åœ°ļ¼Œå‚ę•° -\fB\-c\fR -å°†ä¼šä½æäø‹äø€äøŖå‚ę•°č¢«å¤šę•°å‘½ä»¤č§£é‡Šå™Øč§†äøŗå‘½ä»¤ć€‚čæ™äøŖå‘½ä»¤ä¼šč¢« -/etc/passwd -äø­äøŗē›®ę ‡ē”Øęˆ·ęŒ‡å®šēš„ shell ę‰§č”Œć€‚ -.PP -ę‚ØåÆä»„ä½æē”Ø -\fB\-\-\fR -å‚ę•°å°† -\fBsu\fR -é€‰é”¹å’Œęä¾›ē»™ shell ēš„å‚ę•°åˆ†éš”å¼€ę„ć€‚ -.PP -å¦‚ęžœåˆé€‚ļ¼Œå°†ęē¤ŗē”Øęˆ·č¾“å…„äø€äøŖåÆ†ē ć€‚č¾“å…„ę— ę•ˆēš„åÆ†ē ä¼šäŗ§ē”Ÿäø€äøŖé”™čÆÆę¶ˆęÆć€‚ę‰€ęœ‰ēš„å°čÆ•ļ¼Œę— č®ŗęˆåŠŸčæ˜ę˜Æå¤±č“„ļ¼Œéƒ½ä¼šč¢«č®°å½•ļ¼Œä»„ę£€ęµ‹åÆ¹ē³»ē»Ÿēš„ę»„ē”Øć€‚ -.PP -å½“å‰ēŽÆå¢ƒä¼šä¼ é€’ē»™ę–° shellć€‚åÆ¹äŗŽę™®é€šē”Øęˆ·ļ¼Œ\fB$PATH\fR -ēš„å€¼é‡ē½®äøŗ -/bin:/usr/binļ¼Œč€ŒåÆ¹äŗŽč¶…ēŗ§ē”Øęˆ·åˆ™ę˜Æ -/sbin:/bin:/usr/sbin:/usr/binć€‚čæ™ä¼šéš -/etc/login\&.defs -äø­ēš„ -\fBENV_PATH\fR -和 -\fBENV_SUPATH\fR -å€¼ę”¹å˜ć€‚ -.PP -åœØē™»å½• shell äø­ä»„ē¬¬äø€äøŖå­—ē¬¦ę˜Æ\(lq*\(rqę ‡ę³Øēš„ę˜Æå­ē³»ē»Ÿē™»å½•ć€‚ē»™å®šēš„äø»ē›®å½•å°†č¢«ē”ØäŗŽē”Øęˆ·å®žé™…ē™»å½•ēš„ę–°ę–‡ä»¶ē³»ē»Ÿēš„ę ¹ć€‚ -.SH "选锹" -.PP -\fBsu\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-c\fR, \fB\-\-command\fR\ \&\fICOMMAND\fR -.RS 4 -é€ščæ‡ä½æē”Øå…¶ -\fB\-c\fR -é€‰é”¹ļ¼ŒęŒ‡å®šäø€äøŖē”± shell čæč”Œēš„å‘½ä»¤ć€‚ -.sp -The executed command will have no controlling terminal\&. This option cannot be used to execute interactive programs which need a controlling TTY\&. -.RE -.PP -\fB\-\fR, \fB\-l\fR, \fB\-\-login\fR -.RS 4 -ęä¾›äø€äøŖē±»ä¼¼äŗŽē”Øęˆ·ē›“ęŽ„ē™»å½•ēš„ēŽÆå¢ƒļ¼Œē”Øęˆ·åÆčƒ½ä¼šåøŒęœ›čæ™ę ·ć€‚ -.sp -When -\fB\-\fR -is used, it must be specified before any -\fBusername\fR\&. For portability it is recommended to use it as last option, before any -\fBusername\fR\&. The other forms (\fB\-l\fR -and -\fB\-\-login\fR) do not have this restriction\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -å°†ä½æē”Øēš„ shell怂 -.sp -ä½æē”Øēš„ shell åœØå¦‚äø‹äø­é€‰ę‹©(é«˜ä¼˜å…ˆēŗ§åœØå‰):.PP -.RS 4 -é€ščæ‡ \-\-shell ęŒ‡å®šēš„ shell怂 -.RE -.PP -.RS 4 -å¦‚ęžœä½æē”Øäŗ† -\fB\-\-preserve\-environment\fR,shell 将由 -\fB$SHELL\fR -ēŽÆå¢ƒå˜é‡ęŒ‡å®šć€‚ -.RE -.PP -.RS 4 -在 -/etc/passwd -ēš„ē›øåŗ”é”¹äø­äøŗē›®ę ‡ē”Øęˆ·ęŒ‡å®šēš„ shell怂 -.RE -.PP -.RS 4 -å¦‚ęžœę— ę³•é€ščæ‡ä»„äøŠåŠžę³•ę‰¾åˆ°äø€äøŖ shellļ¼Œåˆ™ä½æē”Ø -/bin/sh怂 -.RE -.sp -å¦‚ęžœē›®ę ‡ē”Øęˆ·ēš„ shell ę˜Æęœ‰é™åˆ¶ēš„(å³ļ¼Œ/etc/passwd -äø­ē”Øęˆ·é”¹äø­ēš„ shell å­—ę®µę²”ęœ‰åœØ -/etc/shells -äø­åˆ—å‡ŗ)ļ¼Œé‚£ä¹ˆ -\fB\-\-shell\fR -é€‰é”¹ęˆ– -\fB$SHELL\fR -ēŽÆå¢ƒå˜é‡äøä¼šåø¦å…„č“¦ęˆ·ļ¼Œé™¤éž -\fBsu\fR -是被 root č°ƒē”Øēš„ć€‚ -.RE -.PP -\fB\-m\fR, \fB\-p\fR, \fB\-\-preserve\-environment\fR -.RS 4 -äæē•™å½“å‰ēŽÆå¢ƒļ¼Œé™¤éžļ¼š.PP -\fB$PATH\fR -.RS 4 -ę ¹ę® -/etc/login\&.defs -äø­ēš„ -\fBENV_PATH\fR -or -\fBENV_SUPATH\fR -é€‰é”¹é‡č®¾ (čÆ·å¾€äø‹ēœ‹) -.RE -.PP -\fB$IFS\fR -.RS 4 -å¦‚ęžœå·²ē»č®¾ē½®äŗ†ļ¼Œé‡č®¾ -\(lq\(rq怂 -.RE -.sp -å¦‚ęžœē”Øęˆ·ēš„ shell å—é™ļ¼Œę­¤é€‰é”¹ę— ę•ˆ (é™¤éžę˜Æ root č°ƒē”Øēš„ -\fBsu\fR)怂 -.sp -ę³Øę„ļ¼ŒēŽÆå¢ƒēš„é»˜č®¤č”Œäøŗå¦‚äø‹ļ¼š.PP -.RS 4 -The -\fB$HOME\fR, -\fB$SHELL\fR, -\fB$USER\fR, -\fB$LOGNAME\fR, -\fB$PATH\fR, 和 -\fB$IFS\fR -čæ™äŗ›ēŽÆå¢ƒå˜é‡ä¼šč¢«é‡ē½®ć€‚ -.RE -.PP -.RS 4 -å¦‚ęžœę²”ęœ‰ä½æē”Ø -\fB\-\-login\fRļ¼Œå¤åˆ¶ēŽÆå¢ƒļ¼ŒäøŠčæ°å‡ äøŖå˜é‡é™¤å¤–ć€‚ -.RE -.PP -.RS 4 -å¦‚ęžœä½æē”Øäŗ† -\fB\-\-login\fRļ¼Œå¦‚ęžœč®¾ē½®äŗ† -\fB$TERM\fR, -\fB$COLORTERM\fR, -\fB$DISPLAY\fR -和 -\fB$XAUTHORITY\fRļ¼Œčæ™äŗ›ēŽÆå¢ƒå˜é‡ä¹Ÿä¼šč¢«é‡ē½®ć€‚ -.RE -.PP -.RS 4 -å¦‚ęžœä½æē”Øäŗ† -\fB\-\-login\fRļ¼ŒēŽÆå¢ƒå˜é‡ -\fB$TZ\fR, -\fB$HZ\fR, and -\fB$MAIL\fR -ä¹Ÿä¼šę ¹ę® -/etc/login\&.defs -äø­ēš„é€‰é”¹ -\fBENV_TZ\fR, -\fBENV_HZ\fR, -\fBMAIL_DIR\fR -和 -\fBMAIL_FILE\fR -é‡ē½® (čÆ·ēœ‹äø‹č¾¹)怂 -.RE -.PP -.RS 4 -å¦‚ęžœä½æē”Øäŗ† -\fB\-\-login\fRļ¼Œå…¶å®ƒēŽÆå¢ƒå˜é‡åÆčƒ½ä¼šę ¹ę® -\fBENVIRON_FILE\fR -ę–‡ä»¶ę„č®¾ē½®(čÆ·ēœ‹äø‹č¾¹)怂 -.RE -.RE -.SH "CAVEATS" -.PP -ę­¤ē‰ˆęœ¬ēš„ -\fBsu\fR -ęœ‰å¾ˆå¤šē¼–čÆ‘é€‰é”¹ļ¼ŒåœØęŸäŗ›ęœŗå™ØäøŠļ¼ŒåÆčƒ½åŖä½æē”Øäŗ†å…¶äø­ēš„äø€éƒØåˆ†ć€‚ -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBCONSOLE\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œęˆ–č€…ę˜ÆåŒ…å«č®¾å¤‡å(ę²”č”Œäø€äøŖ)ēš„ę–‡ä»¶ēš„å®Œę•“č·Æå¾„åļ¼Œęˆ–č€…ę˜Æ\(lq:\(rqåˆ†éš”ēš„č®¾å¤‡ååˆ—č”Øć€‚å°†åŖä¼šåœØčæ™å†™č®¾å¤‡äøŠå…č®ø root 登录。 -.sp -å¦‚ęžœę²”ęœ‰å®šä¹‰ļ¼ŒåÆä»„åœØä»»ä½•č®¾å¤‡äøŠä½æē”Ø root怂 -.sp -ęŒ‡å®šēš„č®¾å¤‡ę—¶äøåø¦ /dev/ å‰ē¼€ć€‚ -.RE -.PP -\fBCONSOLE_GROUPS\fR (string) -.RS 4 -åœØęŽ§åˆ¶å°ē™»å½•ę—¶ļ¼Œę·»åŠ åˆ°ē”Øęˆ·é™„åŠ ē»„é›†äø­ēš„ē»„åˆ—č”Ø(就如 CONSOLE ę‰€ē”®å®šēš„)ć€‚é»˜č®¤ę˜Æę— ć€‚ -ä½æē”Øę—¶éœ€č¦ę³Øę„ļ¼ščæ™åÆčƒ½ä½æē”Øęˆ·čŽ·å–čæ™äŗ›ē»„ēš„ę°øä¹…ęƒé™ļ¼Œē”šč‡³ē™»å½•åˆ°ēš„äøę˜Æę­¤ęŽ§åˆ¶å°ę—¶ć€‚ -.RE -.PP -\fBDEFAULT_HOME\fR (boolean) -.RS 4 -å¦‚ęžœäøčƒ½ cd åˆ°äø»ē›®å½•ę—¶ļ¼ŒčÆ“ę˜Žę˜Æå¦å…č®øē™»å½•ć€‚é»˜č®¤ę˜Æå¦ć€‚ -.sp -å¦‚ęžœč®¾ē½®äøŗ -\fIyes\fRļ¼Œå¦‚ęžœäøčƒ½ cd åˆ°äø»ē›®å½•ę—¶ļ¼Œē”Øęˆ·å°†ä¼šē™»å½•åˆ°ę ¹ē›®å½•(/)怂 -.RE -.PP -\fBENV_HZ\fR (string) -.RS 4 -å¦‚ęžœč®¾ē½®äŗ†ļ¼Œå°†ä¼šē”ØäŗŽåœØē”Øęˆ·ē™»å½•ę—¶å®šä¹‰ HZ ēŽÆå¢ƒå˜é‡ć€‚å€¼åæ…é”»ä»„ -\fIHZ=\fR -开夓。Linux äøŠēš„åøøē”Øå€¼ę˜Æ -\fIHZ=100\fR怂 -.RE -.PP -\fBENVIRON_FILE\fR (string) -.RS 4 -å¦‚ęžœę­¤ę–‡ä»¶å­˜åœØļ¼Œå¹¶äø”åÆčÆ»ļ¼Œå°†ä¼šä»Žäø­čÆ»å–ē™»å½•ēŽÆå¢ƒć€‚ę‰€ęœ‰č”Œéƒ½åæ…é”»ę˜Æ name=value ēš„ę ¼å¼ć€‚ -.sp -仄 # å¼€å¤“ēš„č”Œå°†č§†äøŗę³Øé‡Šļ¼Œå¹¶č¢«åæ½ē•„ć€‚ -.RE -.PP -\fBENV_PATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (string) -.RS 4 -å¦‚ęžœč®¾ē½®äŗ†ļ¼Œå®ƒå°†ē”ØäŗŽåœØē”Øęˆ·ē™»å½•ę—¶å®šä¹‰ TZ ēŽÆå¢ƒå˜é‡ć€‚ę­¤å€¼åÆä»„ę˜Æä»„ -\fITZ=\fR -å¼€å¤“ēš„ę—¶åŒŗå(例如 -\fITZ=CST6CDT\fR)ļ¼Œęˆ–č€…ę˜ÆåŒ…å«ę—¶åŒŗč§„åˆ™ēš„ę–‡ä»¶å®Œę•“č·Æå¾„(例如 -/etc/tzname)怂 -.sp -å¦‚ęžœå°†å®Œę•“č·Æå¾„ęŒ‡å®šäøŗäŗ†äø€äøŖäøå­˜åœØęˆ–äøåÆčÆ»ēš„ę–‡ä»¶ļ¼Œåˆ™é»˜č®¤ä½æē”Ø -\fITZ=CST6CDT\fR怂 -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -ę­¤å­—ē¬¦äø²ē”ØäŗŽęē¤ŗč¾“å…„åÆ†ē ć€‚é»˜č®¤ę˜Æ "Password: "ļ¼Œęˆ–č€…ēæ»čÆ‘äŗ†ēš„ē»“ęžœ(汉语中翻译为了\(lqåÆ†ē ļ¼š\(rq)ć€‚å¦‚ęžœč®¾ē½®äŗ†ę­¤å˜é‡ļ¼Œęē¤ŗäøä¼šč¢«ēæ»čÆ‘ć€‚ -.sp -å¦‚ęžœå­—ē¬¦äø²åŒ…å« -\fI%s\fRļ¼Œå°†ä¼šč¢«ē”Øęˆ·åę›æę¢ć€‚ -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (boolean) -.RS 4 -åÆē”Øē™»å½•ę—¶ę£€ęŸ„å’ŒēŽ°å®žé‚®ē®±ēŠ¶ę€ć€‚ -.sp -å¦‚ęžœ shell ēš„åÆåŠØę–‡ä»¶å·²ē»ę£€ęŸ„äŗ†é‚®ä»¶("mailx \-e" ęˆ–č€…å…¶å®ƒåŒåŠŸčƒ½ēš„å·„å…·)ļ¼Œę‚Øåŗ”čÆ„ē¦ē”Øå®ƒć€‚ -.RE -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -é‚®ē®±ē›®å½•ć€‚äæ®ę”¹ęˆ–åˆ é™¤ē”Øęˆ·č“¦ęˆ·ę—¶éœ€č¦å¤„ē†é‚®ē®±ļ¼Œå¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œå°†ä½æē”Øē¼–čÆ‘ę—¶ęŒ‡å®šēš„é»˜č®¤å€¼ć€‚ -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -å®šä¹‰ē”Øęˆ·é‚®ē®±ę–‡ä»¶ēš„ä½ē½®(ē›øåÆ¹äŗŽäø»ē›®å½•)怂 -.RE -.PP -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -å˜é‡ē”± -\fBuseradd\fR,\fBusermod\fR -和 -\fBuserdel\fR -ē”ØäŗŽåˆ›å»ŗć€ē§»åŠØęˆ–åˆ é™¤ē”Øęˆ·é‚®ē®±ć€‚ -.PP -å¦‚ęžœ -\fBMAIL_CHECK_ENAB\fR -设置为 -\fIyes\fRļ¼Œå®ƒä»¬ä¹Ÿč¢«ē”ØäŗŽå®šä¹‰ -\fBMAIL\fR -ēŽÆå¢ƒå˜é‡ć€‚ -.PP -\fBQUOTAS_ENAB\fR (boolean) -.RS 4 -Enable setting of resource limits from -/etc/limits -and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&. -.RE -.PP -\fBSULOG_FILE\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œę‰€ęœ‰ēš„ su ę“»åŠØéƒ½ä¼šč®°å½•åˆ°ę­¤ę–‡ä»¶ć€‚ -.RE -.PP -\fBSU_NAME\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œå°±ę˜Æčæč”Œ\(lqsu \-\(rqę—¶ę˜¾ē¤ŗēš„å‘½ä»¤åē§°ć€‚ä¾‹å¦‚ļ¼Œå¦‚ęžœå®šä¹‰äøŗ\(lqsu\(rqļ¼Œé‚£ä¹ˆ\(lqps\(rqä¼šę˜¾ē¤ŗę­¤å‘½ä»¤äøŗ\(lq\-su\(rqć€‚å¦‚ęžœę²”ęœ‰å®šä¹‰ļ¼Œ\(lqps\(rqå°†ä¼šę˜¾ē¤ŗå®žé™…ę‰§č”Œēš„ shellļ¼Œä¾‹å¦‚ē±»ä¼¼äŗŽ\(lq\-sh\(rq怂 -.RE -.PP -\fBSU_WHEEL_ONLY\fR (boolean) -.RS 4 -å¦‚ęžœäøŗ -\fIyes\fRļ¼Œē”Øęˆ·åæ…é”»åœØ -/etc/group -中别设定为 GID äøŗ 0 ēš„ē»„(åœØå¤§éƒØåˆ† Linux äøŠå« -\fIroot\fR)ēš„ęˆå‘˜ć€‚ -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (boolean) -.RS 4 -除了 sulog ę–‡ä»¶ę—„åæ—ļ¼Œä¹Ÿäøŗ -\fBsu\fR -ę“»åŠØåÆē”Ø\(lqsyslog\(rq旄志。 -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -å¦‚ęžœ uid 和 gid ē›øåŒļ¼Œē”Øęˆ·åå’Œäø»ē”Øęˆ·åä¹Ÿē›øåŒļ¼Œä½æéž root ē»„ēš„ē»„ęŽ©ē ä½å’Œå±žäø»ä½ē›øåŒ (å¦‚ļ¼š022 \-> 002, 077 \-> 007)怂 -.sp -å¦‚ęžœč®¾ē½®äøŗ -\fIyes\fRļ¼Œå¦‚ęžœē»„äø­ę²”ęœ‰ęˆå‘˜äŗ†ļ¼Œ\fBuserdel\fR -å°†ē§»é™¤ę­¤ē”Øęˆ·ē»„ļ¼Œ\fBuseradd\fR -åˆ›å»ŗē”Øęˆ·ę—¶ļ¼Œä¹Ÿä¼šåˆ›å»ŗäø€äøŖåŒåēš„é»˜č®¤ē»„ć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.SH "退出值" -.PP -ęˆåŠŸę—¶ļ¼Œ\fBsu\fR -čæ”å›žę‰§č”Œēš„å‘½ä»¤ēš„é€€å‡ŗå€¼ć€‚ -.PP -å¦‚ęžœå‘½ä»¤č¢«äæ”å·ē»“ęŸļ¼Œ\fBsu\fR -čæ”å›žę­¤äæ”å·ēš„ē¼–å·åŠ  128怂 -.PP -å¦‚ęžœ su åæ…é”»č¦ę€ę­»ę­¤å‘½ä»¤(å› äøŗå·²ē»č¦ę±‚å®ƒē»“ęŸļ¼ŒåÆę˜Æå“ę²”ęœ‰åŠę—¶ē»“ęŸ),\fBsu\fR -čæ”å›ž 255怂 -.PP -\fBsu\fR -äø­ēš„ęŸäŗ›é€€å‡ŗå€¼äøŽę‰§č”Œēš„å‘½ä»¤ę— å…³ļ¼š -.PP -\fI0\fR -.RS 4 -成功 (åŖęœ‰ -\fB\-\-help\fR) -.RE -.PP -\fI1\fR -.RS 4 -ē³»ē»Ÿęˆ–č€…č®¤čÆå¤±č“„ -.RE -.PP -\fI126\fR -.RS 4 -č¦ę±‚ēš„å‘½ä»¤äøå­˜åœØ -.RE -.PP -\fI127\fR -.RS 4 -čÆ·ę±‚ēš„å‘½ä»¤äøčƒ½ę‰§č”Œ -.RE -.SH "å‚č§" -.PP -\fBlogin\fR(1), -\fBlogin.defs\fR(5), -\fBsg\fR(1), -\fBsh\fR(1)\&. diff --git a/man/zh_CN/man3/getspnam.3 b/man/zh_CN/man3/getspnam.3 deleted file mode 100644 index cd473da3..00000000 --- a/man/zh_CN/man3/getspnam.3 +++ /dev/null @@ -1 +0,0 @@ -.so man3/shadow.3 diff --git a/man/zh_CN/man3/shadow.3 b/man/zh_CN/man3/shadow.3 deleted file mode 100644 index 09382334..00000000 --- a/man/zh_CN/man3/shadow.3 +++ /dev/null @@ -1,243 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: åŗ“å‡½ę•°č°ƒē”Ø -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "SHADOW" "3" "2016-09-18" "shadow\-utils 4\&.4" "åŗ“å‡½ę•°č°ƒē”Ø" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -shadow, getspnam \- åŠ åÆ†åÆ†ē ę–‡ä»¶å·„å…·å‡½ę•° -.SH "SYNTAX" -.PP -\fI#include \fR -.PP -\fIstruct spwd *getspent();\fR -.PP -\fIstruct spwd *getspnam(char\fR -\fI*name\fR\fI);\fR -.PP -\fIvoid setspent();\fR -.PP -\fIvoid endspent();\fR -.PP -\fIstruct spwd *fgetspent(FILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIstruct spwd *sgetspent(char\fR -\fI*cp\fR\fI);\fR -.PP -\fIint putspent(struct spwd\fR -\fI*p,\fR -\fIFILE\fR -\fI*fp\fR\fI);\fR -.PP -\fIint lckpwdf();\fR -.PP -\fIint ulckpwdf();\fR -.SH "ęčæ°" -.PP -\fIshadow\fR -处理 shadow 密码文件 -/etc/shadow -ēš„å†…å®¹ć€‚\fI#include\fR -ę–‡ä»¶äø­ēš„ē»“ęž„ę˜Æļ¼š -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct spwd { - char *sp_namp; /* user login name */ - char *sp_pwdp; /* encrypted password */ - long int sp_lstchg; /* last password change */ - long int sp_min; /* days until change allowed\&. */ - long int sp_max; /* days before change required */ - long int sp_warn; /* days warning for expiration */ - long int sp_inact; /* days before account inactive */ - long int sp_expire; /* date when account expires */ - unsigned long int sp_flag; /* reserved for future use */ -} - -.fi -.if n \{\ -.RE -.\} -.PP -ęÆäøŖå­—ę®µēš„å«ä¹‰ę˜Æļ¼š -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_namp \- ęŒ‡å‘ä»„ null ē»“ęŸēš„ē”Øęˆ·åēš„ęŒ‡é’ˆ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_pwdp \- ęŒ‡å‘ null ē»“ęŸēš„åÆ†ē ēš„ęŒ‡é’ˆ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_lstchg \- ęœ€čæ‘ę›“ę”¹åÆ†ē ēš„ę—„ęœŸ(ę—„ęœŸč®”ē®—ę–¹ę³•ę˜Æä»Ž1970幓1月1ę—„å¼€å§‹ēš„å¤©ę•°) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_min \- days before which password may not be changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_max \- days after which password must be changed -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_warn \- days before password is to expire that user is warned of pending password expiration -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_inact \- days after password expires that account is considered inactive and disabled -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_expire \- days since Jan 1, 1970 when account will be disabled -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -sp_flag \- reserved for future use -.RE -.SH "ęčæ°" -.PP -\fIgetspent\fR, -\fIgetspname\fR, -\fIfgetspent\fR, and -\fIsgetspent\fR -each return a pointer to a -\fIstruct spwd\fR\&. -\fIgetspent\fR -returns the next entry from the file, and -\fIfgetspent\fR -returns the next entry from the given stream, which is assumed to be a file of the proper format\&. -\fIsgetspent\fR -returns a pointer to a -\fIstruct spwd\fR -using the provided string as input\&. -\fIgetspnam\fR -searches from the current position in the file for an entry matching -\fIname\fR\&. -.PP -\fIsetspent\fR -和 -\fIendspent\fR -åˆ†åˆ«ē”Øę„å¼€å§‹å’Œē»“ęŸåÆ¹å½±å­åÆ†ē ę–‡ä»¶ēš„č®æé—®ć€‚ -.PP -éœ€č¦ä½æē”Ø -\fIlckpwdf\fR -和 -\fIulckpwdf\fR -å‡½ę•°ę„ē”®äæåÆ¹ -/etc/shadow -ę–‡ä»¶ēš„äŗ’ę–„č®æé—®ć€‚\fIlckpwdf\fR -使用 -\fIpw_lock\fR -ę„čŽ·å–äø€äøŖęœ€é•æäøŗ 15 ē§’ēš„é”ļ¼Œē„¶åŽē»§ē»­ä½æē”Ø -\fIspw_lock\fR -ę„čŽ·å–é•æåŗ¦äøŗå¼€å§‹ēš„ 15 ē§’ę—¶é—“ēš„å‰©ä½™é‡ēš„ē¬¬äŗŒęŠŠé”ć€‚ę€»č®” 15 ē§’ä¹‹åŽļ¼Œę— č®ŗå“ŖäøŖå¤±č“„ļ¼Œ\fIlckpwdf\fR -éƒ½čæ”å›ž \-1ć€‚äø¤ęŠŠé”éƒ½čŽ·å–ęˆåŠŸę—¶ļ¼Œčæ”å›ž 0怂 -.SH "DIAGNOSTICS" -.PP -å¦‚ęžœę²”ęœ‰ę›“å¤šę”ē›®äŗ†ęˆ–č€…å¤„ē†ę—¶å‡ŗé”™ļ¼Œę­¤å‡½ę•°čæ”å›ž NULL。使用 -\fIint\fR -ē±»åž‹čæ”å›žå€¼ēš„å‡½ę•°čæ”å›ž 0 蔨示成功,\-1 蔨示失蓄。 -.SH "CAVEATS" -.PP -čæ™äŗ›å‡½ę•°åŖčƒ½ē”±č¶…ēŗ§ē”Øęˆ·ä½æē”Øļ¼Œå› äøŗåÆ¹å½±å­åÆ†ē ę–‡ä»¶ēš„č®æé—®ę˜Æå—é™ēš„ć€‚ -.SH "ꖇ件" -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBgetpwent\fR(3), -\fBshadow\fR(5)\&. diff --git a/man/zh_CN/man5/faillog.5 b/man/zh_CN/man5/faillog.5 deleted file mode 100644 index 9bbc2c80..00000000 --- a/man/zh_CN/man5/faillog.5 +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ– -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "FAILLOG" "5" "2016-09-18" "shadow\-utils 4\&.4" "ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ–" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -faillog \- ē™»å½•å¤±č“„ēš„ę—„åæ—ę–‡ä»¶ -.SH "ęčæ°" -.PP -/var/log/faillog -maintains a count of login failures and the limits for each account\&. -.PP -The file contains fixed length records, indexed by numerical UID\&. Each record contains the count of login failures since the last successful login; the maximum number of failures before the account is disabled; the line on which the last login failure occurred; the date of the last login failure; and the duration (in seconds) during which the account will be locked after a failure\&. -.PP -ę–‡ä»¶ēš„ē»“ęž„ę˜Æļ¼š -.sp -.if n \{\ -.RS 4 -.\} -.nf -struct faillog { - short fail_cnt; - short fail_max; - char fail_line[12]; - time_t fail_time; - long fail_locktime; -}; -.fi -.if n \{\ -.RE -.\} -.SH "ꖇ件" -.PP -/var/log/faillog -.RS 4 -Failure logging file\&. -.RE -.SH "å‚č§" -.PP -\fBfaillog\fR(8) diff --git a/man/zh_CN/man5/gshadow.5 b/man/zh_CN/man5/gshadow.5 deleted file mode 100644 index 42c1b3d9..00000000 --- a/man/zh_CN/man5/gshadow.5 +++ /dev/null @@ -1,102 +0,0 @@ -'\" t -.\" Title: gshadow -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ– -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "GSHADOW" "5" "2016-09-18" "shadow\-utils 4\&.4" "ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ–" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -gshadow \- å½±å­åŒ–äŗ†ēš„ē»„ę–‡ä»¶ -.SH "ęčæ°" -.PP -/etc/gshadow -åŒ…å«å½±å­åŒ–äŗ†ēš„ē»„č“¦ęˆ·äæ”ęÆć€‚ -.PP -å¦‚ęžœę²”ęœ‰ē»“ęŠ¤å„½åÆ†ē å®‰å…Øļ¼Œę­¤ę–‡ä»¶ē»åÆ¹äøčƒ½č®©ę™®é€šē”Øęˆ·åÆčÆ»ć€‚ -.PP -ę­¤ę–‡ä»¶ēš„ęÆč”ŒåŒ…å«é€—å·åˆ†éš”ēš„å¦‚äø‹å­—ę®µļ¼š -.PP -\fBē»„å\fR -.RS 4 -åæ…é”»ę˜Æē³»ē»Ÿäø­å·²ē»å­˜åœØēš„ęœ‰ę•ˆē»„ć€‚ -.RE -.PP -\fBåŠ åÆ†äŗ†ēš„åÆ†ē \fR -.RS 4 -čÆ·å‚č€ƒ -\fBcrypt\fR(3) -ę„äŗ†č§£å…³äŗŽč§£ęžę­¤å­—ē¬¦äø²ēš„ē»†čŠ‚äæ”ęÆć€‚ -.sp -If the password field contains some string that is not a valid result of -\fBcrypt\fR(3), for instance ! or *, users will not be able to use a unix password to access the group (but group members do not need the password)\&. -.sp -The password is used when a user who is not a member of the group wants to gain the permissions of this group (see -\fBnewgrp\fR(1))\&. -.sp -ę­¤å­—ę®µåÆä»„äøŗē©ŗļ¼Œę­¤ę—¶ļ¼ŒåŖęœ‰ē»„ęˆå‘˜åÆä»„čŽ·å–ē»„ęƒé™ć€‚ -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.sp -ę­¤åÆ†ē å–ä»£ -/etc/group -äø­ęŒ‡å®šēš„ä»»ä½•åÆ†ē ć€‚ -.RE -.PP -\fBē®”ē†å‘˜\fR -.RS 4 -åæ…é”»ę˜Æäø€äøŖé€—å·åˆ†éš”ēš„ē”Øęˆ·ååˆ—č”Øć€‚ -.sp -ē®”ē†å‘˜åÆä»„ę›“ę”¹ē»„åÆ†ē å’Œęˆå‘˜ć€‚ -.sp -ē®”ē†å‘˜ä¹Ÿęœ‰ęˆå‘˜äø€ę ·ēš„ęƒé™(čÆ·ēœ‹äø‹č¾¹)怂 -.RE -.PP -\fBęˆå‘˜\fR -.RS 4 -åæ…é”»ę˜Æäø€äøŖé€—å·åˆ†éš”ēš„ē”Øęˆ·ååˆ—č”Øć€‚ -.sp -ęˆå‘˜åÆä»„å…åÆ†ē č®æé—®ē»„ć€‚ -.sp -You should use the same list of users as in -/etc/group\&. -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBgpasswd\fR(5), -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBgrpconv\fR(8), -\fBnewgrp\fR(1)\&. diff --git a/man/zh_CN/man5/limits.5 b/man/zh_CN/man5/limits.5 deleted file mode 100644 index 84b2d8a3..00000000 --- a/man/zh_CN/man5/limits.5 +++ /dev/null @@ -1,274 +0,0 @@ -'\" t -.\" Title: limits -.\" Author: Luca Berra -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ– -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "LIMITS" "5" "2016-09-18" "shadow\-utils 4\&.4" "ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ–" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -limits \- čµ„ęŗé™åˆ¶ęčæ° -.SH "ęčæ°" -.PP -The -\fIlimits\fR -file (/etc/limits -by default or LIMITS_FILE defined -config\&.h) describes the resource limits you wish to impose\&. It should be owned by root and readable by root account only\&. -.PP -By default no quota is imposed on \*(Aqroot\*(Aq\&. In fact, there is no way to impose limits via this procedure to root\-equiv accounts (accounts with UID 0)\&. -.PP -ęÆč”Œä»„å¦‚äø‹ę ¼å¼åÆ¹äø€äøŖē”Øęˆ·ęčæ°é™åˆ¶ļ¼š -.PP -\fIuser LIMITS_STRING\fR -.PP -ęˆ–å¦‚äø‹ę ¼å¼ļ¼š -.PP -\fI@group LIMITS_STRING\fR -.PP -\fILIMITS_STRING\fR -ę˜Æäø€äøŖäø²č”ēš„čµ„ęŗé™åˆ¶åˆ—č”Øć€‚ęÆę”é™åˆ¶ē”±äø€äøŖå­—ęÆęŒ‡ē¤ŗē¬¦å’Œč·Ÿéšēš„ę•°å­—é™åˆ¶ē»„ęˆć€‚ -.PP -åÆē”Øēš„ęŒ‡ē¤ŗē¬¦ęœ‰ļ¼š -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Aļ¼šęœ€å¤§åœ°å€ē©ŗé—“ (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Cļ¼šęœ€å¤§č½¬å‚Øę–‡ä»¶å¤§å° (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Dļ¼šęœ€å¤§ę•°ę®å¤§å° (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -F: maximum file size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Kļ¼šę–‡ä»¶åˆ›å»ŗęŽ©ē ļ¼Œē”± -\fBumask\fR(2) -设置。 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Iļ¼šęœ€é«˜ nice 级别,(0\&.\&.\&.39 对应 20\&.\&.\&.\-19) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Lļ¼šę­¤ē”Øęˆ·ēš„ęœ€å¤§ē™»å½•ę•° -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -M: max locked\-in\-memory address space (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Nļ¼šęœ€å¤§ēš„ę–‡ä»¶ę‰“å¼€ę•° -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Oļ¼šęœ€å¤§å®žę—¶ä¼˜å…ˆēŗ§ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Pļ¼ščæ›ēØ‹ä¼˜å…ˆēŗ§ļ¼Œē”± -\fBsetpriority\fR(2) -设置。 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -R: max resident set size (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Sļ¼šęœ€å¤§ę ˆå°ŗåÆø (KB) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Tļ¼šęœ€å¤§ CPU ę—¶é—“ (分钟) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Uļ¼šęœ€å¤§å¤„ē†å™Øę•°ē›® -.RE -.PP -ä¾‹å¦‚ļ¼Œ\fIL2D2048N5\fR -å°±ę˜Æęœ‰ę•ˆēš„ -\fILIMITS_STRING\fRć€‚äøŗäŗ†é˜…čÆ»ę–¹ä¾æļ¼Œå¦‚äø‹é”¹č”Øē¤ŗåŒę ·ēš„ę„ę€ļ¼š -.sp -.if n \{\ -.RS 4 -.\} -.nf - username L2D2048N5 - username L2 D2048 N5 - -.fi -.if n \{\ -.RE -.\} -.PP -Be aware that after -\fIusername\fR -the rest of the line is considered a limit string, thus comments are not allowed\&. An invalid limits string will be rejected (not considered) by the -\fBlogin\fR -program\&. -.PP -The default entry is denoted by username "\fI*\fR"\&. If you have multiple -\fIdefault\fR -entries in your -\fILIMITS_FILE\fR, then the last one will be used as the default entry\&. -.PP -The limits specified in the form "\fI@group\fR" apply to the members of the specified -\fIgroup\fR\&. -.PP -If more than one line with limits for a user exist, only the first line for this user will be considered\&. -.PP -If no lines are specified for a user, the last -\fI@group\fR -line matching a group whose the user is a member of will be considered, or the last line with default limits if no groups contain the user\&. -.PP -č¦å®Œå…Øē¦ē”ØåÆ¹äø€äøŖē”Øęˆ·ēš„é™åˆ¶ļ¼ŒåÆä»„ä»…ä»…åŖä½æē”Øäø€äøŖēŸ­ēŗæ\(lq\-\(rq怂 -.PP -To disable a limit for a user, a single dash "\fI\-\fR" can be used instead of the numerical value for this limit\&. -.PP -Also, please note that all limit settings are set PER LOGIN\&. They are not global, nor are they permanent\&. Perhaps global limits will come, but for now this will have to do ;) -.SH "ꖇ件" -.PP -/etc/limits -.RS 4 -.RE -.SH "å‚č§" -.PP -\fBlogin\fR(1), -\fBsetpriority\fR(2), -\fBsetrlimit\fR(2)\&. diff --git a/man/zh_CN/man5/login.access.5 b/man/zh_CN/man5/login.access.5 deleted file mode 100644 index bd4aec01..00000000 --- a/man/zh_CN/man5/login.access.5 +++ /dev/null @@ -1,66 +0,0 @@ -'\" t -.\" Title: login.access -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ– -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "LOGIN\&.ACCESS" "5" "2016-09-18" "shadow\-utils 4\&.4" "ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ–" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -login.access \- ē™»å½•č®æé—®ęŽ§åˆ¶č”Ø -.SH "ęčæ°" -.PP -The -\fIlogin\&.access\fR -file specifies (user, host) combinations and/or (user, tty) combinations for which a login will be either accepted or refused\&. -.PP -When someone logs in, the -\fIlogin\&.access\fR -is scanned for the first entry that matches the (user, host) combination, or, in case of non\-networked logins, the first entry that matches the (user, tty) combination\&. The permissions field of that table entry determines whether the login will be accepted or refused\&. -.PP -ē™»å½•č®æé—®ęŽ§åˆ¶č”Øēš„ęÆäø€č”Œęœ‰\(lq:\(rqåˆ†éš”ēš„äø‰äøŖå­—ę®µļ¼š -.PP -\fIpermission\fR:\fIusers\fR:\fIorigins\fR -.PP -The first field should be a "\fI+\fR" (access granted) or "\fI\-\fR" (access denied) character\&. The second field should be a list of one or more login names, group names, or -\fIALL\fR -(always matches)\&. The third field should be a list of one or more tty names (for non\-networked logins), host names, domain names (begin with "\&."), host addresses, internet network numbers (end with "\&."), -\fIALL\fR -(always matches) or -\fILOCAL\fR -(matches any string that does not contain a "\&." character)\&. If you run NIS you can use @netgroupname in host or user patterns\&. -.PP -\fIEXCEPT\fR -ę“ä½œē¬¦č®©ē¼–å†™éžåøøå¤ę‚ēš„č§„åˆ™ļ¼ŒęˆäøŗåÆčƒ½ć€‚ -.PP -The group file is searched only when a name does not match that of the logged\-in user\&. Only groups are matched in which users are explicitly listed: the program does not look at a user\*(Aqs primary group id value\&. -.SH "ꖇ件" -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.SH "å‚č§" -.PP -\fBlogin\fR(1)\&. diff --git a/man/zh_CN/man5/login.defs.5 b/man/zh_CN/man5/login.defs.5 deleted file mode 100644 index da10f82a..00000000 --- a/man/zh_CN/man5/login.defs.5 +++ /dev/null @@ -1,813 +0,0 @@ -'\" t -.\" Title: login.defs -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ– -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "LOGIN\&.DEFS" "5" "2016-09-18" "shadow\-utils 4\&.4" "ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ–" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -login.defs \- å½±å­åÆ†ē å„—ä»¶é…ē½® -.SH "ęčæ°" -.PP -The -/etc/login\&.defs -file defines the site\-specific configuration for the shadow password suite\&. This file is required\&. Absence of this file will not prevent system operation, but will probably result in undesirable operation\&. -.PP -This file is a readable text file, each line of the file describing one configuration parameter\&. The lines consist of a configuration name and value, separated by whitespace\&. Blank lines and comment lines are ignored\&. Comments are introduced with a "#" pound sign and the pound sign must be the first non\-white character of the line\&. -.PP -Parameter values may be of four types: strings, booleans, numbers, and long numbers\&. A string is comprised of any printable characters\&. A boolean should be either the value -\fIyes\fR -or -\fIno\fR\&. An undefined boolean parameter or one with a value other than these will be given a -\fIno\fR -value\&. Numbers (both regular and long) may be either decimal values, octal values (precede the value with -\fI0\fR) or hexadecimal values (precede the value with -\fI0x\fR)\&. The maximum value of the regular and long numeric parameters is machine\-dependent\&. -.PP -ęä¾›å¦‚äø‹é…ē½®é”¹ļ¼š -.PP -\fBCHFN_AUTH\fR (boolean) -.RS 4 -å¦‚ęžœäøŗ -\fIyes\fR,\fBchfn\fR -čæ›č”Œä»»ä½•ę›“ę”¹å‰éƒ½č¦č¦ę±‚č®¤čÆļ¼Œé™¤éžē”±č¶…ēŗ§ē”Øęˆ·čæč”Œć€‚ -.RE -.PP -\fBCHFN_RESTRICT\fR (string) -.RS 4 -This parameter specifies which values in the -\fIgecos\fR -field of the -/etc/passwd -file may be changed by regular users using the -\fBchfn\fR -program\&. It can be any combination of letters -\fIf\fR, -\fIr\fR, -\fIw\fR, -\fIh\fR, for Full name, Room number, Work phone, and Home phone, respectively\&. For backward compatibility, -\fIyes\fR -is equivalent to -\fIrwh\fR -and -\fIno\fR -is equivalent to -\fIfrwh\fR\&. If not specified, only the superuser can make any changes\&. The most restrictive setting is better achieved by not installing -\fBchfn\fR -SUID\&. -.RE -.PP -\fBCHSH_AUTH\fR (boolean) -.RS 4 -å¦‚ęžœ -\fIyes\fR,\fBchsh\fR -ēØ‹åŗåœØåšä»»ä½•ę›“ę”¹ä¹‹å‰éƒ½ä¼šč¦ę±‚č®¤čÆļ¼Œé™¤éžę˜Æä»„č¶…ēŗ§ē”Øęˆ·čŗ«ä»½čæč”Œēš„ć€‚ -.RE -.PP -\fBCONSOLE\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œęˆ–č€…ę˜ÆåŒ…å«č®¾å¤‡å(ę²”č”Œäø€äøŖ)ēš„ę–‡ä»¶ēš„å®Œę•“č·Æå¾„åļ¼Œęˆ–č€…ę˜Æ\(lq:\(rqåˆ†éš”ēš„č®¾å¤‡ååˆ—č”Øć€‚å°†åŖä¼šåœØčæ™å†™č®¾å¤‡äøŠå…č®ø root 登录。 -.sp -å¦‚ęžœę²”ęœ‰å®šä¹‰ļ¼ŒåÆä»„åœØä»»ä½•č®¾å¤‡äøŠä½æē”Ø root怂 -.sp -ęŒ‡å®šēš„č®¾å¤‡ę—¶äøåø¦ /dev/ å‰ē¼€ć€‚ -.RE -.PP -\fBCONSOLE_GROUPS\fR (string) -.RS 4 -åœØęŽ§åˆ¶å°ē™»å½•ę—¶ļ¼Œę·»åŠ åˆ°ē”Øęˆ·é™„åŠ ē»„é›†äø­ēš„ē»„åˆ—č”Ø(就如 CONSOLE ę‰€ē”®å®šēš„)ć€‚é»˜č®¤ę˜Æę— ć€‚ -ä½æē”Øę—¶éœ€č¦ę³Øę„ļ¼ščæ™åÆčƒ½ä½æē”Øęˆ·čŽ·å–čæ™äŗ›ē»„ēš„ę°øä¹…ęƒé™ļ¼Œē”šč‡³ē™»å½•åˆ°ēš„äøę˜Æę­¤ęŽ§åˆ¶å°ę—¶ć€‚ -.RE -.PP -\fBCREATE_HOME\fR (boolean) -.RS 4 -ęŒ‡ē¤ŗę˜Æå¦åŗ”čÆ„äøŗę–°ē”Øęˆ·é»˜č®¤åˆ›å»ŗäø»ē›®å½•ć€‚ -.sp -ę­¤č®¾ē½®å¹¶äøåŗ”ē”Øåˆ°ē³»ē»Ÿē”Øęˆ·ļ¼Œå¹¶äø”åÆä»„ä½æē”Øå‘½ä»¤č”Œč¦†ē›–ć€‚ -.RE -.PP -\fBDEFAULT_HOME\fR (boolean) -.RS 4 -å¦‚ęžœäøčƒ½ cd åˆ°äø»ē›®å½•ę—¶ļ¼ŒčÆ“ę˜Žę˜Æå¦å…č®øē™»å½•ć€‚é»˜č®¤ę˜Æå¦ć€‚ -.sp -å¦‚ęžœč®¾ē½®äøŗ -\fIyes\fRļ¼Œå¦‚ęžœäøčƒ½ cd åˆ°äø»ē›®å½•ę—¶ļ¼Œē”Øęˆ·å°†ä¼šē™»å½•åˆ°ę ¹ē›®å½•(/)怂 -.RE -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -čæ™å®šä¹‰äŗ†ē³»ē»ŸåŠ åÆ†åÆ†ē ēš„é»˜č®¤ē®—ę³•(å¦‚ęžœę²”ęœ‰åœØå‘½ä»¤č”ŒäøŠęŒ‡å®šē®—ę³•)怂 -.sp -åÆä»„ä½æē”Øå¦‚äø‹å€¼ļ¼š\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -ę³Øę„ļ¼Œę­¤å‚ę•°ä¼šč¦†ē›– -\fBMD5_CRYPT_ENAB\fR -å˜é‡ć€‚ -.RE -.PP -\fBENV_HZ\fR (string) -.RS 4 -å¦‚ęžœč®¾ē½®äŗ†ļ¼Œå°†ä¼šē”ØäŗŽåœØē”Øęˆ·ē™»å½•ę—¶å®šä¹‰ HZ ēŽÆå¢ƒå˜é‡ć€‚å€¼åæ…é”»ä»„ -\fIHZ=\fR -开夓。Linux äøŠēš„åøøē”Øå€¼ę˜Æ -\fIHZ=100\fR怂 -.RE -.PP -\fBENV_PATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example -\fI/bin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/bin:/usr/bin\fR\&. -.RE -.PP -\fBENV_SUPATH\fR (string) -.RS 4 -If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example -\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by -\fIPATH=\fR\&. The default value is -\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&. -.RE -.PP -\fBENV_TZ\fR (string) -.RS 4 -å¦‚ęžœč®¾ē½®äŗ†ļ¼Œå®ƒå°†ē”ØäŗŽåœØē”Øęˆ·ē™»å½•ę—¶å®šä¹‰ TZ ēŽÆå¢ƒå˜é‡ć€‚ę­¤å€¼åÆä»„ę˜Æä»„ -\fITZ=\fR -å¼€å¤“ēš„ę—¶åŒŗå(例如 -\fITZ=CST6CDT\fR)ļ¼Œęˆ–č€…ę˜ÆåŒ…å«ę—¶åŒŗč§„åˆ™ēš„ę–‡ä»¶å®Œę•“č·Æå¾„(例如 -/etc/tzname)怂 -.sp -å¦‚ęžœå°†å®Œę•“č·Æå¾„ęŒ‡å®šäøŗäŗ†äø€äøŖäøå­˜åœØęˆ–äøåÆčÆ»ēš„ę–‡ä»¶ļ¼Œåˆ™é»˜č®¤ä½æē”Ø -\fITZ=CST6CDT\fR怂 -.RE -.PP -\fBENVIRON_FILE\fR (string) -.RS 4 -å¦‚ęžœę­¤ę–‡ä»¶å­˜åœØļ¼Œå¹¶äø”åÆčÆ»ļ¼Œå°†ä¼šä»Žäø­čÆ»å–ē™»å½•ēŽÆå¢ƒć€‚ę‰€ęœ‰č”Œéƒ½åæ…é”»ę˜Æ name=value ēš„ę ¼å¼ć€‚ -.sp -仄 # å¼€å¤“ēš„č”Œå°†č§†äøŗę³Øé‡Šļ¼Œå¹¶č¢«åæ½ē•„ć€‚ -.RE -.PP -\fBERASECHAR\fR (number) -.RS 4 -ē»ˆē«Æę“¦é™¤å­—ē¬¦ (\fI010\fR -= backspace, -\fI0177\fR -= DEL)怂 -.sp -ę­¤å€¼åÆä»„ä½æē”Øå‰ē¼€\(lq0\(rqč”Øē¤ŗå…«čæ›åˆ¶ļ¼Œ\(lq0x\(rqč”Øē¤ŗåå…­čæ›åˆ¶ć€‚ -.RE -.PP -\fBFAIL_DELAY\fR (number) -.RS 4 -ē™»å½•å¤±č“„åŽļ¼Œē­‰å¾…å¤šå°‘ē§’ę‰å†å…č®øē™»å½•ć€‚ -.RE -.PP -\fBFAILLOG_ENAB\fR (boolean) -.RS 4 -å…č®øē™»å½•å¹¶ę˜¾ē¤ŗ -/var/log/faillog -登录失蓄俔息。 -.RE -.PP -\fBFAKE_SHELL\fR (string) -.RS 4 -å¦‚ęžœč®¾ē½®äŗ†ļ¼Œ\fBlogin\fR -å°†ę‰§č”Œę­¤ shell č€Œäøę˜ÆåœØ -/etc/passwd -äø­ęŒ‡å®šēš„ē”Øęˆ· shell怂 -.RE -.PP -\fBFTMP_FILE\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰ļ¼Œē™»å½•å¤±č“„ä¼šä»„ utmp ę ¼å¼č®°å½•åœØę­¤ę–‡ä»¶äø­ć€‚ -.RE -.PP -\fBGID_MAX\fR (number), \fBGID_MIN\fR (number) -.RS 4 -\fBuseradd\fR,\fBgroupadd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„åøøč§„ē»„ēš„ē»„ ID ēš„čŒƒå›“ć€‚ -.sp -\fBGID_MIN\fR -和 -\fBGID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 1000 和 60000怂 -.RE -.PP -\fBHUSHLOGIN_FILE\fR (string) -.RS 4 -If defined, this file can inhibit all the usual chatter during the login sequence\&. If a full pathname is specified, then hushed mode will be enabled if the user\*(Aqs name or shell are found in the file\&. If not a full pathname, then hushed mode will be enabled if the file exists in the user\*(Aqs home directory\&. -.RE -.PP -\fBISSUE_FILE\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œę­¤ę–‡ä»¶å°†åœØęÆę¬”ēš„ē™»å½•ęē¤ŗä¹‹å‰ēŽ°å®žć€‚ -.RE -.PP -\fBKILLCHAR\fR (number) -.RS 4 -终端 KILL 字符 (\fI025\fR -= CTRL/U)怂 -.sp -ę­¤å€¼åÆä»„ä½æē”Øå‰ē¼€\(lq0\(rqč”Øē¤ŗå…«čæ›åˆ¶ļ¼Œ\(lq0x\(rqč”Øē¤ŗåå…­čæ›åˆ¶ć€‚ -.RE -.PP -\fBLASTLOG_ENAB\fR (boolean) -.RS 4 -å…č®øč®°å½•å’Œę˜¾ē¤ŗ /var/log/lastlog 登录时闓俔息。 -.RE -.PP -\fBLOG_OK_LOGINS\fR (boolean) -.RS 4 -å…č®øč®°å½•ęˆåŠŸē™»å½•ć€‚ -.RE -.PP -\fBLOG_UNKFAIL_ENAB\fR (boolean) -.RS 4 -åœØč®°å½•åˆ°ē™»å½•å¤±č“„ę—¶ļ¼Œå…č®øč®°å½•ęœŖēŸ„ē”Øęˆ·åć€‚ -.sp -ę³Øę„ļ¼šå¦‚ęžœē”Øęˆ·äøå°åæƒå°†åÆ†ē č¾“å…„åˆ°äŗ†ē™»å½•åäø­ļ¼Œč®°å½•ęœŖēŸ„ē”Øęˆ·ååÆčƒ½ę˜Æäø€äøŖå®‰å…Øéšę‚£ć€‚ -.RE -.PP -\fBLOGIN_RETRIES\fR (number) -.RS 4 -åÆ†ē é”™čÆÆę—¶ļ¼Œé‡čÆ•ēš„ęœ€å¤§ę¬”ę•°ć€‚ -.RE -.PP -\fBLOGIN_STRING\fR (string) -.RS 4 -ę­¤å­—ē¬¦äø²ē”ØäŗŽęē¤ŗč¾“å…„åÆ†ē ć€‚é»˜č®¤ę˜Æ "Password: "ļ¼Œęˆ–č€…ēæ»čÆ‘äŗ†ēš„ē»“ęžœ(汉语中翻译为了\(lqåÆ†ē ļ¼š\(rq)ć€‚å¦‚ęžœč®¾ē½®äŗ†ę­¤å˜é‡ļ¼Œęē¤ŗäøä¼šč¢«ēæ»čÆ‘ć€‚ -.sp -å¦‚ęžœå­—ē¬¦äø²åŒ…å« -\fI%s\fRļ¼Œå°†ä¼šč¢«ē”Øęˆ·åę›æę¢ć€‚ -.RE -.PP -\fBLOGIN_TIMEOUT\fR (number) -.RS 4 -ęœ€å¤§ē™»å½•ę—¶é—“(ä»„ē§’äøŗå•ä½)怂 -.RE -.PP -\fBMAIL_CHECK_ENAB\fR (boolean) -.RS 4 -åÆē”Øē™»å½•ę—¶ę£€ęŸ„å’ŒēŽ°å®žé‚®ē®±ēŠ¶ę€ć€‚ -.sp -å¦‚ęžœ shell ēš„åÆåŠØę–‡ä»¶å·²ē»ę£€ęŸ„äŗ†é‚®ä»¶("mailx \-e" ęˆ–č€…å…¶å®ƒåŒåŠŸčƒ½ēš„å·„å…·)ļ¼Œę‚Øåŗ”čÆ„ē¦ē”Øå®ƒć€‚ -.RE -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -é‚®ē®±ē›®å½•ć€‚äæ®ę”¹ęˆ–åˆ é™¤ē”Øęˆ·č“¦ęˆ·ę—¶éœ€č¦å¤„ē†é‚®ē®±ļ¼Œå¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œå°†ä½æē”Øē¼–čÆ‘ę—¶ęŒ‡å®šēš„é»˜č®¤å€¼ć€‚ -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -å®šä¹‰ē”Øęˆ·é‚®ē®±ę–‡ä»¶ēš„ä½ē½®(ē›øåÆ¹äŗŽäø»ē›®å½•)怂 -.RE -.PP -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -å˜é‡ē”± -\fBuseradd\fR,\fBusermod\fR -和 -\fBuserdel\fR -ē”ØäŗŽåˆ›å»ŗć€ē§»åŠØęˆ–åˆ é™¤ē”Øęˆ·é‚®ē®±ć€‚ -.PP -å¦‚ęžœ -\fBMAIL_CHECK_ENAB\fR -设置为 -\fIyes\fRļ¼Œå®ƒä»¬ä¹Ÿč¢«ē”ØäŗŽå®šä¹‰ -\fBMAIL\fR -ēŽÆå¢ƒå˜é‡ć€‚ -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -č”Øē¤ŗåÆ†ē ę˜Æå¦åæ…é”»ä½æē”ØåŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å¦‚ęžœč®¾äøŗ -\fIyes\fRļ¼Œę–°åÆ†ē å°†ä½æē”ØåÆä»„å’Œę–°ē‰ˆ FreeBSD å…¼å®¹ēš„åŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å®ƒę”ÆęŒę— é™é•æåŗ¦ēš„åÆ†ē ä»„åŠę›“é•æēš„ē›å­—ē¬¦äø²ć€‚å¦‚ęžœę‚Øéœ€č¦å°†åŠ åÆ†ēš„åÆ†ē å¤åˆ¶åˆ°å…¶å®ƒäøē†č§£ę–°ē®—ę³•ēš„ē³»ē»Ÿļ¼Œč®¾ē½®äøŗ -\fIno\fRć€‚é»˜č®¤å€¼ę˜Æ -\fIno\fR怂 -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -ę­¤å˜é‡å·²ē»åŗŸå¼ƒć€‚ę‚Øåŗ”čÆ„ä½æē”Ø -\fBENCRYPT_METHOD\fR怂 -.RE -.PP -\fBMOTD_FILE\fR (string) -.RS 4 -If defined, ":" delimited list of "message of the day" files to be displayed upon login\&. -.RE -.PP -\fBNOLOGINS_FILE\fR (string) -.RS 4 -If defined, name of file whose presence will inhibit non\-root logins\&. The contents of this file should be a message indicating why logins are inhibited\&. -.RE -.PP -\fBOBSCURE_CHECKS_ENAB\fR (boolean) -.RS 4 -åÆ¹åÆ†ē ę›“ę”¹åÆē”Øé™„åŠ ę£€ęŸ„ć€‚ -.RE -.PP -\fBPASS_ALWAYS_WARN\fR (boolean) -.RS 4 -å¦‚ęžœę˜Æ rootļ¼Œč­¦å‘Šå¼±åÆ†ē ļ¼Œä½†ę˜Æä»ē„¶å…č®øä½æē”Øć€‚ -.RE -.PP -\fBPASS_CHANGE_TRIES\fR (number) -.RS 4 -åÆä»„å°čÆ•ę›“ę”¹åÆ†ē ēš„ęœ€å¤§ę¬”ę•°(å¤Ŗå®¹ę˜“)怂 -.RE -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -äø€äøŖåÆ†ē åÆä»„ä½æē”Øēš„ęœ€å¤§å¤©ę•°ć€‚å¦‚ęžœåÆ†ē ęÆ”čæ™ę—§ļ¼Œå°†ä¼šå¼ŗčæ«ę›“ę”¹åÆ†ē ć€‚å¦‚ęžœäøęŒ‡å®šļ¼Œå°±å‡å®šäøŗ \-1ļ¼Œčæ™ä¼šē¦ē”Øčæ™äøŖé™åˆ¶ć€‚ -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -äø¤ę¬”ę›“ę”¹åÆ†ē ę—¶é—“ēš„ęœ€å°é—“éš”ć€‚å°†ä¼šę‹’ē»ä»»ä½•ę—©äŗŽę­¤ēš„ę›“ę”¹åÆ†ē ēš„å°čÆ•ć€‚å¦‚ęžœäøęŒ‡å®šļ¼Œå‡å®šäøŗ \-1ļ¼Œå°†ä¼šē¦ē”Øčæ™äøŖé™åˆ¶ć€‚ -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -åÆ†ē čæ‡ęœŸä¹‹å‰ē»™å‡ŗč­¦å‘Šēš„å¤©ę•°ć€‚0 č”Øē¤ŗåŖęœ‰åŖåœØčæ‡ęœŸēš„å½“å¤©č­¦å‘Šļ¼Œč“Ÿå€¼č”Øē¤ŗäøč­¦å‘Šć€‚å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œäøä¼šē»™č­¦å‘Šć€‚ -.RE -.PP -\fBPASS_MAX_DAYS\fR, -\fBPASS_MIN_DAYS\fR -and -\fBPASS_WARN_AGE\fR -are only used at the time of account creation\&. Any changes to these settings won\*(Aqt affect existing accounts\&. -.PP -\fBPASS_MAX_LEN\fR (number), \fBPASS_MIN_LEN\fR (number) -.RS 4 -crypt() ēš„ęœ‰ę•ˆå­—ē¬¦ä½ę•°ć€‚\fBPASS_MAX_LEN\fR -默认是 8ļ¼Œé™¤éžę‚Øč‡Ŗå·±ēš„ crypt() ę›“å„½ļ¼Œå¦åˆ™äøč¦ę›“ę”¹ć€‚å¦‚ęžœ -\fBMD5_CRYPT_ENAB\fR -设为 -\fIyes\fRļ¼Œä¼šč¢«åæ½ē•„ć€‚ -.RE -.PP -\fBPORTTIME_CHECKS_ENAB\fR (boolean) -.RS 4 -Enable checking of time restrictions specified in -/etc/porttime\&. -.RE -.PP -\fBQUOTAS_ENAB\fR (boolean) -.RS 4 -Enable setting of resource limits from -/etc/limits -and ulimit, umask, and niceness from the user\*(Aqs passwd gecos field\&. -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -\fBENCRYPT_METHOD\fR -设为 -\fISHA256\fR -ꈖ -\fISHA512\fR -ę—¶ļ¼Œę­¤é”¹ē”®å®šåŠ åÆ†ē®—ę³•é»˜č®¤ä½æē”Ø SHA 轮转数目(å½“č½®č½¬ę•°ę²”ęœ‰é€ščæ‡å‘½ä»¤č”ŒęŒ‡å®šę—¶)怂 -.sp -ä½æē”Øå¾ˆå¤šč½®č½¬ļ¼Œä¼šč®©ęš“åŠ›ē “č§£ę›“åŠ å›°éš¾ć€‚ä½†ę˜Æéœ€č¦ę³Øę„ļ¼Œč®¤čÆē”Øęˆ·ę—¶ä¹Ÿä¼šéœ€č¦ę›“å¤šēš„ CPU 资源。 -.sp -å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œlibc ä¼šé€‰ę‹©é»˜č®¤ēš„č½®č½¬ę•°(5000)怂 -.sp -å€¼åæ…é”»åœØ 1000 \- 999,999,999 之闓。 -.sp -å¦‚ęžœåŖč®¾ē½®äŗ†äø€äøŖ -\fBSHA_CRYPT_MIN_ROUNDS\fR -ꈖ -\fBSHA_CRYPT_MAX_ROUNDS\fR -å€¼ļ¼Œå°±ä¼šä½æē”Øčæ™äøŖå€¼ć€‚ -.sp -å¦‚ęžœ -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fRļ¼Œå°†ä¼šä½æē”Øå¤§ēš„é‚£äøŖć€‚ -.RE -.PP -\fBSULOG_FILE\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œę‰€ęœ‰ēš„ su ę“»åŠØéƒ½ä¼šč®°å½•åˆ°ę­¤ę–‡ä»¶ć€‚ -.RE -.PP -\fBSU_NAME\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œå°±ę˜Æčæč”Œ\(lqsu \-\(rqę—¶ę˜¾ē¤ŗēš„å‘½ä»¤åē§°ć€‚ä¾‹å¦‚ļ¼Œå¦‚ęžœå®šä¹‰äøŗ\(lqsu\(rqļ¼Œé‚£ä¹ˆ\(lqps\(rqä¼šę˜¾ē¤ŗę­¤å‘½ä»¤äøŗ\(lq\-su\(rqć€‚å¦‚ęžœę²”ęœ‰å®šä¹‰ļ¼Œ\(lqps\(rqå°†ä¼šę˜¾ē¤ŗå®žé™…ę‰§č”Œēš„ shellļ¼Œä¾‹å¦‚ē±»ä¼¼äŗŽ\(lq\-sh\(rq怂 -.RE -.PP -\fBSU_WHEEL_ONLY\fR (boolean) -.RS 4 -å¦‚ęžœäøŗ -\fIyes\fRļ¼Œē”Øęˆ·åæ…é”»åœØ -/etc/group -中别设定为 GID äøŗ 0 ēš„ē»„(åœØå¤§éƒØåˆ† Linux äøŠå« -\fIroot\fR)ēš„ęˆå‘˜ć€‚ -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) -.RS 4 -\fBuseradd\fR态\fBgroupadd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„ē³»ē»Ÿē»„ēš„ē»„ ID ēš„čŒƒå›“ć€‚ -.sp -\fBSYS_GID_MIN\fR -和 -\fBSYS_GID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 101 和 -\fBGID_MIN\fR\-1怂 -.RE -.PP -\fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number) -.RS 4 -\fBuseradd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„ē³»ē»Ÿē”Øęˆ·ēš„ē”Øęˆ· ID ēš„čŒƒå›“ć€‚ -.sp -\fBSYS_UID_MIN\fR -和 -\fBSYS_UID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 101 和 -\fBUID_MIN\fR\-1怂 -.RE -.PP -\fBSYSLOG_SG_ENAB\fR (boolean) -.RS 4 -允许\(lqsyslog\(rq记录 -\fBsg\fR -ēš„ę“»åŠØć€‚ -.RE -.PP -\fBSYSLOG_SU_ENAB\fR (boolean) -.RS 4 -除了 sulog ę–‡ä»¶ę—„åæ—ļ¼Œä¹Ÿäøŗ -\fBsu\fR -ę“»åŠØåÆē”Ø\(lqsyslog\(rq旄志。 -.RE -.PP -\fBTTYGROUP\fR (string), \fBTTYPERM\fR (string) -.RS 4 -The terminal permissions: the login tty will be owned by the -\fBTTYGROUP\fR -group, and the permissions will be set to -\fBTTYPERM\fR\&. -.sp -By default, the ownership of the terminal is set to the user\*(Aqs primary group and the permissions are set to -\fI0600\fR\&. -.sp -\fBTTYGROUP\fR -can be either the name of a group or a numeric group identifier\&. -.sp -If you have a -\fBwrite\fR -program which is "setgid" to a special group which owns the terminals, define TTYGROUP to the group number and TTYPERM to 0620\&. Otherwise leave TTYGROUP commented out and assign TTYPERM to either 622 or 600\&. -.RE -.PP -\fBTTYTYPE_FILE\fR (string) -.RS 4 -If defined, file which maps tty line to TERM environment parameter\&. Each line of the file is in a format something like "vt100 tty01"\&. -.RE -.PP -\fBUID_MAX\fR (number), \fBUID_MIN\fR (number) -.RS 4 -\fBuseradd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„ę™®é€šē”Øęˆ·ēš„ē”Øęˆ· ID ēš„čŒƒå›“ć€‚ -.sp -\fBUID_MIN\fR -和 -\fBUID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 1000 和 60000怂 -.RE -.PP -\fBULIMIT\fR (number) -.RS 4 -默认 -\fBulimit\fR -值。 -.RE -.PP -\fBUMASK\fR (number) -.RS 4 -ę–‡ä»¶ęØ”å¼åˆ›å»ŗęŽ©ē åˆå§‹åŒ–äøŗę­¤å€¼ć€‚å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼ŒęŽ©ē åˆå§‹åŒ–äøŗ 022怂 -.sp -\fBuseradd\fR -和 -\fBnewusers\fR -ä½æē”Øę­¤ęŽ©ē č®¾ē½®å®ƒä»¬åˆ›å»ŗēš„ē”Øęˆ·äø»ē›®å½•ēš„ęØ”å¼ć€‚ -.sp -也被 -\fBlogin\fR -ē”ØäŗŽęŒ‡å®šē”Øęˆ·ēš„åˆå§‹ umaskć€‚ę³Øę„ļ¼Œę­¤ęŽ©ē åÆä»„č¢«ē”Øęˆ·ēš„ GECOS č”Œč¦†ē›–(当设置了 -\fBQUOTAS_ENAB\fR -ę—¶)ļ¼Œä¹ŸåÆä»„č¢«åø¦ -\fIK\fR -ęŒ‡ē¤ŗē¬¦ēš„ -\fBlimits\fR(5) -å®šä¹‰ēš„é™åˆ¶å€¼č¦†ē›–ć€‚ -.RE -.PP -\fBUSERDEL_CMD\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œčæ™ę˜Æåˆ é™¤č“¦ęˆ·ę—¶ę‰§č”Œēš„å‘½ä»¤ć€‚å®ƒåŗ”čÆ„ē§»é™¤ę‰€ęœ‰å±žäŗŽę­¤ē”Øęˆ·ēš„ēš„ at/cron/print ē­‰ä½œäøš(ä½œäøŗē¬¬äø€äøŖå‚ę•°ä¼ é€’)怂 -.sp -čæ™äøŖč„šęœ¬ēš„čæ”å›žå€¼å¹¶äøč¢«åø¦åˆ°č“¦ęˆ·äø­åŽ»ć€‚ -.sp -čæ™ę˜Æäø€äøŖē¤ŗä¾‹č„šęœ¬ļ¼Œå®ƒē§»é™¤ē”Øęˆ·ēš„ cron态at 和 print 作业: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# ę£€ęŸ„éœ€č¦ēš„å‚ę•° -if [ $# != 1 ]; then - echo "Usage: $0 username" - exit 1 -fi - -# 移除 cron 作业 -crontab \-r \-u $1 - -# 移除 at 作业 -# ę³Øę„čæ™å°†ē§»é™¤ę‰€ęœ‰å±žäŗŽåŒäø€äøŖ UID ēš„ä½œäøš -# å³ä½æę­¤ ID ē”±å¤šäøŖē”Øęˆ·åå…±äŗ« -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# 移除 print 作业 -lprm $1 - -# å…ØéƒØå®Œęˆ -exit 0 - -.fi -.if n \{\ -.RE -.\} -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -å¦‚ęžœ uid 和 gid ē›øåŒļ¼Œē”Øęˆ·åå’Œäø»ē”Øęˆ·åä¹Ÿē›øåŒļ¼Œä½æéž root ē»„ēš„ē»„ęŽ©ē ä½å’Œå±žäø»ä½ē›øåŒ (å¦‚ļ¼š022 \-> 002, 077 \-> 007)怂 -.sp -å¦‚ęžœč®¾ē½®äøŗ -\fIyes\fRļ¼Œå¦‚ęžœē»„äø­ę²”ęœ‰ęˆå‘˜äŗ†ļ¼Œ\fBuserdel\fR -å°†ē§»é™¤ę­¤ē”Øęˆ·ē»„ļ¼Œ\fBuseradd\fR -åˆ›å»ŗē”Øęˆ·ę—¶ļ¼Œä¹Ÿä¼šåˆ›å»ŗäø€äøŖåŒåēš„é»˜č®¤ē»„ć€‚ -.RE -.SH "äŗ¤å‰å¼•ē”Ø" -.PP -å¦‚äø‹äŗ¤å‰å¼•ē”Øę˜¾ē¤ŗå½±å­åÆ†ē å„—ä»¶å“ŖäøŖēØ‹åŗä½æē”Øå“ŖäøŖå‚ę•°ć€‚ -.PP -chfn -.RS 4 -CHFN_AUTH -CHFN_RESTRICT -LOGIN_STRING -.RE -.PP -chgpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chpasswd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -chsh -.RS 4 -CHSH_AUTH LOGIN_STRING -.RE -.PP -gpasswd -.RS 4 -ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -groupadd -.RS 4 -GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN -.RE -.PP -groupdel -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmems -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -groupmod -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpck -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -grpunconv -.RS 4 -MAX_MEMBERS_PER_GROUP -.RE -.PP -login -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE -ERASECHAR FAIL_DELAY -FAILLOG_ENAB -FAKE_SHELL -FTMP_FILE -HUSHLOGIN_FILE -ISSUE_FILE -KILLCHAR -LASTLOG_ENAB -LOGIN_RETRIES -LOGIN_STRING -LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB -MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB QUOTAS_ENAB -TTYGROUP TTYPERM TTYTYPE_FILE -ULIMIT UMASK -USERGROUPS_ENAB -.RE -.PP -newgrp / sg -.RS 4 -SYSLOG_SG_ENAB -.RE -.PP -newusers -.RS 4 -ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -passwd -.RS 4 -ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN -SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS -.RE -.PP -pwck -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -pwconv -.RS 4 -PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE -.RE -.PP -su -.RS 4 -CONSOLE -CONSOLE_GROUPS DEFAULT_HOME -ENV_HZ ENVIRON_FILE -ENV_PATH ENV_SUPATH -ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB -SULOG_FILE SU_NAME -SU_WHEEL_ONLY -SYSLOG_SU_ENAB -USERGROUPS_ENAB -.RE -.PP -sulogin -.RS 4 -ENV_HZ -ENV_TZ -.RE -.PP -useradd -.RS 4 -CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK -.RE -.PP -userdel -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB -.RE -.PP -usermod -.RS 4 -MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP -.RE -.SH "å‚č§" -.PP -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBsu\fR(1), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBpam\fR(8)\&. diff --git a/man/zh_CN/man5/passwd.5 b/man/zh_CN/man5/passwd.5 deleted file mode 100644 index 4cb65cf0..00000000 --- a/man/zh_CN/man5/passwd.5 +++ /dev/null @@ -1,178 +0,0 @@ -'\" t -.\" Title: passwd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ– -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "PASSWD" "5" "2016-09-18" "shadow\-utils 4\&.4" "ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ–" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -passwd \- 密码文件 -.SH "ęčæ°" -.PP -/etc/passwd -äøŗęÆäøŖē”Øęˆ·č“¦ęˆ·åŒ…å«äø€č”Œļ¼ŒåŒ…å«ä½æē”Øå†’å· (\(lq:\(rq) åˆ†éš”ēš„äøƒäøŖå­—ę®µļ¼Œåˆ†åˆ«ę˜Æļ¼š -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ē™»å½•å -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -åÆé€‰ēš„åŠ åÆ†åŽēš„åÆ†ē  -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ę•°å­—ē”Øęˆ· ID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -数字组 ID -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ē”Øęˆ·åå’Œę³Øé‡Šå­—ę®µ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ē”Øęˆ·äø»ē›®å½• -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -åÆé€‰ēš„ē”Øęˆ·å‘½ä»¤č§£é‡Šå™Ø -.RE -.PP -åŠ åÆ†ēš„åÆ†ē å­—ę®µåÆä»„äøŗē©ŗļ¼Œę­¤ę—¶ä½æē”ØęŒ‡å®šēš„ē™»å½•åē™»å½•ę—¶äøä¼šč¦ę±‚č®¤čÆć€‚ē„¶č€Œļ¼Œå¦‚ęžœ -\fIpassword\fR -äøŗē©ŗļ¼Œäø€äŗ›čÆ»å– -/etc/passwd -ę–‡ä»¶ēš„ēØ‹åŗåÆčƒ½ä¼šäøå…č®ø -\fI任何\fR -č®æé—®ć€‚å¦‚ęžœ -\fIpassword\fR -å­—ę®µę˜Æäø€äøŖå°å†™ēš„ -\(lqx\(rqļ¼Œé‚£ä¹ˆåŠ åÆ†ēš„åÆ†ē å®žé™…äøŠå­˜å‚ØäŗŽ -\fBshadow\fR(5) -äø­ļ¼›åœØ -/etc/shadow -文件中 -\fIåæ…é”»\fR -ęœ‰åÆ¹åŗ”ēš„č”Œļ¼Œå¦åˆ™ē”Øęˆ·č“¦ęˆ·å°±ä¼šę— ę•ˆć€‚å¦‚ęžœ -\fIpassword\fR -å­—ę®µę˜Æå…¶ä»–ä»»ä½•å­—ē¬¦äø²ļ¼Œå°†ä¼šč¢«č§†äøŗåŠ åÆ†čæ‡ēš„åÆ†ē ļ¼Œå¦‚ -\fBcrypt\fR(3) -äø­ēš„čÆ“ę˜Žć€‚ -.PP -ę­¤ę³Øé‡Šå­—ę®µč¢«å¤šäøŖē³»ē»Ÿå·„å…·ä½æē”Øļ¼Œä¾‹å¦‚ -\fBfinger\fR(1)怂 -.PP -äø»ē›®å½•å­—ę®µęä¾›äŗ†åˆå§‹å·„ä½œē›®å½•ēš„åē§°ć€‚\fBlogin\fR -ēØ‹åŗę ¹ę®ę­¤äæ”ęÆč®¾ē½® -\fB$HOME\fR -ēŽÆå¢ƒå˜é‡ć€‚ -.PP -å‘½ä»¤č§£é‡Šå™Øå­—ę®µęä¾›äŗ†ē”Øęˆ·å‘½ä»¤čÆ­čØ€č§£é‡Šå™Øēš„åē§°ļ¼Œęˆ–č€…å¼€å§‹ę—¶ę‰§č”Œēš„ēØ‹åŗēš„åē§°ć€‚\fBlogin\fR -ēØ‹åŗä½æē”Øę­¤äæ”ęÆč®¾ē½® -\fB$SHELL\fR -ēŽÆå¢ƒå˜é‡ēš„å€¼ć€‚å¦‚ęžœå­—ę®µäøŗē©ŗļ¼Œé»˜č®¤å€¼äøŗ -/bin/sh怂 -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -åÆé€‰ēš„åŠ åÆ†åŽēš„åÆ†ē ę–‡ä»¶ -.RE -.PP -/etc/passwd\- -.RS 4 -/etc/passwd ēš„å¤‡ä»½ę–‡ä»¶ć€‚ -.sp -ę³Øę„ļ¼Œę­¤ę–‡ä»¶ē”± shadow å·„å…·é›†ä½æē”Øļ¼Œč€Œäøę˜Æę‰€ęœ‰ēš„ē”Øęˆ·å’ŒåÆ†ē ē®”ē†å·„å…·éƒ½ä¼šä½æē”Øć€‚ -.RE -.SH "å‚č§" -.PP -\fBcrypt\fR(3), -\fBgetent\fR(1), -\fBgetpwnam\fR(3), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBshadow\fR(5), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/zh_CN/man5/porttime.5 b/man/zh_CN/man5/porttime.5 deleted file mode 100644 index ade7baf1..00000000 --- a/man/zh_CN/man5/porttime.5 +++ /dev/null @@ -1,93 +0,0 @@ -'\" t -.\" Title: porttime -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ– -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "PORTTIME" "5" "2016-09-18" "shadow\-utils 4\&.4" "ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ–" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -porttime \- ē«Æå£č®æé—®ę—¶é—“ę–‡ä»¶ -.SH "ęčæ°" -.PP -\fIporttime\fR -åŒ…å«äø€äøŖ tty č®¾å¤‡ć€ē”Øęˆ·åå’Œå…č®øē™»å½•ę—¶é—“ēš„åˆ—č”Øć€‚ -.PP -ęÆé”¹åŒ…å«äø‰äøŖē”±å†’å·åˆ†éš”ēš„å­—ę®µć€‚ē¬¬äø€äøŖå­—ę®µę˜Æé€—å·åˆ†éš”ēš„ tty č®¾å¤‡åˆ—č”Øļ¼Œęˆ–č€…ę˜Ÿå·č”Øē¤ŗåŒ¹é…ę‰€ęœ‰ē»ˆē«Æć€‚ē¬¬äŗŒäøŖå­—ę®µę˜Æé€—å·åˆ†éš”ēš„ē”Øęˆ·ååˆ—č”Øļ¼Œęˆ–č€…ę˜Ÿå·č”Øē¤ŗåŒ¹é…ę‰€ęœ‰ē”Øęˆ·åć€‚ē¬¬äø‰äøŖå­—ę®µę˜Æé€—å·åˆ†éš”ēš„č®æé—®č®øåÆę—¶é—“ć€‚ -.PP -ęÆę”č®æé—®ę—¶é—“åŒ…å«äø€å‘Øēš„ 0 å¤©ęˆ–å¤šå¤©ļ¼Œē¼©å†™äøŗ -\fISu\fR, -\fIMo\fR, -\fITu\fR, -\fIWe\fR, -\fITh\fR, -\fIFr\fR -和 -\fISa\fRļ¼ŒéšåŽę˜Æčæžå­—ē¬¦åˆ†éš”ēš„äø€ē»„ę—¶é—“ļ¼Œē¼©å†™ -\fIWk\fR -åÆä»„ē”ØäŗŽč”Øē¤ŗå‘Øäø€åˆ°å‘Øäŗ”ļ¼Œ\fIAl\fR -åÆä»„ē”ØäŗŽč”Øē¤ŗę²”äø€å¤©ć€‚å¦‚ęžœę²”ęœ‰åˆ¶å®šå‘Øå‡ ļ¼Œå°†ä¼šå‡å®šäøŗ -\fIAl\fR怂 -.SH "示例" -.PP -äø‹é¢ēš„ę”ē›®å…č®øåœØå·„ä½œę—„ēš„äøŠåˆä¹ē‚¹åˆ°äø‹åˆäŗ”ē‚¹åœØä»»ä½•ē«Æå£äøŠč®æé—®ē”Øęˆ· -\fBjfh\fR怂 -.PP -*:jfh:Wk0900\-1700 -.PP -äø‹é¢čæ™ę”ä»»ä½•ę—¶é—“ļ¼ŒåŖå…č®øē”Øęˆ· -\fIroot\fR -和 -\fIoper\fR -在 -/dev/console -ē™»å½•ć€‚čæ™ä¹Ÿę˜ÆčÆ“ -/etc/porttime -ę–‡ä»¶ę˜Æäø€äøŖč®æé—®ę—¶é—“ēš„ęœ‰åŗåˆ—č”Øć€‚ä»»ä½•åŒ¹é…ē¬¬äŗŒę”ēš„å…¶ä»–ē”Øęˆ·éƒ½äøä¼šč¢«å…č®øč®æé—®ć€‚ -.sp -.if n \{\ -.RS 4 -.\} -.nf - console:root,oper:Al0000\-2400 - console:*: - -.fi -.if n \{\ -.RE -.\} -.PP -å¦‚äø‹é”¹å…č®øļ¼ŒåœØéžå·„ä½œę—¶é—“åœØä»»ä½•ē«Æå£äøŠä½æē”Øē”Øęˆ· -\fIgames\fR怂 -.PP -*:games:Wk1700\-0900,SaSu0000\-2400 -.SH "ꖇ件" -.PP -/etc/porttime -.RS 4 -åŒ…å«äŗ†ē«Æå£č®æé—®äæ”ęÆēš„ę–‡ä»¶ć€‚ -.RE -.SH "å‚č§" -.PP -\fBlogin\fR(1)\&. diff --git a/man/zh_CN/man5/shadow.5 b/man/zh_CN/man5/shadow.5 deleted file mode 100644 index f5ce7add..00000000 --- a/man/zh_CN/man5/shadow.5 +++ /dev/null @@ -1,149 +0,0 @@ -'\" t -.\" Title: shadow -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ– -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "SHADOW" "5" "2016-09-18" "shadow\-utils 4\&.4" "ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ–" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -shadow \- å½±å­åŒ–äŗ†ēš„åÆ†ē ę–‡ä»¶ -.SH "ęčæ°" -.PP -shadow -ę˜Æäø€äøŖę–‡ä»¶ļ¼Œå®ƒåŒ…å«ē³»ē»Ÿč“¦ęˆ·ēš„åÆ†ē äæ”ęÆå’ŒåÆé€‰ēš„å¹“é¾„äæ”ęÆć€‚ -.PP -å¦‚ęžœę²”ęœ‰ē»“ęŠ¤å„½åÆ†ē å®‰å…Øļ¼Œę­¤ę–‡ä»¶ē»åÆ¹äøčƒ½č®©ę™®é€šē”Øęˆ·åÆčÆ»ć€‚ -.PP -ę­¤ę–‡ä»¶ēš„ęÆč”ŒåŒ…ę‹¬ 9 äøŖå­—ę®µļ¼Œä½æē”ØåŠč§’å†’å· (\(lq:\(rq) åˆ†éš”ļ¼Œé”ŗåŗå¦‚äø‹ļ¼š -.PP -\fBē™»å½•å\fR -.RS 4 -åæ…é”»ę˜Æęœ‰ę•ˆēš„č“¦ęˆ·åļ¼Œäø”å·²ē»å­˜åœØäŗŽē³»ē»Ÿäø­ć€‚ -.RE -.PP -\fBåŠ åÆ†äŗ†ēš„åÆ†ē \fR -.RS 4 -čÆ·å‚č€ƒ -\fBcrypt\fR(3) -ę„äŗ†č§£å…³äŗŽč§£ęžę­¤å­—ē¬¦äø²ēš„ē»†čŠ‚äæ”ęÆć€‚ -.sp -å¦‚ęžœåÆ†ē å­—ę®µåŒ…å«äø€äŗ›äøę˜Æ -\fBcrypt\fR(3) -åˆę³•ē»“ęžœēš„å­—ē¬¦ļ¼ŒęÆ”å¦‚ ! ꈖ *ļ¼Œē”Øęˆ·å°†ę— ę³•ä½æē”Ø unix 密码登录(ä½†ę˜ÆåÆä»„é€ščæ‡å…¶å®ƒę–¹ę³•ē™»å½•ē³»ē»Ÿ)怂 -.sp -ę­¤å­—ę®µåÆä»„äøŗē©ŗļ¼Œę­¤ę—¶č®¤čÆäøŗē‰¹å®šēš„ē™»å½•åę—¶ļ¼Œäøč¦ę±‚åÆ†ē ć€‚ē„¶č€Œļ¼Œäø€äŗ›čÆ»å– -/etc/shadow -ę–‡ä»¶ēš„åŗ”ē”ØēØ‹åŗļ¼ŒåœØåÆ†ē å­—ę®µäøŗē©ŗę—¶ļ¼ŒåÆčƒ½å†³å®šē¦ę­¢ä»»ä½•č®æé—®ć€‚ -.sp -A password field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the password field before the password was locked\&. -.RE -.PP -\fBęœ€åŽäø€ę¬”ę›“ę”¹åÆ†ē ēš„ę—„ęœŸ\fR -.RS 4 -ęœ€čæ‘äø€ę¬”ę›“ę”¹åÆ†ē ēš„ę—¶é—“ļ¼Œč”Øē¤ŗä»Ž1970幓1月1ę—„å¼€å§‹ēš„å¤©ę•°ć€‚ -.sp -The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system\&. -.sp -ē©ŗå­—ę®µč”Øē¤ŗåÆ†ē å¹“é¾„åŠŸčƒ½č¢«ē¦ē”Øć€‚ -.RE -.PP -\fBåÆ†ē ēš„ęœ€å°å¹“é¾„\fR -.RS 4 -ęœ€å°åÆ†ē å¹“é¾„ę˜ÆęŒ‡ļ¼Œē”Øęˆ·äø€ę¬”ę›“ę”¹åÆ†ē ä¹‹åŽļ¼Œč¦ē­‰å¤šé•æę—¶é—“ę‰å†ę¬”č¢«å…č®øę›“ę”¹åÆ†ē ć€‚ -.sp -ē©ŗå­—ę®µęˆ– 0 č”Øē¤ŗę²”ęœ‰ęœ€å°åÆ†ē å¹“é¾„ć€‚ -.RE -.PP -\fBęœ€å¤§åÆ†ē å¹“é¾„\fR -.RS 4 -ęœ€å¤§åÆ†ē å¹“é¾„ę˜ÆęŒ‡ļ¼Œčæ™å†™å¤©ä¹‹åŽļ¼Œē”Øęˆ·åæ…é”»ę›“ę”¹åÆ†ē ć€‚ -.sp -čæ™å†™å¤©ä¹‹åŽļ¼ŒåÆ†ē ä»ē„¶åÆē”Øć€‚ē”Øęˆ·å°†ä¼šåœØäø‹ę¬”ē™»å½•ēš„ę—¶å€™č¢«č¦ę±‚ę›“ę”¹åÆ†ē ć€‚ -.sp -ē©ŗå­—ę®µč”Øē¤ŗę²”ęœ‰ęœ€å¤§åÆ†ē å¹“é¾„ļ¼Œę²”ęœ‰åÆ†ē č­¦å‘Šę—¶é—“ę®µļ¼Œę²”ęœ‰åÆ†ē ē¦ē”Øę—¶é—“ę®µ(čÆ·ēœ‹äø‹č¾¹)怂 -.sp -å¦‚ęžœęœ€å¤§åÆ†ē å¹“é¾„å°äŗŽęœ€å°åÆ†ē å¹“é¾„ļ¼Œē”Øęˆ·å°†ä¼šäøčƒ½ę›“ę”¹åÆ†ē ć€‚ -.RE -.PP -\fBåÆ†ē č­¦å‘Šę—¶é—“ę®µ\fR -.RS 4 -åÆ†ē čæ‡ęœŸä¹‹å‰ļ¼Œęå‰č­¦å‘Šē”Øęˆ·ēš„ēš„å¤©ę•°(čÆ·å‚č€ƒäøŠč¾¹ēš„åÆ†ē ēš„ęœ€å¤§å¹“é¾„)怂 -.sp -ē©ŗå­—ę®µęˆ–č€… 0 č”Øē¤ŗę²”ęœ‰åÆ†ē č­¦å‘ŠęœŸć€‚ -.RE -.PP -\fBåÆ†ē ē¦ē”ØęœŸ\fR -.RS 4 -åÆ†ē čæ‡ęœŸ(ęŸ„ēœ‹äøŠč¾¹ēš„åÆ†ē ęœ€å¤§å¹“é¾„)åŽļ¼Œä»ē„¶ęŽ„å—ę­¤åÆ†ē ēš„å¤©ę•°(åœØę­¤ęœŸé—“ļ¼Œē”Øęˆ·åŗ”čÆ„åœØäø‹ę¬”ē™»å½•ę—¶äæ®ę”¹åÆ†ē )怂 -.sp -åÆ†ē åˆ°ęœŸå¹¶äø”čæ‡äŗ†čæ™äøŖå®½é™ęœŸä¹‹åŽļ¼Œä½æē”Øē”Øęˆ·ēš„å½“å‰ēš„åÆ†ē å°†ä¼šäøčƒ½ē™»å½•ć€‚ē”Øęˆ·éœ€č¦č”ē³»ē³»ē»Ÿē®”ē†å‘˜ć€‚ -.sp -ē©ŗå­—ę®µč”Øē¤ŗę²”ęœ‰å¼ŗåˆ¶åÆ†ē čæ‡ęœŸć€‚ -.RE -.PP -\fBč“¦ęˆ·čæ‡ęœŸę—„ęœŸ\fR -.RS 4 -č“¦ęˆ·čæ‡ęœŸēš„ę—„ęœŸļ¼Œč”Øē¤ŗä»Ž1970幓1月1ę—„å¼€å§‹ēš„å¤©ę•°ć€‚ -.sp -Note that an account expiration differs from a password expiration\&. In case of an account expiration, the user shall not be allowed to login\&. In case of a password expiration, the user is not allowed to login using her password\&. -.sp -ē©ŗå­—ę®µč”Øē¤ŗč“¦ęˆ·ę°øäøčæ‡ęœŸć€‚ -.sp -åŗ”čÆ„éæå…ä½æē”Ø 0ļ¼Œå› äøŗå®ƒę—¢čƒ½ē†č§£ęˆę°øäøčæ‡ęœŸä¹Ÿčƒ½ē†č§£ęˆåœØ1970幓1月1ę—„čæ‡ęœŸć€‚ -.RE -.PP -\fBäæē•™å­—ę®µ\fR -.RS 4 -ę­¤å­—ę®µäæē•™ä½œå°†ę„ä½æē”Øć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow\- -.RS 4 -/etc/shadow ēš„å¤‡ä»½ę–‡ä»¶ć€‚ -.sp -ę³Øę„ļ¼Œę­¤ę–‡ä»¶ē”± shadow å·„å…·é›†ä½æē”Øļ¼Œč€Œäøę˜Æę‰€ęœ‰ēš„ē”Øęˆ·å’ŒåÆ†ē ē®”ē†å·„å…·éƒ½ä¼šä½æē”Øć€‚ -.RE -.SH "å‚č§" -.PP -\fBchage\fR(1), -\fBlogin\fR(1), -\fBpasswd\fR(1), -\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBpwconv\fR(8), -\fBpwunconv\fR(8), -\fBsu\fR(1), -\fBsulogin\fR(8)\&. diff --git a/man/zh_CN/man5/suauth.5 b/man/zh_CN/man5/suauth.5 deleted file mode 100644 index 249426c5..00000000 --- a/man/zh_CN/man5/suauth.5 +++ /dev/null @@ -1,141 +0,0 @@ -'\" t -.\" Title: suauth -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ– -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "SUAUTH" "5" "2016-09-18" "shadow\-utils 4\&.4" "ę–‡ä»¶ę ¼å¼å’Œč½¬åŒ–" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -suauth \- čÆ¦ē»†ēš„ su ęŽ§åˆ¶ę–‡ä»¶ -.SH "大纲" -.HP \w'\fB/etc/suauth\fR\ 'u -\fB/etc/suauth\fR -.SH "ęčæ°" -.PP -ę‰§č”Œ su å‘½ä»¤ę—¶ļ¼Œę€»ę˜Æę ¹ę® -/etc/suauthļ¼ŒåÆä»„ę›“ę”¹ su å‘½ä»¤ēš„č”Œäøŗļ¼Œč§„åˆ™ę˜Æļ¼š -.sp -.if n \{\ -.RS 4 -.\} -.nf - 1) the user su is targeting - -.fi -.if n \{\ -.RE -.\} -.PP -2) ę‰§č”Œ su å‘½ä»¤ēš„ē”Øęˆ· (ęˆ–č€…ä»–åÆčƒ½å±žäŗŽēš„ē»„) -.PP -ę–‡ä»¶ę ¼å¼äøŗļ¼šä»„ # å¼€å¤“ēš„č”Œč§†äøŗę³Øč§†ļ¼Œå¹¶č¢«åæ½ē•„ļ¼› -.sp -.if n \{\ -.RS 4 -.\} -.nf - to\-id:from\-id:ACTION - -.fi -.if n \{\ -.RE -.\} -.PP -ę­¤å¤„ēš„ to\-id åÆä»„ę˜Æļ¼š\fIALL\fRļ¼Œé€—å·(,) åˆ†éš”ēš„ē”Øęˆ·ååˆ—č”Øęˆ–č€… -\fIALL EXCEPT\fR -åŽč·Ÿé€—å·åˆ†éš”ēš„ē”Øęˆ·ååˆ—č”Øć€‚ -.PP -from\-id is formatted the same as to\-id except the extra word -\fIGROUP\fR -is recognized\&. -\fIALL EXCEPT GROUP\fR -is perfectly valid too\&. Following -\fIGROUP\fR -appears one or more group names, delimited by ","\&. It is not sufficient to have primary group id of the relevant group, an entry in -\fB/etc/group\fR(5) -is necessary\&. -.PP -åŠØä½œåŖåÆä»„ä½æē”Øå¦‚äø‹å½“å‰ę”ÆęŒēš„é€‰é”¹ć€‚ -.PP -\fIDENY\fR -.RS 4 -su ēš„å°čÆ•åœØčÆ¢é—®åÆ†ē ä¹‹å‰å°±č¢«ę‹’ē»ć€‚ -.RE -.PP -\fINOPASS\fR -.RS 4 -su å°čÆ•č‡ŖåŠØęˆåŠŸļ¼Œč€Œäø”äøčÆ¢é—®åÆ†ē ć€‚ -.RE -.PP -\fIOWNPASS\fR -.RS 4 -äøŗäŗ†ęˆåŠŸę‰§č”Œ suļ¼Œē”Øęˆ·åæ…é”»ęä¾›č‡Ŗå·±ēš„åÆ†ē ć€‚å°†ä¼šęē¤ŗä»–ä»¬čæ™ę ·ć€‚ -.RE -.PP -ę³Øę„ļ¼Œęœ‰äø‰äøŖē”Øå†’å·åˆ†å‰²ēš„å­—ę®µć€‚å†’å·ę—č¾¹äøčƒ½ęœ‰ē©ŗę ¼ć€‚ä¹ŸčÆ·ę³Øę„ļ¼Œčæ™äøŖę–‡ä»¶ä¼šč¢«äø€č”Œäø€č”Œåœ°ä¾ę¬”ę£€ęŸ„ļ¼Œä¼šä½æē”Øē¬¬äø€äøŖåÆē”Øēš„č§„åˆ™ļ¼Œč€Œäøä¼šē»§ē»­ę£€ęŸ„ę–‡ä»¶ć€‚čæ™åÆä»„č®©ē³»ē»Ÿē®”ē†å‘˜ä½æē³»ē»Ÿå°½é‡ē¬¦åˆå…¶ęœŸęœ›ć€‚ -.SH "示例" -.sp -.if n \{\ -.RS 4 -.\} -.nf - # 示例 /etc/suauth ꖇ件 - # - # ęœ‰äø¤äøŖē”Øęˆ·åÆä»„ä½æē”Øč‡Ŗå·±ēš„åÆ†ē  su ꈐ root - # - root:chris,birddog:OWNPASS - # - # ä»»ä½•å…¶ä»–äŗŗéƒ½äøčƒ½ su ꈐ rootļ¼Œé™¤éžåœØ wheel 组中。 - # BSD å°±ę˜Æčæ™ę ·å®žēŽ°čæ™äøŖåŠŸčƒ½ēš„ć€‚ - # - root:ALL EXCEPT GROUP wheel:DENY - # - # ęˆ–č®ø terry 和 birddog ę˜Æå±žäŗŽåŒäø€äøŖäŗŗēš„č“¦ęˆ· - # äø¤äøŖč“¦ęˆ·ē›“ęŽ„äŗ’ē›ø suļ¼Œäøéœ€č¦åÆ†ē  - # - terry:birddog:NOPASS - birddog:terry:NOPASS - # - -.fi -.if n \{\ -.RE -.\} -.SH "ꖇ件" -.PP -/etc/suauth -.RS 4 -.RE -.SH "ē¼ŗé™·" -.PP -åÆčƒ½ä¼šęœ‰å¾ˆå¤šę½œåœØé—®é¢˜ć€‚ę–‡ä»¶č§£ęžå™Øå°¤å…¶äøčƒ½å®¹åæčÆ­ę³•é”™čÆÆļ¼Œäøčƒ½ęœ‰ę— ę„ä¹‰ēš„ē©ŗē™½ē¬¦(é™¤äŗ†č”Œé¦–å’Œč”Œå°¾)ļ¼Œå¹¶äø”ä½æē”Øē‰¹å®šēš„ę ‡č®°åˆ†å‰²äøåŒēš„äŗ‹ęƒ…ć€‚ -.SH "DIAGNOSTICS" -.PP -ę­¤ę–‡ä»¶ēš„č§£ęžé”™čÆÆä¼šä½æē”Ø -\fBsyslogd\fR(8) -作为 AUTH äø­ēš„ ERR ēŗ§åˆ«ęŠ„å‘Šć€‚ -.SH "å‚č§" -.PP -\fBsu\fR(1)\&. diff --git a/man/zh_CN/man8/chgpasswd.8 b/man/zh_CN/man8/chgpasswd.8 deleted file mode 100644 index fad38026..00000000 --- a/man/zh_CN/man8/chgpasswd.8 +++ /dev/null @@ -1,206 +0,0 @@ -'\" t -.\" Title: chgpasswd -.\" Author: Thomas K\(/loczko -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "CHGPASSWD" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -chgpasswd \- ę‰¹é‡ę›“ę–°ē»„åÆ†ē  -.SH "大纲" -.HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fI选锹\fR] -.SH "ęčæ°" -.PP -\fBchgpasswd\fR -å‘½ä»¤ä»Žę ‡å‡†č¾“å…„čÆ»å–äø€ē³»åˆ—ē»„åå’ŒåÆ†ē åÆ¹ļ¼Œå¹¶ä½æē”Øę­¤äæ”ęÆę›“ę–°čæ™äŗ›å­˜åœØēš„ē»„ć€‚ęÆč”Œēš„ę ¼å¼å¦‚äø‹ļ¼š -.PP -\fIgroup_name\fR:\fIpassword\fR -.PP -é»˜č®¤äøŠļ¼Œęä¾›ēš„åÆ†ē åæ…é”»ę˜Æę˜Žē ę–‡ęœ¬ļ¼Œē„¶åŽē”± -\fBchgpasswd\fR -åŠ åÆ†ć€‚ -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -variable of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -ę­¤å‘½ä»¤äø€čˆ¬ē”ØäŗŽéœ€č¦äø€ę¬”åˆ›å»ŗå¾ˆå¤šē”Øęˆ·ēš„å¤§åž‹ē³»ē»Ÿć€‚ -.SH "选锹" -.PP -\fBchgpasswd\fR -åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -ä½æē”ØęŒ‡å®šēš„ę–¹ę³•åŠ åÆ†åÆ†ē ć€‚ -.sp -åÆē”Øēš„ę–¹ę³•ęœ‰ DES, MD5, NONE, and SHA256 ꈖ SHA512ļ¼Œå‰ęę˜Æę‚Øēš„ libc ę”ÆęŒčæ™å†™ę–¹ę³•ć€‚ -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -ęä¾›ēš„åÆ†ē ę˜Æå·²ē»åŠ åÆ†äŗ†ēš„ -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -å¦‚ęžœęä¾›ēš„åÆ†ē ę²”ęœ‰åŠ åÆ†ļ¼Œåˆ™ä½æē”Ø MD5 åŠ åÆ†č€Œäøę˜Æ DES怂 -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -ä½æē”ØęŒ‡å®šę¬”ę•°ēš„č½®č½¬ę„åŠ åÆ†åÆ†ē ć€‚ -.sp -值 0 č”Øē¤ŗč®©ē³»ē»ŸäøŗåŠ åÆ†ę–¹ę³•é€‰ę‹©é»˜č®¤ēš„č½®č½¬ę¬”ę•° (5000)怂 -.sp -ä¼šå¼ŗåˆ¶ęœ€å° 1,000ļ¼Œęœ€å¤§ 9,9999,9999 -.sp -ę‚ØåŖåÆä»„åÆ¹ SHA256 ꈖ SHA512 使用此选锹。 -.sp -é»˜č®¤ļ¼Œč½®č½¬ę•°ē”± -/etc/login\&.defs -ę–‡ä»¶äø­ēš„ SHA_CRYPT_MIN_ROUNDS 和 SHA_CRYPT_MAX_ROUNDS å˜é‡ē”®å®šć€‚ -.RE -.SH "CAVEATS" -.PP -č®°ä½č¦č®¾ē½®ęƒé™ęˆ–č€…ęŽ©ē ę„é˜»ę­¢å…¶å®ƒē”Øęˆ·åÆ¹ęœŖåŠ åÆ†ę–‡ä»¶ēš„čÆ»å–ć€‚ -.PP -ę‚Øéœ€č¦ē”®äæä½ å—å’ŒåŠ åÆ†ę–¹ę³•ē¬¦åˆē³»ē»Ÿēš„åÆ†ē ē­–ē•„ć€‚ -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -čæ™å®šä¹‰äŗ†ē³»ē»ŸåŠ åÆ†åÆ†ē ēš„é»˜č®¤ē®—ę³•(å¦‚ęžœę²”ęœ‰åœØå‘½ä»¤č”ŒäøŠęŒ‡å®šē®—ę³•)怂 -.sp -åÆä»„ä½æē”Øå¦‚äø‹å€¼ļ¼š\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -ę³Øę„ļ¼Œę­¤å‚ę•°ä¼šč¦†ē›– -\fBMD5_CRYPT_ENAB\fR -å˜é‡ć€‚ -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -č”Øē¤ŗåÆ†ē ę˜Æå¦åæ…é”»ä½æē”ØåŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å¦‚ęžœč®¾äøŗ -\fIyes\fRļ¼Œę–°åÆ†ē å°†ä½æē”ØåÆä»„å’Œę–°ē‰ˆ FreeBSD å…¼å®¹ēš„åŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å®ƒę”ÆęŒę— é™é•æåŗ¦ēš„åÆ†ē ä»„åŠę›“é•æēš„ē›å­—ē¬¦äø²ć€‚å¦‚ęžœę‚Øéœ€č¦å°†åŠ åÆ†ēš„åÆ†ē å¤åˆ¶åˆ°å…¶å®ƒäøē†č§£ę–°ē®—ę³•ēš„ē³»ē»Ÿļ¼Œč®¾ē½®äøŗ -\fIno\fRć€‚é»˜č®¤å€¼ę˜Æ -\fIno\fR怂 -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -ę­¤å˜é‡å·²ē»åŗŸå¼ƒć€‚ę‚Øåŗ”čÆ„ä½æē”Ø -\fBENCRYPT_METHOD\fR怂 -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -\fBENCRYPT_METHOD\fR -设为 -\fISHA256\fR -ꈖ -\fISHA512\fR -ę—¶ļ¼Œę­¤é”¹ē”®å®šåŠ åÆ†ē®—ę³•é»˜č®¤ä½æē”Ø SHA 轮转数目(å½“č½®č½¬ę•°ę²”ęœ‰é€ščæ‡å‘½ä»¤č”ŒęŒ‡å®šę—¶)怂 -.sp -ä½æē”Øå¾ˆå¤šč½®č½¬ļ¼Œä¼šč®©ęš“åŠ›ē “č§£ę›“åŠ å›°éš¾ć€‚ä½†ę˜Æéœ€č¦ę³Øę„ļ¼Œč®¤čÆē”Øęˆ·ę—¶ä¹Ÿä¼šéœ€č¦ę›“å¤šēš„ CPU 资源。 -.sp -å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œlibc ä¼šé€‰ę‹©é»˜č®¤ēš„č½®č½¬ę•°(5000)怂 -.sp -å€¼åæ…é”»åœØ 1000 \- 999,999,999 之闓。 -.sp -å¦‚ęžœåŖč®¾ē½®äŗ†äø€äøŖ -\fBSHA_CRYPT_MIN_ROUNDS\fR -ꈖ -\fBSHA_CRYPT_MAX_ROUNDS\fR -å€¼ļ¼Œå°±ä¼šä½æē”Øčæ™äøŖå€¼ć€‚ -.sp -å¦‚ęžœ -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fRļ¼Œå°†ä¼šä½æē”Øå¤§ēš„é‚£äøŖć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.SH "å‚č§" -.PP -\fBgpasswd\fR(1), -\fBgroupadd\fR(8), -\fBlogin.defs\fR(5)\&. diff --git a/man/zh_CN/man8/chpasswd.8 b/man/zh_CN/man8/chpasswd.8 deleted file mode 100644 index a0a3edaa..00000000 --- a/man/zh_CN/man8/chpasswd.8 +++ /dev/null @@ -1,209 +0,0 @@ -'\" t -.\" Title: chpasswd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "CHPASSWD" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -chpasswd \- ę‰¹é‡ę›“ę–°åÆ†ē  -.SH "大纲" -.HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fI选锹\fR] -.SH "ęčæ°" -.PP -The -\fBchpasswd\fR -command reads a list of user name and password pairs from standard input and uses this information to update a group of existing users\&. Each line is of the format: -.PP -\fIuser_name\fR:\fIpassword\fR -.PP -é»˜č®¤åæ…é”»ę˜Žę–‡ęä¾›åÆ†ē ļ¼Œē„¶åŽē”± -\fBchpasswd\fR -åŠ åÆ†ć€‚å¦‚ęžœå­˜åœØåÆ†ē å¹“é¾„äæ”ęÆļ¼Œä¹Ÿä¼šę›“ę–°ä¹‹ć€‚ -.PP -The default encryption algorithm can be defined for the system with the -\fBENCRYPT_METHOD\fR -or -\fBMD5_CRYPT_ENAB\fR -variables of -/etc/login\&.defs, and can be overwritten with the -\fB\-e\fR, -\fB\-m\fR, or -\fB\-c\fR -options\&. -.PP -\fBchpasswd\fR -first updates all the passwords in memory, and then commits all the changes to disk if no errors occurred for any user\&. -.PP -ę­¤å‘½ä»¤äø€čˆ¬ē”ØäŗŽéœ€č¦äø€ę¬”åˆ›å»ŗå¾ˆå¤šē”Øęˆ·ēš„å¤§åž‹ē³»ē»Ÿć€‚ -.SH "选锹" -.PP -\fBchpasswd\fR -åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR\ \&\fIMETHOD\fR -.RS 4 -ä½æē”ØęŒ‡å®šēš„ę–¹ę³•åŠ åÆ†åÆ†ē ć€‚ -.sp -åÆē”Øēš„ę–¹ę³•ęœ‰ DES, MD5, NONE, and SHA256 ꈖ SHA512ļ¼Œå‰ęę˜Æę‚Øēš„ libc ę”ÆęŒčæ™å†™ę–¹ę³•ć€‚ -.sp -By default (if none of the -\fB\-c\fR, -\fB\-m\fR, or -\fB\-e\fR -options are specified), the encryption method is defined by the -\fBENCRYPT_METHOD\fR -or -\fBMD5_CRYPT_ENAB\fR -variables of -/etc/login\&.defs\&. -.RE -.PP -\fB\-e\fR, \fB\-\-encrypted\fR -.RS 4 -ęä¾›ēš„åÆ†ē ę˜Æå·²ē»åŠ åÆ†äŗ†ēš„ -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-m\fR, \fB\-\-md5\fR -.RS 4 -å¦‚ęžœęä¾›ēš„åÆ†ē ę²”ęœ‰åŠ åÆ†ļ¼Œåˆ™ä½æē”Ø MD5 åŠ åÆ†č€Œäøę˜Æ DES怂 -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIROUNDS\fR -.RS 4 -ä½æē”ØęŒ‡å®šę¬”ę•°ēš„č½®č½¬ę„åŠ åÆ†åÆ†ē ć€‚ -.sp -值 0 č”Øē¤ŗč®©ē³»ē»ŸäøŗåŠ åÆ†ę–¹ę³•é€‰ę‹©é»˜č®¤ēš„č½®č½¬ę¬”ę•° (5000)怂 -.sp -ä¼šå¼ŗåˆ¶ęœ€å° 1,000ļ¼Œęœ€å¤§ 9,9999,9999 -.sp -ę‚ØåŖåÆä»„åÆ¹ SHA256 ꈖ SHA512 使用此选锹。 -.sp -By default, the number of rounds is defined by the -\fBSHA_CRYPT_MIN_ROUNDS\fR -and -\fBSHA_CRYPT_MAX_ROUNDS\fR -variables in -/etc/login\&.defs\&. -.RE -.SH "CAVEATS" -.PP -č®°ä½č¦č®¾ē½®ęƒé™ęˆ–č€…ęŽ©ē ę„é˜»ę­¢å…¶å®ƒē”Øęˆ·åÆ¹ęœŖåŠ åÆ†ę–‡ä»¶ēš„čÆ»å–ć€‚ -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -čæ™å®šä¹‰äŗ†ē³»ē»ŸåŠ åÆ†åÆ†ē ēš„é»˜č®¤ē®—ę³•(å¦‚ęžœę²”ęœ‰åœØå‘½ä»¤č”ŒäøŠęŒ‡å®šē®—ę³•)怂 -.sp -åÆä»„ä½æē”Øå¦‚äø‹å€¼ļ¼š\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -ę³Øę„ļ¼Œę­¤å‚ę•°ä¼šč¦†ē›– -\fBMD5_CRYPT_ENAB\fR -å˜é‡ć€‚ -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -č”Øē¤ŗåÆ†ē ę˜Æå¦åæ…é”»ä½æē”ØåŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å¦‚ęžœč®¾äøŗ -\fIyes\fRļ¼Œę–°åÆ†ē å°†ä½æē”ØåÆä»„å’Œę–°ē‰ˆ FreeBSD å…¼å®¹ēš„åŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å®ƒę”ÆęŒę— é™é•æåŗ¦ēš„åÆ†ē ä»„åŠę›“é•æēš„ē›å­—ē¬¦äø²ć€‚å¦‚ęžœę‚Øéœ€č¦å°†åŠ åÆ†ēš„åÆ†ē å¤åˆ¶åˆ°å…¶å®ƒäøē†č§£ę–°ē®—ę³•ēš„ē³»ē»Ÿļ¼Œč®¾ē½®äøŗ -\fIno\fRć€‚é»˜č®¤å€¼ę˜Æ -\fIno\fR怂 -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -ę­¤å˜é‡å·²ē»åŗŸå¼ƒć€‚ę‚Øåŗ”čÆ„ä½æē”Ø -\fBENCRYPT_METHOD\fR怂 -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -\fBENCRYPT_METHOD\fR -设为 -\fISHA256\fR -ꈖ -\fISHA512\fR -ę—¶ļ¼Œę­¤é”¹ē”®å®šåŠ åÆ†ē®—ę³•é»˜č®¤ä½æē”Ø SHA 轮转数目(å½“č½®č½¬ę•°ę²”ęœ‰é€ščæ‡å‘½ä»¤č”ŒęŒ‡å®šę—¶)怂 -.sp -ä½æē”Øå¾ˆå¤šč½®č½¬ļ¼Œä¼šč®©ęš“åŠ›ē “č§£ę›“åŠ å›°éš¾ć€‚ä½†ę˜Æéœ€č¦ę³Øę„ļ¼Œč®¤čÆē”Øęˆ·ę—¶ä¹Ÿä¼šéœ€č¦ę›“å¤šēš„ CPU 资源。 -.sp -å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œlibc ä¼šé€‰ę‹©é»˜č®¤ēš„č½®č½¬ę•°(5000)怂 -.sp -å€¼åæ…é”»åœØ 1000 \- 999,999,999 之闓。 -.sp -å¦‚ęžœåŖč®¾ē½®äŗ†äø€äøŖ -\fBSHA_CRYPT_MIN_ROUNDS\fR -ꈖ -\fBSHA_CRYPT_MAX_ROUNDS\fR -å€¼ļ¼Œå°±ä¼šä½æē”Øčæ™äøŖå€¼ć€‚ -.sp -å¦‚ęžœ -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fRļ¼Œå°†ä¼šä½æē”Øå¤§ēš„é‚£äøŖć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.SH "å‚č§" -.PP -\fBpasswd\fR(1), -\fBnewusers\fR(8), -\fBlogin.defs\fR(5),\fBuseradd\fR(8)\&. diff --git a/man/zh_CN/man8/faillog.8 b/man/zh_CN/man8/faillog.8 deleted file mode 100644 index d6227d9b..00000000 --- a/man/zh_CN/man8/faillog.8 +++ /dev/null @@ -1,165 +0,0 @@ -'\" t -.\" Title: faillog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "FAILLOG" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -faillog \- ę˜¾ē¤ŗē™»å½•å¤±č“„č®°å½•ęˆ–č®¾ē½®ē™»å½•å¤±č“„é™åˆ¶ -.SH "大纲" -.HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fI选锹\fR] -.SH "ęčæ°" -.PP -\fBfaillog\fR -displays the contents of the failure log database (/var/log/faillog)\&. It can also set the failure counters and limits\&. When -\fBfaillog\fR -is run without arguments, it only displays the faillog records of the users who had a login failure\&. -.SH "选锹" -.PP -\fBfaillog\fR -åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-a\fR, \fB\-\-all\fR -.RS 4 -Display (or act on) faillog records for all users having an entry in the -faillog -database\&. -.sp -ē”Øęˆ·ēš„čŒƒå›“åÆä»„ä½æē”Ø -\fB\-u\fR -é€‰é”¹é™åˆ¶ć€‚ -.sp -In display mode, this is still restricted to existing users but forces the display of the faillog entries even if they are empty\&. -.sp -With the -\fB\-l\fR, -\fB\-m\fR, -\fB\-r\fR, -\fB\-t\fR -options, the users\*(Aq records are changed, even if the user does not exist on the system\&. This is useful to reset records of users that have been deleted or to set a policy in advance for a range of users\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fISEC\fR -.RS 4 -ē™»å½•å¤±č“„åŽé”å®šč“¦ęˆ· -\fISEC\fR -秒。 -.sp -此选锹要求对 -/var/log/faillog -ęœ‰å†™å…„ęƒé™ć€‚ -.RE -.PP -\fB\-m\fR, \fB\-\-maximum\fR\ \&\fIMAX\fR -.RS 4 -Set the maximum number of login failures after the account is disabled to -\fIMAX\fR\&. -.sp -Selecting a -\fIMAX\fR -value of 0 has the effect of not placing a limit on the number of failed logins\&. -.sp -The maximum failure count should always be 0 for -\fIroot\fR -to prevent a denial of services attack against the system\&. -.sp -此选锹要求对 -/var/log/faillog -ęœ‰å†™å…„ęƒé™ć€‚ -.RE -.PP -\fB\-r\fR, \fB\-\-reset\fR -.RS 4 -é‡ē½®ē™»å½•å¤±č“„č®”ę•°ć€‚ -.sp -此选锹要求对 -/var/log/faillog -ęœ‰å†™å…„ęƒé™ć€‚ -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIDAYS\fR -.RS 4 -ę˜¾ē¤ŗę–°äŗŽ -\fIDAYS\fR -ēš„ē™»å½•å¤±č“„č®°å½•ć€‚ -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR -.RS 4 -Display faillog record or maintains failure counters and limits (if used with -\fB\-l\fR, -\fB\-m\fR -or -\fB\-r\fR -options) only for the specified user(s)\&. -.sp -The users can be specified by a login name, a numerical user ID, or a -\fIRANGE\fR -of users\&. This -\fIRANGE\fR -of users can be specified with a min and max values (\fIUID_MIN\-UID_MAX\fR), a max value (\fI\-UID_MAX\fR), or a min value (\fIUID_MIN\-\fR)\&. -.RE -.PP -When none of the -\fB\-l\fR, -\fB\-m\fR, or -\fB\-r\fR -options are used, -\fBfaillog\fR -displays the faillog record of the specified user(s)\&. -.SH "CAVEATS" -.PP -\fBfaillog\fR -only prints out users with no successful login since the last failure\&. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the -\fB\-u\fR -flag, or print out all users with the -\fB\-a\fR -flag\&. -.SH "ꖇ件" -.PP -/var/log/faillog -.RS 4 -Failure logging file\&. -.RE -.SH "å‚č§" -.PP -\fBlogin\fR(1), -\fBfaillog\fR(5)\&. diff --git a/man/zh_CN/man8/groupadd.8 b/man/zh_CN/man8/groupadd.8 deleted file mode 100644 index 1c748b93..00000000 --- a/man/zh_CN/man8/groupadd.8 +++ /dev/null @@ -1,242 +0,0 @@ -'\" t -.\" Title: groupadd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "GROUPADD" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -groupadd \- åˆ›å»ŗäø€äøŖę–°ē»„ -.SH "大纲" -.HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fI选锹\fR] \fIgroup\fR -.SH "ęčæ°" -.PP -The -\fBgroupadd\fR -command creates a new group account using the values specified on the command line plus the default values from the system\&. The new group will be entered into the system files as needed\&. -.SH "选锹" -.PP -\fBgroupadd\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -This option causes the command to simply exit with success status if the specified group already exists\&. When used with -\fB\-g\fR, and the specified GID already exists, another (unique) GID is chosen (i\&.e\&. -\fB\-g\fR -is turned off)\&. -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -The numerical value of the group\*(Aqs ID\&. This value must be unique, unless the -\fB\-o\fR -option is used\&. The value must be non\-negative\&. The default is to use the smallest ID value greater than or equal to -\fBGID_MIN\fR -and greater than every other group\&. -.sp -See also the -\fB\-r\fR -option and the -\fBGID_MAX\fR -description\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR -.RS 4 -Overrides -/etc/login\&.defs -defaults (GID_MIN, GID_MAX and others)\&. Multiple -\fB\-K\fR -options can be specified\&. -.sp -ē¤ŗä¾‹ļ¼š\fB\-K\fR\ \&\fIGID_MIN\fR=\fI100\fR\ \&\fB\-K\fR\ \&\fIGID_MAX\fR=\fI499\fR -.sp -ę³Øę„ļ¼š\fB\-K\fR\ \&\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR -å°šäøčƒ½å·„ä½œć€‚ -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -ę­¤é€‰é”¹å…č®øę·»åŠ äø€äøŖä½æē”Øéžå”Æäø€ GID ēš„ē»„ć€‚ -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -åŠ åÆ†äŗ†ēš„åÆ†ē ļ¼Œå°±åƒ -\fBcrypt\fR(3) -ēš„čæ”å›žå€¼ć€‚é»˜č®¤äøŗē¦ē”ØåÆ†ē ć€‚ -.sp -\fBę³Øę„ļ¼š\fRäøęŽØčä½æē”Øčæ™äøŖé€‰é”¹ļ¼Œå› äøŗåÆ†ē (ęˆ–åŠ åÆ†čæ‡ēš„åÆ†ē )ä¼šč¢«ē”Øęˆ·é€ščæ‡åˆ—å‡ŗčæ™äøŖčæ‡ēØ‹č€Œēœ‹åˆ°ć€‚ -.sp -ę‚Øåŗ”čÆ„ē”®äæåÆ†ē ē¬¦åˆē³»ē»Ÿēš„åÆ†ē ę”æē­–ć€‚ -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -åˆ›å»ŗäø€äøŖē³»ē»Ÿē»„ć€‚ -.sp -The numeric identifiers of new system groups are chosen in the -\fBSYS_GID_MIN\fR\-\fBSYS_GID_MAX\fR -range, defined in -login\&.defs, instead of -\fBGID_MIN\fR\-\fBGID_MAX\fR\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBGID_MAX\fR (number), \fBGID_MIN\fR (number) -.RS 4 -\fBuseradd\fR,\fBgroupadd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„åøøč§„ē»„ēš„ē»„ ID ēš„čŒƒå›“ć€‚ -.sp -\fBGID_MIN\fR -和 -\fBGID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 1000 和 60000怂 -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.PP -\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) -.RS 4 -\fBuseradd\fR态\fBgroupadd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„ē³»ē»Ÿē»„ēš„ē»„ ID ēš„čŒƒå›“ć€‚ -.sp -\fBSYS_GID_MIN\fR -和 -\fBSYS_GID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 101 和 -\fBGID_MIN\fR\-1怂 -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.SH "CAVEATS" -.PP -ē»„ååæ…é”»ä»„å°å†™å­—ęÆęˆ–č€…äø‹åˆ’ēŗæå¼€å¤“ļ¼Œč·Ÿéšå°å†™å­—ęÆć€äø‹åˆ’ēŗæęˆ–ēŸ­ęØŖēŗæć€‚åÆä»„ē”±ē¾Žå…ƒē¬¦å·ē»“ęŸć€‚ē”Øę­£åˆ™č”Øč¾¾å¼å°±ę˜Æļ¼š[a\-z_][a\-z0\-9_\-]*[$]? -.PP -ē»„åęœ€é•æäøŗ 16 个字符。 -.PP -You may not add a NIS or LDAP group\&. This must be performed on the corresponding server\&. -.PP -If the groupname already exists in an external group database such as NIS or LDAP, -\fBgroupadd\fR -will deny the group creation request\&. -.SH "退出值" -.PP -\fBgroupadd\fR -åÆčƒ½ä»„å¦‚äø‹å€¼é€€å‡ŗļ¼š -.PP -\fI0\fR -.RS 4 -成功 -.RE -.PP -\fI2\fR -.RS 4 -ę— ę•ˆēš„å‘½ä»¤čÆ­ę³• -.RE -.PP -\fI3\fR -.RS 4 -ē»™äŗ†é€‰é”¹äø€äøŖę— ę•ˆēš„å‚ę•° -.RE -.PP -\fI4\fR -.RS 4 -GID äøå”Æäø€ (ę²”ęœ‰ä½æē”Ø -\fB\-o\fR) -.RE -.PP -\fI9\fR -.RS 4 -ē»„åäøå”Æäø€ -.RE -.PP -\fI10\fR -.RS 4 -无法曓新组文件 -.RE -.SH "å‚č§" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/zh_CN/man8/groupdel.8 b/man/zh_CN/man8/groupdel.8 deleted file mode 100644 index 5ba222ad..00000000 --- a/man/zh_CN/man8/groupdel.8 +++ /dev/null @@ -1,134 +0,0 @@ -'\" t -.\" Title: groupdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "GROUPDEL" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -groupdel \- åˆ é™¤äø€äøŖē»„ -.SH "大纲" -.HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fI选锹\fR] \fIGROUP\fR -.SH "ęčæ°" -.PP -\fBuserdel\fR -äæ®ę”¹ē³»ē»Ÿč“¦ęˆ·ę–‡ä»¶ļ¼Œåˆ é™¤äøŽ -\fIGROUP\fR -ē›øå…³ēš„ę‰€ęœ‰é”¹ē›®ć€‚ē»™å‡ŗēš„ē»„ååæ…é”»å­˜åœØć€‚ -.SH "选锹" -.PP -\fBgroupdel\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "CAVEATS" -.PP -ę‚Øäøčƒ½ē§»é™¤ēŽ°ęœ‰ē”Øęˆ·ēš„äø»ē»„ć€‚åœØē§»é™¤ę­¤ē»„ä¹‹å‰ļ¼Œåæ…é”»å…ˆē§»é™¤ę­¤ē”Øęˆ·ć€‚ -.PP -ę‚Øéœ€č¦ę‰‹åŠØę£€ęŸ„ę‰€ęœ‰ę–‡ä»¶ē³»ē»Ÿļ¼Œä»„ē”®äæę²”ęœ‰é—ē•™ēš„å±žäŗŽę­¤ē»„ēš„ę–‡ä»¶ć€‚ -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "退出值" -.PP -\fBgroupdel\fR -å‘½ä»¤ä»„å¦‚äø‹å€¼é€€å‡ŗļ¼š -.PP -\fI0\fR -.RS 4 -成功 -.RE -.PP -\fI2\fR -.RS 4 -ę— ę•ˆēš„å‘½ä»¤čÆ­ę³• -.RE -.PP -\fI6\fR -.RS 4 -ęŒ‡å®šēš„ē»„äøå­˜åœØ -.RE -.PP -\fI8\fR -.RS 4 -äøčƒ½ē§»é™¤ē”Øęˆ·ēš„äø»ē»„ -.RE -.PP -\fI10\fR -.RS 4 -无法曓新组文件 -.RE -.SH "å‚č§" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupmod\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/zh_CN/man8/groupmems.8 b/man/zh_CN/man8/groupmems.8 deleted file mode 100644 index d743837e..00000000 --- a/man/zh_CN/man8/groupmems.8 +++ /dev/null @@ -1,179 +0,0 @@ -'\" t -.\" Title: groupmems -.\" Author: George Kraft, IV -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "GROUPMEMS" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -groupmems \- ē”Øęˆ·äø»ē»„ēš„ē®”ē†å‘˜ęˆå‘˜ -.SH "大纲" -.HP \w'\fBgroupmems\fR\ 'u -\fBgroupmems\fR \-a\ \fIuser_name\fR | \-d\ \fIuser_name\fR | [\-g\ \fIgroup_name\fR] | \-l | \-p -.SH "ęčæ°" -.PP -The -\fBgroupmems\fR -command allows a user to administer his/her own group membership list without the requirement of superuser privileges\&. The -\fBgroupmems\fR -utility is for systems that configure its users to be in their own name sake primary group (i\&.e\&., guest / guest)\&. -.PP -Only the superuser, as administrator, can use -\fBgroupmems\fR -to alter the memberships of other groups\&. -.SH "选锹" -.PP -\fBgroupmems\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-a\fR, \fB\-\-add\fR\ \&\fIuser_name\fR -.RS 4 -Add a user to the group membership list\&. -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-d\fR, \fB\-\-delete\fR\ \&\fIuser_name\fR -.RS 4 -ä»Žē»„ęˆå‘˜åˆ—č”Øäø­åˆ é™¤ē”Øęˆ·ć€‚ -.sp -å¦‚ęžœ -/etc/gshadow -ę–‡ä»¶å­˜åœØļ¼Œē”Øęˆ·å°†ä¼šč¢«ä»Žē»„ęˆå‘˜å’Œē®”ē†å‘˜äø­ē§»é™¤ć€‚ -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-g\fR, \fB\-\-group\fR\ \&\fIgroup_name\fR -.RS 4 -č¶…ēŗ§ē”Øęˆ·åÆä»„ęŒ‡å®šäæ®ę”¹å“ŖäøŖē»„ēš„ē»„ęˆå‘˜åˆ—č”Øć€‚ -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-l\fR, \fB\-\-list\fR -.RS 4 -åˆ—å‡ŗē»„ęˆå‘˜ć€‚ -.RE -.PP -\fB\-p\fR, \fB\-\-purge\fR -.RS 4 -ä»Žē»„ęˆå‘˜åˆ—č”Øäø­åˆ é™¤ę‰€ęœ‰ē”Øęˆ·ć€‚ -.sp -If the -/etc/gshadow -file exist, and the group has no entry in the -/etc/gshadow -file, a new entry will be created\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "SETUP" -.PP -The -\fBgroupmems\fR -executable should be in mode -2770 -as user -\fIroot\fR -and in group -\fIgroups\fR\&. The system administrator can add users to group -\fIgroups\fR -to allow or disallow them using the -\fBgroupmems\fR -utility to manage their own group membership list\&. -.sp -.if n \{\ -.RS 4 -.\} -.nf - $ groupadd \-r groups - $ chmod 2770 groupmems - $ chown root\&.groups groupmems - $ groupmems \-g groups \-a gk4 - -.fi -.if n \{\ -.RE -.\} -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆ -.RE -.SH "å‚č§" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/zh_CN/man8/groupmod.8 b/man/zh_CN/man8/groupmod.8 deleted file mode 100644 index 208bc0be..00000000 --- a/man/zh_CN/man8/groupmod.8 +++ /dev/null @@ -1,207 +0,0 @@ -'\" t -.\" Title: groupmod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "GROUPMOD" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -groupmod \- modify a group definition on the system -.SH "大纲" -.HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fI选锹\fR] \fIGROUP\fR -.SH "ęčæ°" -.PP -The -\fBgroupmod\fR -command modifies the definition of the specified -\fIGROUP\fR -by modifying the appropriate entry in the group database\&. -.SH "选锹" -.PP -\fBgroupmod\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR -.RS 4 -The group ID of the given -\fIGROUP\fR -will be changed to -\fIGID\fR\&. -.sp -The value of -\fIGID\fR -must be a non\-negative decimal integer\&. This value must be unique, unless the -\fB\-o\fR -option is used\&. -.sp -Users who use the group as primary group will be updated to keep the group as their primary group\&. -.sp -Any files that have the old group ID and must continue to belong to -\fIGROUP\fR, must have their group ID changed manually\&. -.sp -No checks will be performed with regard to the -\fBGID_MIN\fR, -\fBGID_MAX\fR, -\fBSYS_GID_MIN\fR, or -\fBSYS_GID_MAX\fR -from -/etc/login\&.defs\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-n\fR, \fB\-\-new\-name\fR\ \&\fINEW_GROUP\fR -.RS 4 -The name of the group will be changed from -\fIGROUP\fR -to -\fINEW_GROUP\fR -name\&. -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -When used with the -\fB\-g\fR -option, allow to change the group -\fIGID\fR -to a non\-unique value\&. -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -å·²ē»åŠ åÆ†čæ‡ēš„åÆ†ē ļ¼Œå°±åƒ -\fBcrypt\fR(3) -čæ”å›žēš„é‚£ę ·ć€‚ -.sp -\fBę³Øę„ļ¼š\fRäøęŽØčä½æē”Øčæ™äøŖé€‰é”¹ļ¼Œå› äøŗåÆ†ē (ęˆ–åŠ åÆ†čæ‡ēš„åÆ†ē )ä¼šč¢«ē”Øęˆ·é€ščæ‡åˆ—å‡ŗčæ™äøŖčæ‡ēØ‹č€Œēœ‹åˆ°ć€‚ -.sp -ę‚Øåŗ”čÆ„ē”®äæåÆ†ē ē¬¦åˆē³»ē»Ÿēš„åÆ†ē ę”æē­–ć€‚ -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "退出值" -.PP -\fBgroupmod\fR -å‘½ä»¤åÆä»„čæ”å›žå¦‚äø‹å€¼ļ¼š -.PP -\fI0\fR -.RS 4 -成功 -.RE -.PP -\fI2\fR -.RS 4 -ę— ę•ˆēš„å‘½ä»¤čÆ­ę³• -.RE -.PP -\fI3\fR -.RS 4 -ē»™äŗ†é€‰é”¹äø€äøŖę— ę•ˆēš„å‚ę•° -.RE -.PP -\fI4\fR -.RS 4 -ęŒ‡å®šēš„ē»„äøå­˜åœØ -.RE -.PP -\fI6\fR -.RS 4 -ęŒ‡å®šēš„ē»„äøå­˜åœØ -.RE -.PP -\fI9\fR -.RS 4 -ē»„åå·²ē»åœØä½æē”Ø -.RE -.PP -\fI10\fR -.RS 4 -无法曓新组文件 -.RE -.SH "å‚č§" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBlogin.defs\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/zh_CN/man8/grpck.8 b/man/zh_CN/man8/grpck.8 deleted file mode 100644 index ee56a186..00000000 --- a/man/zh_CN/man8/grpck.8 +++ /dev/null @@ -1,243 +0,0 @@ -'\" t -.\" Title: grpck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "GRPCK" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -grpck \- ę£€ęŸ„ē»„ę–‡ä»¶ēš„å®Œę•“ę€§ -.SH "大纲" -.HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [选锹] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] -.SH "ęčæ°" -.PP -The -\fBgrpck\fR -command verifies the integrity of the groups information\&. It checks that all entries in -/etc/group -and /etc/gshadow -have the proper format and contain valid data\&. The user is prompted to delete entries that are improperly formatted or which have other uncorrectable errors\&. -.PP -ę£€ęŸ„ēš„é”¹ē›®ęœ‰ļ¼š -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ę­£ē”®ēš„å­—ę®µę•° -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -äø€äøŖå”Æäø€äø”ęœ‰ę•ˆēš„ē»„å -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ęœ‰ę•ˆēš„ē»„ę ‡čÆ†ē¬¦ -(仅 /etc/group) -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ęœ‰ę•ˆēš„ęˆå‘˜å’Œ -ē®”ē†å‘˜ -åˆ—č”Øć€‚ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -a corresponding entry in the -/etc/gshadow -file (respectively -/etc/group -for the -gshadow -checks) -.RE -.PP -The checks for correct number of fields and unique group name are fatal\&. If an entry has the wrong number of fields, the user will be prompted to delete the entire line\&. If the user does not answer affirmatively, all further checks are bypassed\&. An entry with a duplicated group name is prompted for deletion, but the remaining checks will still be made\&. All other errors are warnings and the user is encouraged to run the -\fBgroupmod\fR -command to correct the error\&. -.PP -The commands which operate on the -/etc/group -and /etc/gshadow files -are not able to alter corrupted or duplicated entries\&. -\fBgrpck\fR -should be used in those circumstances to remove the offending entries\&. -.SH "选锹" -.PP -\fB\-r\fR -和 -\fB\-s\fR -é€‰é”¹äøčƒ½č”åˆä½æē”Øć€‚ -.PP -\fBgrpck\fR -åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -Execute the -\fBgrpck\fR -command in read\-only mode\&. This causes all questions regarding changes to be answered -\fIno\fR -without user intervention\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -ę ¹ę® GID 在 -/etc/group和 /etc/gshadow -äø­čæ›č”ŒęŽ’åŗć€‚ -.RE -.PP -By default, -\fBgrpck\fR -operates on -/etc/group -and /etc/gshadow\&. The user may select alternate files with the -\fIgroup\fR -and \fIshadow\fR parameters\&. -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "退出值" -.PP -\fBgrpck\fR -åÆä»„čæ”å›žå¦‚äø‹å€¼ļ¼š -.PP -\fI0\fR -.RS 4 -成功 -.RE -.PP -\fI1\fR -.RS 4 -ę— ę•ˆēš„å‘½ä»¤čÆ­ę³• -.RE -.PP -\fI2\fR -.RS 4 -äø€äøŖęˆ–å¤šäøŖåęŽ‰ēš„ē»„ę”ē›® -.RE -.PP -\fI3\fR -.RS 4 -无法打开组文件 -.RE -.PP -\fI4\fR -.RS 4 -ę— ę³•é”å®šē»„ę–‡ä»¶ -.RE -.PP -\fI5\fR -.RS 4 -无法曓新组文件 -.RE -.SH "å‚č§" -.PP -\fBgroup\fR(5), -\fBgroupmod\fR(8), -\fBgshadow\fR(5),\fBpasswd\fR(5), -\fBpwck\fR(8), -\fBshadow\fR(5)\&. diff --git a/man/zh_CN/man8/grpconv.8 b/man/zh_CN/man8/grpconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/zh_CN/man8/grpconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/zh_CN/man8/grpunconv.8 b/man/zh_CN/man8/grpunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/zh_CN/man8/grpunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/zh_CN/man8/lastlog.8 b/man/zh_CN/man8/lastlog.8 deleted file mode 100644 index c631fead..00000000 --- a/man/zh_CN/man8/lastlog.8 +++ /dev/null @@ -1,124 +0,0 @@ -'\" t -.\" Title: lastlog -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "LASTLOG" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -lastlog \- ęŠ„å‘Šę‰€ęœ‰ē”Øęˆ·ēš„ęœ€čæ‘ē™»å½•ęƒ…å†µļ¼Œęˆ–č€…ęŒ‡å®šē”Øęˆ·ēš„ęœ€čæ‘ē™»å½•ęƒ…å†µ -.SH "大纲" -.HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fI选锹\fR] -.SH "ęčæ°" -.PP -\fBlastlog\fR -formats and prints the contents of the last login log -/var/log/lastlog -file\&. The -\fIlogin\-name\fR, -\fIport\fR, and -\fIlast login time\fR -will be printed\&. The default (no flags) causes lastlog entries to be printed, sorted by their order in -/etc/passwd\&. -.SH "选锹" -.PP -\fBlastlog\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-b\fR, \fB\-\-before\fR\ \&\fIDAYS\fR -.RS 4 -åŖę˜¾ē¤ŗč€äŗŽ -\fIDAYS\fR -ēš„ęœ€čæ‘ē™»å½•č®°å½•ć€‚ -.RE -.PP -\fB\-C\fR, \fB\-\-clear\fR -.RS 4 -Clear lastlog record of a user\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-S\fR, \fB\-\-set\fR -.RS 4 -Set lastlog record of a user to the current time\&. This option can be used only together with -\fB\-u\fR -(\fB\-\-user\fR))\&. -.RE -.PP -\fB\-t\fR, \fB\-\-time\fR\ \&\fIDAYS\fR -.RS 4 -åŖēŽ°å®žę–°äŗŽ -\fIDAYS\fR -ēš„ęœ€čæ‘ē™»å½•č®°å½•ć€‚ -.RE -.PP -\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR -.RS 4 -ēŽ°å®žęŒ‡å®šē”Øęˆ·ēš„ęœ€čæ‘ē™»å½•č®°å½•ć€‚ -.sp -The users can be specified by a login name, a numerical user ID, or a -\fIRANGE\fR -of users\&. This -\fIRANGE\fR -of users can be specified with a min and max values (\fIUID_MIN\-UID_MAX\fR), a max value (\fI\-UID_MAX\fR), or a min value (\fIUID_MIN\-\fR)\&. -.RE -.PP -å¦‚ęžœē”Øęˆ·ä»Žę„ę²”ęœ‰ē™»å½•čæ‡ļ¼Œå°†ä¼šę˜¾ē¤ŗ -\fI** ä»ŽęœŖē™»å½• **\fR -č€Œäøę˜Æē«Æå£å’Œę—¶é—“ć€‚ -.PP -Only the entries for the current users of the system will be displayed\&. Other entries may exist for users that were deleted previously\&. -.SH "ę³Øę„" -.PP -The -lastlog -file is a database which contains info on the last login of each user\&. You should not rotate it\&. It is a sparse file, so its size on the disk is usually much smaller than the one shown by "\fBls \-l\fR" (which can indicate a really big file if you have in -passwd -users with a high UID)\&. You can display its real size with "\fBls \-s\fR"\&. -.SH "ꖇ件" -.PP -/var/log/lastlog -.RS 4 -Database times of previous user logins\&. -.RE -.SH "CAVEATS" -.PP -Large gaps in UID numbers will cause the lastlog program to run longer with no output to the screen (i\&.e\&. if in lastlog database there is no entries for users with UID between 170 and 800 lastlog will appear to hang as it processes entries with UIDs 171\-799)\&. diff --git a/man/zh_CN/man8/logoutd.8 b/man/zh_CN/man8/logoutd.8 deleted file mode 100644 index a3ad7dcf..00000000 --- a/man/zh_CN/man8/logoutd.8 +++ /dev/null @@ -1,57 +0,0 @@ -'\" t -.\" Title: logoutd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "LOGOUTD" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -logoutd \- å¼ŗåˆ¶ē™»å½•ę—¶é—“é™åˆ¶ -.SH "大纲" -.HP \w'\fBlogoutd\fR\ 'u -\fBlogoutd\fR -.SH "ęčæ°" -.PP -\fBlogoutd\fR -enforces the login time and port restrictions specified in -/etc/porttime\&. -\fBlogoutd\fR -should be started from -/etc/rc\&. The -/var/run/utmp -file is scanned periodically and each user name is checked to see if the named user is permitted on the named port at the current time\&. Any login session which is violating the restrictions in -/etc/porttime -is terminated\&. -.SH "ꖇ件" -.PP -/etc/porttime -.RS 4 -åŒ…å«äŗ†ē«Æå£č®æé—®äæ”ęÆēš„ę–‡ä»¶ć€‚ -.RE -.PP -/var/run/utmp -.RS 4 -å½“å‰ē™»å½•ä¼ščÆēš„åˆ—č”Øć€‚ -.RE diff --git a/man/zh_CN/man8/newusers.8 b/man/zh_CN/man8/newusers.8 deleted file mode 100644 index 019d61c4..00000000 --- a/man/zh_CN/man8/newusers.8 +++ /dev/null @@ -1,429 +0,0 @@ -'\" t -.\" Title: newusers -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "NEWUSERS" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -newusers \- ę‰¹é‡ę›“ę–°å’Œåˆ›å»ŗę–°ē”Øęˆ· -.SH "大纲" -.HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fI选锹\fR] [\fIꖇ件\fR] -.SH "ęčæ°" -.PP -The -\fBnewusers\fR -command reads a -\fIfile\fR -(or the standard input by default) and uses this information to update a set of existing users or to create new users\&. Each line is in the same format as the standard password file (see -\fBpasswd\fR(5)) with the exceptions explained below: -.PP -pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell -.PP -\fIpw_name\fR -.RS 4 -čæ™ę˜Æē”Øęˆ·ēš„ē”Øęˆ·åć€‚ -.sp -It can be the name of a new user or the name of an existing user (or a user created before by -\fBnewusers\fR)\&. In case of an existing user, the user\*(Aqs information will be changed, otherwise a new user will be created\&. -.RE -.PP -\fIpw_passwd\fR -.RS 4 -ę­¤å­—ę®µå°†č¢«åŠ åÆ†ē„¶åŽē”ØäŗŽåŠ åÆ†åŽåÆ†ē ēš„ę–°å€¼ć€‚ -.RE -.PP -\fIpw_uid\fR -.RS 4 -ę­¤å­—ę®µē”ØäŗŽå®šä¹‰ē”Øęˆ·ēš„ UID怂 -.sp -If the field is empty, a new (unused) UID will be defined automatically by -\fBnewusers\fR\&. -.sp -å¦‚ęžœę­¤å­—ę®µåŒ…å«äø€äøŖę•°å­—ļ¼Œę­¤ę•°å­—ä¼šē”ØäŗŽ UID怂 -.sp -If this field contains the name of an existing user (or the name of a user created before by -\fBnewusers\fR), the UID of the specified user will be used\&. -.sp -å¦‚ęžœäø€äøŖēŽ°ęœ‰ē”Øęˆ·ę›“ę”¹äŗ† UIDļ¼Œę­¤ē”Øęˆ·ēš„ę–‡ä»¶ę‰€ęœ‰ęƒéœ€č¦ę‰‹åŠØäæ®å¤ć€‚ -.RE -.PP -\fIpw_gid\fR -.RS 4 -ę­¤å­—ę®µē”ØäŗŽå®šä¹‰ē”Øęˆ·ēš„äø»ē»„ ID怂 -.sp -å¦‚ęžœę­¤å­—ę®µåŒ…å«äø€äøŖēŽ°ęœ‰ē»„ēš„ē»„å(ꈖ者 -\fBnewusers\fR -åœØå‰č¾¹åˆ›å»ŗēš„äø€äøŖē»„)ļ¼Œę­¤ē»„ēš„ GID ä¼šč¢«ē”ØäŗŽåšę­¤ē”Øęˆ·ēš„äø»ē»„ ID怂 -.sp -å¦‚ęžœę­¤å­—ę®µę˜Æäø€äøŖę•°å­—ļ¼Œę­¤ę•°å­—ä¼šč¢«ē”Øä½œę­¤ē”Øęˆ·ēš„äø»ē»„ IDć€‚å¦‚ęžœę²”ęœ‰åÆ¹åŗ”ę­¤ GID ēš„ēŽ°ęœ‰ē»„ļ¼Œå°†ä¼šä½æē”Øę­¤ GID åˆ›å»ŗäø€äøŖę–°ē»„ļ¼Œåē§°å’Œē”Øęˆ·åē›øåŒć€‚ -.sp -å¦‚ęžœę­¤å­—ę®µäøŗē©ŗļ¼Œå°†ä¼šä½æē”Øē”Øęˆ·åä½œäøŗē»„åļ¼Œ\fBnewusers\fR -č‡ŖåŠØē”®å®šēš„äø€äøŖ GID ä½œäøŗäø»ē»„ ID ę„åˆ›å»ŗäø€äøŖę–°ē»„ć€‚ -.sp -å¦‚ęžœę­¤å­—ę®µåŒ…å«äø€äøŖäøå­˜åœØēš„ē»„ēš„åå­—(ä¹Ÿę²”ęœ‰ē”± -\fBnewusers\fR -åœØå‰č¾¹åˆ›å»ŗ)ļ¼Œå°†ä½æē”ØęŒ‡å®šēš„ē»„åå’Œ -\fBnewusers\fR -č‡ŖåŠØē”®å®šēš„ GID åˆ›å»ŗäø€äøŖē»„ļ¼Œå¹¶ä½œäøŗē”Øęˆ·ēš„äø»ē»„ć€‚ -.RE -.PP -\fIpw_gecos\fR -.RS 4 -ę­¤å­—ę®µå¤åˆ¶åˆ°ē”Øęˆ·ēš„ GECOS 字段。 -.RE -.PP -\fIpw_dir\fR -.RS 4 -ę­¤å­—ę®µē”ØäŗŽå®šä¹‰ē”Øęˆ·ēš„äø»ē›®å½•ć€‚ -.sp -å¦‚ęžœę­¤å­—ę®µęŒ‡å®šēš„äøę˜ÆēŽ°ęœ‰ēš„ē›®å½•ļ¼Œå°†ä¼šåˆ›å»ŗęŒ‡å®šēš„ē›®å½•ļ¼Œę‰€ęœ‰ęƒč®¾ē½®äøŗåˆ›å»ŗęˆ–ę›“ę–°ēš„ē”Øęˆ·åŠå…¶äø»ē»„ć€‚ -.sp -å¦‚ęžœēŽ°ęœ‰ē”Øęˆ·ēš„äø»ē›®å½•å˜ę›“ļ¼Œ\fBnewusers\fR -äøä¼šē§»åŠØęˆ–č€…å¤åˆ¶ę—§ē›®å½•ēš„å†…å®¹åˆ°ę–°ä½ē½®ć€‚čæ™éœ€č¦ę‰‹åŠØå®Œęˆć€‚ -.RE -.PP -\fIpw_shell\fR -.RS 4 -ę­¤å­—ę®µå®šä¹‰äŗ†ē”Øęˆ·ēš„ shellć€‚åÆ¹ę­¤å­—ę®µäøčæ›č”Œä»»ä½•ę£€ęŸ„ć€‚ -.RE -.PP -\fBnewusers\fR -é¦–å…ˆå°čÆ•åˆ›å»ŗęˆ–ę›“ę”¹ę‰€ęœ‰ęŒ‡å®šēš„ē”Øęˆ·ļ¼Œē„¶åŽå°†čæ™äŗ›ę›“ę”¹å†™å…„ē”Øęˆ·ęˆ–ē»„ę•°ę®åŗ“ć€‚å¦‚ęžœå‘ē”Ÿé”™čÆÆ(é™¤éžę˜ÆåœØęœ€åŽå†™å…„ę•°ę®åŗ“čæ‡ēØ‹äø­)ļ¼Œäøä¼šęœ‰ä»»ä½•ę›“ę”¹ć€‚ -.PP -ę­¤å‘½ä»¤äø€čˆ¬ē”ØäŗŽåœØå¤§åž‹ēš„åŗ”ē”ØēŽÆå¢ƒäø­ļ¼ŒåÆ¹å¤§é‡č“¦ęˆ·čæ›č”Œäø€ę¬”ę€§ę›“ę–°ć€‚ -.SH "选锹" -.PP -\fBnewusers\fR -å‘½ä»¤åÆä»„ä½æē”Øēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-c\fR, \fB\-\-crypt\-method\fR -.RS 4 -ä½æē”ØęŒ‡å®šēš„ę–¹ę³•åŠ åÆ†åÆ†ē ć€‚ -.sp -åÆē”Øēš„ę–¹ę³•ęœ‰ DES, MD5, NONE, and SHA256 ꈖ SHA512ļ¼Œå‰ęę˜Æę‚Øēš„ libc ę”ÆęŒčæ™å†™ę–¹ę³•ć€‚ -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -åˆ›å»ŗäø€äøŖē³»ē»Ÿč“¦ęˆ·ć€‚ -.sp -System users will be created with no aging information in -/etc/shadow, and their numeric identifiers are chosen in the -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR -range, defined in -login\&.defs, instead of -\fBUID_MIN\fR\-\fBUID_MAX\fR -(and their -\fBGID\fR -counterparts for the creation of groups)\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR -.RS 4 -ä½æē”ØęŒ‡å®šę¬”ę•°ēš„č½®č½¬ę„åŠ åÆ†åÆ†ē ć€‚ -.sp -值 0 č”Øē¤ŗč®©ē³»ē»ŸäøŗåŠ åÆ†ę–¹ę³•é€‰ę‹©é»˜č®¤ēš„č½®č½¬ę¬”ę•° (5000)怂 -.sp -ä¼šå¼ŗåˆ¶ęœ€å° 1,000ļ¼Œęœ€å¤§ 9,9999,9999 -.sp -ę‚ØåŖåÆä»„åÆ¹ SHA256 ꈖ SHA512 使用此选锹。 -.sp -é»˜č®¤ļ¼Œč½®č½¬ę•°ē”± -/etc/login\&.defs -ę–‡ä»¶äø­ēš„ SHA_CRYPT_MIN_ROUNDS 和 SHA_CRYPT_MAX_ROUNDS å˜é‡ē”®å®šć€‚ -.RE -.SH "CAVEATS" -.PP -č¾“å…„ę–‡ä»¶åæ…é”»å—åˆ°äæęŠ¤ļ¼Œå› äøŗå®ƒåŒ…å«ęœŖåŠ åÆ†ēš„åÆ†ē ć€‚ -.PP -ę‚Øéœ€č¦ē”®äæä½ å—å’ŒåŠ åÆ†ę–¹ę³•ē¬¦åˆē³»ē»Ÿēš„åÆ†ē ē­–ē•„ć€‚ -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBENCRYPT_METHOD\fR (string) -.RS 4 -čæ™å®šä¹‰äŗ†ē³»ē»ŸåŠ åÆ†åÆ†ē ēš„é»˜č®¤ē®—ę³•(å¦‚ęžœę²”ęœ‰åœØå‘½ä»¤č”ŒäøŠęŒ‡å®šē®—ę³•)怂 -.sp -åÆä»„ä½æē”Øå¦‚äø‹å€¼ļ¼š\fIDES\fR -(default), -\fIMD5\fR, \fISHA256\fR, \fISHA512\fR\&. -.sp -ę³Øę„ļ¼Œę­¤å‚ę•°ä¼šč¦†ē›– -\fBMD5_CRYPT_ENAB\fR -å˜é‡ć€‚ -.RE -.PP -\fBGID_MAX\fR (number), \fBGID_MIN\fR (number) -.RS 4 -\fBuseradd\fR,\fBgroupadd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„åøøč§„ē»„ēš„ē»„ ID ēš„čŒƒå›“ć€‚ -.sp -\fBGID_MIN\fR -和 -\fBGID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 1000 和 60000怂 -.RE -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.PP -\fBMD5_CRYPT_ENAB\fR (boolean) -.RS 4 -č”Øē¤ŗåÆ†ē ę˜Æå¦åæ…é”»ä½æē”ØåŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å¦‚ęžœč®¾äøŗ -\fIyes\fRļ¼Œę–°åÆ†ē å°†ä½æē”ØåÆä»„å’Œę–°ē‰ˆ FreeBSD å…¼å®¹ēš„åŸŗäŗŽ MD5 ēš„ē®—ę³•åŠ åÆ†ć€‚å®ƒę”ÆęŒę— é™é•æåŗ¦ēš„åÆ†ē ä»„åŠę›“é•æēš„ē›å­—ē¬¦äø²ć€‚å¦‚ęžœę‚Øéœ€č¦å°†åŠ åÆ†ēš„åÆ†ē å¤åˆ¶åˆ°å…¶å®ƒäøē†č§£ę–°ē®—ę³•ēš„ē³»ē»Ÿļ¼Œč®¾ē½®äøŗ -\fIno\fRć€‚é»˜č®¤å€¼ę˜Æ -\fIno\fR怂 -.sp -This variable is superseded by the -\fBENCRYPT_METHOD\fR -variable or by any command line option used to configure the encryption algorithm\&. -.sp -ę­¤å˜é‡å·²ē»åŗŸå¼ƒć€‚ę‚Øåŗ”čÆ„ä½æē”Ø -\fBENCRYPT_METHOD\fR怂 -.RE -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -äø€äøŖåÆ†ē åÆä»„ä½æē”Øēš„ęœ€å¤§å¤©ę•°ć€‚å¦‚ęžœåÆ†ē ęÆ”čæ™ę—§ļ¼Œå°†ä¼šå¼ŗčæ«ę›“ę”¹åÆ†ē ć€‚å¦‚ęžœäøęŒ‡å®šļ¼Œå°±å‡å®šäøŗ \-1ļ¼Œčæ™ä¼šē¦ē”Øčæ™äøŖé™åˆ¶ć€‚ -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -äø¤ę¬”ę›“ę”¹åÆ†ē ę—¶é—“ēš„ęœ€å°é—“éš”ć€‚å°†ä¼šę‹’ē»ä»»ä½•ę—©äŗŽę­¤ēš„ę›“ę”¹åÆ†ē ēš„å°čÆ•ć€‚å¦‚ęžœäøęŒ‡å®šļ¼Œå‡å®šäøŗ \-1ļ¼Œå°†ä¼šē¦ē”Øčæ™äøŖé™åˆ¶ć€‚ -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -åÆ†ē čæ‡ęœŸä¹‹å‰ē»™å‡ŗč­¦å‘Šēš„å¤©ę•°ć€‚0 č”Øē¤ŗåŖęœ‰åŖåœØčæ‡ęœŸēš„å½“å¤©č­¦å‘Šļ¼Œč“Ÿå€¼č”Øē¤ŗäøč­¦å‘Šć€‚å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œäøä¼šē»™č­¦å‘Šć€‚ -.RE -.PP -\fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) -.RS 4 -\fBENCRYPT_METHOD\fR -设为 -\fISHA256\fR -ꈖ -\fISHA512\fR -ę—¶ļ¼Œę­¤é”¹ē”®å®šåŠ åÆ†ē®—ę³•é»˜č®¤ä½æē”Ø SHA 轮转数目(å½“č½®č½¬ę•°ę²”ęœ‰é€ščæ‡å‘½ä»¤č”ŒęŒ‡å®šę—¶)怂 -.sp -ä½æē”Øå¾ˆå¤šč½®č½¬ļ¼Œä¼šč®©ęš“åŠ›ē “č§£ę›“åŠ å›°éš¾ć€‚ä½†ę˜Æéœ€č¦ę³Øę„ļ¼Œč®¤čÆē”Øęˆ·ę—¶ä¹Ÿä¼šéœ€č¦ę›“å¤šēš„ CPU 资源。 -.sp -å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œlibc ä¼šé€‰ę‹©é»˜č®¤ēš„č½®č½¬ę•°(5000)怂 -.sp -å€¼åæ…é”»åœØ 1000 \- 999,999,999 之闓。 -.sp -å¦‚ęžœåŖč®¾ē½®äŗ†äø€äøŖ -\fBSHA_CRYPT_MIN_ROUNDS\fR -ꈖ -\fBSHA_CRYPT_MAX_ROUNDS\fR -å€¼ļ¼Œå°±ä¼šä½æē”Øčæ™äøŖå€¼ć€‚ -.sp -å¦‚ęžœ -\fBSHA_CRYPT_MIN_ROUNDS\fR -> -\fBSHA_CRYPT_MAX_ROUNDS\fRļ¼Œå°†ä¼šä½æē”Øå¤§ēš„é‚£äøŖć€‚ -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) -.RS 4 -\fBuseradd\fR态\fBgroupadd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„ē³»ē»Ÿē»„ēš„ē»„ ID ēš„čŒƒå›“ć€‚ -.sp -\fBSYS_GID_MIN\fR -和 -\fBSYS_GID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 101 和 -\fBGID_MIN\fR\-1怂 -.RE -.PP -\fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number) -.RS 4 -\fBuseradd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„ē³»ē»Ÿē”Øęˆ·ēš„ē”Øęˆ· ID ēš„čŒƒå›“ć€‚ -.sp -\fBSYS_UID_MIN\fR -和 -\fBSYS_UID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 101 和 -\fBUID_MIN\fR\-1怂 -.RE -.PP -\fBUID_MAX\fR (number), \fBUID_MIN\fR (number) -.RS 4 -\fBuseradd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„ę™®é€šē”Øęˆ·ēš„ē”Øęˆ· ID ēš„čŒƒå›“ć€‚ -.sp -\fBUID_MIN\fR -和 -\fBUID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 1000 和 60000怂 -.RE -.PP -\fBUMASK\fR (number) -.RS 4 -ę–‡ä»¶ęØ”å¼åˆ›å»ŗęŽ©ē åˆå§‹åŒ–äøŗę­¤å€¼ć€‚å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼ŒęŽ©ē åˆå§‹åŒ–äøŗ 022怂 -.sp -\fBuseradd\fR -和 -\fBnewusers\fR -ä½æē”Øę­¤ęŽ©ē č®¾ē½®å®ƒä»¬åˆ›å»ŗēš„ē”Øęˆ·äø»ē›®å½•ēš„ęØ”å¼ć€‚ -.sp -也被 -\fBlogin\fR -ē”ØäŗŽęŒ‡å®šē”Øęˆ·ēš„åˆå§‹ umaskć€‚ę³Øę„ļ¼Œę­¤ęŽ©ē åÆä»„č¢«ē”Øęˆ·ēš„ GECOS č”Œč¦†ē›–(当设置了 -\fBQUOTAS_ENAB\fR -ę—¶)ļ¼Œä¹ŸåÆä»„č¢«åø¦ -\fIK\fR -ęŒ‡ē¤ŗē¬¦ēš„ -\fBlimits\fR(5) -å®šä¹‰ēš„é™åˆ¶å€¼č¦†ē›–ć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "å‚č§" -.PP -\fBlogin.defs\fR(5), -\fBpasswd\fR(1), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8)\&. diff --git a/man/zh_CN/man8/nologin.8 b/man/zh_CN/man8/nologin.8 deleted file mode 100644 index beb09785..00000000 --- a/man/zh_CN/man8/nologin.8 +++ /dev/null @@ -1,50 +0,0 @@ -'\" t -.\" Title: nologin -.\" Author: Nicolas Fran\(,cois -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "NOLOGIN" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -nologin \- ē¤¼č²Œåœ°ę‹’ē»ē™»å½• -.SH "大纲" -.HP \w'\fBnologin\fR\ 'u -\fBnologin\fR -.SH "ęčæ°" -.PP -\fBnologin\fR -å‘½ä»¤ę˜¾ē¤ŗäø€äøŖäæ”ęÆļ¼ŒčÆ“č“¦ęˆ·äøåÆē”Øē„¶åŽčæ”å›žéžé›¶å€¼ć€‚å®ƒē”ØäŗŽä»£ę›æå·²ē»ē¦ē”Øēš„č“¦ęˆ·ēš„ shell 字段。 -.PP -å¦‚ęžœč¦ē¦ē”Øę‰€ęœ‰ē™»å½•ļ¼ŒčÆ·å‚č€ƒ -\fBnologin\fR(5)怂 -.SH "å‚č§" -.PP -\fBlogin\fR(1), -\fBnologin\fR(5)\&. -.SH "历史" -.PP -The -\fBnologin\fR -command appeared in BSD 4\&.4\&. diff --git a/man/zh_CN/man8/pwck.8 b/man/zh_CN/man8/pwck.8 deleted file mode 100644 index 13342726..00000000 --- a/man/zh_CN/man8/pwck.8 +++ /dev/null @@ -1,318 +0,0 @@ -'\" t -.\" Title: pwck -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "PWCK" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -pwck \- ę£€ęŸ„åÆ†ē ę–‡ä»¶ēš„å®Œę•“ę€§ -.SH "大纲" -.HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [选锹] [\fIpasswd\fR\ [\ \fIshadow\fR\ ]] -.SH "ęčæ°" -.PP -\fBpwck\fR -å‘½ä»¤ę£€ęŸ„ē”Øęˆ·åŠå…¶č®¤čÆäæ”ęÆēš„å®Œę•“ę€§ć€‚å®ƒę£€ęŸ„ -/etc/passwd -和 -/etc/shadow -ę ¼å¼ę­£ē”®ć€ę•°ę®ęœ‰ę•ˆć€‚å°†ä¼šęē¤ŗē”Øęˆ·åˆ é™¤ę ¼å¼äøę­£ē”®ęˆ–č€…ęœ‰å…¶å®ƒé”™čÆÆēš„é”¹ć€‚ -.PP -ę£€ęŸ„ēš„é”¹ē›®ęœ‰ļ¼š -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ę­£ē”®ēš„å­—ę®µę•° -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -äø€äøŖå”Æäø€äø”ęœ‰ę•ˆēš„ē”Øęˆ·å -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -äø€äøŖęœ‰ę•ˆēš„ē”Øęˆ·å’Œē»„ę ‡čÆ†ē¬¦ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ęœ‰ę•ˆēš„äø»ē»„ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ęœ‰ę•ˆēš„äø»ē›®å½• -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ęœ‰ę•ˆēš„ē™»å½• shell -.RE -.PP -å½“ęŒ‡å®šē¬¬äŗŒäøŖę–‡ä»¶å‚ę•°ęˆ– -/etc/shadow -åœØē³»ē»Ÿäø­å­˜åœØę—¶ļ¼ŒåÆē”Ø -shadow -ę£€ęŸ„ć€‚ -.PP -čæ™äŗ›ę£€ęŸ„ę˜Æļ¼š -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ęÆäøŖåÆ†ē é”¹éƒ½ęœ‰åÆ¹åŗ”ēš„å½±å­ē›øļ¼Œåä¹‹äŗ¦ē„¶ć€‚ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -åÆ†ē åœØå½±å­åŒ–äŗ†ēš„ę–‡ä»¶äø­ęŒ‡å®š -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -å½±å­é”¹ęœ‰ę­£ē”®ēš„å­—ę®µę•°ć€‚ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -å½±å­é”¹åœØå½±å­ę–‡ä»¶äø­ę˜Æå”Æäø€ēš„ -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -ęœ€åŽäø€ę¬”ēš„åÆ†ē ę›“ę”¹ę—¶é—“äøę˜Æč¢«č®¾ęˆäŗ†äø€äøŖå°†ę„ēš„ę—¶é—“ć€‚ -.RE -.PP -The checks for correct number of fields and unique user name are fatal\&. If the entry has the wrong number of fields, the user will be prompted to delete the entire line\&. If the user does not answer affirmatively, all further checks are bypassed\&. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made\&. All other errors are warning and the user is encouraged to run the -\fBusermod\fR -command to correct the error\&. -.PP -ę“ä½œ -/etc/passwd -ę–‡ä»¶ēš„čæ™äŗ›å‘½ä»¤äøčƒ½č­¦å‘ŠęŸåęˆ–é‡å¤ēš„ę”ē›®ļ¼Œčæ™äŗ›ęƒ…å†µäø‹ļ¼Œåŗ”čÆ„ä½æē”Ø -\fBpwck\fR -ę„ē§»é™¤čæ™å†™ęœ‰é—®é¢˜ēš„ę”ē›®ć€‚ -.SH "选锹" -.PP -\fB\-r\fR -和 -\fB\-s\fR -é€‰é”¹äøčƒ½č”åˆä½æē”Øć€‚ -.PP -\fBpwck\fR -é€‰é”¹åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -åŖęŠ„å‘Šé”™čÆÆć€‚äøę˜¾ē¤ŗé‚£äŗ›äøéœ€č¦ē”Øęˆ·ę“ä½œēš„č­¦å‘Šć€‚ -.RE -.PP -\fB\-r\fR, \fB\-\-read\-only\fR -.RS 4 -åœØåŖčÆ»ęØ”å¼äø‹ę‰§č”Œ -\fBpwck\fR怂 -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-sort\fR -.RS 4 -ę ¹ę® UID 在 -/etc/passwd -和 -/etc/shadow -åÆ¹é”¹ē›®čæ›č”ŒęŽ’åŗć€‚ -.RE -.PP -默认上,\fBpwck\fR -ę“ä½œę–‡ä»¶ -/etc/passwd -和 -/etc/shadowć€‚ē”Øęˆ·ä¹ŸåÆä»„ä½æē”Ø -\fIpasswd\fR -和 -\fIshadow\fR -å‚ę•°ę„é€‰ę‹©ę›æä»£ę–‡ä»¶ć€‚ -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -äø€äøŖåÆ†ē åÆä»„ä½æē”Øēš„ęœ€å¤§å¤©ę•°ć€‚å¦‚ęžœåÆ†ē ęÆ”čæ™ę—§ļ¼Œå°†ä¼šå¼ŗčæ«ę›“ę”¹åÆ†ē ć€‚å¦‚ęžœäøęŒ‡å®šļ¼Œå°±å‡å®šäøŗ \-1ļ¼Œčæ™ä¼šē¦ē”Øčæ™äøŖé™åˆ¶ć€‚ -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -äø¤ę¬”ę›“ę”¹åÆ†ē ę—¶é—“ēš„ęœ€å°é—“éš”ć€‚å°†ä¼šę‹’ē»ä»»ä½•ę—©äŗŽę­¤ēš„ę›“ę”¹åÆ†ē ēš„å°čÆ•ć€‚å¦‚ęžœäøęŒ‡å®šļ¼Œå‡å®šäøŗ \-1ļ¼Œå°†ä¼šē¦ē”Øčæ™äøŖé™åˆ¶ć€‚ -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -åÆ†ē čæ‡ęœŸä¹‹å‰ē»™å‡ŗč­¦å‘Šēš„å¤©ę•°ć€‚0 č”Øē¤ŗåŖęœ‰åŖåœØčæ‡ęœŸēš„å½“å¤©č­¦å‘Šļ¼Œč“Ÿå€¼č”Øē¤ŗäøč­¦å‘Šć€‚å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œäøä¼šē»™č­¦å‘Šć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "退出值" -.PP -\fBpwck\fR -å‘½ä»¤ęœ‰å¦‚äø‹čæ”å›žå€¼ļ¼š -.PP -\fI0\fR -.RS 4 -成功 -.RE -.PP -\fI1\fR -.RS 4 -ę— ę•ˆēš„å‘½ä»¤čÆ­ę³• -.RE -.PP -\fI2\fR -.RS 4 -äø€äøŖęˆ–å¤šäøŖé”™čÆÆēš„åÆ†ē ę”ē›® -.RE -.PP -\fI3\fR -.RS 4 -无法打开密码文件 -.RE -.PP -\fI4\fR -.RS 4 -ę— ę³•é”å®šåÆ†ē ę–‡ä»¶ -.RE -.PP -\fI5\fR -.RS 4 -无法曓新密码文件 -.RE -.PP -\fI6\fR -.RS 4 -ę— ę³•åœØåÆ†ē ę–‡ä»¶äø­ęŽ’åŗ -.RE -.SH "å‚č§" -.PP -\fBgroup\fR(5), -\fBgrpck\fR(8), -\fBpasswd\fR(5), -\fBshadow\fR(5), -\fBusermod\fR(8)\&. diff --git a/man/zh_CN/man8/pwconv.8 b/man/zh_CN/man8/pwconv.8 deleted file mode 100644 index 033a7d0e..00000000 --- a/man/zh_CN/man8/pwconv.8 +++ /dev/null @@ -1,187 +0,0 @@ -'\" t -.\" Title: pwconv -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "PWCONV" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -pwconv, pwunconv, grpconv, grpunconv \- åœØå½±å­åÆ†ē å’Œē»„ä»„åŠå…¶å®ƒē›“ęŽ„č½¬ę¢ -.SH "大纲" -.HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fI选锹\fR] -.HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fI选锹\fR] -.HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fI选锹\fR] -.HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fI选锹\fR] -.SH "ęčæ°" -.PP -\fBpwconv\fR -命令使用 -\fIpasswd\fR -ä»„åŠåÆé€‰å¹¶å·²ē»å­˜åœØēš„ -\fIshadow\fR -ę„åˆ›å»ŗ -\fIshadow\fR怂 -.PP -\fBpwunconv\fR -命令使用 -\fIpasswd\fR -和 -\fIshadow\fR -ę„åˆ›å»ŗ -\fIpasswd\fRļ¼Œē„¶åŽē§»é™¤ -\fIshadow\fR怂 -.PP -\fBgrpconv\fR -从 -\fIgroup\fR -å’ŒåÆčƒ½å­˜åœØēš„ -\fIgshadow\fR -åˆ›å»ŗ -\fIgshadow\fR怂 -.PP -\fBgrpunconv\fR -命令从 -\fIgroup\fR -和 -\fIgshadow\fR -åˆ›å»ŗ -\fIgroup\fRļ¼Œē„¶åŽē§»é™¤ -\fIgshadow\fR怂 -.PP -čæ™å››äøŖēØ‹åŗéƒ½åÆä»„ę“ä½œę™®é€šęˆ–å½±å­åÆ†ē å’Œē»„ę–‡ä»¶ļ¼š/etc/passwd, -/etc/group, -/etc/shadow -和 -/etc/gshadow怂 -.PP -č½¬ę¢å‰ļ¼ŒęÆäøŖēØ‹åŗéƒ½ä¼ščŽ·å–éœ€č¦ēš„é”ć€‚\fBpwconv\fR -和 -\fBgrpconv\fR -ä¹Ÿē±»ä¼¼ć€‚é¦–å…ˆåˆ é™¤ļ¼Œå­˜åœØäŗŽåœØå½±å­ę–‡ä»¶äø­ļ¼Œä½†åœØäø»ę–‡ä»¶äø­å“ę²”ęœ‰ēš„ę”ē›®ļ¼›ē„¶åŽļ¼Œę›“ę–°åœØäø»ę–‡ä»¶äø­äøä½æē”Ø\(lqx\(rqä½œäøŗåÆ†ē ēš„å½±å­ę”ē›®ļ¼Œä¼šę·»åŠ ę‰€ęœ‰ē¼ŗå¤±ēš„ę”ē›®ļ¼›ęœ€åŽļ¼Œå°†äø»ę–‡ä»¶äø­ēš„åÆ†ē ę›æę¢äøŗ\(lqx\(rqć€‚čæ™äø¤äøŖå·„å…·åÆä»„ē”ØäŗŽåˆå§‹č½¬ę¢ä»„åŠę ¹ę®ę‰‹åŠØē¼–č¾‘ēš„äø»ę–‡ä»¶ę›“ę–°å½±å­ę–‡ä»¶ć€‚ -.PP -\fBpwconv\fR -向 -/etc/shadow -ę·»åŠ ę”ē›®ę—¶ļ¼Œå°†ä½æē”Ø/etc/login\&.defs -äø­ēš„ -\fIPASS_MIN_DAYS\fR, -\fIPASS_MAX_DAYS\fR -和 -\fIPASS_WARN_AGE\fR -值。 -.PP -\fBpwunconv\fR -和 -\fBgrpunconv\fR -äøŽę­¤ē±»ä¼¼ć€‚äø»ę–‡ä»¶äø­ēš„åÆ†ē ä¼šę ¹ę®å½±å­ę–‡ä»¶ę›“ę–°ć€‚åœØäø»ę–‡ä»¶äø­å­˜åœØļ¼Œä½†äøåœØå½±å­ę–‡ä»¶äø­ēš„ę”ē›®å•ē‹¬ē•™äø‹ć€‚ęœ€åŽļ¼Œē§»é™¤å½±å­ę–‡ä»¶ć€‚äø€äŗ›åÆ†ē å¹“é¾„äæ”ęÆä¼šå› äøŗ -\fBpwunconv\fR -č€Œäø¢å¤±ć€‚å®ƒåŖč½¬ę¢å®ƒåÆä»„č½¬ę¢ēš„ć€‚ -.SH "选锹" -.PP -\fBpwconv\fR, -\fBpwunconv\fR, -\fBgrpconv\fR -和 -\fBgrpunconv\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.SH "ē¼ŗé™·" -.PP -在 passwd ꈖ group ę–‡ä»¶äø­ęœ‰é”™čÆÆ(ęÆ”å¦‚ļ¼Œęœ‰é‡å¤ę”ē›®)åÆčƒ½ä¼šé€ ęˆčæ™äŗ›ēØ‹åŗę­»å¾ŖēŽÆęˆ–č€…ä»„å„‡ę€Ŗēš„ę–¹å¼å¤±č“„ć€‚åœØč½¬ę¢č‡Ŗļ¼Œęˆ–č½¬ę¢åˆ°å½±å­åÆ†ē ęˆ–ē»„ę–‡ä»¶å‰ļ¼ŒčÆ·čæč”Œ -\fBpwck\fR -和 -\fBgrpck\fR -ę„äæ®ę­£ę­¤ē±»é”™čÆÆć€‚ -.SH "é…ē½®ę–‡ä»¶" -.PP -/etc/login\&.defs -äø­ēš„å¦‚äø‹é…ē½®å˜é‡ę”¹å˜ -\fBgrpconv\fR -和 -\fBgrpunconv\fR -ēš„č”Œäøŗļ¼š -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.PP -/etc/login\&.defs -äø­ēš„å¦‚äø‹é…ē½®å˜é‡ę”¹å˜ -\fBpwconv\fR -ēš„č”Œäøŗļ¼š -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -äø€äøŖåÆ†ē åÆä»„ä½æē”Øēš„ęœ€å¤§å¤©ę•°ć€‚å¦‚ęžœåÆ†ē ęÆ”čæ™ę—§ļ¼Œå°†ä¼šå¼ŗčæ«ę›“ę”¹åÆ†ē ć€‚å¦‚ęžœäøęŒ‡å®šļ¼Œå°±å‡å®šäøŗ \-1ļ¼Œčæ™ä¼šē¦ē”Øčæ™äøŖé™åˆ¶ć€‚ -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -äø¤ę¬”ę›“ę”¹åÆ†ē ę—¶é—“ēš„ęœ€å°é—“éš”ć€‚å°†ä¼šę‹’ē»ä»»ä½•ę—©äŗŽę­¤ēš„ę›“ę”¹åÆ†ē ēš„å°čÆ•ć€‚å¦‚ęžœäøęŒ‡å®šļ¼Œå‡å®šäøŗ \-1ļ¼Œå°†ä¼šē¦ē”Øčæ™äøŖé™åˆ¶ć€‚ -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -åÆ†ē čæ‡ęœŸä¹‹å‰ē»™å‡ŗč­¦å‘Šēš„å¤©ę•°ć€‚0 č”Øē¤ŗåŖęœ‰åŖåœØčæ‡ęœŸēš„å½“å¤©č­¦å‘Šļ¼Œč“Ÿå€¼č”Øē¤ŗäøč­¦å‘Šć€‚å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œäøä¼šē»™č­¦å‘Šć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.SH "å‚č§" -.PP -\fBgrpck\fR(8), -\fBlogin.defs\fR(5), -\fBpwck\fR(8)\&. diff --git a/man/zh_CN/man8/pwunconv.8 b/man/zh_CN/man8/pwunconv.8 deleted file mode 100644 index 6eed9e8b..00000000 --- a/man/zh_CN/man8/pwunconv.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/pwconv.8 diff --git a/man/zh_CN/man8/sulogin.8 b/man/zh_CN/man8/sulogin.8 deleted file mode 100644 index c2969163..00000000 --- a/man/zh_CN/man8/sulogin.8 +++ /dev/null @@ -1,116 +0,0 @@ -'\" t -.\" Title: sulogin -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "SULOGIN" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -sulogin \- Single\-user login -.SH "SYNTAX" -.PP -\fBsulogin\fR -[\fItty\-device\fR] -.SH "ęčæ°" -.PP -The -\fBsulogin\fR -command is invoked by -\fBinit\fR -prior to allowing the user access to the system when in single user mode\&. This feature may only be available on certain systems where -\fBinit\fR -has been modified accordingly, or where the -/etc/inittab -has an entry for a single user login\&. -.PP -The user is prompted -.PP -Type control\-d to proceed with normal startup, (or give root password for system maintenance): -.PP -Input and output will be performed with the standard file descriptors unless the optional device name argument is provided\&. -.PP -If the user enters the correct root password, a login session is initiated\&. When -\fIEOF\fR -is pressed instead, the system enters multi\-user mode\&. -.PP -After the user exits the single\-user shell, or presses -\fIEOF\fR, the system begins the initialization process required to enter multi\-user mode\&. -.SH "CAVEATS" -.PP -This command can only be used if -\fBinit\fR -has been modified to call -\fBsulogin\fR -instead of -/bin/sh, or if the user has set the -\fIinittab\fR -to support a single user login\&. For example, the line: -.PP -co:s:respawn:/etc/sulogin /dev/console -.PP -should execute the sulogin command in single user mode\&. -.PP -As complete an environment as possible is created\&. However, various devices may be unmounted or uninitialized and many of the user commands may be unavailable or nonfunctional as a result\&. -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBENV_HZ\fR (string) -.RS 4 -å¦‚ęžœč®¾ē½®äŗ†ļ¼Œå°†ä¼šē”ØäŗŽåœØē”Øęˆ·ē™»å½•ę—¶å®šä¹‰ HZ ēŽÆå¢ƒå˜é‡ć€‚å€¼åæ…é”»ä»„ -\fIHZ=\fR -开夓。Linux äøŠēš„åøøē”Øå€¼ę˜Æ -\fIHZ=100\fR怂 -.RE -.PP -\fBENV_TZ\fR (string) -.RS 4 -å¦‚ęžœč®¾ē½®äŗ†ļ¼Œå®ƒå°†ē”ØäŗŽåœØē”Øęˆ·ē™»å½•ę—¶å®šä¹‰ TZ ēŽÆå¢ƒå˜é‡ć€‚ę­¤å€¼åÆä»„ę˜Æä»„ -\fITZ=\fR -å¼€å¤“ēš„ę—¶åŒŗå(例如 -\fITZ=CST6CDT\fR)ļ¼Œęˆ–č€…ę˜ÆåŒ…å«ę—¶åŒŗč§„åˆ™ēš„ę–‡ä»¶å®Œę•“č·Æå¾„(例如 -/etc/tzname)怂 -.sp -å¦‚ęžœå°†å®Œę•“č·Æå¾„ęŒ‡å®šäøŗäŗ†äø€äøŖäøå­˜åœØęˆ–äøåÆčÆ»ēš„ę–‡ä»¶ļ¼Œåˆ™é»˜č®¤ä½æē”Ø -\fITZ=CST6CDT\fR怂 -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBlogin\fR(1), -\fBsh\fR(1), -\fBinit\fR(8)\&. diff --git a/man/zh_CN/man8/useradd.8 b/man/zh_CN/man8/useradd.8 deleted file mode 100644 index 380a6c75..00000000 --- a/man/zh_CN/man8/useradd.8 +++ /dev/null @@ -1,744 +0,0 @@ -'\" t -.\" Title: useradd -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "USERADD" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -useradd \- åˆ›å»ŗäø€äøŖę–°ē”Øęˆ·ęˆ–ę›“ę–°é»˜č®¤ę–°ē”Øęˆ·äæ”ęÆ -.SH "大纲" -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fI选锹\fR] \fI登录\fR -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D -.HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fI选锹\fR] -.SH "ęčæ°" -.PP -å¦‚ęžœä½æē”Øę—¶äøåø¦ -\fB\-D\fR -é€‰é”¹ļ¼Œ\fBuseradd\fR -å‘½ä»¤ä½æē”Øå‘½ä»¤č”ŒäøŠęŒ‡å®šēš„å€¼å’Œē³»ē»Ÿēš„é»˜č®¤å€¼åˆ›å»ŗäø€äøŖę–°ē”Øęˆ·ć€‚ę ¹ę®å‘½ä»¤č”Œé€‰é”¹ļ¼Œ\fBuseradd\fR -å‘½ä»¤ä¹Ÿä¼šę›“ę–°ē³»ē»Ÿę–‡ä»¶å’Œåˆ›å»ŗę–°ē”Øęˆ·ēš„äø»ē›®å½•å¹¶å¤åˆ¶åˆå§‹ę–‡ä»¶ć€‚ -.PP -é»˜č®¤äøŠļ¼Œä¹Ÿä¼šäøŗē”Øęˆ·åˆ›å»ŗē»„ (åÆŸēœ‹ -\fB\-g\fR, -\fB\-N\fR, -\fB\-U\fRļ¼Œå’Œ -\fBUSERGROUPS_ENAB\fR)怂 -.SH "选锹" -.PP -\fBuseradd\fR -åÆä»„ä½æē”Øēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIBASE_DIR\fR -.RS 4 -å¦‚ęžœę²”ęœ‰ä½æē”Ø -\fB\-d\fR\ \&\fIHOME_DIR\fRļ¼Œåˆ™ä½æē”Øé»˜č®¤ēš„åŸŗē›®å½•ć€‚\fIBASE_DIR\fR -åŠ äøŠč“¦ęˆ·åå°±ę˜Æäø»ē›®å½•ć€‚å¦‚ęžœę²”ęœ‰ä½æē”Ø -\fB\-m\fR -é€‰é”¹ļ¼Œ\fIBASE_DIR\fR -åæ…é”»å·²ē»å­˜åœØć€‚ -.sp -å¦‚ęžœé€‰é”¹ę²”ęœ‰ęŒ‡å®šļ¼Œ\fBuseradd\fR -将使用 -/etc/default/useradd -äø­ēš„ -\fBHOME\fR -å˜é‡ļ¼Œęˆ–č€…é»˜č®¤ēš„ -/home怂 -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENT\fR -.RS 4 -ä»»ä½•å­—ē¬¦äø²ć€‚é€šåøøę˜Æå…³äŗŽē™»å½•ēš„ē®€ēŸ­ęčæ°ļ¼Œå½“å‰ē”ØäŗŽē”Øęˆ·å…Øåć€‚ -.RE -.PP -\fB\-d\fR, \fB\-\-home\-dir\fR\ \&\fIHOME_DIR\fR -.RS 4 -å°†åˆ›å»ŗę–°ē”Øęˆ·ļ¼Œå¹¶ä½æē”Ø -\fIHOME_DIR\fR -ä½œäøŗē”Øęˆ·ē™»é™†ē›®å½•ēš„å€¼ć€‚é»˜č®¤å€¼ę˜Æå°† -\fILOGIN\fR -名附加到 -\fIBASE_DIR\fR -åŽé¢ļ¼Œå¹¶ä½æē”Øčæ™ä½œäøŗē™»é™†ē›®å½•ć€‚ē›®å½•äøäø€å®šåæ…é”»å·²ē»å­˜åœØ -\fIHOME_DIR\fRļ¼Œä½†ę˜Æä¼šåœØéœ€č¦ę—¶åˆ›å»ŗć€‚ -.RE -.PP -\fB\-D\fR, \fB\-\-defaults\fR -.RS 4 -ēœ‹äø‹č¾¹ļ¼Œ\(lqę›“ę”¹é»˜č®¤å€¼\(rqå­čŠ‚ć€‚ -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR -.RS 4 -ē”Øęˆ·č“¦ęˆ·å°†č¢«ē¦ē”Øēš„ę—„ęœŸć€‚ę—„ęœŸä»„ -\fIYYYY\-MM\-DD\fR -ę ¼å¼ęŒ‡å®šć€‚ -.sp -å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œ\fBuseradd\fR -将使用 -/etc/default/useradd -äø­ -\fBEXPIRE\fR -å˜é‡ęŒ‡å®šēš„é»˜č®¤čæ‡ęœŸę—„ęœŸļ¼Œęˆ–č€…äø€äøŖē©ŗå­—ē¬¦äø²(äøčæ‡ęœŸ)怂 -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR -.RS 4 -åÆ†ē čæ‡ęœŸåŽļ¼Œč“¦ęˆ·č¢«å½»åŗ•ē¦ē”Øä¹‹å‰ēš„å¤©ę•°ć€‚0 č”Øē¤ŗē«‹å³ē¦ē”Øļ¼Œ\-1 č”Øē¤ŗē¦ē”Øčæ™äøŖåŠŸčƒ½ć€‚ -.sp -å¦‚ęžœęœŖęŒ‡å®šļ¼Œ\fBuseradd\fR -将使用 -/etc/default/useradd -äø­ēš„ -\fBINACTIVE\fR -ęŒ‡å®šēš„é»˜č®¤ē¦ē”Øå‘ØęœŸļ¼Œęˆ–č€…é»˜č®¤äøŗ \-1怂 -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR -.RS 4 -ē”Øęˆ·åˆå§‹ē™»é™†ē»„ēš„ē»„åęˆ–å·ē ć€‚ē»„ååæ…é”»å·²ē»å­˜åœØć€‚ē»„å·ē åæ…é”»ęŒ‡ä»£å·²ē»å­˜åœØēš„ē»„ć€‚ -.sp -å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œ -\fBuseradd\fR -ēš„č”Œäøŗå°†ä¾čµ–äŗŽ -/etc/login\&.defs -ę–‡ä»¶äø­ēš„ -\fBUSERGROUPS_ENAB\fR -å‚ę•°ć€‚å¦‚ęžœę­¤å‚ę•°č®¾ē½®äøŗäŗ† -\fIyes\fR -(ęˆ–č€…åœØå‘½ä»¤č”ŒäøŠęŒ‡å®šäŗ† -\fB\-U/\-\-user\-group\fR)ļ¼Œå°†ä¼šäøŗē”Øęˆ·åˆ›å»ŗäø€äøŖē»„ļ¼Œē»„åå’Œē™»å½•åē›øåŒć€‚å¦‚ęžœé€‰é”¹č®¾ē½®äøŗäŗ† -\fIno\fR -(ęˆ–č€…åœØå‘½ä»¤č”ŒäøŠęŒ‡å®šäŗ† -\fB\-N/\-\-no\-user\-group\fR),useradd ä¼šęŠŠę–°ē”Øęˆ·ēš„äø»ē»„č®¾ē½®äøŗ -/etc/default/useradd -äø­ -\fBGROUP\fR -å˜é‡ęŒ‡å®šēš„å€¼ļ¼Œå†ęˆ–č€…é»˜č®¤ę˜Æ 100怂 -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]] -.RS 4 -ē”Øęˆ·čæ˜å±žäŗŽēš„é™„åŠ ē»„åˆ—č”Øć€‚ęÆäøŖē»„éƒ½ē”Øé€—å·éš”å¼€ļ¼Œę²”ęœ‰äø­é—“ēš„ē©ŗę ¼ć€‚čæ™é‡Œēš„ē»„å—åˆ°äŗ† -\fB\-g\fR -é€‰é”¹ē»™å®šēš„ē»„åŒę ·ēš„é™åˆ¶ć€‚é»˜č®¤äøŠļ¼Œē”Øęˆ·åŖå±žäŗŽåˆå§‹ē»„ć€‚ -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-k\fR, \fB\-\-skel\fR\ \&\fISKEL_DIR\fR -.RS 4 -éŖØęž¶ē›®å½•ļ¼ŒåŒ…å«ä½æē”Ø -\fBuseradd\fR -åˆ›å»ŗē”Øęˆ·ę—¶ļ¼Œč¦å¤åˆ¶åˆ°ē”Øęˆ·äø»ē›®å½•äø­ēš„ę–‡ä»¶å’Œē›®å½•ć€‚ -.sp -čæ™äøŖé€‰é”¹åŖęœ‰åœØęŒ‡å®š -\fB\-m\fR -(ꈖ -\fB\-\-create\-home\fR) é€‰é”¹ę—¶ę‰ęœ‰ę•ˆć€‚ -.sp -å¦‚ęžœę­¤é”¹ę²”ęœ‰č®¾ē½®ļ¼ŒéŖØęž¶ē›®å½•ä½æē”Ø -/etc/default/useradd -äø­ēš„ -\fBSKEL\fR -ēš„å˜é‡ęˆ–é»˜č®¤äøŗ -/etc/skel怂 -.sp -å¦‚ęžœåÆä»„ļ¼Œä¹Ÿå¤åˆ¶ ACL å’Œę‰©å±•å±žę€§ć€‚ -.RE -.PP -\fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR -.RS 4 -Overrides -/etc/login\&.defs -defaults (\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBUMASK\fR, -\fBPASS_MAX_DAYS\fR -and others)\&. - -Example: -\fB\-K\fR\ \&\fIPASS_MAX_DAYS\fR=\fI\-1\fR -can be used when creating system account to turn off password aging, even though system account has no password at all\&. Multiple -\fB\-K\fR -options can be specified, e\&.g\&.: -\fB\-K\fR\ \&\fIUID_MIN\fR=\fI100\fR\ \& -\fB\-K\fR\ \&\fIUID_MAX\fR=\fI499\fR -.RE -.PP -\fB\-l\fR, \fB\-\-no\-log\-init\fR -.RS 4 -äøč¦å°†ē”Øęˆ·ę·»åŠ åˆ°ęœ€čæ‘ē™»å½•å’Œē™»å½•å¤±č“„ę•°ę®åŗ“ć€‚ -.sp -By default, the user\*(Aqs entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user\&. -.RE -.PP -\fB\-m\fR, \fB\-\-create\-home\fR -.RS 4 -å¦‚ęžœäøå­˜åœØļ¼Œåˆ™åˆ›å»ŗē”Øęˆ·äø»ē›®å½•ć€‚éŖØęž¶ē›®å½•äø­ēš„ę–‡ä»¶å’Œē›®å½•(åÆä»„ä½æē”Ø -\fB\-k\fR -é€‰é”¹ęŒ‡å®š)ļ¼Œå°†ä¼šå¤åˆ¶åˆ°äø»ē›®å½•ć€‚ -.sp -é»˜č®¤äøŠļ¼Œå¦‚ęžœę²”ęœ‰ęŒ‡å®šę­¤é€‰é”¹å¹¶äø” -\fBCREATE_HOME\fR -ę²”ęœ‰åÆē”Øļ¼Œäøä¼šåˆ›å»ŗäø»ē›®å½•ć€‚ -.RE -.PP -\fB\-M\fR, \fB\-\-no\-create\-home\fR -.RS 4 -äøåˆ›å»ŗē”Øęˆ·äø»ē›®å½•ļ¼Œå³ä½æē³»ē»ŸåœØ -/etc/login\&.defs -äø­ēš„č®¾ē½® (\fBCREATE_HOME\fR) äøŗ -\fIyes\fR怂 -.RE -.PP -\fB\-N\fR, \fB\-\-no\-user\-group\fR -.RS 4 -äøč¦åˆ›å»ŗåŒåē»„ļ¼Œč€Œę˜Æå°†ē”Øęˆ·ę·»åŠ åˆ° -\fB\-g\fR -é€‰é”¹ęŒ‡å®šēš„ē»„ļ¼Œęˆ–ę ¹ę® -/etc/default/useradd -äø­ēš„ -\fBGROUP\fR -å˜é‡ć€‚ -.sp -å¦‚ęžœę²”ęœ‰ęŒ‡å®š -\fB\-g\fR, -\fB\-N\fR -和 -\fB\-U\fR -é€‰é”¹ļ¼Œé»˜č®¤č”Œäøŗē”± -/etc/login\&.defs -äø­ēš„ -\fBUSERGROUPS_ENAB\fR -å˜é‡ęŒ‡å®šć€‚ -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -å…č®øä½æē”Øé‡å¤ēš„ UID åˆ›å»ŗē”Øęˆ·č“¦ęˆ·ć€‚ -.sp -ę­¤é€‰é”¹åŖęœ‰å’Œ -\fB\-u\fR -é€‰é”¹ē»„åˆä½æē”Øę‰ęœ‰ę•ˆć€‚ -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -åŠ åÆ†äŗ†ēš„åÆ†ē ļ¼Œå°±åƒ -\fBcrypt\fR(3) -ēš„čæ”å›žå€¼ć€‚é»˜č®¤äøŗē¦ē”ØåÆ†ē ć€‚ -.sp -\fBę³Øę„ļ¼š\fRäøęŽØčä½æē”Øčæ™äøŖé€‰é”¹ļ¼Œå› äøŗåÆ†ē (ęˆ–åŠ åÆ†čæ‡ēš„åÆ†ē )ä¼šč¢«ē”Øęˆ·é€ščæ‡åˆ—å‡ŗčæ™äøŖčæ‡ēØ‹č€Œēœ‹åˆ°ć€‚ -.sp -ę‚Øåŗ”čÆ„ē”®äæåÆ†ē ē¬¦åˆē³»ē»Ÿēš„åÆ†ē ę”æē­–ć€‚ -.RE -.PP -\fB\-r\fR, \fB\-\-system\fR -.RS 4 -åˆ›å»ŗäø€äøŖē³»ē»Ÿč“¦ęˆ·ć€‚ -.sp -System users will be created with no aging information in -/etc/shadow, and their numeric identifiers are chosen in the -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR -range, defined in -/etc/login\&.defs, instead of -\fBUID_MIN\fR\-\fBUID_MAX\fR -(and their -\fBGID\fR -counterparts for the creation of groups)\&. -.sp -Note that -\fBuseradd\fR -will not create a home directory for such a user, regardless of the default setting in -/etc/login\&.defs -(\fBCREATE_HOME\fR)\&. You have to specify the -\fB\-m\fR -options if you want a home directory for a system account to be created\&. -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -ē”Øęˆ·ēš„ē™»å½• shell åć€‚é»˜č®¤äøŗē•™ē©ŗļ¼Œč®©ē³»ē»Ÿę ¹ę® -/etc/default/useradd -äø­ēš„ -\fBSHELL\fR -å˜é‡é€‰ę‹©é»˜č®¤ēš„ē™»å½• shellļ¼Œé»˜č®¤äøŗē©ŗå­—ē¬¦äø²ć€‚ -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -ē”Øęˆ· ID ēš„ę•°å­—å€¼ć€‚ę­¤å€¼åæ…é”»äøŗå”Æäø€ēš„ļ¼Œé™¤éžä½æē”Øäŗ† -\fB\-o\fR -é€‰é”¹ć€‚ę­¤å€¼åæ…é”»éžč“Ÿļ¼Œé»˜č®¤ä½æē”Øå¤§äŗŽē­‰äŗŽ -\fBUID_MIN\fRļ¼Œäø”å¤§äŗŽä»»ä½•å…¶ä»–ē”Øęˆ· ID ęœ€å°å€¼ć€‚ -.sp -čÆ·å‚č€ƒ -\fB\-r\fR -选锹和 -\fBUID_MAX\fR -ēš„ęčæ°ć€‚ -.RE -.PP -\fB\-U\fR, \fB\-\-user\-group\fR -.RS 4 -åˆ›å»ŗäø€äøŖå’Œē”Øęˆ·åŒåēš„ē»„ļ¼Œå¹¶å°†ē”Øęˆ·ę·»åŠ åˆ°ē»„äø­ć€‚ -.sp -å¦‚ęžœę²”ęœ‰ęŒ‡å®š -\fB\-g\fR, -\fB\-N\fR -和 -\fB\-U\fR -é€‰é”¹ļ¼Œé»˜č®¤č”Œäøŗē”± -/etc/login\&.defs -äø­ēš„ -\fBUSERGROUPS_ENAB\fR -å˜é‡ęŒ‡å®šć€‚ -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR -.RS 4 -ē”Øęˆ·ē™»é™†ēš„ SELinux ē”Øęˆ·ć€‚é»˜č®¤äøŗē•™ē©ŗļ¼Œčæ™ä¼šé€ ęˆē³»ē»Ÿé€‰ę‹©é»˜č®¤ēš„ SELinux ē”Øęˆ·ć€‚ -.RE -.SS "ę›“ę”¹é»˜č®¤å€¼" -.PP -åŖåø¦ -\fB\-D\fR -é€‰é”¹ä½æē”Øę—¶ļ¼Œ\fBuseradd\fR -å°†ę˜¾ē¤ŗå½“å‰ēš„é»˜č®¤å€¼ć€‚\fB\-D\fR -å’Œå…¶å®ƒé€‰é”¹é…åˆä½æē”Øę—¶ļ¼Œ\fBuseradd\fR -å°†äøŗęŒ‡å®šēš„é€‰é”¹ę›“ę–°é»˜č®¤å€¼ć€‚ęœ‰ę•ˆēš„\(lqę›“ę”¹é»˜č®¤å€¼\(rqé€‰é”¹ęœ‰ļ¼š -.PP -\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIBASE_DIR\fR -.RS 4 -ę–°ē”Øęˆ·äø»ē›®å½•ēš„č·Æå¾„å‰ē¼€ć€‚å¦‚ęžœåˆ›å»ŗę–°č“¦ęˆ·ę—¶ļ¼Œę²”ęœ‰ä½æē”Ø -\fB\-d\fR -é€‰é”¹ļ¼Œē”Øęˆ·ēš„åē§°å°†ä¼šē¼€åœØ -\fIBASE_DIR\fR -ēš„åŽč¾¹å½¢ęˆę–°ē”Øęˆ·ēš„äø»ē›®å½•åć€‚ -.sp -čæ™äøŖé€‰ę‹©åœØ -/etc/default/useradd -中设置 -\fBHOME\fR -选锹。 -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR -.RS 4 -ē¦ē”Øę­¤ē”Øęˆ·č“¦ęˆ·ēš„ę—„ęœŸć€‚ -.sp -ę­¤é€‰é”¹åœØ -/etc/default/useradd -中设置 -\fBEXPIRE\fR -å˜é‡ć€‚ -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR -.RS 4 -åÆ†ē čæ‡ęœŸåˆ°č“¦ęˆ·č¢«ē¦ē”Øä¹‹å‰ēš„å¤©ę•°ć€‚ -.sp -čæ™äøŖé€‰é”¹åœØ -/etc/default/useradd -中设置 -\fBINACTIVE\fR -å˜é‡ć€‚ -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR -.RS 4 -ę–°ē”Øęˆ·åˆå§‹ē»„ēš„ē»„åęˆ– ID (使用了 -\fB\-N/\-\-no\-user\-group\fR -ꈖ者 -/etc/login\&.defs -äø­ēš„å˜é‡ -\fBUSERGROUPS_ENAB\fR -设置为 -\fIno\fR -ę—¶)ć€‚ē»™å‡ŗēš„ē»„åæ…é”»å­˜åœØļ¼Œå¹¶äø”ę•°å­—ē»„ ID åæ…é”»ęœ‰äø€äøŖå·²ē»å­˜åœØēš„é”¹ć€‚ -.sp -čæ™äøŖé€‰é”¹åœØ -/etc/default/useradd -中设置 -\fBGROUP\fR -å˜é‡ć€‚ -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -ę–°ē”Øęˆ·ēš„ē™»å½• shell åć€‚ -.sp -čæ™äøŖé€‰é”¹åœØ -/etc/default/useradd -设置 -\fBSHELL\fR -å˜é‡ć€‚ -.RE -.SH "ę³Øę„ļ¼š" -.PP -ē³»ē»Ÿē®”ē†å‘˜č“Ÿč“£å°†é»˜č®¤ēš„ē”Øęˆ·ę–‡ä»¶ę”¾åœØ -/etc/skel/ -目录中(ęˆ–č€…å‘½ä»¤č”ŒäøŠć€/etc/default/useradd -äø­ęŒ‡å®šēš„ä»»ä½•å…¶å®ƒē›®å½•)怂 -.SH "CAVEATS" -.PP -ę‚ØåÆčƒ½äøčƒ½ęƒ³ NIS ē»„ęˆ– LDAP ē»„ę·»åŠ ē”Øęˆ·ć€‚čæ™åŖčƒ½åœØē›øåŗ”ęœåŠ”å™ØäøŠčæ›č”Œć€‚ -.PP -ē›øä¼¼åœ°ļ¼Œå¦‚ęžœē”Øęˆ·åå·²ē»å­˜åœØäŗŽå¤–éƒØē”Øęˆ·ę•°ę®åŗ“äø­ļ¼ŒęÆ”å¦‚ NIS ꈖ LDAP,\fBuseradd\fR -å°†ę‹’ē»åˆ›å»ŗē”Øęˆ·č“¦ęˆ·ēš„čÆ·ę±‚ć€‚ -.PP -ē”Øęˆ·ååæ…é”»ä»„äø€äøŖå°å†™å­—ęÆęˆ–äø‹åˆ’ēŗæå¼€å§‹ļ¼Œč·Ÿéšå°å†™å­—ē¬¦ć€ę•°å­—ć€äø‹åˆ’ēŗæęˆ–čæžå­—ē¬¦ēš„ē»„åˆć€‚åÆä»„ä»„ē¾Žå…ƒē¬¦å·ē»“ęŸć€‚ē”Øę­£åˆ™č”Øč¾¾å¼č”Øē¤ŗå°±ę˜Æļ¼š[a\-z_][a\-z0\-9_\-]*[$]? -.PP -ē”Øęˆ·åäøčƒ½č¶…čæ‡ 32 个字符长。 -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBCREATE_HOME\fR (boolean) -.RS 4 -ęŒ‡ē¤ŗę˜Æå¦åŗ”čÆ„äøŗę–°ē”Øęˆ·é»˜č®¤åˆ›å»ŗäø»ē›®å½•ć€‚ -.sp -ę­¤č®¾ē½®å¹¶äøåŗ”ē”Øåˆ°ē³»ē»Ÿē”Øęˆ·ļ¼Œå¹¶äø”åÆä»„ä½æē”Øå‘½ä»¤č”Œč¦†ē›–ć€‚ -.RE -.PP -\fBGID_MAX\fR (number), \fBGID_MIN\fR (number) -.RS 4 -\fBuseradd\fR,\fBgroupadd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„åøøč§„ē»„ēš„ē»„ ID ēš„čŒƒå›“ć€‚ -.sp -\fBGID_MIN\fR -和 -\fBGID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 1000 和 60000怂 -.RE -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -é‚®ē®±ē›®å½•ć€‚äæ®ę”¹ęˆ–åˆ é™¤ē”Øęˆ·č“¦ęˆ·ę—¶éœ€č¦å¤„ē†é‚®ē®±ļ¼Œå¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œå°†ä½æē”Øē¼–čÆ‘ę—¶ęŒ‡å®šēš„é»˜č®¤å€¼ć€‚ -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -å®šä¹‰ē”Øęˆ·é‚®ē®±ę–‡ä»¶ēš„ä½ē½®(ē›øåÆ¹äŗŽäø»ē›®å½•)怂 -.RE -.PP -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -å˜é‡ē”± -\fBuseradd\fR,\fBusermod\fR -和 -\fBuserdel\fR -ē”ØäŗŽåˆ›å»ŗć€ē§»åŠØęˆ–åˆ é™¤ē”Øęˆ·é‚®ē®±ć€‚ -.PP -å¦‚ęžœ -\fBMAIL_CHECK_ENAB\fR -设置为 -\fIyes\fRļ¼Œå®ƒä»¬ä¹Ÿč¢«ē”ØäŗŽå®šä¹‰ -\fBMAIL\fR -ēŽÆå¢ƒå˜é‡ć€‚ -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.PP -\fBPASS_MAX_DAYS\fR (number) -.RS 4 -äø€äøŖåÆ†ē åÆä»„ä½æē”Øēš„ęœ€å¤§å¤©ę•°ć€‚å¦‚ęžœåÆ†ē ęÆ”čæ™ę—§ļ¼Œå°†ä¼šå¼ŗčæ«ę›“ę”¹åÆ†ē ć€‚å¦‚ęžœäøęŒ‡å®šļ¼Œå°±å‡å®šäøŗ \-1ļ¼Œčæ™ä¼šē¦ē”Øčæ™äøŖé™åˆ¶ć€‚ -.RE -.PP -\fBPASS_MIN_DAYS\fR (number) -.RS 4 -äø¤ę¬”ę›“ę”¹åÆ†ē ę—¶é—“ēš„ęœ€å°é—“éš”ć€‚å°†ä¼šę‹’ē»ä»»ä½•ę—©äŗŽę­¤ēš„ę›“ę”¹åÆ†ē ēš„å°čÆ•ć€‚å¦‚ęžœäøęŒ‡å®šļ¼Œå‡å®šäøŗ \-1ļ¼Œå°†ä¼šē¦ē”Øčæ™äøŖé™åˆ¶ć€‚ -.RE -.PP -\fBPASS_WARN_AGE\fR (number) -.RS 4 -åÆ†ē čæ‡ęœŸä¹‹å‰ē»™å‡ŗč­¦å‘Šēš„å¤©ę•°ć€‚0 č”Øē¤ŗåŖęœ‰åŖåœØčæ‡ęœŸēš„å½“å¤©č­¦å‘Šļ¼Œč“Ÿå€¼č”Øē¤ŗäøč­¦å‘Šć€‚å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œäøä¼šē»™č­¦å‘Šć€‚ -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSYS_GID_MAX\fR (number), \fBSYS_GID_MIN\fR (number) -.RS 4 -\fBuseradd\fR态\fBgroupadd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„ē³»ē»Ÿē»„ēš„ē»„ ID ēš„čŒƒå›“ć€‚ -.sp -\fBSYS_GID_MIN\fR -和 -\fBSYS_GID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 101 和 -\fBGID_MIN\fR\-1怂 -.RE -.PP -\fBSYS_UID_MAX\fR (number), \fBSYS_UID_MIN\fR (number) -.RS 4 -\fBuseradd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„ē³»ē»Ÿē”Øęˆ·ēš„ē”Øęˆ· ID ēš„čŒƒå›“ć€‚ -.sp -\fBSYS_UID_MIN\fR -和 -\fBSYS_UID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 101 和 -\fBUID_MIN\fR\-1怂 -.RE -.PP -\fBUID_MAX\fR (number), \fBUID_MIN\fR (number) -.RS 4 -\fBuseradd\fR -ꈖ -\fBnewusers\fR -åˆ›å»ŗēš„ę™®é€šē”Øęˆ·ēš„ē”Øęˆ· ID ēš„čŒƒå›“ć€‚ -.sp -\fBUID_MIN\fR -和 -\fBUID_MAX\fR -ēš„é»˜č®¤å€¼åˆ†åˆ«ę˜Æ 1000 和 60000怂 -.RE -.PP -\fBUMASK\fR (number) -.RS 4 -ę–‡ä»¶ęØ”å¼åˆ›å»ŗęŽ©ē åˆå§‹åŒ–äøŗę­¤å€¼ć€‚å¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼ŒęŽ©ē åˆå§‹åŒ–äøŗ 022怂 -.sp -\fBuseradd\fR -和 -\fBnewusers\fR -ä½æē”Øę­¤ęŽ©ē č®¾ē½®å®ƒä»¬åˆ›å»ŗēš„ē”Øęˆ·äø»ē›®å½•ēš„ęØ”å¼ć€‚ -.sp -也被 -\fBlogin\fR -ē”ØäŗŽęŒ‡å®šē”Øęˆ·ēš„åˆå§‹ umaskć€‚ę³Øę„ļ¼Œę­¤ęŽ©ē åÆä»„č¢«ē”Øęˆ·ēš„ GECOS č”Œč¦†ē›–(当设置了 -\fBQUOTAS_ENAB\fR -ę—¶)ļ¼Œä¹ŸåÆä»„č¢«åø¦ -\fIK\fR -ęŒ‡ē¤ŗē¬¦ēš„ -\fBlimits\fR(5) -å®šä¹‰ēš„é™åˆ¶å€¼č¦†ē›–ć€‚ -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -å¦‚ęžœ uid 和 gid ē›øåŒļ¼Œē”Øęˆ·åå’Œäø»ē”Øęˆ·åä¹Ÿē›øåŒļ¼Œä½æéž root ē»„ēš„ē»„ęŽ©ē ä½å’Œå±žäø»ä½ē›øåŒ (å¦‚ļ¼š022 \-> 002, 077 \-> 007)怂 -.sp -å¦‚ęžœč®¾ē½®äøŗ -\fIyes\fRļ¼Œå¦‚ęžœē»„äø­ę²”ęœ‰ęˆå‘˜äŗ†ļ¼Œ\fBuserdel\fR -å°†ē§»é™¤ę­¤ē”Øęˆ·ē»„ļ¼Œ\fBuseradd\fR -åˆ›å»ŗē”Øęˆ·ę—¶ļ¼Œä¹Ÿä¼šåˆ›å»ŗäø€äøŖåŒåēš„é»˜č®¤ē»„ć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/default/useradd -.RS 4 -č“¦ęˆ·åˆ›å»ŗēš„é»˜č®¤å€¼ć€‚ -.RE -.PP -/etc/skel/ -.RS 4 -åŒ…å«é»˜č®¤ę–‡ä»¶ēš„ē›®å½•ć€‚ -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.SH "退出值" -.PP -\fBuseradd\fR -åÆä»„čæ”å›žå¦‚äø‹å€¼ļ¼š -.PP -\fI0\fR -.RS 4 -成功 -.RE -.PP -\fI1\fR -.RS 4 -无法曓新密码文件 -.RE -.PP -\fI2\fR -.RS 4 -ę— ę•ˆēš„å‘½ä»¤čÆ­ę³• -.RE -.PP -\fI3\fR -.RS 4 -ē»™äŗ†é€‰é”¹äø€äøŖę— ę•ˆēš„å‚ę•° -.RE -.PP -\fI4\fR -.RS 4 -UID å·²ē»ä½æē”Ø (äø”ę²”ęœ‰ -\fB\-o\fR) -.RE -.PP -\fI6\fR -.RS 4 -ęŒ‡å®šēš„ē»„äøå­˜åœØ -.RE -.PP -\fI9\fR -.RS 4 -ē”Øęˆ·åå·²č¢«ä½æē”Ø -.RE -.PP -\fI10\fR -.RS 4 -无法曓新组文件 -.RE -.PP -\fI12\fR -.RS 4 -ę— ę³•åˆ›å»ŗäø»ē›®å½• -.RE -.PP -\fI14\fR -.RS 4 -can\*(Aqt update SELinux user mapping -.RE -.SH "å‚č§" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBnewusers\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuserdel\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/zh_CN/man8/userdel.8 b/man/zh_CN/man8/userdel.8 deleted file mode 100644 index 7843196d..00000000 --- a/man/zh_CN/man8/userdel.8 +++ /dev/null @@ -1,288 +0,0 @@ -'\" t -.\" Title: userdel -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "USERDEL" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -userdel \- åˆ é™¤ē”Øęˆ·č“¦ęˆ·å’Œē›øå…³ę–‡ä»¶ -.SH "大纲" -.HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [选锹] \fI登录\fR -.SH "ęčæ°" -.PP -\fBuserdel\fR -äæ®ę”¹ē³»ē»Ÿč“¦ęˆ·ę–‡ä»¶ļ¼Œåˆ é™¤äøŽē”Øęˆ·å -\fILOGIN\fR -ē›øå…³ēš„ę‰€ä»„é”¹ē›®ć€‚ē»™å‡ŗēš„ē”Øęˆ·ååæ…é”»å­˜åœØć€‚ -.SH "选锹" -.PP -\fBuserdel\fR -åÆä»„ä½æē”Øēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-f\fR, \fB\-\-force\fR -.RS 4 -ę­¤é€‰é”¹å¼ŗåˆ¶åˆ é™¤ē”Øęˆ·č“¦ęˆ·ļ¼Œē”šč‡³ē”Øęˆ·ä»ē„¶åœØē™»å½•ēŠ¶ę€ć€‚å®ƒä¹Ÿå¼ŗåˆ¶ -\fBuserdel\fR -åˆ é™¤ē”Øęˆ·ēš„äø»ē›®å½•å’Œé‚®ē®±ļ¼Œå³ä½æå…¶å®ƒē”Øęˆ·ä¹Ÿä½æē”ØåŒäø€äøŖäø»ē›®å½•ęˆ–é‚®ē®±äøå±žäŗŽęŒ‡å®šēš„ē”Øęˆ·ć€‚å¦‚ęžœ -/etc/login\&.defs -äø­ēš„ -\fBUSERGROUPS_ENAB\fR -å®šä¹‰äøŗ -\fIyes\fRļ¼Œå¹¶äø”å¦‚ęžœęœ‰äø€äøŖå’Œē”Øęˆ·åŒåēš„ē»„ļ¼Œä¹Ÿä¼šåˆ é™¤ę­¤ē»„ļ¼Œå³ä½æå®ƒä»ē„¶ę˜Æåˆ«ēš„ē”Øęˆ·ēš„äø»ē»„ć€‚ -.sp -\fIę³Øę„ļ¼š\fRę­¤é€‰é”¹å±é™©ļ¼ŒåÆčƒ½ä¼šē “åē³»ē»Ÿēš„ēØ³å®šę€§ć€‚ -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-r\fR, \fB\-\-remove\fR -.RS 4 -ē”Øęˆ·äø»ē›®å½•äø­ēš„ę–‡ä»¶å°†éšē”Øęˆ·äø»ē›®å½•å’Œē”Øęˆ·é‚®ē®±äø€čµ·åˆ é™¤ć€‚åœØå…¶å®ƒę–‡ä»¶ē³»ē»Ÿäø­ēš„ę–‡ä»¶åæ…é”»ę‰‹åŠØęœē“¢å¹¶åˆ é™¤ć€‚ -.sp -é‚®ē®±åœØ -login\&.defs -ę–‡ä»¶äø­ēš„ -\fBMAIL_DIR\fR -å˜é‡äø­å®šä¹‰ć€‚ -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR -.RS 4 -ē§»é™¤ē”Øęˆ·ē™»å½•ēš„ę‰€ęœ‰ SELinux ē”Øęˆ·ę˜ å°„ć€‚ -.RE -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -é‚®ē®±ē›®å½•ć€‚äæ®ę”¹ęˆ–åˆ é™¤ē”Øęˆ·č“¦ęˆ·ę—¶éœ€č¦å¤„ē†é‚®ē®±ļ¼Œå¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œå°†ä½æē”Øē¼–čÆ‘ę—¶ęŒ‡å®šēš„é»˜č®¤å€¼ć€‚ -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -å®šä¹‰ē”Øęˆ·é‚®ē®±ę–‡ä»¶ēš„ä½ē½®(ē›øåÆ¹äŗŽäø»ē›®å½•)怂 -.RE -.PP -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -å˜é‡ē”± -\fBuseradd\fR,\fBusermod\fR -和 -\fBuserdel\fR -ē”ØäŗŽåˆ›å»ŗć€ē§»åŠØęˆ–åˆ é™¤ē”Øęˆ·é‚®ē®±ć€‚ -.PP -å¦‚ęžœ -\fBMAIL_CHECK_ENAB\fR -设置为 -\fIyes\fRļ¼Œå®ƒä»¬ä¹Ÿč¢«ē”ØäŗŽå®šä¹‰ -\fBMAIL\fR -ēŽÆå¢ƒå˜é‡ć€‚ -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.PP -\fBUSERDEL_CMD\fR (string) -.RS 4 -å¦‚ęžœå®šä¹‰äŗ†ļ¼Œčæ™ę˜Æåˆ é™¤č“¦ęˆ·ę—¶ę‰§č”Œēš„å‘½ä»¤ć€‚å®ƒåŗ”čÆ„ē§»é™¤ę‰€ęœ‰å±žäŗŽę­¤ē”Øęˆ·ēš„ēš„ at/cron/print ē­‰ä½œäøš(ä½œäøŗē¬¬äø€äøŖå‚ę•°ä¼ é€’)怂 -.sp -čæ™äøŖč„šęœ¬ēš„čæ”å›žå€¼å¹¶äøč¢«åø¦åˆ°č“¦ęˆ·äø­åŽ»ć€‚ -.sp -čæ™ę˜Æäø€äøŖē¤ŗä¾‹č„šęœ¬ļ¼Œå®ƒē§»é™¤ē”Øęˆ·ēš„ cron态at 和 print 作业: -.sp -.if n \{\ -.RS 4 -.\} -.nf -#! /bin/sh - -# ę£€ęŸ„éœ€č¦ēš„å‚ę•° -if [ $# != 1 ]; then - echo "Usage: $0 username" - exit 1 -fi - -# 移除 cron 作业 -crontab \-r \-u $1 - -# 移除 at 作业 -# ę³Øę„čæ™å°†ē§»é™¤ę‰€ęœ‰å±žäŗŽåŒäø€äøŖ UID ēš„ä½œäøš -# å³ä½æę­¤ ID ē”±å¤šäøŖē”Øęˆ·åå…±äŗ« -AT_SPOOL_DIR=/var/spool/cron/atjobs -find $AT_SPOOL_DIR \-name "[^\&.]*" \-type f \-user $1 \-delete \e; - -# 移除 print 作业 -lprm $1 - -# å…ØéƒØå®Œęˆ -exit 0 - -.fi -.if n \{\ -.RE -.\} -.RE -.PP -\fBUSERGROUPS_ENAB\fR (boolean) -.RS 4 -å¦‚ęžœ uid 和 gid ē›øåŒļ¼Œē”Øęˆ·åå’Œäø»ē”Øęˆ·åä¹Ÿē›øåŒļ¼Œä½æéž root ē»„ēš„ē»„ęŽ©ē ä½å’Œå±žäø»ä½ē›øåŒ (å¦‚ļ¼š022 \-> 002, 077 \-> 007)怂 -.sp -å¦‚ęžœč®¾ē½®äøŗ -\fIyes\fRļ¼Œå¦‚ęžœē»„äø­ę²”ęœ‰ęˆå‘˜äŗ†ļ¼Œ\fBuserdel\fR -å°†ē§»é™¤ę­¤ē”Øęˆ·ē»„ļ¼Œ\fBuseradd\fR -åˆ›å»ŗē”Øęˆ·ę—¶ļ¼Œä¹Ÿä¼šåˆ›å»ŗäø€äøŖåŒåēš„é»˜č®¤ē»„ć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "退出值" -.PP -\fBuserdel\fR -å‘½ä»¤ä½æē”Øå¦‚äø‹å€¼é€€å‡ŗļ¼š -.PP -\fI0\fR -.RS 4 -成功 -.RE -.PP -\fI1\fR -.RS 4 -无法曓新密码文件 -.RE -.PP -\fI2\fR -.RS 4 -ę— ę•ˆēš„å‘½ä»¤čÆ­ę³• -.RE -.PP -\fI6\fR -.RS 4 -ęŒ‡å®šēš„ē”Øęˆ·äøå­˜åœØ -.RE -.PP -\fI8\fR -.RS 4 -ē”Øęˆ·å·²ē»ē™»å½• -.RE -.PP -\fI10\fR -.RS 4 -无法曓新组文件 -.RE -.PP -\fI12\fR -.RS 4 -ę— ę³•åˆ é™¤äø»ē›®å½• -.RE -.SH "CAVEATS" -.PP -å¦‚ęžœęŸč“¦ęˆ·ęœ‰ę­£åœØčæč”Œēš„čæ›ēØ‹ļ¼Œ\fBuserdel\fR -äøä¼šå…č®øę­¤č“¦ęˆ·ć€‚ę­¤ę—¶ļ¼Œę‚ØåÆčƒ½åæ…é”»č¦ę€ę­»é‚£å†™čæ›ēØ‹ęˆ–č€…é”å®šē”Øęˆ·ēš„åÆ†ē å’Œč“¦ęˆ·ļ¼Œå¹¶ēØåŽå†åˆ é™¤č“¦ęˆ·ć€‚\fB\-f\fR -é€‰é”¹åÆä»„å¼ŗåˆ¶ę­¤åˆ é™¤č“¦ęˆ·ć€‚ -.PP -ę‚Øåŗ”čÆ„ę‰‹åŠØę£€ęŸ„ę‰€ä»„ę–‡ä»¶ē³»ē»Ÿļ¼Œä»„ē”®äæę²”ęœ‰é—ē•™ę­¤ē”Øęˆ·ēš„ę–‡ä»¶ć€‚ -.PP -ę‚Øäøčƒ½åœØ NIS å®¢ęˆ·ē«ÆäøŠē§»é™¤ä»»ä½• NIS å±žę€§ć€‚čæ™åæ…é”»åœØ NIS ęœåŠ”å™ØäøŠę‰§č”Œć€‚ -.PP -å¦‚ęžœåœØ -/etc/login\&.defs -äø­ -\fBUSERGROUPS_ENAB\fR -设置为 -\fIyes\fR, -\fBuserdel\fR -å°†åˆ é™¤åŒåē»„ć€‚äøŗäŗ†éæå…ęŸå passwd 和 group ę•°ę®åŗ“ļ¼Œ\fBuserdel\fR -å°†ä¼šę£€ęŸ„čæ™äøŖäø»ę˜Æå¦č¢«åˆ«ēš„ē”Øęˆ·ē”Øä½œäø»ē»„ļ¼Œå¦‚ęžœęœ‰ļ¼Œå°†åŖå‘å‡ŗč­¦å‘Šå¹¶äøåˆ é™¤ę­¤ē»„ć€‚\fB\-f\fR -é€‰é”¹åÆä»„å¼ŗåˆ¶åˆ é™¤ę­¤ē»„ć€‚ -.SH "å‚č§" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBlogin.defs\fR(5), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBusermod\fR(8)\&. diff --git a/man/zh_CN/man8/usermod.8 b/man/zh_CN/man8/usermod.8 deleted file mode 100644 index 0e7bcec3..00000000 --- a/man/zh_CN/man8/usermod.8 +++ /dev/null @@ -1,449 +0,0 @@ -'\" t -.\" Title: usermod -.\" Author: Julianne Frances Haugh -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "USERMOD" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -usermod \- äæ®ę”¹äø€äøŖē”Øęˆ·č“¦ęˆ· -.SH "大纲" -.HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fI选锹\fR] \fI登录\fR -.SH "ęčæ°" -.PP -\fBusermod\fR -äæ®ę”¹ē³»ē»Ÿč“¦ęˆ·ę–‡ä»¶å’ŒåœØå‘½ä»¤č”ŒäøŠęŒ‡å®šēš„ē›øå…³ę›“ę”¹ć€‚ -.SH "选锹" -.PP -\fBusermod\fR -åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-a\fR, \fB\-\-append\fR -.RS 4 -å°†ē”Øęˆ·ę·»åŠ åˆ°é™„åŠ ē»„ć€‚åŖčƒ½å’Œ -\fB\-G\fR -选锹一起使用。 -.RE -.PP -\fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENT\fR -.RS 4 -ē”Øęˆ·åÆ†ē ę–‡ä»¶äø­ę³Øé‡Šå­—ę®µēš„ę–°å€¼ć€‚é€šåøøä½æē”Ø -\fBchfn\fR(1) -å·„å…·åÆ¹å…¶čæ›č”Œäæ®ę”¹ć€‚ -.RE -.PP -\fB\-d\fR, \fB\-\-home\fR\ \&\fIHOME_DIR\fR -.RS 4 -ē”Øęˆ·ēš„ę–°ē™»å½•ē›®å½•ć€‚ -.sp -å¦‚ęžœē»™äŗ† -\fB\-m\fR -é€‰é”¹ļ¼Œå½“å‰äø»ē›®å½•ēš„å†…å®¹å°†ä¼šē§»åŠØåˆ°ę–°äø»ē›®å½•äø­ļ¼Œå¦‚ęžœäøå­˜åœØļ¼Œåˆ™åˆ›å»ŗć€‚ -.RE -.PP -\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR -.RS 4 -ē”Øęˆ·č“¦ęˆ·å°†č¢«ē¦ē”Øēš„ę—„ęœŸć€‚ę—„ęœŸä»„ -\fIYYYY\-MM\-DD\fR -ę ¼å¼ęŒ‡å®šć€‚ -.sp -空 -\fIEXPIRE_DATE\fR -å‚ę•°å°†ē¦ē”Øč“¦ęˆ·čæ‡ęœŸć€‚ -.sp -ę­¤é€‰é”¹éœ€č¦äø€äøŖ -/etc/passwd -ę–‡ä»¶ć€‚å¦‚ęžœę²”ęœ‰ļ¼Œå°†ä¼šåˆ›å»ŗäø€ę” -/etc/shadow -锹目。 -.RE -.PP -\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR -.RS 4 -åÆ†ē čæ‡ęœŸä¹‹åŽļ¼Œč“¦ęˆ·č¢«å½»åŗ•ē¦ē”Øä¹‹å‰ēš„å¤©ę•°ć€‚ -.sp -0 č”Øē¤ŗåÆ†ē čæ‡ęœŸę—¶ļ¼Œē«‹å³ē¦ē”Øč“¦ęˆ·ļ¼›\-1 č”Øē¤ŗäøä½æē”Øčæ™äøŖåŠŸčƒ½ć€‚ -.sp -ę­¤é€‰é”¹éœ€č¦äø€äøŖ -/etc/passwd -ę–‡ä»¶ć€‚å¦‚ęžœę²”ęœ‰ļ¼Œå°†ä¼šåˆ›å»ŗäø€ę” -/etc/shadow -锹目。 -.RE -.PP -\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR -.RS 4 -ē”Øęˆ·ēš„ę–°åˆå§‹ē™»å½•ē»„ēš„ē»„åęˆ–ę•°å­—ä»£å·ć€‚ę­¤ē»„åæ…é”»å­˜åœØć€‚ -.sp -ē”Øęˆ·äø»ē›®å½•äø­ļ¼Œå±žäŗŽåŽŸę„ēš„äø»ē»„ēš„ę–‡ä»¶å°†č½¬äŗ¤ę–°ē»„ę‰€ęœ‰ć€‚ -.sp -äø»ē›®å½•ä¹‹å¤–ēš„ę–‡ä»¶ę‰€å±žēš„ē»„åæ…é”»ę‰‹åŠØäæ®ę”¹ć€‚ -.RE -.PP -\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]] -.RS 4 -ē”Øęˆ·čæ˜å±žäŗŽēš„é™„åŠ ē»„åˆ—č”Øć€‚ē»„ä¹‹é—“ä½æē”Øé€—å·åˆ†éš”ļ¼Œę²”ęœ‰ē©ŗę ¼ć€‚čæ™äŗ›ē»„éœ€č¦éµå®ˆå’Œ -\fB\-g\fR -é€‰é”¹äø­ē»™ēš„ē»„åŒę ·ēš„é™åˆ¶ć€‚ -.sp -å¦‚ęžœē”Øęˆ·å½“å‰ę˜Æäø€äøŖē»„ēš„ęˆå‘˜ļ¼Œč€Œčæ™äøŖē»„ę²”ęœ‰åˆ—åœØčæ™é‡Œļ¼Œē”Øęˆ·å°†č¢«ä»Žé‚£äøŖē»„é‡Œä¾æåˆ é™¤ć€‚čæ™äøŖč”ŒäøŗåÆä»„é€ščæ‡ -\fB\-a\fR -é€‰é”¹äæ®ę”¹ļ¼Œčæ™ä½æē”Øęˆ·čæ½åŠ åˆ°ē»™å‡ŗēš„é™„åŠ ē»„åˆ—č”Øäø­ć€‚ -.RE -.PP -\fB\-l\fR, \fB\-\-login\fR\ \&\fINEW_LOGIN\fR -.RS 4 -ē”Øęˆ·ēš„åē§°å°†ä¼šä»Ž -\fILOGIN\fR -修改为 -\fINEW_LOGIN\fRć€‚äøä¼šę›“ę”¹åˆ«ēš„ä»»ä½•äøœč„æć€‚ē‰¹åˆ«ę˜Æļ¼Œē”Øęˆ·ēš„äø»ē›®å½•åå’Œé‚®ä»¶ę± ä¹Ÿéœ€č¦ę‰‹åŠØäæ®ę”¹ä»„å’Œę–°ē™»å½•ååÆ¹åŗ”ć€‚ -.RE -.PP -\fB\-L\fR, \fB\-\-lock\fR -.RS 4 -é”å®šē”Øęˆ·ēš„åÆ†ē ć€‚čæ™ä¼šåœØē”Øęˆ·åŠ åÆ†ēš„åÆ†ē ä¹‹å‰ę”¾ē½®äø€äøŖ\(lq!\(rqļ¼ŒåÆä»„åæ«é€Ÿē¦ē”ØåÆ†ē ć€‚ę‚ØåÆä»„å’Œ -\fB\-p\fR -ꈖ -\fB\-U\fR -é…åˆä½æē”Øę­¤é€‰é”¹ć€‚ -.sp -ę³Øę„ļ¼šå¦‚ęžœåøŒęœ›é”å®šč“¦ęˆ·(äøä»…ä»…ę˜Æé€ščæ‡åÆ†ē č®æé—®)ļ¼Œę‚Øä¹Ÿéœ€č¦č®¾ē½® -\fIEXPIRE_DATE\fR -äøŗ -\fI1\fR怂 -.RE -.PP -\fB\-m\fR, \fB\-\-move\-home\fR -.RS 4 -å°†ē”Øęˆ·ēš„äø»ē›®å½•ē§»åŠØåˆ°ę–°ä½ē½®ć€‚ -.sp -čæ™äøŖé€‰é”¹åŖęœ‰å’Œ -\fB\-d\fR -(ꈖ -\fB\-\-home\fR) é€‰é”¹ē»„åˆä½æē”Øę—¶ę‰ęœ‰ę•ˆć€‚ -.sp -\fBusermod\fR -ä¼šę”¹å†™ę–‡ä»¶ēš„å±žäø»å¹¶å¤åˆ¶ęØ”å¼ć€ACL å’Œę‰©å±•å±žę€§ļ¼Œä½†ę˜ÆēØåŽä¹ŸåÆčƒ½éœ€č¦ę‰‹åŠØäæ®ę”¹ć€‚ -.RE -.PP -\fB\-o\fR, \fB\-\-non\-unique\fR -.RS 4 -使用 -\fB\-u\fR -é€‰é”¹ę—¶ļ¼ŒåÆä»„å°†ē”Øęˆ· ID ę”¹äøŗéžå”Æäø€ēš„å€¼ć€‚ -.RE -.PP -\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR -.RS 4 -å·²ē»åŠ åÆ†čæ‡ēš„åÆ†ē ļ¼Œå°±åƒ -\fBcrypt\fR(3) -čæ”å›žēš„é‚£ę ·ć€‚ -.sp -\fBę³Øę„ļ¼š\fRäøęŽØčä½æē”Øčæ™äøŖé€‰é”¹ļ¼Œå› äøŗåÆ†ē (ęˆ–åŠ åÆ†čæ‡ēš„åÆ†ē )ä¼šč¢«ē”Øęˆ·é€ščæ‡åˆ—å‡ŗčæ™äøŖčæ‡ēØ‹č€Œēœ‹åˆ°ć€‚ -.sp -ę‚Øåŗ”čÆ„ē”®äæåÆ†ē ē¬¦åˆē³»ē»Ÿēš„åÆ†ē ę”æē­–ć€‚ -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR -.RS 4 -ē”Øęˆ·ēš„ę–°ē™»å½• shell ēš„åē§°ć€‚å°†ę­¤å­—ę®µč®¾ē½®äøŗē©ŗä¼šč®©ē³»ē»Ÿé€‰ę‹©é»˜č®¤ēš„ē™»å½• shell怂 -.RE -.PP -\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR -.RS 4 -ē”Øęˆ· ID ēš„ę–°ę•°å€¼ć€‚ -.sp -čæ™äøŖå€¼åæ…é”»ę˜Æå”Æäø€ēš„ļ¼Œé™¤éžä½æē”Øäŗ† -\fB\-o\fR -é€‰é”¹ļ¼Œåæ…é”»ę˜Æéžč“Ÿå€¼ć€‚ -.sp -ē”Øęˆ·ēš„é‚®ē®±ļ¼Œē”Øęˆ·äø»ē›®å½•äø­å±žäŗŽę­¤ē”Øęˆ·ēš„ę–‡ä»¶ēš„å±žäø» ID ä¹Ÿå°†č‡ŖåŠØę›“ę”¹ć€‚ -.sp -ē”Øęˆ·äø»ē›®å½•ä¹‹å¤–ę–‡ä»¶ę‰€ęœ‰ęƒåæ…é”»ę‰‹åŠØäæ®å¤ć€‚ -.sp -äøä¼šåÆ¹ -/etc/login\&.defs -äø­ēš„ -\fBUID_MIN\fR, -\fBUID_MAX\fR, -\fBSYS_UID_MIN\fR -和 -\fBSYS_UID_MAX\fR -čæ›č”Œę£€ęŸ„ć€‚ -.RE -.PP -\fB\-U\fR, \fB\-\-unlock\fR -.RS 4 -č§£é”ē”Øęˆ·ēš„åÆ†ē ć€‚čæ™å°†ē§»é™¤åŠ åÆ†ēš„åÆ†ē ä¹‹å‰ēš„\(lq!\(rqć€‚ę‚ØåÆä»„å°†ę­¤é€‰é”¹å’Œ -\fB\-p\fR -ꈖ -\fB\-L\fR -é…åˆä½æē”Øć€‚ -.sp -ę³Øę„ļ¼šå¦‚ęžœę‚ØåøŒęœ›č§£é”č“¦ęˆ·(äøåŖę˜Æä½æē”ØåÆ†ē č®æé—®)ļ¼Œę‚Øä¹Ÿåŗ”čÆ„č®¾ē½® -\fIEXPIRE_DATE\fR -(例如设置为 -\fI99999\fRļ¼Œęˆ–č€… -/etc/default/useradd -äø­ēš„ -\fBEXPIRE\fR -值)怂 -.RE -.PP -\fB\-v\fR, \fB\-\-add\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate uids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-V\fR, \fB\-\-del\-sub\-uids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate uids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-uids\fR -and -\fB\-\-add\-sub\-uids\fR -are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, or -\fBSUB_UID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-w\fR, \fB\-\-add\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Add a range of subordinate gids to the user\*(Aqs account\&. -.sp -This option may be specified multiple times to add multiple ranges to a users account\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-W\fR, \fB\-\-del\-sub\-gids\fR\ \&\fIFIRST\fR\-\fILAST\fR -.RS 4 -Remove a range of subordinate gids from the user\*(Aqs account\&. -.sp -This option may be specified multiple times to remove multiple ranges to a users account\&. When both -\fB\-\-del\-sub\-gids\fR -and -\fB\-\-add\-sub\-gids\fR -are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added\&. -.sp -No checks will be performed with regard to -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, or -\fBSUB_GID_COUNT\fR -from /etc/login\&.defs\&. -.RE -.PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR -.RS 4 -ē”Øęˆ·ē™»é™†ēš„ SELinux ē”Øęˆ·ć€‚ -.sp -ē©ŗēš„ -\fISEUSER\fR -å°†ē§»é™¤ē”Øęˆ· -\fILOGIN\fR -ēš„ SELinux ē”Øęˆ·ę˜ å°„(å¦‚ęžœęœ‰)怂 -.RE -.SH "CAVEATS" -.PP -You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. -\fBusermod\fR -checks this on Linux\&. On other platforms it only uses utmp to check if the user is logged in\&. -.PP -ę‚Øåæ…é”»ę‰‹åŠØę›“ę”¹ -\fBcrontab\fR -ę–‡ä»¶ęˆ– -\fBat\fR -ä½œäøšēš„å±žäø»ć€‚ -.PP -您必锻曓改 NIS ęœåŠ”å™ØäøŠēš„ NIS 相关内容。 -.SH "é…ē½®ę–‡ä»¶" -.PP -在 -/etc/login\&.defs -äø­ęœ‰å¦‚äø‹é…ē½®å˜é‡ļ¼ŒåÆä»„ē”Øę„ę›“ę”¹ę­¤å·„å…·ēš„č”Œäøŗļ¼š -.PP -\fBMAIL_DIR\fR (string) -.RS 4 -é‚®ē®±ē›®å½•ć€‚äæ®ę”¹ęˆ–åˆ é™¤ē”Øęˆ·č“¦ęˆ·ę—¶éœ€č¦å¤„ē†é‚®ē®±ļ¼Œå¦‚ęžœę²”ęœ‰ęŒ‡å®šļ¼Œå°†ä½æē”Øē¼–čÆ‘ę—¶ęŒ‡å®šēš„é»˜č®¤å€¼ć€‚ -.RE -.PP -\fBMAIL_FILE\fR (string) -.RS 4 -å®šä¹‰ē”Øęˆ·é‚®ē®±ę–‡ä»¶ēš„ä½ē½®(ē›øåÆ¹äŗŽäø»ē›®å½•)怂 -.RE -.PP -\fBMAIL_DIR\fR -and -\fBMAIL_FILE\fR -å˜é‡ē”± -\fBuseradd\fR,\fBusermod\fR -和 -\fBuserdel\fR -ē”ØäŗŽåˆ›å»ŗć€ē§»åŠØęˆ–åˆ é™¤ē”Øęˆ·é‚®ē®±ć€‚ -.PP -å¦‚ęžœ -\fBMAIL_CHECK_ENAB\fR -设置为 -\fIyes\fRļ¼Œå®ƒä»¬ä¹Ÿč¢«ē”ØäŗŽå®šä¹‰ -\fBMAIL\fR -ēŽÆå¢ƒå˜é‡ć€‚ -.PP -\fBMAX_MEMBERS_PER_GROUP\fR (number) -.RS 4 -ęÆäøŖē»„ę”ē›®ēš„ęœ€å¤§ęˆå‘˜ę•°ć€‚č¾¾åˆ°ęœ€å¤§å€¼ę—¶ļ¼ŒåœØ -/etc/group -å¼€å§‹äø€äøŖę–°ę”ē›®(蔌)(ä½æē”ØåŒę ·ēš„åē§°ļ¼ŒåŒę ·ēš„åÆ†ē ļ¼ŒåŒę ·ēš„ GID)怂 -.sp -é»˜č®¤å€¼ę˜Æ 0ļ¼Œę„å‘³ē€ē»„äø­ēš„ęˆå‘˜ę•°ę²”ęœ‰é™åˆ¶ć€‚ -.sp -此功能(åˆ†å‰²ē»„)å…č®øé™åˆ¶ē»„ę–‡ä»¶äø­ēš„č”Œé•æåŗ¦ć€‚čæ™åÆ¹äŗŽē”®äæ NIS ē»„ēš„č”ŒęÆ”é•æäŗŽ 1024 字符。 -.sp -å¦‚ęžœč¦å¼ŗåˆ¶čæ™äøŖé™åˆ¶ļ¼ŒåÆä»„ä½æē”Ø 25怂 -.sp -ę³Øę„ļ¼šåˆ†å‰²ē»„åÆčƒ½äøå—ę‰€ęœ‰å·„å…·ēš„ę”ÆęŒ(ē”šč‡³åœØ Shadow 巄具集中)ć€‚ę‚Øäøåŗ”čÆ„ä½æē”Øčæ™äøŖå˜é‡ļ¼Œé™¤éžēœŸēš„éœ€č¦ć€‚ -.RE -.PP -\fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate group IDs) allocate -\fBSUB_GID_COUNT\fR -unused group IDs from the range -\fBSUB_GID_MIN\fR -to -\fBSUB_GID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR, -\fBSUB_GID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.PP -\fBSUB_UID_MIN\fR (number), \fBSUB_UID_MAX\fR (number), \fBSUB_UID_COUNT\fR (number) -.RS 4 -If -/etc/subuid -exists, the commands -\fBuseradd\fR -and -\fBnewusers\fR -(unless the user already have subordinate user IDs) allocate -\fBSUB_UID_COUNT\fR -unused user IDs from the range -\fBSUB_UID_MIN\fR -to -\fBSUB_UID_MAX\fR -for each new user\&. -.sp -The default values for -\fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR, -\fBSUB_UID_COUNT\fR -are respectively 100000, 600100000 and 10000\&. -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/login\&.defs -.RS 4 -Shadow åÆ†ē å„—ä»¶é…ē½®ć€‚ -.RE -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/subgid -.RS 4 -Per user subordinate group IDs\&. -.RE -.PP -/etc/subuid -.RS 4 -Per user subordinate user IDs\&. -.RE -.SH "å‚č§" -.PP -\fBchfn\fR(1), -\fBchsh\fR(1), -\fBpasswd\fR(1), -\fBcrypt\fR(3), -\fBgpasswd\fR(8), -\fBgroupadd\fR(8), -\fBgroupdel\fR(8), -\fBgroupmod\fR(8), -\fBlogin.defs\fR(5), -\fBsubgid\fR(5), \fBsubuid\fR(5), -\fBuseradd\fR(8), -\fBuserdel\fR(8)\&. diff --git a/man/zh_CN/man8/vigr.8 b/man/zh_CN/man8/vigr.8 deleted file mode 100644 index ff72d7ae..00000000 --- a/man/zh_CN/man8/vigr.8 +++ /dev/null @@ -1 +0,0 @@ -.so man8/vipw.8 diff --git a/man/zh_CN/man8/vipw.8 b/man/zh_CN/man8/vipw.8 deleted file mode 100644 index 8127eb52..00000000 --- a/man/zh_CN/man8/vipw.8 +++ /dev/null @@ -1,134 +0,0 @@ -'\" t -.\" Title: vipw -.\" Author: Marek Micha\(/lkiewicz -.\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2016-09-18 -.\" Manual: ē³»ē»Ÿē®”ē†å‘½ä»¤ -.\" Source: shadow-utils 4.4 -.\" Language: Chinese Simplified -.\" -.TH "VIPW" "8" "2016-09-18" "shadow\-utils 4\&.4" "ē³»ē»Ÿē®”ē†å‘½ä»¤" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "åē§°" -vipw, vigr \- ē¼–č¾‘åÆ†ē ć€ē»„ć€å½±å­åÆ†ē ęˆ–å½±å­ē»„ę–‡ä»¶ć€‚ -.SH "大纲" -.HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fI选锹\fR] -.HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fI选锹\fR] -.SH "ęčæ°" -.PP -\fBvipw\fR -和 -\fBvigr\fR -å‘½ä»¤åˆ†åˆ«ē¼–č¾‘ -/etc/passwd -和 -/etc/group -文件。使用 -\fB\-s\fR -ę ‡čÆ†ę—¶ļ¼Œå°†ē¼–č¾‘čæ™äŗ›ę–‡ä»¶ēš„å½±å­ē‰ˆļ¼Œå³åˆ†åˆ«äøŗ -/etc/shadow -和 -/etc/gshadowć€‚čæ™äŗ›ēØ‹åŗå°†č®¾ē½®ē›øåŗ”ēš„é”ļ¼Œä»„é˜²ę­¢ę–‡ä»¶ęŸåć€‚åÆ»ę‰¾ē¼–č¾‘å™Øę—¶ļ¼Œé¦–å…ˆå°čÆ•ēŽÆå¢ƒå˜é‡ -\fB$VISUAL\fRļ¼Œē„¶åŽę˜ÆēŽÆå¢ƒå˜é‡ -\fB$EDITOR\fRļ¼Œęœ€åŽę˜Æé»˜č®¤ē¼–č¾‘å™Ø -\fBvi\fR(1)怂 -.SH "选锹" -.PP -\fBvipw\fR -和 -\fBvigr\fR -å‘½ä»¤åÆä»„ęŽ„å—ēš„é€‰é”¹ęœ‰ļ¼š -.PP -\fB\-g\fR, \fB\-\-group\fR -.RS 4 -编辑 group ę•°ę®åŗ“ć€‚ -.RE -.PP -\fB\-h\fR, \fB\-\-help\fR -.RS 4 -ēŽ°å®žåø®åŠ©äæ”ęÆå¹¶é€€å‡ŗć€‚ -.RE -.PP -\fB\-p\fR, \fB\-\-passwd\fR -.RS 4 -编辑 passwd ę•°ę®åŗ“ć€‚ -.RE -.PP -\fB\-q\fR, \fB\-\-quiet\fR -.RS 4 -å®‰é™ęØ”å¼ć€‚ -.RE -.PP -\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR -.RS 4 -Apply changes in the -\fICHROOT_DIR\fR -directory and use the configuration files from the -\fICHROOT_DIR\fR -directory\&. -.RE -.PP -\fB\-s\fR, \fB\-\-shadow\fR -.RS 4 -编辑 shadow ꈖ gshadow ę•°ę®åŗ“ć€‚ -.RE -.SH "ēŽÆå¢ƒå˜é‡" -.PP -\fBVISUAL\fR -.RS 4 -č¦ä½æē”Øēš„ē¼–č¾‘å™Øć€‚ -.RE -.PP -\fBEDITOR\fR -.RS 4 -\fBVISUAL\fR -ę²”ęœ‰č®¾ē½®ēš„ęƒ…å†µäø‹ļ¼Œä½æē”Øēš„ē¼–č¾‘å™Øć€‚ -.RE -.SH "ꖇ件" -.PP -/etc/group -.RS 4 -ē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/gshadow -.RS 4 -å®‰å…Øē»„č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/passwd -.RS 4 -ē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.PP -/etc/shadow -.RS 4 -å®‰å…Øē”Øęˆ·č“¦ęˆ·äæ”ęÆć€‚ -.RE -.SH "å‚č§" -.PP -\fBvi\fR(1), -\fBgroup\fR(5), -\fBgshadow\fR(5), -\fBpasswd\fR(5), , -\fBshadow\fR(5)\&. diff --git a/man/zh_TW/Makefile.in b/man/zh_TW/Makefile.in deleted file mode 100644 index ff1f3d60..00000000 --- a/man/zh_TW/Makefile.in +++ /dev/null @@ -1,655 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = man/zh_TW -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" \ - "$(DESTDIR)$(man8dir)" -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ - -# man pages encoded in Big5 -mandir = @mandir@/zh_TW -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -man_MANS = \ - man1/chfn.1 \ - man1/chsh.1 \ - man8/chpasswd.8 \ - man1/newgrp.1 \ - man8/groupadd.8 \ - man8/groupdel.8 \ - man8/groupmod.8 \ - man5/passwd.5 \ - man1/su.1 \ - man8/useradd.8 \ - man8/userdel.8 \ - man8/usermod.8 - -EXTRA_DIST = $(man_MANS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/zh_TW/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu man/zh_TW/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man5dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man5dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man5dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.5[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man5dir)'; $(am__uninstall_files_from_dir) -install-man8: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man5 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-man5 install-man8 install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-man uninstall-man1 uninstall-man5 \ - uninstall-man8 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/missing b/missing deleted file mode 100755 index f62bbae3..00000000 --- a/missing +++ /dev/null @@ -1,215 +0,0 @@ -#! /bin/sh -# Common wrapper for a few potentially missing GNU programs. - -scriptversion=2013-10-28.13; # UTC - -# Copyright (C) 1996-2014 Free Software Foundation, Inc. -# Originally written by Fran,cois Pinard , 1996. - -# 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, 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, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try '$0 --help' for more information" - exit 1 -fi - -case $1 in - - --is-lightweight) - # Used by our autoconf macros to check whether the available missing - # script is modern enough. - exit 0 - ;; - - --run) - # Back-compat with the calling convention used by older automake. - shift - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due -to PROGRAM being missing or too old. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man - -Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and -'g' are ignored when checking the name. - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: unknown '$1' option" - echo 1>&2 "Try '$0 --help' for more information" - exit 1 - ;; - -esac - -# Run the given program, remember its exit status. -"$@"; st=$? - -# If it succeeded, we are done. -test $st -eq 0 && exit 0 - -# Also exit now if we it failed (or wasn't found), and '--version' was -# passed; such an option is passed most likely to detect whether the -# program is present and works. -case $2 in --version|--help) exit $st;; esac - -# Exit code 63 means version mismatch. This often happens when the user -# tries to use an ancient version of a tool on a file that requires a -# minimum version. -if test $st -eq 63; then - msg="probably too old" -elif test $st -eq 127; then - # Program was missing. - msg="missing on your system" -else - # Program was found and executed, but failed. Give up. - exit $st -fi - -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software - -program_details () -{ - case $1 in - aclocal|automake) - echo "The '$1' program is part of the GNU Automake package:" - echo "<$gnu_software_URL/automake>" - echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/autoconf>" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - autoconf|autom4te|autoheader) - echo "The '$1' program is part of the GNU Autoconf package:" - echo "<$gnu_software_URL/autoconf/>" - echo "It also requires GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - esac -} - -give_advice () -{ - # Normalize program name to check for. - normalized_program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - - printf '%s\n' "'$1' is $msg." - - configure_deps="'configure.ac' or m4 files included by 'configure.ac'" - case $normalized_program in - autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' - ;; - autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" - echo "$configure_deps." - program_details 'autoheader' - ;; - automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" - echo "$configure_deps." - program_details 'aclocal' - ;; - autom4te*) - echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' - ;; - bison*|yacc*) - echo "You should only need it if you modified a '.y' file." - echo "You may want to install the GNU Bison package:" - echo "<$gnu_software_URL/bison/>" - ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; - help2man*) - echo "You should only need it if you modified a dependency" \ - "of a man page." - echo "You may want to install the GNU Help2man package:" - echo "<$gnu_software_URL/help2man/>" - ;; - makeinfo*) - echo "You should only need it if you modified a '.texi' file, or" - echo "any other file indirectly affecting the aspect of the manual." - echo "You might want to install the Texinfo package:" - echo "<$gnu_software_URL/texinfo/>" - echo "The spurious makeinfo call might also be the consequence of" - echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" - echo "want to install GNU make:" - echo "<$gnu_software_URL/make/>" - ;; - *) - echo "You might have modified some files without having the proper" - echo "tools for further handling them. Check the 'README' file, it" - echo "often tells you about the needed prerequisites for installing" - echo "this package. You may also peek at any GNU archive site, in" - echo "case some other package contains this missing '$1' program." - ;; - esac -} - -give_advice "$1" | sed -e '1s/^/WARNING: /' \ - -e '2,$s/^/ /' >&2 - -# Propagate the correct exit status (expected to be 127 for a program -# not found, 63 for a program that failed due to version mismatch). -exit $st - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/po/Makefile.in.in b/po/Makefile.in.in deleted file mode 100644 index 5022b8b1..00000000 --- a/po/Makefile.in.in +++ /dev/null @@ -1,403 +0,0 @@ -# Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper -# -# This file can be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU General Public -# License but which still want to provide support for the GNU gettext -# functionality. -# Please note that the actual code of GNU gettext is covered by the GNU -# General Public License and is *not* in the public domain. -# -# Origin: gettext-0.16 - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ - -SHELL = /bin/sh -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ -datadir = @datadir@ -localedir = @localedir@ -gettextsrcdir = $(datadir)/gettext/po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -# We use $(mkdir_p). -# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as -# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, -# @install_sh@ does not start with $(SHELL), so we add it. -# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined -# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake -# versions, $(mkinstalldirs) and $(install_sh) are unused. -mkinstalldirs = $(SHELL) @install_sh@ -d -install_sh = $(SHELL) @install_sh@ -MKDIR_P = @MKDIR_P@ -mkdir_p = @mkdir_p@ - -GMSGFMT_ = @GMSGFMT@ -GMSGFMT_no = @GMSGFMT@ -GMSGFMT_yes = @GMSGFMT_015@ -GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) -MSGFMT_ = @MSGFMT@ -MSGFMT_no = @MSGFMT@ -MSGFMT_yes = @MSGFMT_015@ -MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) -XGETTEXT_ = @XGETTEXT@ -XGETTEXT_no = @XGETTEXT@ -XGETTEXT_yes = @XGETTEXT_015@ -XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) -MSGMERGE = msgmerge -MSGMERGE_UPDATE = @MSGMERGE@ --update -MSGINIT = msginit -MSGCONV = msgconv -MSGFILTER = msgfilter - -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -UPDATEPOFILES = @UPDATEPOFILES@ -DUMMYPOFILES = @DUMMYPOFILES@ -DISTFILES.common = Makefile.in.in remove-potcdate.sin \ -$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) -DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ -$(POFILES) $(GMOFILES) \ -$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) - -POTFILES = \ - -CATALOGS = @CATALOGS@ - -# Makevars gets inserted here. (Don't remove this line!) - -.SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update - -.po.mo: - @echo "$(MSGFMT) -c -o $@ $<"; \ - $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ - -.po.gmo: - @lang=`echo $* | sed -e 's,.*/,,'`; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo - -.sin.sed: - sed -e '/^#/d' $< > t-$@ - mv t-$@ $@ - - -all: all-@USE_NLS@ - -all-yes: stamp-po -all-no: - -# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no -# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because -# we don't want to bother translators with empty POT files). We assume that -# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. -# In this case, stamp-po is a nop (i.e. a phony target). - -# stamp-po is a timestamp denoting the last time at which the CATALOGS have -# been loosely updated. Its purpose is that when a developer or translator -# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, -# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent -# invocations of "make" will do nothing. This timestamp would not be necessary -# if updating the $(CATALOGS) would always touch them; however, the rule for -# $(POFILES) has been designed to not touch files that don't need to be -# changed. -stamp-po: $(srcdir)/$(DOMAIN).pot - test ! -f $(srcdir)/$(DOMAIN).pot || \ - test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) - @test ! -f $(srcdir)/$(DOMAIN).pot || { \ - echo "touch stamp-po" && \ - echo timestamp > stamp-poT && \ - mv stamp-poT stamp-po; \ - } - -# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', -# otherwise packages like GCC can not be built if only parts of the source -# have been downloaded. - -# This target rebuilds $(DOMAIN).pot; it is an expensive operation. -# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. -$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed - if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ - msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ - else \ - msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ - fi; \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --msgid-bugs-address="$$msgid_bugs_address" - test ! -f $(DOMAIN).po || { \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ - sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ - if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ - else \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - else \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - } - -# This rule has no dependencies: we don't need to update $(DOMAIN).pot at -# every "make" invocation, only create it when it is missing. -# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. -$(srcdir)/$(DOMAIN).pot: - $(MAKE) $(DOMAIN).pot-update - -# This target rebuilds a PO file if $(DOMAIN).pot has changed. -# Note that a PO file is not touched if it doesn't need to be changed. -$(POFILES): $(srcdir)/$(DOMAIN).pot - @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ - if test -f "$(srcdir)/$${lang}.po"; then \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ - cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ - else \ - $(MAKE) $${lang}.po-create; \ - fi - - -install: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ - for file in $(DISTFILES.common) Makevars.template; do \ - $(INSTALL_DATA) $(srcdir)/$$file \ - $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - for file in Makevars; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -install-data-no: all -install-data-yes: all - $(mkdir_p) $(DESTDIR)$(datadir) - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkdir_p) $(DESTDIR)$$dir; \ - if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ - $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ - echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ - fi; \ - done; \ - done - -install-strip: install - -installdirs: installdirs-exec installdirs-data -installdirs-exec: -installdirs-data: installdirs-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ - else \ - : ; \ - fi -installdirs-data-no: -installdirs-data-yes: - $(mkdir_p) $(DESTDIR)$(datadir) - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkdir_p) $(DESTDIR)$$dir; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - fi; \ - done; \ - done - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: uninstall-exec uninstall-data -uninstall-exec: -uninstall-data: uninstall-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - for file in $(DISTFILES.common) Makevars.template; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -uninstall-data-no: -uninstall-data-yes: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - done; \ - done - -check: all - -info dvi ps pdf html tags TAGS ctags CTAGS ID: - -mostlyclean: - rm -f remove-potcdate.sed - rm -f stamp-poT - rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f Makefile Makefile.in POTFILES *.mo - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f stamp-po $(GMOFILES) - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: - $(MAKE) update-po - @$(MAKE) dist2 -# This is a separate target because 'update-po' must be executed before. -dist2: stamp-po $(DISTFILES) - dists="$(DISTFILES)"; \ - if test "$(PACKAGE)" = "gettext-tools"; then \ - dists="$$dists Makevars.template"; \ - fi; \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - dists="$$dists $(DOMAIN).pot stamp-po"; \ - fi; \ - if test -f $(srcdir)/ChangeLog; then \ - dists="$$dists ChangeLog"; \ - fi; \ - for i in 0 1 2 3 4 5 6 7 8 9; do \ - if test -f $(srcdir)/ChangeLog.$$i; then \ - dists="$$dists ChangeLog.$$i"; \ - fi; \ - done; \ - if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ - for file in $$dists; do \ - if test -f $$file; then \ - cp -p $$file $(distdir) || exit 1; \ - else \ - cp -p $(srcdir)/$$file $(distdir) || exit 1; \ - fi; \ - done - -update-po: Makefile - $(MAKE) $(DOMAIN).pot-update - test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) - $(MAKE) update-gmo - -# General rule for creating PO files. - -.nop.po-create: - @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ - echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ - exit 1 - -# General rule for updating PO files. - -.nop.po-update: - @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ - if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ - tmpdir=`pwd`; \ - echo "$$lang:"; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ - cd $(srcdir); \ - if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ - if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ - rm -f $$tmpdir/$$lang.new.po; \ - else \ - if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ - :; \ - else \ - echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ - exit 1; \ - fi; \ - fi; \ - else \ - echo "msgmerge for $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -$(DUMMYPOFILES): - -update-gmo: Makefile $(GMOFILES) - @: - -Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ - cd $(top_builddir) \ - && $(SHELL) ./config.status $(subdir)/$@.in po-directories - -force: - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/po/Rules-quot b/po/Rules-quot deleted file mode 100644 index 9c2a995e..00000000 --- a/po/Rules-quot +++ /dev/null @@ -1,47 +0,0 @@ -# Special Makefile rules for English message catalogs with quotation marks. - -DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot - -.SUFFIXES: .insert-header .po-update-en - -en@quot.po-create: - $(MAKE) en@quot.po-update -en@boldquot.po-create: - $(MAKE) en@boldquot.po-update - -en@quot.po-update: en@quot.po-update-en -en@boldquot.po-update: en@boldquot.po-update-en - -.insert-header.po-update-en: - @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ - if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ - tmpdir=`pwd`; \ - echo "$$lang:"; \ - ll=`echo $$lang | sed -e 's/@.*//'`; \ - LC_ALL=C; export LC_ALL; \ - cd $(srcdir); \ - if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ - if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ - rm -f $$tmpdir/$$lang.new.po; \ - else \ - if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ - :; \ - else \ - echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ - exit 1; \ - fi; \ - fi; \ - else \ - echo "creation of $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -en@quot.insert-header: insert-header.sin - sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header - -en@boldquot.insert-header: insert-header.sin - sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header - -mostlyclean: mostlyclean-quot -mostlyclean-quot: - rm -f *.insert-header diff --git a/po/boldquot.sed b/po/boldquot.sed deleted file mode 100644 index 4b937aa5..00000000 --- a/po/boldquot.sed +++ /dev/null @@ -1,10 +0,0 @@ -s/"\([^"]*\)"/ā€œ\1ā€/g -s/`\([^`']*\)'/ā€˜\1’/g -s/ '\([^`']*\)' / ā€˜\1’ /g -s/ '\([^`']*\)'$/ ā€˜\1’/g -s/^'\([^`']*\)' /ā€˜\1’ /g -s/ā€œā€/""/g -s/ā€œ/ā€œ/g -s/ā€/ā€/g -s/ā€˜/ā€˜/g -s/’/’/g diff --git a/po/bs.gmo b/po/bs.gmo deleted file mode 100644 index ea7c57b1..00000000 Binary files a/po/bs.gmo and /dev/null differ diff --git a/po/bs.po b/po/bs.po index 70ed1551..219fa701 100644 --- a/po/bs.po +++ b/po/bs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2004-05-09 12:03+0100\n" "Last-Translator: Safir Å ećerović \n" "Language-Team: Bosnian \n" @@ -1731,11 +1731,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/ca.gmo b/po/ca.gmo deleted file mode 100644 index 6b412a04..00000000 Binary files a/po/ca.gmo and /dev/null differ diff --git a/po/ca.po b/po/ca.po index 70b28eb6..064a62f9 100644 --- a/po/ca.po +++ b/po/ca.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-01-22 18:25+0100\n" "Last-Translator: Innocent De Marchi \n" "Language-Team: Catalan \n" @@ -1926,11 +1926,9 @@ msgstr "%s: el senyal emmascara un error\n" msgid "Session terminated, terminating shell..." msgstr "Sessió acabada, finalitzant el Ā«shellĀ»..." -#, c-format msgid " ...killed.\n" msgstr "...mort.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "...esperant al fill per acabar.\n" diff --git a/po/cs.gmo b/po/cs.gmo deleted file mode 100644 index b1024f78..00000000 Binary files a/po/cs.gmo and /dev/null differ diff --git a/po/cs.po b/po/cs.po index 2c57c9e5..383f0d49 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2011-11-26 18:41+0100\n" "Last-Translator: Miroslav Kure \n" "Language-Team: Czech \n" @@ -1884,11 +1884,9 @@ msgstr "%s: chyba maskovĆ”nĆ­ signĆ”lu\n" msgid "Session terminated, terminating shell..." msgstr "SezenĆ­ skončeno, ukončuji shell..." -#, c-format msgid " ...killed.\n" msgstr " ...zabit.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...čekĆ” na ukončenĆ­ potomka.\n" diff --git a/po/da.gmo b/po/da.gmo deleted file mode 100644 index 9e067f12..00000000 Binary files a/po/da.gmo and /dev/null differ diff --git a/po/da.po b/po/da.po index a8b3be5c..75dc0209 100644 --- a/po/da.po +++ b/po/da.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-01-26 23:57+0100\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" @@ -1883,11 +1883,9 @@ msgstr "%s: Forkert signalmasking\n" msgid "Session terminated, terminating shell..." msgstr "Session termineret, terminerer skal..." -#, c-format msgid " ...killed.\n" msgstr " ...drƦbt.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...venter pĆ„ at underproces termineres.\n" diff --git a/po/de.gmo b/po/de.gmo deleted file mode 100644 index d9918af0..00000000 Binary files a/po/de.gmo and /dev/null differ diff --git a/po/de.po b/po/de.po index 3f95e095..5376ba53 100644 --- a/po/de.po +++ b/po/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.4.2\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-01-18 21:44+0100\n" "Last-Translator: Holger Wansing \n" "Language-Team: German \n" @@ -1921,11 +1921,9 @@ msgstr "%s: Signalmaskierungs-Fehlfunktion\n" msgid "Session terminated, terminating shell..." msgstr "Sitzung abgebrochen, Shell wird beendet ..." -#, c-format msgid " ...killed.\n" msgstr " ... abgeschossen.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ... Warten auf Beendigung des Kindprozesses.\n" diff --git a/po/dz.gmo b/po/dz.gmo deleted file mode 100644 index 81e7dc85..00000000 Binary files a/po/dz.gmo and /dev/null differ diff --git a/po/dz.po b/po/dz.po index f1a41198..c9ecebdd 100644 --- a/po/dz.po +++ b/po/dz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2006-06-01 15:28+0530\n" "Last-Translator: Jurmey Rabgay \n" "Language-Team: dzongkha \n" @@ -1838,11 +1838,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/el.gmo b/po/el.gmo deleted file mode 100644 index 3d181fa5..00000000 Binary files a/po/el.gmo and /dev/null differ diff --git a/po/el.po b/po/el.po index a6fd5c6a..28e7d074 100644 --- a/po/el.po +++ b/po/el.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow_po_el\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-01-21 00:22+0200\n" "Last-Translator: Thomas Vasileiou \n" "Language-Team: Greek \n" @@ -1942,11 +1942,9 @@ msgstr "%s: Ī“Ļ…ĻƒĪ»ĪµĪ¹Ļ„ĪæĻ…ĻĪ³ĪÆĪ± Ī¼Ī±ĻƒĪŗĪ±ĻĪÆĻƒĪ¼ĪæĻ‚ του ĻƒĪ®Ī¼Ī±Ļ„ msgid "Session terminated, terminating shell..." msgstr "ΣυνεΓρία Ļ„ĪµĻĪ¼Ī±Ļ„ĪÆĻƒĻ„Ī·ĪŗĪµ, Ļ„ĪµĻĪ¼Ī±Ļ„Ī¹ĻƒĪ¼ĻŒĻ‚ Ļ†Ī»ĪæĪ¹ĪæĻ..." -#, c-format msgid " ...killed.\n" msgstr " ...ĻƒĪŗĪæĻ„ĻŽĪøĪ·ĪŗĪµ.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/en@boldquot.header b/po/en@boldquot.header deleted file mode 100644 index fedb6a06..00000000 --- a/po/en@boldquot.header +++ /dev/null @@ -1,25 +0,0 @@ -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# -# This catalog furthermore displays the text between the quotation marks in -# bold face, assuming the VT100/XTerm escape sequences. -# diff --git a/po/en@quot.header b/po/en@quot.header deleted file mode 100644 index a9647fc3..00000000 --- a/po/en@quot.header +++ /dev/null @@ -1,22 +0,0 @@ -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# diff --git a/po/es.gmo b/po/es.gmo deleted file mode 100644 index 42d66f4c..00000000 Binary files a/po/es.gmo and /dev/null differ diff --git a/po/es.po b/po/es.po index 5e8f3845..42ef7654 100644 --- a/po/es.po +++ b/po/es.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.4.2\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2011-11-23 23:56+0100\n" "Last-Translator: Francisco Javier Cuadrado \n" "Language-Team: Debian l10n Spanish \n" @@ -1949,11 +1949,9 @@ msgstr "%s: funcionamiento incorrecto del enmascaramiento de la seƱal\n" msgid "Session terminated, terminating shell..." msgstr "Sesión finalizada, parando la consola ..." -#, c-format msgid " ...killed.\n" msgstr " ... finalizado.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ... esperando a que el hijo finalice.\n" diff --git a/po/eu.gmo b/po/eu.gmo deleted file mode 100644 index 6e01a4c7..00000000 Binary files a/po/eu.gmo and /dev/null differ diff --git a/po/eu.po b/po/eu.po index 702f2372..a4643021 100644 --- a/po/eu.po +++ b/po/eu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: eu\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2011-11-26 19:42+0100\n" "Last-Translator: Piarres Beobide \n" "Language-Team: Euskara \n" @@ -1921,11 +1921,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/fi.gmo b/po/fi.gmo deleted file mode 100644 index e8fef5b1..00000000 Binary files a/po/fi.gmo and /dev/null differ diff --git a/po/fi.po b/po/fi.po index 54382698..b177bdc3 100644 --- a/po/fi.po +++ b/po/fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2007-11-24 22:54+0100\n" "Last-Translator: Tommi Vainikainen \n" "Language-Team: Finnish \n" @@ -1838,11 +1838,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/fr.gmo b/po/fr.gmo deleted file mode 100644 index 292e93cb..00000000 Binary files a/po/fr.gmo and /dev/null differ diff --git a/po/fr.po b/po/fr.po index 3420b395..adfcbf37 100644 --- a/po/fr.po +++ b/po/fr.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-01-13 17:09+0100\n" "Last-Translator: Thomas Blein \n" "Language-Team: French \n" @@ -1978,11 +1978,9 @@ msgstr "%sĀ : dĆ©faut de fonctionnement de masquage du signal\n" msgid "Session terminated, terminating shell..." msgstr "Session terminĆ©e, arrĆŖt de l'interprĆ©teur de commandes…" -#, c-format msgid " ...killed.\n" msgstr "… TuĆ©.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "… en attente que les processus fils se terminent.\n" diff --git a/po/gl.gmo b/po/gl.gmo deleted file mode 100644 index 9caf334a..00000000 Binary files a/po/gl.gmo and /dev/null differ diff --git a/po/gl.po b/po/gl.po index 7bb61004..2a47e8b4 100644 --- a/po/gl.po +++ b/po/gl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2006-07-18 23:27+0200\n" "Last-Translator: Jacobo Tarrio \n" "Language-Team: Galician \n" @@ -1839,11 +1839,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/he.gmo b/po/he.gmo deleted file mode 100644 index 5d558c7c..00000000 Binary files a/po/he.gmo and /dev/null differ diff --git a/po/he.po b/po/he.po index 9ef59f2e..ec42d1c9 100644 --- a/po/he.po +++ b/po/he.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2004-07-21 23:59+0300\n" "Last-Translator: Lior Kaplan \n" "Language-Team: Hebrew \n" @@ -1751,11 +1751,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/hu.gmo b/po/hu.gmo deleted file mode 100644 index 2e541847..00000000 Binary files a/po/hu.gmo and /dev/null differ diff --git a/po/hu.po b/po/hu.po index 00a22470..310034b0 100644 --- a/po/hu.po +++ b/po/hu.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2007-11-25 20:56+0100\n" "Last-Translator: SZERVƁC Attila \n" "Language-Team: Hungarian \n" @@ -1834,11 +1834,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/id.gmo b/po/id.gmo deleted file mode 100644 index 8fcd4ac0..00000000 Binary files a/po/id.gmo and /dev/null differ diff --git a/po/id.po b/po/id.po index c94de81e..8aae75e5 100644 --- a/po/id.po +++ b/po/id.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.15\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2007-11-25 20:58+0100\n" "Last-Translator: Parlin Imanuel Toh \n" "Language-Team: Debian Indonesia \n" @@ -1826,11 +1826,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/insert-header.sin b/po/insert-header.sin deleted file mode 100644 index b26de01f..00000000 --- a/po/insert-header.sin +++ /dev/null @@ -1,23 +0,0 @@ -# Sed script that inserts the file called HEADER before the header entry. -# -# At each occurrence of a line starting with "msgid ", we execute the following -# commands. At the first occurrence, insert the file. At the following -# occurrences, do nothing. The distinction between the first and the following -# occurrences is achieved by looking at the hold space. -/^msgid /{ -x -# Test if the hold space is empty. -s/m/m/ -ta -# Yes it was empty. First occurrence. Read the file. -r HEADER -# Output the file's contents by reading the next line. But don't lose the -# current line while doing this. -g -N -bb -:a -# The hold space was nonempty. Following occurrences. Do nothing. -x -:b -} diff --git a/po/it.gmo b/po/it.gmo deleted file mode 100644 index 098d8171..00000000 Binary files a/po/it.gmo and /dev/null differ diff --git a/po/it.po b/po/it.po index 4495f538..ea7332ad 100644 --- a/po/it.po +++ b/po/it.po @@ -25,7 +25,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2008-03-27 14:40+0100\n" "Last-Translator: Danilo Piazzalunga \n" "Language-Team: Italian \n" @@ -1965,11 +1965,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/ja.gmo b/po/ja.gmo deleted file mode 100644 index b71a9166..00000000 Binary files a/po/ja.gmo and /dev/null differ diff --git a/po/ja.po b/po/ja.po index dd178b91..3125e5f8 100644 --- a/po/ja.po +++ b/po/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.5\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-05-21 02:52+0900\n" "Last-Translator: NAKANO Takeo \n" "Language-Team: Japanese \n" @@ -1862,11 +1862,9 @@ msgstr "%s: ć‚·ć‚°ćƒŠćƒ«ć®ćƒžć‚¹ć‚­ćƒ³ć‚°ćŒē•°åøøć§ć™\n" msgid "Session terminated, terminating shell..." msgstr "ć‚»ćƒƒć‚·ćƒ§ćƒ³ćŒēµ‚äŗ†ć—ć¾ć—ćŸć€‚ć‚·ć‚§ćƒ«ć‚’ēµ‚äŗ†ć—ć¦ć„ć¾ć™..." -#, c-format msgid " ...killed.\n" msgstr " ...kill ć•ć‚Œć¾ć—ćŸć€‚\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...å­ćƒ—ćƒ­ć‚»ć‚¹ć®ēµ‚äŗ†ć‚’å¾…ć”ć¾ć™ć€‚\n" diff --git a/po/kk.gmo b/po/kk.gmo deleted file mode 100644 index 8bcfb6a8..00000000 Binary files a/po/kk.gmo and /dev/null differ diff --git a/po/kk.po b/po/kk.po index 342eb6bc..78bed465 100644 --- a/po/kk.po +++ b/po/kk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadowutils\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-01-20 21:16+0600\n" "Last-Translator: Baurzhan Muftakhidinov \n" "Language-Team: Kazakh \n" @@ -1886,11 +1886,9 @@ msgstr "%s: сигналГы Š±Š°ŃŅ›Š°Ń€Ńƒ Š°Ņ›Š°ŃƒŠ»Ń‹Ņ“Ń‹\n" msgid "Session terminated, terminating shell..." msgstr "Š”ŠµŃŃŠøŃ тоқтатылГы, Ņ›Š¾Ń€ŃˆŠ°Š¼Š“Ń‹ Ń‚Š¾Ņ›Ń‚Š°Ń‚Ńƒ..." -#, c-format msgid " ...killed.\n" msgstr " ...өлтірілГі.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...ұрпақ үрГістің Ń‚Š¾Ņ›Ń‚Š°Ń‚Ń‹Š»ŃƒŃ‹Š½ ŠŗŅÆŃ‚Ńƒ.\n" diff --git a/po/km.gmo b/po/km.gmo deleted file mode 100644 index a713366a..00000000 Binary files a/po/km.gmo and /dev/null differ diff --git a/po/km.po b/po/km.po index 6f3488fd..50475301 100644 --- a/po/km.po +++ b/po/km.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow_po_km\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2006-06-28 10:08+0700\n" "Last-Translator: Khoem Sokhem \n" "Language-Team: Khmer \n" @@ -1861,11 +1861,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/ko.gmo b/po/ko.gmo deleted file mode 100644 index cf5cba49..00000000 Binary files a/po/ko.gmo and /dev/null differ diff --git a/po/ko.po b/po/ko.po index 7a008419..1b00e99d 100644 --- a/po/ko.po +++ b/po/ko.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2009-04-19 21:32+0900\n" "Last-Translator: Changwoo Ryu \n" "Language-Team: Korean \n" @@ -1860,11 +1860,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/nb.gmo b/po/nb.gmo deleted file mode 100644 index c0f26691..00000000 Binary files a/po/nb.gmo and /dev/null differ diff --git a/po/nb.po b/po/nb.po index b65c4665..d42a8640 100644 --- a/po/nb.po +++ b/po/nb.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-01-18 17:19+0100\n" "Last-Translator: BjĆørn Steensrud \n" "Language-Team: Norwegian BokmĆ„l \n" @@ -1950,11 +1950,9 @@ msgstr "%s: funksjonsfeil ved signalmasking\n" msgid "Session terminated, terminating shell..." msgstr "Ƙkt avsluttet, avslutter skall ..." -#, c-format msgid " ...killed.\n" msgstr " … drept.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ... venter pĆ„ at barneprosess avslutter.\n" diff --git a/po/ne.gmo b/po/ne.gmo deleted file mode 100644 index eba4d55f..00000000 Binary files a/po/ne.gmo and /dev/null differ diff --git a/po/ne.po b/po/ne.po index 49af09a2..e40129b8 100644 --- a/po/ne.po +++ b/po/ne.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2006-06-16 14:30+0545\n" "Last-Translator: Shiva Pokharel \n" "Language-Team: Nepali \n" @@ -1840,11 +1840,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/nl.gmo b/po/nl.gmo deleted file mode 100644 index f382a887..00000000 Binary files a/po/nl.gmo and /dev/null differ diff --git a/po/nl.po b/po/nl.po index bd84c4b5..d55717f1 100644 --- a/po/nl.po +++ b/po/nl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2007-11-25 21:11+0100\n" "Last-Translator: Bart Cornelis \n" "Language-Team: debian-l10n-dutch \n" @@ -1843,11 +1843,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/nn.gmo b/po/nn.gmo deleted file mode 100644 index 2fe49842..00000000 Binary files a/po/nn.gmo and /dev/null differ diff --git a/po/nn.po b/po/nn.po index b582a1c0..59890ceb 100644 --- a/po/nn.po +++ b/po/nn.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2004-06-03 21:41+0200\n" "Last-Translator: HĆ„vard Korsvoll \n" "Language-Team: Norwegian (Nynorsk) \n" @@ -1825,11 +1825,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/pl.gmo b/po/pl.gmo deleted file mode 100644 index 9419af03..00000000 Binary files a/po/pl.gmo and /dev/null differ diff --git a/po/pl.po b/po/pl.po index f25bf72f..60786613 100644 --- a/po/pl.po +++ b/po/pl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2007-11-25 20:53+0100\n" "Last-Translator: Tomasz Kłoczko \n" "Language-Team: Polish \n" @@ -1845,11 +1845,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/pt.gmo b/po/pt.gmo deleted file mode 100644 index ebfac57f..00000000 Binary files a/po/pt.gmo and /dev/null differ diff --git a/po/pt.po b/po/pt.po index 5b05ad5a..0bd1e315 100644 --- a/po/pt.po +++ b/po/pt.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-01-14 12:41+0000\n" "Last-Translator: Miguel Figueiredo \n" "Language-Team: Portuguese \n" @@ -1914,11 +1914,9 @@ msgstr "%s: mau funcionamento de mĆ”scara de sinal\n" msgid "Session terminated, terminating shell..." msgstr "SessĆ£o terminada, a terminar shell..." -#, c-format msgid " ...killed.\n" msgstr " ...morto.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...Ć” espera que o processo-filho termine.\n" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo deleted file mode 100644 index be75eb4e..00000000 Binary files a/po/pt_BR.gmo and /dev/null differ diff --git a/po/pt_BR.po b/po/pt_BR.po index e766e259..6305f561 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.15\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2011-11-25 20:20+0100\n" "Last-Translator: Fred Ulisses MaranhĆ£o \n" "Language-Team: Debian-BR Project \n" @@ -1895,11 +1895,9 @@ msgstr "%s: al funcionamento da mĆ”scara do sinal\n" msgid "Session terminated, terminating shell..." msgstr "SessĆ£o terminada, encerrando o shell..." -#, c-format msgid " ...killed.\n" msgstr " ...morto.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...esperando o filho terminar.\n" diff --git a/po/quot.sed b/po/quot.sed deleted file mode 100644 index 0122c463..00000000 --- a/po/quot.sed +++ /dev/null @@ -1,6 +0,0 @@ -s/"\([^"]*\)"/ā€œ\1ā€/g -s/`\([^`']*\)'/ā€˜\1’/g -s/ '\([^`']*\)' / ā€˜\1’ /g -s/ '\([^`']*\)'$/ ā€˜\1’/g -s/^'\([^`']*\)' /ā€˜\1’ /g -s/ā€œā€/""/g diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin deleted file mode 100644 index 2436c49e..00000000 --- a/po/remove-potcdate.sin +++ /dev/null @@ -1,19 +0,0 @@ -# Sed script that remove the POT-Creation-Date line in the header entry -# from a POT file. -# -# The distinction between the first and the following occurrences of the -# pattern is achieved by looking at the hold space. -/^"POT-Creation-Date: .*"$/{ -x -# Test if the hold space is empty. -s/P/P/ -ta -# Yes it was empty. First occurrence. Remove the line. -g -d -bb -:a -# The hold space was nonempty. Following occurrences. Do nothing. -x -:b -} diff --git a/po/ro.gmo b/po/ro.gmo deleted file mode 100644 index c6acaa4a..00000000 Binary files a/po/ro.gmo and /dev/null differ diff --git a/po/ro.po b/po/ro.po index 3efb077c..9baeff78 100644 --- a/po/ro.po +++ b/po/ro.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2007-11-26 18:18+0100\n" "Last-Translator: Sorin Batariuc \n" "Language-Team: Romanian \n" @@ -1840,11 +1840,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/ru.gmo b/po/ru.gmo deleted file mode 100644 index 2100eea8..00000000 Binary files a/po/ru.gmo and /dev/null differ diff --git a/po/ru.po b/po/ru.po index 11b8315c..664e7fd9 100644 --- a/po/ru.po +++ b/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.5.1-1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2013-07-29 10:42+0400\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" @@ -1913,11 +1913,9 @@ msgstr "%s: Š½ŠµŠøŃŠæŃ€Š°Š²Š½Š¾ŃŃ‚ŃŒ в маскировке сигналов\ msgid "Session terminated, terminating shell..." msgstr "Деанс Š·Š°Š²ŠµŃ€ŃˆŃ‘Š½, Š²Ń‹ŠæŠ¾Š»Š½ŃŠµŃ‚ŃŃ Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ŠøŠµ оболочки…" -#, c-format msgid " ...killed.\n" msgstr " … Š·Š°Š²ŠµŃ€ŃˆŃ‘Š½.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " … ожиГает Š·Š°Š²ŠµŃ€ŃˆŠµŠ½ŠøŃ потомка.\n" diff --git a/po/shadow.pot b/po/shadow.pot index 0a6bf2e3..5fa6d341 100644 --- a/po/shadow.pot +++ b/po/shadow.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1708,11 +1708,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/sk.gmo b/po/sk.gmo deleted file mode 100644 index 1e30a87e..00000000 Binary files a/po/sk.gmo and /dev/null differ diff --git a/po/sk.po b/po/sk.po index 1465ac6e..9828382b 100644 --- a/po/sk.po +++ b/po/sk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2011-11-26 22:06+0100\n" "Last-Translator: Ivan MasĆ”r \n" "Language-Team: Slovak \n" @@ -1887,11 +1887,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/sq.gmo b/po/sq.gmo deleted file mode 100644 index f721dbc1..00000000 Binary files a/po/sq.gmo and /dev/null differ diff --git a/po/sq.po b/po/sq.po index 6fe0c87f..e71064ef 100644 --- a/po/sq.po +++ b/po/sq.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.3\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2004-11-20 03:28+0100\n" "Last-Translator: Elian Myftiu \n" "Language-Team: Albanian \n" @@ -1714,11 +1714,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/stamp-po b/po/stamp-po deleted file mode 100644 index 9788f702..00000000 --- a/po/stamp-po +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/po/stats b/po/stats new file mode 100644 index 00000000..386d765f --- /dev/null +++ b/po/stats @@ -0,0 +1,20 @@ +#!/bin/sh +export LANG=C +echo "language translated fuzzy untranslated" +echo "-----------------------------------------" +for i in $(cat LINGUAS | xargs); do + echo -n " $i " + msgfmt -c --statistics -o /dev/null $i.po 2>&1 | + awk -v LNG="$1" '{ + gsub(/ untranslated/, ""); + gsub(/ translated/, ""); + gsub(/ messages/, ""); + gsub(/ message/, ""); + gsub(/ translations/, ""); + gsub(/ translation/, ""); + gsub(/ fuzzy/, ""); + gsub(/[.,]/, ""); + {printf "%8s %8s %8s\n", $1, $2, $3} + }' +done +echo "-----------------------------------------" diff --git a/po/sv.gmo b/po/sv.gmo deleted file mode 100644 index a0fc1a5e..00000000 Binary files a/po/sv.gmo and /dev/null differ diff --git a/po/sv.po b/po/sv.po index bbf6c992..4be82ba7 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2011-11-25 22:08+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -1889,11 +1889,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "Sessionen terminerad, terminerar skal..." -#, c-format msgid " ...killed.\n" msgstr " ...dƶdad.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...vƤntar pĆ„ att barn ska termineras.\n" diff --git a/po/tl.gmo b/po/tl.gmo deleted file mode 100644 index 42e8c3a2..00000000 Binary files a/po/tl.gmo and /dev/null differ diff --git a/po/tl.po b/po/tl.po index 503cd35b..ef0fe7d3 100644 --- a/po/tl.po +++ b/po/tl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2007-11-26 21:34+0100\n" "Last-Translator: Eric Pareja \n" "Language-Team: Tagalog \n" @@ -1848,11 +1848,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/tr.gmo b/po/tr.gmo deleted file mode 100644 index 0b41e606..00000000 Binary files a/po/tr.gmo and /dev/null differ diff --git a/po/tr.po b/po/tr.po index c8161a5a..a67f47fb 100644 --- a/po/tr.po +++ b/po/tr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2008-03-29 20:31+0200\n" "Last-Translator: Mehmet Türker \n" "Language-Team: TürkƧe \n" @@ -1946,11 +1946,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/uk.gmo b/po/uk.gmo deleted file mode 100644 index 42075607..00000000 Binary files a/po/uk.gmo and /dev/null differ diff --git a/po/uk.po b/po/uk.po index e8941286..03a34989 100644 --- a/po/uk.po +++ b/po/uk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2007-11-26 22:52+0100\n" "Last-Translator: Eugeniy Meshcheryakov \n" "Language-Team: Ukrainian\n" @@ -1841,11 +1841,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/vi.gmo b/po/vi.gmo deleted file mode 100644 index f2148d44..00000000 Binary files a/po/vi.gmo and /dev/null differ diff --git a/po/vi.po b/po/vi.po index e21d9f5a..8f066f08 100644 --- a/po/vi.po +++ b/po/vi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-01-08 18:13+0100\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" @@ -1945,11 +1945,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo deleted file mode 100644 index ccd8e82b..00000000 Binary files a/po/zh_CN.gmo and /dev/null differ diff --git a/po/zh_CN.po b/po/zh_CN.po index daffedc1..7a84df72 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.15\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2012-01-10 01:23+0800\n" "Last-Translator: YunQiang Su \n" "Language-Team: Chinese (simplified) \n" @@ -1801,11 +1801,9 @@ msgstr "%sļ¼šäæ”å·å±č”½(mask)ꕅ障\n" msgid "Session terminated, terminating shell..." msgstr "ä¼ščÆē»“ęŸļ¼Œē»“ęŸ shell ..." -#, c-format msgid " ...killed.\n" msgstr " ...å·²č¢«ę€ę­»ć€‚\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...ē­‰å¾…å­čæ›ēØ‹ē»“ęŸć€‚\n" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo deleted file mode 100644 index 0b2e51e1..00000000 Binary files a/po/zh_TW.gmo and /dev/null differ diff --git a/po/zh_TW.po b/po/zh_TW.po index 65045d4d..ee174c40 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.9\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2016-09-18 21:41-0500\n" +"POT-Creation-Date: 2016-09-18 14:03-0500\n" "PO-Revision-Date: 2005-06-02 22:20+0800\n" "Last-Translator: Asho Yeh \n" "Language-Team: Chinese (traditional) \n" @@ -1824,11 +1824,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 00000000..d5716b98 --- /dev/null +++ b/src/.gitignore @@ -0,0 +1,35 @@ +/chage +/chfn +/chgpasswd +/chpasswd +/chsh +/expiry +/faillog +/gpasswd +/groupadd +/groupdel +/groupmems +/groupmod +/groups +/grpck +/grpconv +/grpunconv +/id +/lastlog +/login +/logoutd +/newgrp +/newgidmap +/newuidmap +/newusers +/nologin +/passwd +/pwck +/pwconv +/pwunconv +/su +/sulogin +/useradd +/userdel +/usermod +/vipw diff --git a/src/Makefile.in b/src/Makefile.in deleted file mode 100644 index dc04b877..00000000 --- a/src/Makefile.in +++ /dev/null @@ -1,1251 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = groups$(EXEEXT) login$(EXEEXT) su$(EXEEXT) -sbin_PROGRAMS = nologin$(EXEEXT) -ubin_PROGRAMS = faillog$(EXEEXT) lastlog$(EXEEXT) chage$(EXEEXT) \ - chfn$(EXEEXT) chsh$(EXEEXT) expiry$(EXEEXT) gpasswd$(EXEEXT) \ - newgrp$(EXEEXT) passwd$(EXEEXT) $(am__EXEEXT_1) -@ENABLE_SUBIDS_TRUE@am__append_1 = newgidmap newuidmap -usbin_PROGRAMS = chgpasswd$(EXEEXT) chpasswd$(EXEEXT) \ - groupadd$(EXEEXT) groupdel$(EXEEXT) groupmems$(EXEEXT) \ - groupmod$(EXEEXT) grpck$(EXEEXT) grpconv$(EXEEXT) \ - grpunconv$(EXEEXT) logoutd$(EXEEXT) newusers$(EXEEXT) \ - pwck$(EXEEXT) pwconv$(EXEEXT) pwunconv$(EXEEXT) \ - useradd$(EXEEXT) userdel$(EXEEXT) usermod$(EXEEXT) \ - vipw$(EXEEXT) -noinst_PROGRAMS = id$(EXEEXT) sulogin$(EXEEXT) -subdir = src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \ - "$(DESTDIR)$(ubindir)" "$(DESTDIR)$(usbindir)" -@ENABLE_SUBIDS_TRUE@am__EXEEXT_1 = newgidmap$(EXEEXT) \ -@ENABLE_SUBIDS_TRUE@ newuidmap$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) \ - $(ubin_PROGRAMS) $(usbin_PROGRAMS) -chage_SOURCES = chage.c -chage_OBJECTS = chage.$(OBJEXT) -am__DEPENDENCIES_1 = -am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.a \ - $(top_builddir)/lib/libshadow.la -@ACCT_TOOLS_SETUID_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) -chage_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -chfn_SOURCES = chfn.c -chfn_OBJECTS = chfn.$(OBJEXT) -@USE_PAM_FALSE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1) -chfn_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -chgpasswd_SOURCES = chgpasswd.c -chgpasswd_OBJECTS = chgpasswd.$(OBJEXT) -chgpasswd_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -chpasswd_SOURCES = chpasswd.c -chpasswd_OBJECTS = chpasswd.$(OBJEXT) -chpasswd_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -chsh_SOURCES = chsh.c -chsh_OBJECTS = chsh.$(OBJEXT) -chsh_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -expiry_SOURCES = expiry.c -expiry_OBJECTS = expiry.$(OBJEXT) -expiry_LDADD = $(LDADD) -expiry_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.a \ - $(top_builddir)/lib/libshadow.la -faillog_SOURCES = faillog.c -faillog_OBJECTS = faillog.$(OBJEXT) -faillog_LDADD = $(LDADD) -faillog_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.a \ - $(top_builddir)/lib/libshadow.la -gpasswd_SOURCES = gpasswd.c -gpasswd_OBJECTS = gpasswd.$(OBJEXT) -gpasswd_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -groupadd_SOURCES = groupadd.c -groupadd_OBJECTS = groupadd.$(OBJEXT) -groupadd_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -groupdel_SOURCES = groupdel.c -groupdel_OBJECTS = groupdel.$(OBJEXT) -groupdel_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -groupmems_SOURCES = groupmems.c -groupmems_OBJECTS = groupmems.$(OBJEXT) -groupmems_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -groupmod_SOURCES = groupmod.c -groupmod_OBJECTS = groupmod.$(OBJEXT) -groupmod_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -groups_SOURCES = groups.c -groups_OBJECTS = groups.$(OBJEXT) -groups_LDADD = $(LDADD) -groups_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.a \ - $(top_builddir)/lib/libshadow.la -grpck_SOURCES = grpck.c -grpck_OBJECTS = grpck.$(OBJEXT) -grpck_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -grpconv_SOURCES = grpconv.c -grpconv_OBJECTS = grpconv.$(OBJEXT) -grpconv_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -grpunconv_SOURCES = grpunconv.c -grpunconv_OBJECTS = grpunconv.$(OBJEXT) -grpunconv_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -id_SOURCES = id.c -id_OBJECTS = id.$(OBJEXT) -id_LDADD = $(LDADD) -id_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.a \ - $(top_builddir)/lib/libshadow.la -lastlog_SOURCES = lastlog.c -lastlog_OBJECTS = lastlog.$(OBJEXT) -lastlog_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -am_login_OBJECTS = login.$(OBJEXT) login_nopam.$(OBJEXT) -login_OBJECTS = $(am_login_OBJECTS) -login_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -logoutd_SOURCES = logoutd.c -logoutd_OBJECTS = logoutd.$(OBJEXT) -logoutd_LDADD = $(LDADD) -logoutd_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.a \ - $(top_builddir)/lib/libshadow.la -newgidmap_SOURCES = newgidmap.c -newgidmap_OBJECTS = newgidmap.$(OBJEXT) -newgidmap_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -newgrp_SOURCES = newgrp.c -newgrp_OBJECTS = newgrp.$(OBJEXT) -newgrp_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -newuidmap_SOURCES = newuidmap.c -newuidmap_OBJECTS = newuidmap.$(OBJEXT) -newuidmap_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -newusers_SOURCES = newusers.c -newusers_OBJECTS = newusers.$(OBJEXT) -newusers_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -nologin_SOURCES = nologin.c -nologin_OBJECTS = nologin.$(OBJEXT) -nologin_DEPENDENCIES = -passwd_SOURCES = passwd.c -passwd_OBJECTS = passwd.$(OBJEXT) -passwd_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4) -pwck_SOURCES = pwck.c -pwck_OBJECTS = pwck.$(OBJEXT) -pwck_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -pwconv_SOURCES = pwconv.c -pwconv_OBJECTS = pwconv.$(OBJEXT) -pwconv_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -pwunconv_SOURCES = pwunconv.c -pwunconv_OBJECTS = pwunconv.$(OBJEXT) -pwunconv_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -am_su_OBJECTS = su.$(OBJEXT) suauth.$(OBJEXT) -su_OBJECTS = $(am_su_OBJECTS) -su_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -sulogin_SOURCES = sulogin.c -sulogin_OBJECTS = sulogin.$(OBJEXT) -sulogin_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -useradd_SOURCES = useradd.c -useradd_OBJECTS = useradd.$(OBJEXT) -useradd_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -userdel_SOURCES = userdel.c -userdel_OBJECTS = userdel.$(OBJEXT) -userdel_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -usermod_SOURCES = usermod.c -usermod_OBJECTS = usermod.$(OBJEXT) -usermod_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -vipw_SOURCES = vipw.c -vipw_OBJECTS = vipw.$(OBJEXT) -vipw_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = chage.c chfn.c chgpasswd.c chpasswd.c chsh.c expiry.c \ - faillog.c gpasswd.c groupadd.c groupdel.c groupmems.c \ - groupmod.c groups.c grpck.c grpconv.c grpunconv.c id.c \ - lastlog.c $(login_SOURCES) logoutd.c newgidmap.c newgrp.c \ - newuidmap.c newusers.c nologin.c passwd.c pwck.c pwconv.c \ - pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c \ - usermod.c vipw.c -DIST_SOURCES = chage.c chfn.c chgpasswd.c chpasswd.c chsh.c expiry.c \ - faillog.c gpasswd.c groupadd.c groupdel.c groupmems.c \ - groupmod.c groups.c grpck.c grpconv.c grpunconv.c id.c \ - lastlog.c $(login_SOURCES) logoutd.c newgidmap.c newgrp.c \ - newuidmap.c newusers.c nologin.c passwd.c pwck.c pwconv.c \ - pwunconv.c $(su_SOURCES) sulogin.c useradd.c userdel.c \ - usermod.c vipw.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -GROUP_NAME_MAX_LENGTH = @GROUP_NAME_MAX_LENGTH@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBACL = @LIBACL@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -LIBCRYPT = @LIBCRYPT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMD = @LIBMD@ -LIBOBJS = @LIBOBJS@ -LIBPAM = @LIBPAM@ -LIBS = @LIBS@ -LIBSELINUX = @LIBSELINUX@ -LIBSEMANAGE = @LIBSEMANAGE@ -LIBSKEY = @LIBSKEY@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMLCATALOG = @XMLCATALOG@ -XML_CATALOG_FILE = @XML_CATALOG_FILE@ -XSLTPROC = @XSLTPROC@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = \ - .indent.pro - -ubindir = ${prefix}/bin -usbindir = ${prefix}/sbin -suidperms = 4755 -sgidperms = 2755 -INCLUDES = \ - -I${top_srcdir}/lib \ - -I$(top_srcdir)/libmisc - -suidbins = su -suidubins = chage chfn chsh expiry gpasswd newgrp passwd -@WITH_TCB_TRUE@shadowsgidubins = passwd -LDADD = $(INTLLIBS) \ - $(LIBTCB) \ - $(top_builddir)/libmisc/libmisc.a \ - $(top_builddir)/lib/libshadow.la - -AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" -@ACCT_TOOLS_SETUID_FALSE@LIBPAM_SUID = -@ACCT_TOOLS_SETUID_TRUE@LIBPAM_SUID = $(LIBPAM) -@USE_PAM_FALSE@LIBCRYPT_NOPAM = $(LIBCRYPT) -@USE_PAM_TRUE@LIBCRYPT_NOPAM = -chage_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) -newuidmap_LDADD = $(LDADD) $(LIBSELINUX) -newgidmap_LDADD = $(LDADD) $(LIBSELINUX) -chfn_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) -chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBSELINUX) $(LIBCRYPT) -chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) -chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT) -gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) -groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) -groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) -groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) -groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) -grpck_LDADD = $(LDADD) $(LIBSELINUX) -grpconv_LDADD = $(LDADD) $(LIBSELINUX) -grpunconv_LDADD = $(LDADD) $(LIBSELINUX) -lastlog_LDADD = $(LDADD) $(LIBAUDIT) -login_SOURCES = \ - login.c \ - login_nopam.c - -login_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) -newgrp_LDADD = $(LDADD) $(LIBAUDIT) $(LIBCRYPT) -newusers_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT) -nologin_LDADD = -passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) -pwck_LDADD = $(LDADD) $(LIBSELINUX) -pwconv_LDADD = $(LDADD) $(LIBSELINUX) -pwunconv_LDADD = $(LDADD) $(LIBSELINUX) -su_SOURCES = \ - su.c \ - suauth.c - -su_LDADD = $(LDADD) $(LIBPAM) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) -sulogin_LDADD = $(LDADD) $(LIBCRYPT) -useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) -userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) -usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) -vipw_LDADD = $(LDADD) $(LIBSELINUX) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -install-sbinPROGRAMS: $(sbin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-sbinPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(sbindir)" && rm -f $$files - -clean-sbinPROGRAMS: - @list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -install-ubinPROGRAMS: $(ubin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(ubin_PROGRAMS)'; test -n "$(ubindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(ubindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(ubindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(ubindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(ubindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-ubinPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(ubin_PROGRAMS)'; test -n "$(ubindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(ubindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(ubindir)" && rm -f $$files - -clean-ubinPROGRAMS: - @list='$(ubin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -install-usbinPROGRAMS: $(usbin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(usbin_PROGRAMS)'; test -n "$(usbindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(usbindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(usbindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(usbindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(usbindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-usbinPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(usbin_PROGRAMS)'; test -n "$(usbindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(usbindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(usbindir)" && rm -f $$files - -clean-usbinPROGRAMS: - @list='$(usbin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -chage$(EXEEXT): $(chage_OBJECTS) $(chage_DEPENDENCIES) $(EXTRA_chage_DEPENDENCIES) - @rm -f chage$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chage_OBJECTS) $(chage_LDADD) $(LIBS) - -chfn$(EXEEXT): $(chfn_OBJECTS) $(chfn_DEPENDENCIES) $(EXTRA_chfn_DEPENDENCIES) - @rm -f chfn$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chfn_OBJECTS) $(chfn_LDADD) $(LIBS) - -chgpasswd$(EXEEXT): $(chgpasswd_OBJECTS) $(chgpasswd_DEPENDENCIES) $(EXTRA_chgpasswd_DEPENDENCIES) - @rm -f chgpasswd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chgpasswd_OBJECTS) $(chgpasswd_LDADD) $(LIBS) - -chpasswd$(EXEEXT): $(chpasswd_OBJECTS) $(chpasswd_DEPENDENCIES) $(EXTRA_chpasswd_DEPENDENCIES) - @rm -f chpasswd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chpasswd_OBJECTS) $(chpasswd_LDADD) $(LIBS) - -chsh$(EXEEXT): $(chsh_OBJECTS) $(chsh_DEPENDENCIES) $(EXTRA_chsh_DEPENDENCIES) - @rm -f chsh$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chsh_OBJECTS) $(chsh_LDADD) $(LIBS) - -expiry$(EXEEXT): $(expiry_OBJECTS) $(expiry_DEPENDENCIES) $(EXTRA_expiry_DEPENDENCIES) - @rm -f expiry$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(expiry_OBJECTS) $(expiry_LDADD) $(LIBS) - -faillog$(EXEEXT): $(faillog_OBJECTS) $(faillog_DEPENDENCIES) $(EXTRA_faillog_DEPENDENCIES) - @rm -f faillog$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(faillog_OBJECTS) $(faillog_LDADD) $(LIBS) - -gpasswd$(EXEEXT): $(gpasswd_OBJECTS) $(gpasswd_DEPENDENCIES) $(EXTRA_gpasswd_DEPENDENCIES) - @rm -f gpasswd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(gpasswd_OBJECTS) $(gpasswd_LDADD) $(LIBS) - -groupadd$(EXEEXT): $(groupadd_OBJECTS) $(groupadd_DEPENDENCIES) $(EXTRA_groupadd_DEPENDENCIES) - @rm -f groupadd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(groupadd_OBJECTS) $(groupadd_LDADD) $(LIBS) - -groupdel$(EXEEXT): $(groupdel_OBJECTS) $(groupdel_DEPENDENCIES) $(EXTRA_groupdel_DEPENDENCIES) - @rm -f groupdel$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(groupdel_OBJECTS) $(groupdel_LDADD) $(LIBS) - -groupmems$(EXEEXT): $(groupmems_OBJECTS) $(groupmems_DEPENDENCIES) $(EXTRA_groupmems_DEPENDENCIES) - @rm -f groupmems$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(groupmems_OBJECTS) $(groupmems_LDADD) $(LIBS) - -groupmod$(EXEEXT): $(groupmod_OBJECTS) $(groupmod_DEPENDENCIES) $(EXTRA_groupmod_DEPENDENCIES) - @rm -f groupmod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(groupmod_OBJECTS) $(groupmod_LDADD) $(LIBS) - -groups$(EXEEXT): $(groups_OBJECTS) $(groups_DEPENDENCIES) $(EXTRA_groups_DEPENDENCIES) - @rm -f groups$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(groups_OBJECTS) $(groups_LDADD) $(LIBS) - -grpck$(EXEEXT): $(grpck_OBJECTS) $(grpck_DEPENDENCIES) $(EXTRA_grpck_DEPENDENCIES) - @rm -f grpck$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(grpck_OBJECTS) $(grpck_LDADD) $(LIBS) - -grpconv$(EXEEXT): $(grpconv_OBJECTS) $(grpconv_DEPENDENCIES) $(EXTRA_grpconv_DEPENDENCIES) - @rm -f grpconv$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(grpconv_OBJECTS) $(grpconv_LDADD) $(LIBS) - -grpunconv$(EXEEXT): $(grpunconv_OBJECTS) $(grpunconv_DEPENDENCIES) $(EXTRA_grpunconv_DEPENDENCIES) - @rm -f grpunconv$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(grpunconv_OBJECTS) $(grpunconv_LDADD) $(LIBS) - -id$(EXEEXT): $(id_OBJECTS) $(id_DEPENDENCIES) $(EXTRA_id_DEPENDENCIES) - @rm -f id$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(id_OBJECTS) $(id_LDADD) $(LIBS) - -lastlog$(EXEEXT): $(lastlog_OBJECTS) $(lastlog_DEPENDENCIES) $(EXTRA_lastlog_DEPENDENCIES) - @rm -f lastlog$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(lastlog_OBJECTS) $(lastlog_LDADD) $(LIBS) - -login$(EXEEXT): $(login_OBJECTS) $(login_DEPENDENCIES) $(EXTRA_login_DEPENDENCIES) - @rm -f login$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(login_OBJECTS) $(login_LDADD) $(LIBS) - -logoutd$(EXEEXT): $(logoutd_OBJECTS) $(logoutd_DEPENDENCIES) $(EXTRA_logoutd_DEPENDENCIES) - @rm -f logoutd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(logoutd_OBJECTS) $(logoutd_LDADD) $(LIBS) - -newgidmap$(EXEEXT): $(newgidmap_OBJECTS) $(newgidmap_DEPENDENCIES) $(EXTRA_newgidmap_DEPENDENCIES) - @rm -f newgidmap$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(newgidmap_OBJECTS) $(newgidmap_LDADD) $(LIBS) - -newgrp$(EXEEXT): $(newgrp_OBJECTS) $(newgrp_DEPENDENCIES) $(EXTRA_newgrp_DEPENDENCIES) - @rm -f newgrp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(newgrp_OBJECTS) $(newgrp_LDADD) $(LIBS) - -newuidmap$(EXEEXT): $(newuidmap_OBJECTS) $(newuidmap_DEPENDENCIES) $(EXTRA_newuidmap_DEPENDENCIES) - @rm -f newuidmap$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(newuidmap_OBJECTS) $(newuidmap_LDADD) $(LIBS) - -newusers$(EXEEXT): $(newusers_OBJECTS) $(newusers_DEPENDENCIES) $(EXTRA_newusers_DEPENDENCIES) - @rm -f newusers$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(newusers_OBJECTS) $(newusers_LDADD) $(LIBS) - -nologin$(EXEEXT): $(nologin_OBJECTS) $(nologin_DEPENDENCIES) $(EXTRA_nologin_DEPENDENCIES) - @rm -f nologin$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(nologin_OBJECTS) $(nologin_LDADD) $(LIBS) - -passwd$(EXEEXT): $(passwd_OBJECTS) $(passwd_DEPENDENCIES) $(EXTRA_passwd_DEPENDENCIES) - @rm -f passwd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(passwd_OBJECTS) $(passwd_LDADD) $(LIBS) - -pwck$(EXEEXT): $(pwck_OBJECTS) $(pwck_DEPENDENCIES) $(EXTRA_pwck_DEPENDENCIES) - @rm -f pwck$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pwck_OBJECTS) $(pwck_LDADD) $(LIBS) - -pwconv$(EXEEXT): $(pwconv_OBJECTS) $(pwconv_DEPENDENCIES) $(EXTRA_pwconv_DEPENDENCIES) - @rm -f pwconv$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pwconv_OBJECTS) $(pwconv_LDADD) $(LIBS) - -pwunconv$(EXEEXT): $(pwunconv_OBJECTS) $(pwunconv_DEPENDENCIES) $(EXTRA_pwunconv_DEPENDENCIES) - @rm -f pwunconv$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pwunconv_OBJECTS) $(pwunconv_LDADD) $(LIBS) - -su$(EXEEXT): $(su_OBJECTS) $(su_DEPENDENCIES) $(EXTRA_su_DEPENDENCIES) - @rm -f su$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(su_OBJECTS) $(su_LDADD) $(LIBS) - -sulogin$(EXEEXT): $(sulogin_OBJECTS) $(sulogin_DEPENDENCIES) $(EXTRA_sulogin_DEPENDENCIES) - @rm -f sulogin$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sulogin_OBJECTS) $(sulogin_LDADD) $(LIBS) - -useradd$(EXEEXT): $(useradd_OBJECTS) $(useradd_DEPENDENCIES) $(EXTRA_useradd_DEPENDENCIES) - @rm -f useradd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(useradd_OBJECTS) $(useradd_LDADD) $(LIBS) - -userdel$(EXEEXT): $(userdel_OBJECTS) $(userdel_DEPENDENCIES) $(EXTRA_userdel_DEPENDENCIES) - @rm -f userdel$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(userdel_OBJECTS) $(userdel_LDADD) $(LIBS) - -usermod$(EXEEXT): $(usermod_OBJECTS) $(usermod_DEPENDENCIES) $(EXTRA_usermod_DEPENDENCIES) - @rm -f usermod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(usermod_OBJECTS) $(usermod_LDADD) $(LIBS) - -vipw$(EXEEXT): $(vipw_OBJECTS) $(vipw_DEPENDENCIES) $(EXTRA_vipw_DEPENDENCIES) - @rm -f vipw$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(vipw_OBJECTS) $(vipw_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chage.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chfn.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chgpasswd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chpasswd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chsh.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expiry.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faillog.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpasswd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupadd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupdel.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupmems.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupmod.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groups.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpck.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpconv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grpunconv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lastlog.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login_nopam.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logoutd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newgidmap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newgrp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newuidmap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newusers.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nologin.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passwd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwck.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwconv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwunconv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/su.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/suauth.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sulogin.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/useradd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/userdel.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usermod.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vipw.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(ubindir)" "$(DESTDIR)$(usbindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool \ - clean-noinstPROGRAMS clean-sbinPROGRAMS clean-ubinPROGRAMS \ - clean-usbinPROGRAMS mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-ubinPROGRAMS install-usbinPROGRAMS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS install-sbinPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-sbinPROGRAMS \ - uninstall-ubinPROGRAMS uninstall-usbinPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool \ - clean-noinstPROGRAMS clean-sbinPROGRAMS clean-ubinPROGRAMS \ - clean-usbinPROGRAMS cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-sbinPROGRAMS install-strip \ - install-ubinPROGRAMS install-usbinPROGRAMS installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-sbinPROGRAMS uninstall-ubinPROGRAMS \ - uninstall-usbinPROGRAMS - -.PRECIOUS: Makefile - -@ACCT_TOOLS_SETUID_TRUE@ suidubins += chage chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod -@ENABLE_SUBIDS_TRUE@ suidubins += newgidmap newuidmap - -@WITH_TCB_TRUE@suidubins -= passwd - -install-am: all-am - $(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - ln -sf newgrp $(DESTDIR)$(ubindir)/sg - ln -sf vipw $(DESTDIR)$(usbindir)/vigr - for i in $(suidbins); do \ - chmod -f $(suidperms) $(DESTDIR)$(bindir)/$$i; \ - done - for i in $(suidubins); do \ - chmod -f $(suidperms) $(DESTDIR)$(ubindir)/$$i; \ - done -@WITH_TCB_TRUE@ for i in $(shadowsgidubins); do \ -@WITH_TCB_TRUE@ chown root:shadow $(DESTDIR)$(ubindir)/$$i; \ -@WITH_TCB_TRUE@ chmod -f $(sgidperms) $(DESTDIR)$(ubindir)/$$i; \ -@WITH_TCB_TRUE@ done - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/README b/tests/README new file mode 100644 index 00000000..54844a57 --- /dev/null +++ b/tests/README @@ -0,0 +1,21 @@ +This testsuite is NOT SECURE: it will temporarily change your passwords file +with known passwords. +You should run it on a chroot, or on a secured dedicated system. + + + +To test a Debian system: + $ mkdir sid-chroot + $ sudo debootstrap sid sid-chroot/ http://ftp.fr.debian.org/debian/ +edit or copy a sources.list + $ sudo cp /etc/apt/sources.list sid-chroot/etc/apt/ +edit or copy a resolv.conf + $ sudo cp /etc/resolv.conf sid-chroot/etc/ + $ su - root -c "chroot sid-chroot/ /bin/bash" + # mount -t proc proc /proc + # mount -t devpts devpts /dev/pts + # aptitude update + # aptitude install expect + # cd /dev ; mknod --mode=666 /dev/ptmx c 5 2 + + diff --git a/tests/bug332198-test.exp b/tests/bug332198-test.exp new file mode 100755 index 00000000..fd365bb6 --- /dev/null +++ b/tests/bug332198-test.exp @@ -0,0 +1,61 @@ +#!/usr/bin/expect -f + +# This is a script for repeatedly logging into the localhost +# using `rlogin` in order to apparently see a symptoms described +# in bug #332198. +# As described in the bug log, sometimes `rlogind` will fail to +# establish a connection, because it starts "login" process and +# the latter fails with "unable to determine TTY name, got /dev/pts/1" +# message. +# +# BUGS +# +# * the script rlogins to localhost +# * the script doesn't handle passwdord prompt, because it's intended +# to use .rhosts auth and expects shell prompt immediately after +# `rlogin` +# * the regexp for shell prompt is hardcoded + +log_user 0 +match_max 8192 + +while {1} { + set rlogin_spawn [spawn rlogin localhost] + if { $rlogin_spawn == 0 } { exit 1 } + expect { + -timeout 10 -re "^.*(Last login\[^\r\n\]*).*\n(\[^\r\n\]*\[#$\] )$" { + send_error "$expect_out(1,string)\n" + send_error "$expect_out(2,string)\n" +# send_error "$expect_out(0,string)\n" + } + timeout { + send_error "TIMEOUT/prompt\n" + send_error "$expect_out(buffer)\n" + send_error "RETRYING\n" + log_user 1 + send "tty /\r" + expect -timeout 2 -re "^.*\r?\n(\[^\r\n\]*# )$" {} + send "tty /\r" + expect -timeout 2 -re "^.*\r?\n(\[^\r\n\]*# )$" {} + send_error "\n" + exit 2 + } + } + send "tty\r" + expect { + -timeout 4 -re "tty\r?\n(\[^\r\n\]*)\r?\n(\[^\r\n\]*\[#$\] )$" { + send_error "$expect_out(2,string)$expect_out(1,string)\n" +# send_error "$expect_out(0,string)\n" + } + timeout { send_error "TIMEOUT/tty\n" ; exit 3 } + } + send "exit\r" + expect { + -timeout 2 eof { +# send_error "OK4: EOF\n" + } + timeout { send_error "TIMEOUT/eof\n" ; exit 4 } + } + wait +} +# vi: set sw=4: diff --git a/tests/bug334803-test.exp b/tests/bug334803-test.exp new file mode 100755 index 00000000..05c7a915 --- /dev/null +++ b/tests/bug334803-test.exp @@ -0,0 +1,83 @@ +#!/usr/bin/expect -- + +# This is a script for switching to another user and then +# suspending (`suspend -f`) and resuming (`fg`) his shell + +package require cmdline +set opts { + {s.arg "sudo su -" "user switching method"} + {u.arg "" "username to switch to"} +} +set usage ": \[options]\noptions:" +array set conf [::cmdline::getoptions argv $opts $usage] + +log_user 1 +match_max 8192 +expect_after { + timeout { send_error "TIMEOUT\n" ; exit 1 } + eof { send_error "EXITED\n" ; exit 2 } +} +set timeout 2 + +# user switching command, by default `sudo su -` +set swcmd $conf(s) +# ending of typicall shell prompt (zsh/sh): +set shpmt "(%|#|\\$) \\Z" +catch {set shpmt $env(EXPECT_PROMPT)} +# initial username: +set user0 [exec id -un] +# user we switch to (with $swcmd), by default initial user +if {$conf(u) != ""} {set swuser $conf(u)} else {set swuser $user0} + +# 1. start shell +spawn bash +expect -re "$shpmt" {} + +# 2. sudo-ing swuser's shell: +send "$swcmd $swuser\r" +expect { + -re "$swuser.*$shpmt" {} + -re "assword: ?\\Z" { + stty -echo + expect_user -timeout -1 -re "(.*)\n" {set swpwd $expect_out(1,string)} + stty echo + send "$swpwd\r" + expect -re "$swuser.*$shpmt" {} + } +} + +# 3. getting pid and ppid of swuser's shell (needed for 5b): +send "echo \$\$:\$PPID\r" +expect -re "(?n)^(\[\[:digit:\]\]*):(\[\[:digit:\]\]*)\r?\n(.*)$shpmt" {} +set swpid $expect_out(1,string) +set swppid $expect_out(2,string) + +#send_error "$user0:$swpid:$swppid\n" + +# 4. suspending swuser's shell (trying to return to parent shell): +send "suspend -f\r" +expect { + -re "$shpmt" { + # 5a. got to parent shell -- resuming swuser's shell by `fg`: + send "fg\r" + set hung no + } + timeout { + # 5b. `suspend -f` has hung -- resuming swuser's shell by SIGCONT: + send_error "kill $swppid\n" + send_error [exec kill -CONT $swppid] + set hung yes + } +} +expect -re "$shpmt" {} + +# 6. exiting [both] shells +#set swstat [wait -nowait] +#send_error [pid]:[exp_pid]:$swstat\n +send "exit\rexit\r" +expect eof {} +#send_error [wait -nowait]\n +#exec kill -KILL -[exp_pid] +if {$hung} {send_error "BUGGY\n" ; exit 3 } + +# vi:set sw=4: diff --git a/tests/chage/01/data/chage1 b/tests/chage/01/data/chage1 new file mode 100644 index 00000000..64754ca5 --- /dev/null +++ b/tests/chage/01/data/chage1 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/01/data/chage2 b/tests/chage/01/data/chage2 new file mode 100644 index 00000000..7efdc0cd --- /dev/null +++ b/tests/chage/01/data/chage2 @@ -0,0 +1,7 @@ +Last password change : Jul 28, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 1 +Maximum number of days between password change : 99996 +Number of days of warning before password expires : 5 diff --git a/tests/chage/01/data/chage3 b/tests/chage/01/data/chage3 new file mode 100644 index 00000000..a263db9d --- /dev/null +++ b/tests/chage/01/data/chage3 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : Jan 01, 1970 +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/01/data/chage4 b/tests/chage/01/data/chage4 new file mode 100644 index 00000000..11e2f2d9 --- /dev/null +++ b/tests/chage/01/data/chage4 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : Jan 02, 1970 +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/01/data/chage5 b/tests/chage/01/data/chage5 new file mode 100644 index 00000000..64754ca5 --- /dev/null +++ b/tests/chage/01/data/chage5 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/01/data/chage6 b/tests/chage/01/data/chage6 new file mode 100644 index 00000000..64754ca5 --- /dev/null +++ b/tests/chage/01/data/chage6 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/01/data/chage7 b/tests/chage/01/data/chage7 new file mode 100644 index 00000000..64754ca5 --- /dev/null +++ b/tests/chage/01/data/chage7 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/01/data/chage7b b/tests/chage/01/data/chage7b new file mode 100644 index 00000000..0cea901f --- /dev/null +++ b/tests/chage/01/data/chage7b @@ -0,0 +1,7 @@ +Last password change : Jul 26, 2005 +Password expires : Aug 09, 2005 +Password inactive : Sep 13, 2005 +Account expires : Jul 27, 2012 +Minimum number of days between password change : 13 +Maximum number of days between password change : 14 +Number of days of warning before password expires : 9 diff --git a/tests/chage/01/data/chage8 b/tests/chage/01/data/chage8 new file mode 100644 index 00000000..25151a28 --- /dev/null +++ b/tests/chage/01/data/chage8 @@ -0,0 +1 @@ +chage: user 'myuser8' does not exist in /etc/passwd diff --git a/tests/chage/01/data/group b/tests/chage/01/data/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/01/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/01/data/gshadow b/tests/chage/01/data/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/01/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/01/data/passwd b/tests/chage/01/data/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/01/data/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/01/data/shadow b/tests/chage/01/data/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/01/data/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/01/data/usage b/tests/chage/01/data/usage new file mode 100644 index 00000000..31df15c1 --- /dev/null +++ b/tests/chage/01/data/usage @@ -0,0 +1,16 @@ +Usage: chage [options] LOGIN + +Options: + -d, --lastday LAST_DAY set date of last password change to LAST_DAY + -E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE + -h, --help display this help message and exit + -I, --inactive INACTIVE set password inactive after expiration + to INACTIVE + -l, --list show account aging information + -m, --mindays MIN_DAYS set minimum number of days before password + change to MIN_DAYS + -M, --maxdays MAX_DAYS set maximim number of days before password + change to MAX_DAYS + -R, --root CHROOT_DIR directory to chroot into + -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS + diff --git a/tests/chage/01/run b/tests/chage/01/run new file mode 100755 index 00000000..df64325c --- /dev/null +++ b/tests/chage/01/run @@ -0,0 +1,206 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +# Rational: +# Test chage options + +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +save() +{ + [ ! -d tmp ] && mkdir tmp + for i in passwd group shadow gshadow + do + [ -f /etc/$i ] && cp /etc/$i tmp/$i + [ -f /etc/$i- ] && cp /etc/$i- tmp/$i- + done + + true +} + +restore() +{ + for i in passwd group shadow gshadow + do + [ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i + [ -f tmp/$i- ] && cp tmp/$i- /etc/$i- && rm tmp/$i- + done + rm -f tmp/out + rmdir tmp +} + +save + +# restore the files on exit +trap 'if [ "$?" != "0" ]; then echo "FAIL"; fi; restore' 0 + +for i in passwd group shadow gshadow +do + cp data/$i /etc +done + +echo -n "testing option -l" +chage -l myuser1 > tmp/out +diff -au data/chage1 tmp/out +echo -n . +chage -l myuser2 > tmp/out +diff -au data/chage2 tmp/out +echo -n . +chage -l myuser3 > tmp/out +diff -au data/chage3 tmp/out +echo -n . +chage -l myuser4 > tmp/out +diff -au data/chage4 tmp/out +echo -n . +chage -l myuser5 > tmp/out +diff -au data/chage5 tmp/out +echo -n . +chage -l myuser6 > tmp/out +diff -au data/chage6 tmp/out +echo -n . +chage --list myuser7 > tmp/out +diff -au data/chage7 tmp/out +echo -n . +msg=$(chage -l myuser8 2> tmp/out) || err=$? +[ "$err" = "1" ] && [ "$msg" = "" ] || exit 1 +diff -au data/chage8 tmp/out +echo . + +echo "testing option -d" +chage -d 2001-10-02 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:11597:0:99999:7:1::' ] || exit 1 +echo "testing option -d -1" +chage -d -1 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.::0:99999:7:1::' ] || exit 1 +echo "testing option -d 0" +chage -d 0 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:0:0:99999:7:1::' ] || exit 1 +echo "testing option --lastday" +chage --lastday 2011-11-02 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:0:99999:7:1::' ] || exit 1 + +echo "testing option -E" +chage -E 2010-10-02 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:0:99999:7:1:14884:' ] || exit 1 +echo "testing option -E -1" +chage -E -1 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:0:99999:7:1::' ] || exit 1 +echo "testing option -E 0" +chage -E 0 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:0:99999:7:1:0:' ] || exit 1 +echo "testing option --expiredate" +chage --expiredate 2020-02-02 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:0:99999:7:1:18294:' ] || exit 1 + +echo "testing option -I" +# NOTE: I could pass a date to -I +chage -I 42 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:0:99999:7:42:18294:' ] || exit 1 +echo "testing option -I -1" +# NOTE: this behavior is not documented +chage -I -1 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:0:99999:7::18294:' ] || exit 1 +echo "testing option -I 0" +# NOTE: We should check that this is the expected behavior +chage -I 0 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:0:99999:7:0:18294:' ] || exit 1 +echo "testing option --inactive" +chage --inactive 12 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:0:99999:7:12:18294:' ] || exit 1 + +echo "testing option -m" +chage -m 24 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:24:99999:7:12:18294:' ] || exit 1 +echo "testing option -m -1" +# NOTE: this behavior is not documented +chage -m -1 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280::99999:7:12:18294:' ] || exit 1 +echo "testing option -m 0" +chage -m 0 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:0:99999:7:12:18294:' ] || exit 1 +echo "testing option --mindays" +chage --min 1 myuser7 +# NOTE: that shouldn't have work +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:1:99999:7:12:18294:' ] || exit 1 + +echo "testing option -M" +chage -M 25 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:1:25:7:12:18294:' ] || exit 1 +echo "testing option -M -1" +# NOTE: this behavior is not documented +chage -M -1 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:1::7:12:18294:' ] || exit 1 +echo "testing option -M 0" +chage -M 0 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:1:0:7:12:18294:' ] || exit 1 +echo "testing option --maxdays" +chage --max 2 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:1:2:7:12:18294:' ] || exit 1 + +echo "testing option -W" +chage -W 26 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:1:2:26:12:18294:' ] || exit 1 +echo "testing option -W -1" +# NOTE: this behavior is not documented +chage -W -1 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:1:2::12:18294:' ] || exit 1 +echo "testing option -W 0" +chage -W 0 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:1:2:0:12:18294:' ] || exit 1 +echo "testing option --warndays" +chage --warndays 3 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:15280:1:2:3:12:18294:' ] || exit 1 + +echo "testing with all options" +chage -d 2030-03-02 -E 1979-11-24 -I 10 -m 11 -M 12 --warndays 4 myuser7 +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:21975:11:12:4:10:3614:' ] || exit 1 + +echo "interractive test" +./run1.exp +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12990:13:14:9:35:15548:' ] || exit 1 + +echo "interractive test (default)" +./run2.exp +ent=$(getent shadow myuser7) +[ "$ent" = 'myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12990:13:14:9:35:15548:' ] || exit 1 +chage -l myuser7 > tmp/out +diff -au data/chage7b tmp/out + +echo "usage" +chage -h > tmp/out || { + if [ "$?" != "2" ]; then false; fi +} +diff -au data/usage tmp/out + +echo "OK" diff --git a/tests/chage/01/run1.exp b/tests/chage/01/run1.exp new file mode 100755 index 00000000..0160fb15 --- /dev/null +++ b/tests/chage/01/run1.exp @@ -0,0 +1,31 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser7 +expect -re "Minimum Password Age .11\]: " +send "13\r" +expect -re "Maximum Password Age .12\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2030-03-02\]: " +send "2005-07-26\r" +expect -re "Password Expiration Warning .4\]: " +send "9\r" +expect -re "Password Inactive .10\]: " +send "35\r" +expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .1979-11-24\]: " +send "2012-07-27\r" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/01/run2.exp b/tests/chage/01/run2.exp new file mode 100755 index 00000000..f4f342fb --- /dev/null +++ b/tests/chage/01/run2.exp @@ -0,0 +1,31 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser7 +expect -re "Minimum Password Age .13\]: " +send "\r" +expect -re "Maximum Password Age .14\]: " +send "\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-26\]: " +send "\r" +expect -re "Password Expiration Warning .9\]: " +send "\r" +expect -re "Password Inactive .35\]: " +send "\r" +expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .2012-07-27\]: " +send "\r" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/02/data/group b/tests/chage/02/data/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/02/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/02/data/gshadow b/tests/chage/02/data/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/02/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/02/data/passwd b/tests/chage/02/data/passwd new file mode 100644 index 00000000..5bec3749 --- /dev/null +++ b/tests/chage/02/data/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/02/data/shadow b/tests/chage/02/data/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chage/02/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chage/02/run b/tests/chage/02/run new file mode 100755 index 00000000..74ac2682 --- /dev/null +++ b/tests/chage/02/run @@ -0,0 +1,50 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +# Rational: +# Test chage with bogus inputs + +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +save() +{ + [ ! -d tmp ] && mkdir tmp + for i in passwd group shadow gshadow + do + [ -f /etc/$i ] && cp /etc/$i tmp/$i + [ -f /etc/$i- ] && cp /etc/$i- tmp/$i- + done + + true +} + +restore() +{ + for i in passwd group shadow gshadow + do + [ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i + [ -f tmp/$i- ] && cp tmp/$i- /etc/$i- && rm tmp/$i- + done + rm -f tmp/out + rmdir tmp +} + +save + +# restore the files on exit +trap 'if [ "$?" != "0" ]; then echo "FAIL"; fi; restore' 0 + +for i in passwd group shadow gshadow +do + cp data/$i /etc +done + +echo "interractive test" +./run.exp $(date "+%Y-%m-%d") + +echo "OK" diff --git a/tests/chage/02/run.exp b/tests/chage/02/run.exp new file mode 100755 index 00000000..0dbb27d0 --- /dev/null +++ b/tests/chage/02/run.exp @@ -0,0 +1,83 @@ +#!/usr/bin/expect + +set timeout 5 + +proc expect_error {} { + expect { + "chage: error changing fields" { + expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } + } + } default { + puts "\nFAIL" + exit 1 + } + } +} + + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser +expect -re "Minimum Password Age .0\]: " +send -- "-2\r" +expect_error + +spawn /usr/bin/chage myuser +expect -re "Minimum Password Age .0\]: " +send "foo\r" +expect_error + +# chage accepts to be given only spaces +#spawn /usr/bin/chage myuser +#expect -re "Minimum Password Age .0\]: " +#send -- " \r" +#expect_error +# +#chage may not parse all the arguments. +#This may be a problem is a date is provided instead of just a number +#spawn /usr/bin/chage myuser +#expect -re "Minimum Password Age .0\]: " +#send -- "1 2\r" +#expect_error + +spawn /usr/bin/chage myuser +expect -re "Minimum Password Age .0\]: " +send "11\r" +expect -re "Maximum Password Age .99999\]: " +send -- "-2\r" +expect_error + +spawn /usr/bin/chage myuser +expect -re "Minimum Password Age .0\]: " +send "\r" +expect -re "Maximum Password Age .99999\]: " +send "foo\r" +expect_error + +# chage should verify the range of the arguments +#spawn /usr/bin/chage myuser +#expect -re "Minimum Password Age .0\]: " +#send "\r" +#expect -re "Maximum Password Age .99999\]: " +#send "100000\r" +#expect_error + +#spawn /usr/bin/chage myuser +#expect -re "Minimum Password Age .0\]: " +#send "\r" +#expect -re "Maximum Password Age .99999\]: " +#send "\r" +#expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-25]: " +#send "12\n" +#expect_error + + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/03_chsh_usage/chage.test b/tests/chage/03_chsh_usage/chage.test new file mode 100755 index 00000000..db6200c5 --- /dev/null +++ b/tests/chage/03_chsh_usage/chage.test @@ -0,0 +1,48 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage can display its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Get chage usage (chage -h)..." +chage -h >tmp/usage.out +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/03_chsh_usage/config.txt b/tests/chage/03_chsh_usage/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/03_chsh_usage/config/etc/group b/tests/chage/03_chsh_usage/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/03_chsh_usage/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/03_chsh_usage/config/etc/gshadow b/tests/chage/03_chsh_usage/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/03_chsh_usage/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/03_chsh_usage/config/etc/passwd b/tests/chage/03_chsh_usage/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/03_chsh_usage/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/03_chsh_usage/config/etc/shadow b/tests/chage/03_chsh_usage/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/03_chsh_usage/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/03_chsh_usage/data/usage.out b/tests/chage/03_chsh_usage/data/usage.out new file mode 100644 index 00000000..31df15c1 --- /dev/null +++ b/tests/chage/03_chsh_usage/data/usage.out @@ -0,0 +1,16 @@ +Usage: chage [options] LOGIN + +Options: + -d, --lastday LAST_DAY set date of last password change to LAST_DAY + -E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE + -h, --help display this help message and exit + -I, --inactive INACTIVE set password inactive after expiration + to INACTIVE + -l, --list show account aging information + -m, --mindays MIN_DAYS set minimum number of days before password + change to MIN_DAYS + -M, --maxdays MAX_DAYS set maximim number of days before password + change to MAX_DAYS + -R, --root CHROOT_DIR directory to chroot into + -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS + diff --git a/tests/chage/04_chsh_usage_invalid_option/chage.test b/tests/chage/04_chsh_usage_invalid_option/chage.test new file mode 100755 index 00000000..1ba81630 --- /dev/null +++ b/tests/chage/04_chsh_usage_invalid_option/chage.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage displays its usage message when an invalid option is used" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Use chage with an invalid option (chage -Z bin)..." +chage -Z bin 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/04_chsh_usage_invalid_option/config.txt b/tests/chage/04_chsh_usage_invalid_option/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/04_chsh_usage_invalid_option/config/etc/group b/tests/chage/04_chsh_usage_invalid_option/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/04_chsh_usage_invalid_option/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/04_chsh_usage_invalid_option/config/etc/gshadow b/tests/chage/04_chsh_usage_invalid_option/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/04_chsh_usage_invalid_option/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/04_chsh_usage_invalid_option/config/etc/passwd b/tests/chage/04_chsh_usage_invalid_option/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/04_chsh_usage_invalid_option/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/04_chsh_usage_invalid_option/config/etc/shadow b/tests/chage/04_chsh_usage_invalid_option/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/04_chsh_usage_invalid_option/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/04_chsh_usage_invalid_option/data/usage.out b/tests/chage/04_chsh_usage_invalid_option/data/usage.out new file mode 100644 index 00000000..21f71d61 --- /dev/null +++ b/tests/chage/04_chsh_usage_invalid_option/data/usage.out @@ -0,0 +1,17 @@ +chage: invalid option -- 'Z' +Usage: chage [options] LOGIN + +Options: + -d, --lastday LAST_DAY set date of last password change to LAST_DAY + -E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE + -h, --help display this help message and exit + -I, --inactive INACTIVE set password inactive after expiration + to INACTIVE + -l, --list show account aging information + -m, --mindays MIN_DAYS set minimum number of days before password + change to MIN_DAYS + -M, --maxdays MAX_DAYS set maximim number of days before password + change to MAX_DAYS + -R, --root CHROOT_DIR directory to chroot into + -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS + diff --git a/tests/chage/05_chsh_usage_2_users/chage.test b/tests/chage/05_chsh_usage_2_users/chage.test new file mode 100755 index 00000000..5860393c --- /dev/null +++ b/tests/chage/05_chsh_usage_2_users/chage.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage displays its usage message when 2 users are provided" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Use chage with 2 users (chage -I 12 bin nobody)..." +chage -I 12 bin nobody 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/05_chsh_usage_2_users/config.txt b/tests/chage/05_chsh_usage_2_users/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/05_chsh_usage_2_users/config/etc/group b/tests/chage/05_chsh_usage_2_users/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/05_chsh_usage_2_users/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/05_chsh_usage_2_users/config/etc/gshadow b/tests/chage/05_chsh_usage_2_users/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/05_chsh_usage_2_users/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/05_chsh_usage_2_users/config/etc/passwd b/tests/chage/05_chsh_usage_2_users/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/05_chsh_usage_2_users/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/05_chsh_usage_2_users/config/etc/shadow b/tests/chage/05_chsh_usage_2_users/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/05_chsh_usage_2_users/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/05_chsh_usage_2_users/data/usage.out b/tests/chage/05_chsh_usage_2_users/data/usage.out new file mode 100644 index 00000000..31df15c1 --- /dev/null +++ b/tests/chage/05_chsh_usage_2_users/data/usage.out @@ -0,0 +1,16 @@ +Usage: chage [options] LOGIN + +Options: + -d, --lastday LAST_DAY set date of last password change to LAST_DAY + -E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE + -h, --help display this help message and exit + -I, --inactive INACTIVE set password inactive after expiration + to INACTIVE + -l, --list show account aging information + -m, --mindays MIN_DAYS set minimum number of days before password + change to MIN_DAYS + -M, --maxdays MAX_DAYS set maximim number of days before password + change to MAX_DAYS + -R, --root CHROOT_DIR directory to chroot into + -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS + diff --git a/tests/chage/06_chsh_usage_no_users/chage.test b/tests/chage/06_chsh_usage_no_users/chage.test new file mode 100755 index 00000000..0851d6e3 --- /dev/null +++ b/tests/chage/06_chsh_usage_no_users/chage.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage displays its usage message when no users are provided" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Use chage without an user (chage -I 12)..." +chage -I 12 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/06_chsh_usage_no_users/config.txt b/tests/chage/06_chsh_usage_no_users/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/06_chsh_usage_no_users/config/etc/group b/tests/chage/06_chsh_usage_no_users/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/06_chsh_usage_no_users/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/06_chsh_usage_no_users/config/etc/gshadow b/tests/chage/06_chsh_usage_no_users/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/06_chsh_usage_no_users/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/06_chsh_usage_no_users/config/etc/passwd b/tests/chage/06_chsh_usage_no_users/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/06_chsh_usage_no_users/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/06_chsh_usage_no_users/config/etc/shadow b/tests/chage/06_chsh_usage_no_users/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/06_chsh_usage_no_users/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/06_chsh_usage_no_users/data/usage.out b/tests/chage/06_chsh_usage_no_users/data/usage.out new file mode 100644 index 00000000..31df15c1 --- /dev/null +++ b/tests/chage/06_chsh_usage_no_users/data/usage.out @@ -0,0 +1,16 @@ +Usage: chage [options] LOGIN + +Options: + -d, --lastday LAST_DAY set date of last password change to LAST_DAY + -E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE + -h, --help display this help message and exit + -I, --inactive INACTIVE set password inactive after expiration + to INACTIVE + -l, --list show account aging information + -m, --mindays MIN_DAYS set minimum number of days before password + change to MIN_DAYS + -M, --maxdays MAX_DAYS set maximim number of days before password + change to MAX_DAYS + -R, --root CHROOT_DIR directory to chroot into + -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS + diff --git a/tests/chage/07_chsh_usage-l_exclusive/chage.test b/tests/chage/07_chsh_usage-l_exclusive/chage.test new file mode 100755 index 00000000..9036f09c --- /dev/null +++ b/tests/chage/07_chsh_usage-l_exclusive/chage.test @@ -0,0 +1,57 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage displays its usage message when -l is used with another option" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +for opt in "-m 12" "-M 12" "-d 2011-09-11" "-W 12" "-I 12" "-E 2011-09-11" +do + echo -n "Use chage with -l and $opt (chage -l $opt bin)..." + chage -l $opt bin 2>tmp/usage.out && exit 1 || { + status=$? + } + echo "OK" + + echo -n "Check returned status ($status)..." + test "$status" = "2" + echo "OK" + + echo "chage reported:" + echo "=======================================================================" + cat tmp/usage.out + echo "=======================================================================" + echo -n "Check the usage message..." + diff -au data/usage.out tmp/usage.out + echo "usage message OK." + rm -f tmp/usage.out +done + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/07_chsh_usage-l_exclusive/config.txt b/tests/chage/07_chsh_usage-l_exclusive/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/07_chsh_usage-l_exclusive/config/etc/group b/tests/chage/07_chsh_usage-l_exclusive/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/07_chsh_usage-l_exclusive/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/07_chsh_usage-l_exclusive/config/etc/gshadow b/tests/chage/07_chsh_usage-l_exclusive/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/07_chsh_usage-l_exclusive/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/07_chsh_usage-l_exclusive/config/etc/passwd b/tests/chage/07_chsh_usage-l_exclusive/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/07_chsh_usage-l_exclusive/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/07_chsh_usage-l_exclusive/config/etc/shadow b/tests/chage/07_chsh_usage-l_exclusive/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/07_chsh_usage-l_exclusive/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/07_chsh_usage-l_exclusive/data/usage.out b/tests/chage/07_chsh_usage-l_exclusive/data/usage.out new file mode 100644 index 00000000..b006b608 --- /dev/null +++ b/tests/chage/07_chsh_usage-l_exclusive/data/usage.out @@ -0,0 +1,17 @@ +chage: do not include "l" with other flags +Usage: chage [options] LOGIN + +Options: + -d, --lastday LAST_DAY set date of last password change to LAST_DAY + -E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE + -h, --help display this help message and exit + -I, --inactive INACTIVE set password inactive after expiration + to INACTIVE + -l, --list show account aging information + -m, --mindays MIN_DAYS set minimum number of days before password + change to MIN_DAYS + -M, --maxdays MAX_DAYS set maximim number of days before password + change to MAX_DAYS + -R, --root CHROOT_DIR directory to chroot into + -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS + diff --git a/tests/chage/08_chsh_usage_invalid_date/chage.test b/tests/chage/08_chsh_usage_invalid_date/chage.test new file mode 100755 index 00000000..90007fc7 --- /dev/null +++ b/tests/chage/08_chsh_usage_invalid_date/chage.test @@ -0,0 +1,59 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage displays its usage message when -l is used with another option" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +for opt in "-d 2011-09" "-E 2011-09-09-11" +do + echo -n "Use chage with an invalid date (chage $opt bin)..." + chage $opt bin 2>tmp/usage.out && exit 1 || { + status=$? + } + echo "OK" + + echo -n "Check returned status ($status)..." + test "$status" = "2" + echo "OK" + + echo "chage reported:" + echo "=======================================================================" + cat tmp/usage.out + echo "=======================================================================" + d=$(echo $opt | cut -d' ' -f2) + sed -e "s/'$d'/'DATE'/" -i tmp/usage.out + echo -n "Check the usage message..." + diff -au data/usage.out tmp/usage.out + echo "usage message OK." + rm -f tmp/usage.out +done + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/08_chsh_usage_invalid_date/config.txt b/tests/chage/08_chsh_usage_invalid_date/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/08_chsh_usage_invalid_date/config/etc/group b/tests/chage/08_chsh_usage_invalid_date/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/08_chsh_usage_invalid_date/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/08_chsh_usage_invalid_date/config/etc/gshadow b/tests/chage/08_chsh_usage_invalid_date/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/08_chsh_usage_invalid_date/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/08_chsh_usage_invalid_date/config/etc/passwd b/tests/chage/08_chsh_usage_invalid_date/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/08_chsh_usage_invalid_date/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/08_chsh_usage_invalid_date/config/etc/shadow b/tests/chage/08_chsh_usage_invalid_date/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/08_chsh_usage_invalid_date/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/08_chsh_usage_invalid_date/data/usage.out b/tests/chage/08_chsh_usage_invalid_date/data/usage.out new file mode 100644 index 00000000..cb49bf8f --- /dev/null +++ b/tests/chage/08_chsh_usage_invalid_date/data/usage.out @@ -0,0 +1,17 @@ +chage: invalid date 'DATE' +Usage: chage [options] LOGIN + +Options: + -d, --lastday LAST_DAY set date of last password change to LAST_DAY + -E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE + -h, --help display this help message and exit + -I, --inactive INACTIVE set password inactive after expiration + to INACTIVE + -l, --list show account aging information + -m, --mindays MIN_DAYS set minimum number of days before password + change to MIN_DAYS + -M, --maxdays MAX_DAYS set maximim number of days before password + change to MAX_DAYS + -R, --root CHROOT_DIR directory to chroot into + -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS + diff --git a/tests/chage/09_chsh_usage_invalid_numeric_arg/chage.test b/tests/chage/09_chsh_usage_invalid_numeric_arg/chage.test new file mode 100755 index 00000000..36d11e59 --- /dev/null +++ b/tests/chage/09_chsh_usage_invalid_numeric_arg/chage.test @@ -0,0 +1,59 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage displays its usage message when -l is used with another option" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +for opt in "-I -12" "-m -12" "-M -12" "-W -12" "-I a" "-m 12.5" "-M 12a" "-W a12" +do + echo -n "Use chage with an invalid date (chage $opt bin)..." + chage $opt bin 2>tmp/usage.out && exit 1 || { + status=$? + } + echo "OK" + + echo -n "Check returned status ($status)..." + test "$status" = "2" + echo "OK" + + echo "chage reported:" + echo "=======================================================================" + cat tmp/usage.out + echo "=======================================================================" + v=$(echo $opt | cut -d' ' -f2) + sed -e "s/'$v'/'VAL'/" -i tmp/usage.out + echo -n "Check the usage message..." + diff -au data/usage.out tmp/usage.out + echo "usage message OK." + rm -f tmp/usage.out +done + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/09_chsh_usage_invalid_numeric_arg/config.txt b/tests/chage/09_chsh_usage_invalid_numeric_arg/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/group b/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/gshadow b/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/passwd b/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/shadow b/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/09_chsh_usage_invalid_numeric_arg/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/09_chsh_usage_invalid_numeric_arg/data/usage.out b/tests/chage/09_chsh_usage_invalid_numeric_arg/data/usage.out new file mode 100644 index 00000000..9fb70d60 --- /dev/null +++ b/tests/chage/09_chsh_usage_invalid_numeric_arg/data/usage.out @@ -0,0 +1,17 @@ +chage: invalid numeric argument 'VAL' +Usage: chage [options] LOGIN + +Options: + -d, --lastday LAST_DAY set date of last password change to LAST_DAY + -E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE + -h, --help display this help message and exit + -I, --inactive INACTIVE set password inactive after expiration + to INACTIVE + -l, --list show account aging information + -m, --mindays MIN_DAYS set minimum number of days before password + change to MIN_DAYS + -M, --maxdays MAX_DAYS set maximim number of days before password + change to MAX_DAYS + -R, --root CHROOT_DIR directory to chroot into + -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS + diff --git a/tests/chage/10_chsh-l/chage.test b/tests/chage/10_chsh-l/chage.test new file mode 100755 index 00000000..394c9813 --- /dev/null +++ b/tests/chage/10_chsh-l/chage.test @@ -0,0 +1,51 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage displays its usage message when -l is used with another option" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +for user in $(ls data/) +do + echo -n "Get $user aging info (chage -l $user)..." + chage -l $user >tmp/$user + echo "OK" + + echo "chage reported:" + echo "=======================================================================" + cat tmp/$user + echo "=======================================================================" + echo -n "Compare with expected output..." + diff -au data/$user tmp/$user + echo "OK" + rm -f tmp/$user +done + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/10_chsh-l/config.txt b/tests/chage/10_chsh-l/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/10_chsh-l/config/etc/group b/tests/chage/10_chsh-l/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/10_chsh-l/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/10_chsh-l/config/etc/gshadow b/tests/chage/10_chsh-l/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/10_chsh-l/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/10_chsh-l/config/etc/passwd b/tests/chage/10_chsh-l/config/etc/passwd new file mode 100644 index 00000000..31046cf6 --- /dev/null +++ b/tests/chage/10_chsh-l/config/etc/passwd @@ -0,0 +1,32 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash +myuser8:x:424249:424242::/home:/bin/bash +myuser9:x:424250:424242::/home:/bin/bash +myuser10:x:424251:424242::/home:/bin/bash +myuser11:x:424252:424242::/home:/bin/bash +myuser12:x:424253:424242::/home:/bin/bash +myuser13:x:424254:424242::/home:/bin/bash diff --git a/tests/chage/10_chsh-l/config/etc/shadow b/tests/chage/10_chsh-l/config/etc/shadow new file mode 100644 index 00000000..4b81469b --- /dev/null +++ b/tests/chage/10_chsh-l/config/etc/shadow @@ -0,0 +1,30 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:9999:7:1:: +myuser8:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.::0:9999:7:1:: +myuser9:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:0:0:9999:7:1:: +myuser10:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0::7:1:: +#myuser11:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:9999:7:1:: diff --git a/tests/chage/10_chsh-l/data/myuser1 b/tests/chage/10_chsh-l/data/myuser1 new file mode 100644 index 00000000..64754ca5 --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser1 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/10_chsh-l/data/myuser10 b/tests/chage/10_chsh-l/data/myuser10 new file mode 100644 index 00000000..8a9e5d12 --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser10 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : -1 +Number of days of warning before password expires : 7 diff --git a/tests/chage/10_chsh-l/data/myuser11 b/tests/chage/10_chsh-l/data/myuser11 new file mode 100644 index 00000000..a54ec7a7 --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser11 @@ -0,0 +1,7 @@ +Last password change : never +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : -1 +Maximum number of days between password change : -1 +Number of days of warning before password expires : -1 diff --git a/tests/chage/10_chsh-l/data/myuser2 b/tests/chage/10_chsh-l/data/myuser2 new file mode 100644 index 00000000..7efdc0cd --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser2 @@ -0,0 +1,7 @@ +Last password change : Jul 28, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 1 +Maximum number of days between password change : 99996 +Number of days of warning before password expires : 5 diff --git a/tests/chage/10_chsh-l/data/myuser3 b/tests/chage/10_chsh-l/data/myuser3 new file mode 100644 index 00000000..a263db9d --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser3 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : Jan 01, 1970 +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/10_chsh-l/data/myuser4 b/tests/chage/10_chsh-l/data/myuser4 new file mode 100644 index 00000000..11e2f2d9 --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser4 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : Jan 02, 1970 +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/10_chsh-l/data/myuser5 b/tests/chage/10_chsh-l/data/myuser5 new file mode 100644 index 00000000..64754ca5 --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser5 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/10_chsh-l/data/myuser6 b/tests/chage/10_chsh-l/data/myuser6 new file mode 100644 index 00000000..64754ca5 --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser6 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/10_chsh-l/data/myuser7 b/tests/chage/10_chsh-l/data/myuser7 new file mode 100644 index 00000000..63debfb9 --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser7 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : Dec 11, 2032 +Password inactive : Dec 12, 2032 +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 9999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/10_chsh-l/data/myuser8 b/tests/chage/10_chsh-l/data/myuser8 new file mode 100644 index 00000000..4a3f4bd3 --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser8 @@ -0,0 +1,7 @@ +Last password change : never +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 9999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/10_chsh-l/data/myuser9 b/tests/chage/10_chsh-l/data/myuser9 new file mode 100644 index 00000000..09f6fdca --- /dev/null +++ b/tests/chage/10_chsh-l/data/myuser9 @@ -0,0 +1,7 @@ +Last password change : password must be changed +Password expires : password must be changed +Password inactive : password must be changed +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 9999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/11_chsh_usage_invalid_user/chage.test b/tests/chage/11_chsh_usage_invalid_user/chage.test new file mode 100755 index 00000000..46d9d656 --- /dev/null +++ b/tests/chage/11_chsh_usage_invalid_user/chage.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage warns in case of invalid user" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Use chage with an invalid user (chage -I 12 foo)..." +chage -I 12 foo 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/11_chsh_usage_invalid_user/config.txt b/tests/chage/11_chsh_usage_invalid_user/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/11_chsh_usage_invalid_user/config/etc/group b/tests/chage/11_chsh_usage_invalid_user/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/11_chsh_usage_invalid_user/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/11_chsh_usage_invalid_user/config/etc/gshadow b/tests/chage/11_chsh_usage_invalid_user/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/11_chsh_usage_invalid_user/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/11_chsh_usage_invalid_user/config/etc/passwd b/tests/chage/11_chsh_usage_invalid_user/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/11_chsh_usage_invalid_user/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/11_chsh_usage_invalid_user/config/etc/shadow b/tests/chage/11_chsh_usage_invalid_user/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/11_chsh_usage_invalid_user/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/11_chsh_usage_invalid_user/data/usage.out b/tests/chage/11_chsh_usage_invalid_user/data/usage.out new file mode 100644 index 00000000..cdc8a1fa --- /dev/null +++ b/tests/chage/11_chsh_usage_invalid_user/data/usage.out @@ -0,0 +1 @@ +chage: user 'foo' does not exist in /etc/passwd diff --git a/tests/chage/12_chsh_usage-l_invalid_user2/chage.test b/tests/chage/12_chsh_usage-l_invalid_user2/chage.test new file mode 100755 index 00000000..d3b5255c --- /dev/null +++ b/tests/chage/12_chsh_usage-l_invalid_user2/chage.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage warns in case of invalid user" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Use chage with an invalid user (chage -l foo)..." +chage -l foo 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/12_chsh_usage-l_invalid_user2/config.txt b/tests/chage/12_chsh_usage-l_invalid_user2/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/group b/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/gshadow b/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/passwd b/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/shadow b/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/12_chsh_usage-l_invalid_user2/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/12_chsh_usage-l_invalid_user2/data/usage.out b/tests/chage/12_chsh_usage-l_invalid_user2/data/usage.out new file mode 100644 index 00000000..cdc8a1fa --- /dev/null +++ b/tests/chage/12_chsh_usage-l_invalid_user2/data/usage.out @@ -0,0 +1 @@ +chage: user 'foo' does not exist in /etc/passwd diff --git a/tests/chage/13_chsh_locked_passwd/chage.test b/tests/chage/13_chsh_locked_passwd/chage.test new file mode 100755 index 00000000..aeeb412a --- /dev/null +++ b/tests/chage/13_chsh_locked_passwd/chage.test @@ -0,0 +1,59 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage warns when passwd is already locked" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config; rm -f /etc/passwd.lock' 0 + +change_config + +echo -n "Create lock file for /etc/passwd..." +touch /etc/passwd.lock +echo "done" + +echo -n "Use chage with an invalid user (chage -I 12 bin)..." +chage -I 12 bin 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" +rm -f /etc/passwd.lock + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/13_chsh_locked_passwd/config.txt b/tests/chage/13_chsh_locked_passwd/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/13_chsh_locked_passwd/config/etc/group b/tests/chage/13_chsh_locked_passwd/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/13_chsh_locked_passwd/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/13_chsh_locked_passwd/config/etc/gshadow b/tests/chage/13_chsh_locked_passwd/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/13_chsh_locked_passwd/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/13_chsh_locked_passwd/config/etc/passwd b/tests/chage/13_chsh_locked_passwd/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/13_chsh_locked_passwd/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/13_chsh_locked_passwd/config/etc/shadow b/tests/chage/13_chsh_locked_passwd/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/13_chsh_locked_passwd/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/13_chsh_locked_passwd/data/usage.out b/tests/chage/13_chsh_locked_passwd/data/usage.out new file mode 100644 index 00000000..caa44b5f --- /dev/null +++ b/tests/chage/13_chsh_locked_passwd/data/usage.out @@ -0,0 +1,2 @@ +chage: existing lock file /etc/passwd.lock without a PID +chage: cannot lock /etc/passwd; try again later. diff --git a/tests/chage/14_chsh_locked_shadow/chage.test b/tests/chage/14_chsh_locked_shadow/chage.test new file mode 100755 index 00000000..3474d953 --- /dev/null +++ b/tests/chage/14_chsh_locked_shadow/chage.test @@ -0,0 +1,59 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage warns when shadow is already locked" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config; rm -f /etc/shadow.lock' 0 + +change_config + +echo -n "Create lock file for /etc/shadow..." +touch /etc/shadow.lock +echo "done" + +echo -n "Use chage with an invalid user (chage -I 12 bin)..." +chage -I 12 bin 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" +rm -f /etc/shadow.lock + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/14_chsh_locked_shadow/config.txt b/tests/chage/14_chsh_locked_shadow/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/14_chsh_locked_shadow/config/etc/group b/tests/chage/14_chsh_locked_shadow/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/14_chsh_locked_shadow/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/14_chsh_locked_shadow/config/etc/gshadow b/tests/chage/14_chsh_locked_shadow/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/14_chsh_locked_shadow/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/14_chsh_locked_shadow/config/etc/passwd b/tests/chage/14_chsh_locked_shadow/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/14_chsh_locked_shadow/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/14_chsh_locked_shadow/config/etc/shadow b/tests/chage/14_chsh_locked_shadow/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/14_chsh_locked_shadow/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/14_chsh_locked_shadow/data/usage.out b/tests/chage/14_chsh_locked_shadow/data/usage.out new file mode 100644 index 00000000..f396f3ca --- /dev/null +++ b/tests/chage/14_chsh_locked_shadow/data/usage.out @@ -0,0 +1,2 @@ +chage: existing lock file /etc/shadow.lock without a PID +chage: cannot lock /etc/shadow; try again later. diff --git a/tests/chage/15_chage-I_no_shadow_entry/chage.test b/tests/chage/15_chage-I_no_shadow_entry/chage.test new file mode 100755 index 00000000..77a06a26 --- /dev/null +++ b/tests/chage/15_chage-I_no_shadow_entry/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Change bin's inactivity period (chage -I 12 bin)..." +chage -I 12 bin +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/15_chage-I_no_shadow_entry/config.txt b/tests/chage/15_chage-I_no_shadow_entry/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/15_chage-I_no_shadow_entry/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/15_chage-I_no_shadow_entry/config/etc/group b/tests/chage/15_chage-I_no_shadow_entry/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/15_chage-I_no_shadow_entry/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/15_chage-I_no_shadow_entry/config/etc/gshadow b/tests/chage/15_chage-I_no_shadow_entry/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/15_chage-I_no_shadow_entry/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/15_chage-I_no_shadow_entry/config/etc/login.defs b/tests/chage/15_chage-I_no_shadow_entry/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/15_chage-I_no_shadow_entry/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/15_chage-I_no_shadow_entry/config/etc/passwd b/tests/chage/15_chage-I_no_shadow_entry/config/etc/passwd new file mode 100644 index 00000000..8656be41 --- /dev/null +++ b/tests/chage/15_chage-I_no_shadow_entry/config/etc/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:*:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/15_chage-I_no_shadow_entry/config/etc/shadow b/tests/chage/15_chage-I_no_shadow_entry/config/etc/shadow new file mode 100644 index 00000000..88faec23 --- /dev/null +++ b/tests/chage/15_chage-I_no_shadow_entry/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/chage/15_chage-I_no_shadow_entry/data/passwd b/tests/chage/15_chage-I_no_shadow_entry/data/passwd new file mode 100644 index 00000000..d9ad1e23 --- /dev/null +++ b/tests/chage/15_chage-I_no_shadow_entry/data/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/15_chage-I_no_shadow_entry/data/shadow b/tests/chage/15_chage-I_no_shadow_entry/data/shadow new file mode 100644 index 00000000..d32d937b --- /dev/null +++ b/tests/chage/15_chage-I_no_shadow_entry/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +bin:*:::::12:: diff --git a/tests/chage/16_chage-m_no_shadow_entry/chage.test b/tests/chage/16_chage-m_no_shadow_entry/chage.test new file mode 100755 index 00000000..778a65aa --- /dev/null +++ b/tests/chage/16_chage-m_no_shadow_entry/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Change bin's mindays (chage -m 12 bin)..." +chage -m 12 bin +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/16_chage-m_no_shadow_entry/config.txt b/tests/chage/16_chage-m_no_shadow_entry/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/16_chage-m_no_shadow_entry/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/16_chage-m_no_shadow_entry/config/etc/group b/tests/chage/16_chage-m_no_shadow_entry/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/16_chage-m_no_shadow_entry/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/16_chage-m_no_shadow_entry/config/etc/gshadow b/tests/chage/16_chage-m_no_shadow_entry/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/16_chage-m_no_shadow_entry/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/16_chage-m_no_shadow_entry/config/etc/login.defs b/tests/chage/16_chage-m_no_shadow_entry/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/16_chage-m_no_shadow_entry/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/16_chage-m_no_shadow_entry/config/etc/passwd b/tests/chage/16_chage-m_no_shadow_entry/config/etc/passwd new file mode 100644 index 00000000..8656be41 --- /dev/null +++ b/tests/chage/16_chage-m_no_shadow_entry/config/etc/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:*:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/16_chage-m_no_shadow_entry/config/etc/shadow b/tests/chage/16_chage-m_no_shadow_entry/config/etc/shadow new file mode 100644 index 00000000..88faec23 --- /dev/null +++ b/tests/chage/16_chage-m_no_shadow_entry/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/chage/16_chage-m_no_shadow_entry/data/passwd b/tests/chage/16_chage-m_no_shadow_entry/data/passwd new file mode 100644 index 00000000..d9ad1e23 --- /dev/null +++ b/tests/chage/16_chage-m_no_shadow_entry/data/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/16_chage-m_no_shadow_entry/data/shadow b/tests/chage/16_chage-m_no_shadow_entry/data/shadow new file mode 100644 index 00000000..dc6bc8bb --- /dev/null +++ b/tests/chage/16_chage-m_no_shadow_entry/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +bin:*::12::::: diff --git a/tests/chage/17_chage-M_no_shadow_entry/chage.test b/tests/chage/17_chage-M_no_shadow_entry/chage.test new file mode 100755 index 00000000..6b70f066 --- /dev/null +++ b/tests/chage/17_chage-M_no_shadow_entry/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Change bin's mindays (chage -M 12 bin)..." +chage -M 12 bin +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/17_chage-M_no_shadow_entry/config.txt b/tests/chage/17_chage-M_no_shadow_entry/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/17_chage-M_no_shadow_entry/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/17_chage-M_no_shadow_entry/config/etc/group b/tests/chage/17_chage-M_no_shadow_entry/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/17_chage-M_no_shadow_entry/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/17_chage-M_no_shadow_entry/config/etc/gshadow b/tests/chage/17_chage-M_no_shadow_entry/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/17_chage-M_no_shadow_entry/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/17_chage-M_no_shadow_entry/config/etc/login.defs b/tests/chage/17_chage-M_no_shadow_entry/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/17_chage-M_no_shadow_entry/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/17_chage-M_no_shadow_entry/config/etc/passwd b/tests/chage/17_chage-M_no_shadow_entry/config/etc/passwd new file mode 100644 index 00000000..8656be41 --- /dev/null +++ b/tests/chage/17_chage-M_no_shadow_entry/config/etc/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:*:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/17_chage-M_no_shadow_entry/config/etc/shadow b/tests/chage/17_chage-M_no_shadow_entry/config/etc/shadow new file mode 100644 index 00000000..88faec23 --- /dev/null +++ b/tests/chage/17_chage-M_no_shadow_entry/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/chage/17_chage-M_no_shadow_entry/data/passwd b/tests/chage/17_chage-M_no_shadow_entry/data/passwd new file mode 100644 index 00000000..d9ad1e23 --- /dev/null +++ b/tests/chage/17_chage-M_no_shadow_entry/data/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/17_chage-M_no_shadow_entry/data/shadow b/tests/chage/17_chage-M_no_shadow_entry/data/shadow new file mode 100644 index 00000000..fb623f7c --- /dev/null +++ b/tests/chage/17_chage-M_no_shadow_entry/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +bin:*:::12:::: diff --git a/tests/chage/18_chage-d_no_shadow_entry/chage.test b/tests/chage/18_chage-d_no_shadow_entry/chage.test new file mode 100755 index 00000000..fb56cef8 --- /dev/null +++ b/tests/chage/18_chage-d_no_shadow_entry/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Change bin's mindays (chage -d 2011-09-11 bin)..." +chage -d 2011-09-11 bin +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/18_chage-d_no_shadow_entry/config.txt b/tests/chage/18_chage-d_no_shadow_entry/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/18_chage-d_no_shadow_entry/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/18_chage-d_no_shadow_entry/config/etc/group b/tests/chage/18_chage-d_no_shadow_entry/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/18_chage-d_no_shadow_entry/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/18_chage-d_no_shadow_entry/config/etc/gshadow b/tests/chage/18_chage-d_no_shadow_entry/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/18_chage-d_no_shadow_entry/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/18_chage-d_no_shadow_entry/config/etc/login.defs b/tests/chage/18_chage-d_no_shadow_entry/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/18_chage-d_no_shadow_entry/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/18_chage-d_no_shadow_entry/config/etc/passwd b/tests/chage/18_chage-d_no_shadow_entry/config/etc/passwd new file mode 100644 index 00000000..8656be41 --- /dev/null +++ b/tests/chage/18_chage-d_no_shadow_entry/config/etc/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:*:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/18_chage-d_no_shadow_entry/config/etc/shadow b/tests/chage/18_chage-d_no_shadow_entry/config/etc/shadow new file mode 100644 index 00000000..88faec23 --- /dev/null +++ b/tests/chage/18_chage-d_no_shadow_entry/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/chage/18_chage-d_no_shadow_entry/data/passwd b/tests/chage/18_chage-d_no_shadow_entry/data/passwd new file mode 100644 index 00000000..d9ad1e23 --- /dev/null +++ b/tests/chage/18_chage-d_no_shadow_entry/data/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/18_chage-d_no_shadow_entry/data/shadow b/tests/chage/18_chage-d_no_shadow_entry/data/shadow new file mode 100644 index 00000000..df82e6ca --- /dev/null +++ b/tests/chage/18_chage-d_no_shadow_entry/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +bin:*:15228:::::: diff --git a/tests/chage/19_chage-W_no_shadow_entry/chage.test b/tests/chage/19_chage-W_no_shadow_entry/chage.test new file mode 100755 index 00000000..410ccbb9 --- /dev/null +++ b/tests/chage/19_chage-W_no_shadow_entry/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Change bin's mindays (chage -W 12 bin)..." +chage -W 12 bin +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/19_chage-W_no_shadow_entry/config.txt b/tests/chage/19_chage-W_no_shadow_entry/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/19_chage-W_no_shadow_entry/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/19_chage-W_no_shadow_entry/config/etc/group b/tests/chage/19_chage-W_no_shadow_entry/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/19_chage-W_no_shadow_entry/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/19_chage-W_no_shadow_entry/config/etc/gshadow b/tests/chage/19_chage-W_no_shadow_entry/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/19_chage-W_no_shadow_entry/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/19_chage-W_no_shadow_entry/config/etc/login.defs b/tests/chage/19_chage-W_no_shadow_entry/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/19_chage-W_no_shadow_entry/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/19_chage-W_no_shadow_entry/config/etc/passwd b/tests/chage/19_chage-W_no_shadow_entry/config/etc/passwd new file mode 100644 index 00000000..8656be41 --- /dev/null +++ b/tests/chage/19_chage-W_no_shadow_entry/config/etc/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:*:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/19_chage-W_no_shadow_entry/config/etc/shadow b/tests/chage/19_chage-W_no_shadow_entry/config/etc/shadow new file mode 100644 index 00000000..88faec23 --- /dev/null +++ b/tests/chage/19_chage-W_no_shadow_entry/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/chage/19_chage-W_no_shadow_entry/data/passwd b/tests/chage/19_chage-W_no_shadow_entry/data/passwd new file mode 100644 index 00000000..d9ad1e23 --- /dev/null +++ b/tests/chage/19_chage-W_no_shadow_entry/data/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/19_chage-W_no_shadow_entry/data/shadow b/tests/chage/19_chage-W_no_shadow_entry/data/shadow new file mode 100644 index 00000000..32654238 --- /dev/null +++ b/tests/chage/19_chage-W_no_shadow_entry/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +bin:*::::12::: diff --git a/tests/chage/20_chage-E_no_shadow_entry/chage.test b/tests/chage/20_chage-E_no_shadow_entry/chage.test new file mode 100755 index 00000000..52079f7e --- /dev/null +++ b/tests/chage/20_chage-E_no_shadow_entry/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Change bin's mindays (chage -E 2011-09-11 bin)..." +chage -E 2011-09-11 bin +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/20_chage-E_no_shadow_entry/config.txt b/tests/chage/20_chage-E_no_shadow_entry/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/20_chage-E_no_shadow_entry/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/20_chage-E_no_shadow_entry/config/etc/group b/tests/chage/20_chage-E_no_shadow_entry/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/20_chage-E_no_shadow_entry/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/20_chage-E_no_shadow_entry/config/etc/gshadow b/tests/chage/20_chage-E_no_shadow_entry/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/20_chage-E_no_shadow_entry/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/20_chage-E_no_shadow_entry/config/etc/login.defs b/tests/chage/20_chage-E_no_shadow_entry/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/20_chage-E_no_shadow_entry/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/20_chage-E_no_shadow_entry/config/etc/passwd b/tests/chage/20_chage-E_no_shadow_entry/config/etc/passwd new file mode 100644 index 00000000..8656be41 --- /dev/null +++ b/tests/chage/20_chage-E_no_shadow_entry/config/etc/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:*:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/20_chage-E_no_shadow_entry/config/etc/shadow b/tests/chage/20_chage-E_no_shadow_entry/config/etc/shadow new file mode 100644 index 00000000..88faec23 --- /dev/null +++ b/tests/chage/20_chage-E_no_shadow_entry/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/chage/20_chage-E_no_shadow_entry/data/passwd b/tests/chage/20_chage-E_no_shadow_entry/data/passwd new file mode 100644 index 00000000..d9ad1e23 --- /dev/null +++ b/tests/chage/20_chage-E_no_shadow_entry/data/passwd @@ -0,0 +1,20 @@ +root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:*:102:102::/var/spool/exim4:/bin/false +foo:abc:1000:1000::/nonexistent:/bin/sh diff --git a/tests/chage/20_chage-E_no_shadow_entry/data/shadow b/tests/chage/20_chage-E_no_shadow_entry/data/shadow new file mode 100644 index 00000000..752a49af --- /dev/null +++ b/tests/chage/20_chage-E_no_shadow_entry/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +bin:*::::::15228: diff --git a/tests/chage/21_chage_no_shadow_file/chage.test b/tests/chage/21_chage_no_shadow_file/chage.test new file mode 100755 index 00000000..c2e8d0ed --- /dev/null +++ b/tests/chage/21_chage_no_shadow_file/chage.test @@ -0,0 +1,58 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage warns when shadow is not enabled" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Remove /etc/shadow..." +rm -f /etc/shadow +echo "OK" + +echo -n "Use chage with an invalid user (chage -I 12 bin)..." +chage -I 12 bin 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "15" +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +test ! -f /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/21_chage_no_shadow_file/config.txt b/tests/chage/21_chage_no_shadow_file/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/21_chage_no_shadow_file/config/etc/group b/tests/chage/21_chage_no_shadow_file/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/21_chage_no_shadow_file/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/21_chage_no_shadow_file/config/etc/gshadow b/tests/chage/21_chage_no_shadow_file/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/21_chage_no_shadow_file/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/21_chage_no_shadow_file/config/etc/passwd b/tests/chage/21_chage_no_shadow_file/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/21_chage_no_shadow_file/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/21_chage_no_shadow_file/config/etc/shadow b/tests/chage/21_chage_no_shadow_file/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/21_chage_no_shadow_file/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/21_chage_no_shadow_file/data/usage.out b/tests/chage/21_chage_no_shadow_file/data/usage.out new file mode 100644 index 00000000..07d7a30e --- /dev/null +++ b/tests/chage/21_chage_no_shadow_file/data/usage.out @@ -0,0 +1 @@ +chage: the shadow password file is not present diff --git a/tests/chage/22_chage_myuser-l/chage.test b/tests/chage/22_chage_myuser-l/chage.test new file mode 100755 index 00000000..34ad36d2 --- /dev/null +++ b/tests/chage/22_chage_myuser-l/chage.test @@ -0,0 +1,51 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage can be used to show one's aging info" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +for user in $(ls data/) +do + echo -n "Get $user aging info (chage -l $user)..." + su myuser1 -c "chage -l $user" >tmp/$user + echo "OK" + + echo "chage reported:" + echo "=======================================================================" + cat tmp/$user + echo "=======================================================================" + echo -n "Compare with expected output..." + diff -au data/$user tmp/$user + echo "OK" + rm -f tmp/$user +done + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/22_chage_myuser-l/config.txt b/tests/chage/22_chage_myuser-l/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/22_chage_myuser-l/config/etc/group b/tests/chage/22_chage_myuser-l/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/22_chage_myuser-l/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/22_chage_myuser-l/config/etc/gshadow b/tests/chage/22_chage_myuser-l/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/22_chage_myuser-l/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/22_chage_myuser-l/config/etc/passwd b/tests/chage/22_chage_myuser-l/config/etc/passwd new file mode 100644 index 00000000..31046cf6 --- /dev/null +++ b/tests/chage/22_chage_myuser-l/config/etc/passwd @@ -0,0 +1,32 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash +myuser8:x:424249:424242::/home:/bin/bash +myuser9:x:424250:424242::/home:/bin/bash +myuser10:x:424251:424242::/home:/bin/bash +myuser11:x:424252:424242::/home:/bin/bash +myuser12:x:424253:424242::/home:/bin/bash +myuser13:x:424254:424242::/home:/bin/bash diff --git a/tests/chage/22_chage_myuser-l/config/etc/shadow b/tests/chage/22_chage_myuser-l/config/etc/shadow new file mode 100644 index 00000000..4b81469b --- /dev/null +++ b/tests/chage/22_chage_myuser-l/config/etc/shadow @@ -0,0 +1,30 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:9999:7:1:: +myuser8:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.::0:9999:7:1:: +myuser9:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:0:0:9999:7:1:: +myuser10:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0::7:1:: +#myuser11:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:9999:7:1:: diff --git a/tests/chage/22_chage_myuser-l/data/myuser1 b/tests/chage/22_chage_myuser-l/data/myuser1 new file mode 100644 index 00000000..64754ca5 --- /dev/null +++ b/tests/chage/22_chage_myuser-l/data/myuser1 @@ -0,0 +1,7 @@ +Last password change : Jul 27, 2005 +Password expires : never +Password inactive : never +Account expires : never +Minimum number of days between password change : 0 +Maximum number of days between password change : 99999 +Number of days of warning before password expires : 7 diff --git a/tests/chage/23_chage_myuser-I/chage.test b/tests/chage/23_chage_myuser-I/chage.test new file mode 100755 index 00000000..0bd70435 --- /dev/null +++ b/tests/chage/23_chage_myuser-I/chage.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage forbids to change aging info" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "myusers1 uses chage to change myuser1 aging info (chage -I 12 myuser2)..." +su myuser1 -c "chage -I 12 myuser1" 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/23_chage_myuser-I/config.txt b/tests/chage/23_chage_myuser-I/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/23_chage_myuser-I/config/etc/group b/tests/chage/23_chage_myuser-I/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/23_chage_myuser-I/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/23_chage_myuser-I/config/etc/gshadow b/tests/chage/23_chage_myuser-I/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/23_chage_myuser-I/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/23_chage_myuser-I/config/etc/passwd b/tests/chage/23_chage_myuser-I/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/23_chage_myuser-I/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/23_chage_myuser-I/config/etc/shadow b/tests/chage/23_chage_myuser-I/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/23_chage_myuser-I/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/23_chage_myuser-I/data/usage.out b/tests/chage/23_chage_myuser-I/data/usage.out new file mode 100644 index 00000000..dc0d6ca5 --- /dev/null +++ b/tests/chage/23_chage_myuser-I/data/usage.out @@ -0,0 +1 @@ +chage: Permission denied. diff --git a/tests/chage/24_chage_myuser-l_other/chage.test b/tests/chage/24_chage_myuser-l_other/chage.test new file mode 100755 index 00000000..ef2f8e23 --- /dev/null +++ b/tests/chage/24_chage_myuser-l_other/chage.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage forbids to get other accounts aging info" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "myusers1 uses chage to get myuser2 aging info (chage -l myuser2)..." +su myuser1 -c "chage -l myuser2" 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "chage reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/24_chage_myuser-l_other/config.txt b/tests/chage/24_chage_myuser-l_other/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chage/24_chage_myuser-l_other/config/etc/group b/tests/chage/24_chage_myuser-l_other/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chage/24_chage_myuser-l_other/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chage/24_chage_myuser-l_other/config/etc/gshadow b/tests/chage/24_chage_myuser-l_other/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chage/24_chage_myuser-l_other/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chage/24_chage_myuser-l_other/config/etc/passwd b/tests/chage/24_chage_myuser-l_other/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/24_chage_myuser-l_other/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/24_chage_myuser-l_other/config/etc/shadow b/tests/chage/24_chage_myuser-l_other/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/24_chage_myuser-l_other/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/24_chage_myuser-l_other/data/usage.out b/tests/chage/24_chage_myuser-l_other/data/usage.out new file mode 100644 index 00000000..dc0d6ca5 --- /dev/null +++ b/tests/chage/24_chage_myuser-l_other/data/usage.out @@ -0,0 +1 @@ +chage: Permission denied. diff --git a/tests/chage/25_chage_interractive/chage.test b/tests/chage/25_chage_interractive/chage.test new file mode 100755 index 00000000..01f957f4 --- /dev/null +++ b/tests/chage/25_chage_interractive/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/25_chage_interractive/config.txt b/tests/chage/25_chage_interractive/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/25_chage_interractive/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/25_chage_interractive/config/etc/group b/tests/chage/25_chage_interractive/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/25_chage_interractive/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/25_chage_interractive/config/etc/gshadow b/tests/chage/25_chage_interractive/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/25_chage_interractive/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/25_chage_interractive/config/etc/login.defs b/tests/chage/25_chage_interractive/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/25_chage_interractive/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/25_chage_interractive/config/etc/passwd b/tests/chage/25_chage_interractive/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/25_chage_interractive/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/25_chage_interractive/config/etc/shadow b/tests/chage/25_chage_interractive/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/25_chage_interractive/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/25_chage_interractive/data/shadow b/tests/chage/25_chage_interractive/data/shadow new file mode 100644 index 00000000..334494ac --- /dev/null +++ b/tests/chage/25_chage_interractive/data/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12990:13:14:9:35:15548: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/25_chage_interractive/run.exp b/tests/chage/25_chage_interractive/run.exp new file mode 100755 index 00000000..5b4b1d0b --- /dev/null +++ b/tests/chage/25_chage_interractive/run.exp @@ -0,0 +1,31 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "13\r" +expect -re "Maximum Password Age .99999\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "2005-07-26\r" +expect -re "Password Expiration Warning .7\]: " +send "9\r" +expect -re "Password Inactive .-1\]: " +send "35\r" +expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +send "2012-07-27\r" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/26_chage_interractive_date_0/chage.test b/tests/chage/26_chage_interractive_date_0/chage.test new file mode 100755 index 00000000..01f957f4 --- /dev/null +++ b/tests/chage/26_chage_interractive_date_0/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/26_chage_interractive_date_0/config.txt b/tests/chage/26_chage_interractive_date_0/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/26_chage_interractive_date_0/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/26_chage_interractive_date_0/config/etc/group b/tests/chage/26_chage_interractive_date_0/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/26_chage_interractive_date_0/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/26_chage_interractive_date_0/config/etc/gshadow b/tests/chage/26_chage_interractive_date_0/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/26_chage_interractive_date_0/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/26_chage_interractive_date_0/config/etc/login.defs b/tests/chage/26_chage_interractive_date_0/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/26_chage_interractive_date_0/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/26_chage_interractive_date_0/config/etc/passwd b/tests/chage/26_chage_interractive_date_0/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/26_chage_interractive_date_0/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/26_chage_interractive_date_0/config/etc/shadow b/tests/chage/26_chage_interractive_date_0/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/26_chage_interractive_date_0/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/26_chage_interractive_date_0/data/shadow b/tests/chage/26_chage_interractive_date_0/data/shadow new file mode 100644 index 00000000..293987c1 --- /dev/null +++ b/tests/chage/26_chage_interractive_date_0/data/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:0:13:14:9:35:0: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/26_chage_interractive_date_0/run.exp b/tests/chage/26_chage_interractive_date_0/run.exp new file mode 100755 index 00000000..2f97abbd --- /dev/null +++ b/tests/chage/26_chage_interractive_date_0/run.exp @@ -0,0 +1,31 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "13\r" +expect -re "Maximum Password Age .99999\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "0\r" +expect -re "Password Expiration Warning .7\]: " +send "9\r" +expect -re "Password Inactive .-1\]: " +send "35\r" +expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +send "0\r" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/27_chage_interractive_date_-1/chage.test b/tests/chage/27_chage_interractive_date_-1/chage.test new file mode 100755 index 00000000..01f957f4 --- /dev/null +++ b/tests/chage/27_chage_interractive_date_-1/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/27_chage_interractive_date_-1/config.txt b/tests/chage/27_chage_interractive_date_-1/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/27_chage_interractive_date_-1/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/27_chage_interractive_date_-1/config/etc/group b/tests/chage/27_chage_interractive_date_-1/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/27_chage_interractive_date_-1/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/27_chage_interractive_date_-1/config/etc/gshadow b/tests/chage/27_chage_interractive_date_-1/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/27_chage_interractive_date_-1/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/27_chage_interractive_date_-1/config/etc/login.defs b/tests/chage/27_chage_interractive_date_-1/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/27_chage_interractive_date_-1/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/27_chage_interractive_date_-1/config/etc/passwd b/tests/chage/27_chage_interractive_date_-1/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/27_chage_interractive_date_-1/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/27_chage_interractive_date_-1/config/etc/shadow b/tests/chage/27_chage_interractive_date_-1/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/27_chage_interractive_date_-1/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/27_chage_interractive_date_-1/data/shadow b/tests/chage/27_chage_interractive_date_-1/data/shadow new file mode 100644 index 00000000..800f1a22 --- /dev/null +++ b/tests/chage/27_chage_interractive_date_-1/data/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.::13:14:9:35:: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/27_chage_interractive_date_-1/run.exp b/tests/chage/27_chage_interractive_date_-1/run.exp new file mode 100755 index 00000000..f4c20a1b --- /dev/null +++ b/tests/chage/27_chage_interractive_date_-1/run.exp @@ -0,0 +1,31 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "13\r" +expect -re "Maximum Password Age .99999\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send -- "-1\r" +expect -re "Password Expiration Warning .7\]: " +send "9\r" +expect -re "Password Inactive .-1\]: " +send "35\r" +expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +send -- "-1\r" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/28_chage_interractive_date_EPOCH/chage.test b/tests/chage/28_chage_interractive_date_EPOCH/chage.test new file mode 100755 index 00000000..01f957f4 --- /dev/null +++ b/tests/chage/28_chage_interractive_date_EPOCH/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/28_chage_interractive_date_EPOCH/config.txt b/tests/chage/28_chage_interractive_date_EPOCH/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/28_chage_interractive_date_EPOCH/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/28_chage_interractive_date_EPOCH/config/etc/group b/tests/chage/28_chage_interractive_date_EPOCH/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/28_chage_interractive_date_EPOCH/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/28_chage_interractive_date_EPOCH/config/etc/gshadow b/tests/chage/28_chage_interractive_date_EPOCH/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/28_chage_interractive_date_EPOCH/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/28_chage_interractive_date_EPOCH/config/etc/login.defs b/tests/chage/28_chage_interractive_date_EPOCH/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/28_chage_interractive_date_EPOCH/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/28_chage_interractive_date_EPOCH/config/etc/passwd b/tests/chage/28_chage_interractive_date_EPOCH/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/28_chage_interractive_date_EPOCH/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/28_chage_interractive_date_EPOCH/config/etc/shadow b/tests/chage/28_chage_interractive_date_EPOCH/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/28_chage_interractive_date_EPOCH/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/28_chage_interractive_date_EPOCH/data/shadow b/tests/chage/28_chage_interractive_date_EPOCH/data/shadow new file mode 100644 index 00000000..293987c1 --- /dev/null +++ b/tests/chage/28_chage_interractive_date_EPOCH/data/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:0:13:14:9:35:0: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/28_chage_interractive_date_EPOCH/run.exp b/tests/chage/28_chage_interractive_date_EPOCH/run.exp new file mode 100755 index 00000000..a93e8cc9 --- /dev/null +++ b/tests/chage/28_chage_interractive_date_EPOCH/run.exp @@ -0,0 +1,31 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "13\r" +expect -re "Maximum Password Age .99999\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "1970-01-01\r" +expect -re "Password Expiration Warning .7\]: " +send "9\r" +expect -re "Password Inactive .-1\]: " +send "35\r" +expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +send "1970-01-01\r" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/29_chage_interractive_date_pre-EPOCH/chage.test b/tests/chage/29_chage_interractive_date_pre-EPOCH/chage.test new file mode 100755 index 00000000..99f2df4d --- /dev/null +++ b/tests/chage/29_chage_interractive_date_pre-EPOCH/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/29_chage_interractive_date_pre-EPOCH/config.txt b/tests/chage/29_chage_interractive_date_pre-EPOCH/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/29_chage_interractive_date_pre-EPOCH/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/group b/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/gshadow b/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/login.defs b/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/passwd b/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/shadow b/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/29_chage_interractive_date_pre-EPOCH/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/29_chage_interractive_date_pre-EPOCH/run.exp b/tests/chage/29_chage_interractive_date_pre-EPOCH/run.exp new file mode 100755 index 00000000..a43fd042 --- /dev/null +++ b/tests/chage/29_chage_interractive_date_pre-EPOCH/run.exp @@ -0,0 +1,26 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "13\r" +expect -re "Maximum Password Age .99999\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "1900-01-01\r" +expect "chage: error changing fields\r\n" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/30_chage_interractive_date_pre-EPOCH2/chage.test b/tests/chage/30_chage_interractive_date_pre-EPOCH2/chage.test new file mode 100755 index 00000000..99f2df4d --- /dev/null +++ b/tests/chage/30_chage_interractive_date_pre-EPOCH2/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/30_chage_interractive_date_pre-EPOCH2/config.txt b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/group b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/gshadow b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/login.defs b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/passwd b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/shadow b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/30_chage_interractive_date_pre-EPOCH2/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/30_chage_interractive_date_pre-EPOCH2/run.exp b/tests/chage/30_chage_interractive_date_pre-EPOCH2/run.exp new file mode 100755 index 00000000..9c3c5db0 --- /dev/null +++ b/tests/chage/30_chage_interractive_date_pre-EPOCH2/run.exp @@ -0,0 +1,32 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "13\r" +expect -re "Maximum Password Age .99999\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "1970-01-01\r" +expect -re "Password Expiration Warning .7\]: " +send "9\r" +expect -re "Password Inactive .-1\]: " +send "35\r" +expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +send "1900-01-01\r" +expect "chage: error changing fields\r\n" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/31_chage_interractive_date_invalid/chage.test b/tests/chage/31_chage_interractive_date_invalid/chage.test new file mode 100755 index 00000000..84e9390a --- /dev/null +++ b/tests/chage/31_chage_interractive_date_invalid/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config; rm -f /etc/passwd.lock /etc/shadow.lock' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/31_chage_interractive_date_invalid/config.txt b/tests/chage/31_chage_interractive_date_invalid/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/31_chage_interractive_date_invalid/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/31_chage_interractive_date_invalid/config/etc/group b/tests/chage/31_chage_interractive_date_invalid/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/31_chage_interractive_date_invalid/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/31_chage_interractive_date_invalid/config/etc/gshadow b/tests/chage/31_chage_interractive_date_invalid/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/31_chage_interractive_date_invalid/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/31_chage_interractive_date_invalid/config/etc/login.defs b/tests/chage/31_chage_interractive_date_invalid/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/31_chage_interractive_date_invalid/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/31_chage_interractive_date_invalid/config/etc/passwd b/tests/chage/31_chage_interractive_date_invalid/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/31_chage_interractive_date_invalid/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/31_chage_interractive_date_invalid/config/etc/shadow b/tests/chage/31_chage_interractive_date_invalid/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/31_chage_interractive_date_invalid/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/31_chage_interractive_date_invalid/run.exp b/tests/chage/31_chage_interractive_date_invalid/run.exp new file mode 100755 index 00000000..91551d4a --- /dev/null +++ b/tests/chage/31_chage_interractive_date_invalid/run.exp @@ -0,0 +1,26 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "13\r" +expect -re "Maximum Password Age .99999\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "2000-13-42\r" +expect "chage: error changing fields\r\n" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/32_chage_interractive_date_invalid2/chage.test b/tests/chage/32_chage_interractive_date_invalid2/chage.test new file mode 100755 index 00000000..99f2df4d --- /dev/null +++ b/tests/chage/32_chage_interractive_date_invalid2/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/32_chage_interractive_date_invalid2/config.txt b/tests/chage/32_chage_interractive_date_invalid2/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/32_chage_interractive_date_invalid2/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/32_chage_interractive_date_invalid2/config/etc/group b/tests/chage/32_chage_interractive_date_invalid2/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/32_chage_interractive_date_invalid2/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/32_chage_interractive_date_invalid2/config/etc/gshadow b/tests/chage/32_chage_interractive_date_invalid2/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/32_chage_interractive_date_invalid2/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/32_chage_interractive_date_invalid2/config/etc/login.defs b/tests/chage/32_chage_interractive_date_invalid2/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/32_chage_interractive_date_invalid2/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/32_chage_interractive_date_invalid2/config/etc/passwd b/tests/chage/32_chage_interractive_date_invalid2/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/32_chage_interractive_date_invalid2/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/32_chage_interractive_date_invalid2/config/etc/shadow b/tests/chage/32_chage_interractive_date_invalid2/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/32_chage_interractive_date_invalid2/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/32_chage_interractive_date_invalid2/run.exp b/tests/chage/32_chage_interractive_date_invalid2/run.exp new file mode 100755 index 00000000..edc3f78b --- /dev/null +++ b/tests/chage/32_chage_interractive_date_invalid2/run.exp @@ -0,0 +1,26 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "13\r" +expect -re "Maximum Password Age .99999\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "2000-mm-42\r" +expect "chage: error changing fields\r\n" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/33_chage_interractive-W_invalid1/chage.test b/tests/chage/33_chage_interractive-W_invalid1/chage.test new file mode 100755 index 00000000..fc4dd9d2 --- /dev/null +++ b/tests/chage/33_chage_interractive-W_invalid1/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage interractive session checks field validity" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/33_chage_interractive-W_invalid1/config.txt b/tests/chage/33_chage_interractive-W_invalid1/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/33_chage_interractive-W_invalid1/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/33_chage_interractive-W_invalid1/config/etc/group b/tests/chage/33_chage_interractive-W_invalid1/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/33_chage_interractive-W_invalid1/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/33_chage_interractive-W_invalid1/config/etc/gshadow b/tests/chage/33_chage_interractive-W_invalid1/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/33_chage_interractive-W_invalid1/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/33_chage_interractive-W_invalid1/config/etc/login.defs b/tests/chage/33_chage_interractive-W_invalid1/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/33_chage_interractive-W_invalid1/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/33_chage_interractive-W_invalid1/config/etc/passwd b/tests/chage/33_chage_interractive-W_invalid1/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/33_chage_interractive-W_invalid1/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/33_chage_interractive-W_invalid1/config/etc/shadow b/tests/chage/33_chage_interractive-W_invalid1/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/33_chage_interractive-W_invalid1/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/33_chage_interractive-W_invalid1/run.exp b/tests/chage/33_chage_interractive-W_invalid1/run.exp new file mode 100755 index 00000000..ac50231b --- /dev/null +++ b/tests/chage/33_chage_interractive-W_invalid1/run.exp @@ -0,0 +1,32 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "13\r" +expect -re "Maximum Password Age .99999\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "0\r" +expect -re "Password Expiration Warning .7\]: " +send "9a\r" +#expect -re "Password Inactive .-1\]: " +#send "35\r" +#expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +#send "0\r" +expect "chage: error changing fields\r\n" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/34_chage_interractive-W_invalid2/chage.test b/tests/chage/34_chage_interractive-W_invalid2/chage.test new file mode 100755 index 00000000..fc4dd9d2 --- /dev/null +++ b/tests/chage/34_chage_interractive-W_invalid2/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage interractive session checks field validity" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/34_chage_interractive-W_invalid2/config.txt b/tests/chage/34_chage_interractive-W_invalid2/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/34_chage_interractive-W_invalid2/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/34_chage_interractive-W_invalid2/config/etc/group b/tests/chage/34_chage_interractive-W_invalid2/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/34_chage_interractive-W_invalid2/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/34_chage_interractive-W_invalid2/config/etc/gshadow b/tests/chage/34_chage_interractive-W_invalid2/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/34_chage_interractive-W_invalid2/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/34_chage_interractive-W_invalid2/config/etc/login.defs b/tests/chage/34_chage_interractive-W_invalid2/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/34_chage_interractive-W_invalid2/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/34_chage_interractive-W_invalid2/config/etc/passwd b/tests/chage/34_chage_interractive-W_invalid2/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/34_chage_interractive-W_invalid2/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/34_chage_interractive-W_invalid2/config/etc/shadow b/tests/chage/34_chage_interractive-W_invalid2/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/34_chage_interractive-W_invalid2/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/34_chage_interractive-W_invalid2/run.exp b/tests/chage/34_chage_interractive-W_invalid2/run.exp new file mode 100755 index 00000000..04b6f57d --- /dev/null +++ b/tests/chage/34_chage_interractive-W_invalid2/run.exp @@ -0,0 +1,32 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "13\r" +expect -re "Maximum Password Age .99999\]: " +send "14\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "0\r" +expect -re "Password Expiration Warning .7\]: " +send -- "-2\r" +#expect -re "Password Inactive .-1\]: " +#send "35\r" +#expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +#send "0\r" +expect "chage: error changing fields\r\n" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/35_chage_interractive-W-1/chage.test b/tests/chage/35_chage_interractive-W-1/chage.test new file mode 100755 index 00000000..01f957f4 --- /dev/null +++ b/tests/chage/35_chage_interractive-W-1/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/35_chage_interractive-W-1/config.txt b/tests/chage/35_chage_interractive-W-1/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/35_chage_interractive-W-1/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/35_chage_interractive-W-1/config/etc/group b/tests/chage/35_chage_interractive-W-1/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/35_chage_interractive-W-1/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/35_chage_interractive-W-1/config/etc/gshadow b/tests/chage/35_chage_interractive-W-1/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/35_chage_interractive-W-1/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/35_chage_interractive-W-1/config/etc/login.defs b/tests/chage/35_chage_interractive-W-1/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/35_chage_interractive-W-1/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/35_chage_interractive-W-1/config/etc/passwd b/tests/chage/35_chage_interractive-W-1/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/35_chage_interractive-W-1/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/35_chage_interractive-W-1/config/etc/shadow b/tests/chage/35_chage_interractive-W-1/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/35_chage_interractive-W-1/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/35_chage_interractive-W-1/data/shadow b/tests/chage/35_chage_interractive-W-1/data/shadow new file mode 100644 index 00000000..4b74f15d --- /dev/null +++ b/tests/chage/35_chage_interractive-W-1/data/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/35_chage_interractive-W-1/run.exp b/tests/chage/35_chage_interractive-W-1/run.exp new file mode 100755 index 00000000..84fd749c --- /dev/null +++ b/tests/chage/35_chage_interractive-W-1/run.exp @@ -0,0 +1,31 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "\r" +expect -re "Maximum Password Age .99999\]: " +send "\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "\r" +expect -re "Password Expiration Warning .7\]: " +send -- "-1\r" +expect -re "Password Inactive .-1\]: " +send "\r" +expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +send "\r" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/36_chage_interractive-I_invalid1/chage.test b/tests/chage/36_chage_interractive-I_invalid1/chage.test new file mode 100755 index 00000000..fc4dd9d2 --- /dev/null +++ b/tests/chage/36_chage_interractive-I_invalid1/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage interractive session checks field validity" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/36_chage_interractive-I_invalid1/config.txt b/tests/chage/36_chage_interractive-I_invalid1/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/36_chage_interractive-I_invalid1/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/36_chage_interractive-I_invalid1/config/etc/group b/tests/chage/36_chage_interractive-I_invalid1/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/36_chage_interractive-I_invalid1/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/36_chage_interractive-I_invalid1/config/etc/gshadow b/tests/chage/36_chage_interractive-I_invalid1/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/36_chage_interractive-I_invalid1/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/36_chage_interractive-I_invalid1/config/etc/login.defs b/tests/chage/36_chage_interractive-I_invalid1/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/36_chage_interractive-I_invalid1/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/36_chage_interractive-I_invalid1/config/etc/passwd b/tests/chage/36_chage_interractive-I_invalid1/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/36_chage_interractive-I_invalid1/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/36_chage_interractive-I_invalid1/config/etc/shadow b/tests/chage/36_chage_interractive-I_invalid1/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/36_chage_interractive-I_invalid1/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/36_chage_interractive-I_invalid1/run.exp b/tests/chage/36_chage_interractive-I_invalid1/run.exp new file mode 100755 index 00000000..1e3087b4 --- /dev/null +++ b/tests/chage/36_chage_interractive-I_invalid1/run.exp @@ -0,0 +1,32 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "\r" +expect -re "Maximum Password Age .99999\]: " +send "\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "\r" +expect -re "Password Expiration Warning .7\]: " +send "\r" +expect -re "Password Inactive .-1\]: " +send "9a\r" +#expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +#send "0\r" +expect "chage: error changing fields\r\n" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/37_chage_interractive-I_invalid2/chage.test b/tests/chage/37_chage_interractive-I_invalid2/chage.test new file mode 100755 index 00000000..fc4dd9d2 --- /dev/null +++ b/tests/chage/37_chage_interractive-I_invalid2/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage interractive session checks field validity" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/37_chage_interractive-I_invalid2/config.txt b/tests/chage/37_chage_interractive-I_invalid2/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/37_chage_interractive-I_invalid2/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/37_chage_interractive-I_invalid2/config/etc/group b/tests/chage/37_chage_interractive-I_invalid2/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/37_chage_interractive-I_invalid2/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/37_chage_interractive-I_invalid2/config/etc/gshadow b/tests/chage/37_chage_interractive-I_invalid2/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/37_chage_interractive-I_invalid2/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/37_chage_interractive-I_invalid2/config/etc/login.defs b/tests/chage/37_chage_interractive-I_invalid2/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/37_chage_interractive-I_invalid2/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/37_chage_interractive-I_invalid2/config/etc/passwd b/tests/chage/37_chage_interractive-I_invalid2/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/37_chage_interractive-I_invalid2/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/37_chage_interractive-I_invalid2/config/etc/shadow b/tests/chage/37_chage_interractive-I_invalid2/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/37_chage_interractive-I_invalid2/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/37_chage_interractive-I_invalid2/run.exp b/tests/chage/37_chage_interractive-I_invalid2/run.exp new file mode 100755 index 00000000..b059117a --- /dev/null +++ b/tests/chage/37_chage_interractive-I_invalid2/run.exp @@ -0,0 +1,32 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "\r" +expect -re "Maximum Password Age .99999\]: " +send "\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "\r" +expect -re "Password Expiration Warning .7\]: " +send "\r" +expect -re "Password Inactive .-1\]: " +send -- "-2\r" +#expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +#send "0\r" +expect "chage: error changing fields\r\n" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/38_chage_interractive-I-1/chage.test b/tests/chage/38_chage_interractive-I-1/chage.test new file mode 100755 index 00000000..01f957f4 --- /dev/null +++ b/tests/chage/38_chage_interractive-I-1/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/38_chage_interractive-I-1/config.txt b/tests/chage/38_chage_interractive-I-1/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/38_chage_interractive-I-1/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/38_chage_interractive-I-1/config/etc/group b/tests/chage/38_chage_interractive-I-1/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/38_chage_interractive-I-1/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/38_chage_interractive-I-1/config/etc/gshadow b/tests/chage/38_chage_interractive-I-1/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/38_chage_interractive-I-1/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/38_chage_interractive-I-1/config/etc/login.defs b/tests/chage/38_chage_interractive-I-1/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/38_chage_interractive-I-1/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/38_chage_interractive-I-1/config/etc/passwd b/tests/chage/38_chage_interractive-I-1/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/38_chage_interractive-I-1/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/38_chage_interractive-I-1/config/etc/shadow b/tests/chage/38_chage_interractive-I-1/config/etc/shadow new file mode 100644 index 00000000..922d9551 --- /dev/null +++ b/tests/chage/38_chage_interractive-I-1/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:3:: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/38_chage_interractive-I-1/data/shadow b/tests/chage/38_chage_interractive-I-1/data/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chage/38_chage_interractive-I-1/data/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/38_chage_interractive-I-1/run.exp b/tests/chage/38_chage_interractive-I-1/run.exp new file mode 100755 index 00000000..94eb4630 --- /dev/null +++ b/tests/chage/38_chage_interractive-I-1/run.exp @@ -0,0 +1,31 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "\r" +expect -re "Maximum Password Age .99999\]: " +send "\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .2005-07-27\]: " +send "\r" +expect -re "Password Expiration Warning .7\]: " +send "\r" +expect -re "Password Inactive .3\]: " +send -- "-1\r" +expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +send "\r" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chage/39_chage_interractive-d-1/chage.test b/tests/chage/39_chage_interractive-d-1/chage.test new file mode 100755 index 00000000..01f957f4 --- /dev/null +++ b/tests/chage/39_chage_interractive-d-1/chage.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chage creates a shadow entry if there were none" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "chage interractive session as myuser1..." +./run.exp +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chage/39_chage_interractive-d-1/config.txt b/tests/chage/39_chage_interractive-d-1/config.txt new file mode 100644 index 00000000..e9e4bbed --- /dev/null +++ b/tests/chage/39_chage_interractive-d-1/config.txt @@ -0,0 +1 @@ +group foo, GID 1000 diff --git a/tests/chage/39_chage_interractive-d-1/config/etc/group b/tests/chage/39_chage_interractive-d-1/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/chage/39_chage_interractive-d-1/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/chage/39_chage_interractive-d-1/config/etc/gshadow b/tests/chage/39_chage_interractive-d-1/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/chage/39_chage_interractive-d-1/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/chage/39_chage_interractive-d-1/config/etc/login.defs b/tests/chage/39_chage_interractive-d-1/config/etc/login.defs new file mode 100644 index 00000000..84fb3cce --- /dev/null +++ b/tests/chage/39_chage_interractive-d-1/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chage/39_chage_interractive-d-1/config/etc/passwd b/tests/chage/39_chage_interractive-d-1/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chage/39_chage_interractive-d-1/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chage/39_chage_interractive-d-1/config/etc/shadow b/tests/chage/39_chage_interractive-d-1/config/etc/shadow new file mode 100644 index 00000000..a1afc129 --- /dev/null +++ b/tests/chage/39_chage_interractive-d-1/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.::0:99999:7:3:: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/39_chage_interractive-d-1/data/shadow b/tests/chage/39_chage_interractive-d-1/data/shadow new file mode 100644 index 00000000..a1afc129 --- /dev/null +++ b/tests/chage/39_chage_interractive-d-1/data/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.::0:99999:7:3:: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chage/39_chage_interractive-d-1/run.exp b/tests/chage/39_chage_interractive-d-1/run.exp new file mode 100755 index 00000000..362436b6 --- /dev/null +++ b/tests/chage/39_chage_interractive-d-1/run.exp @@ -0,0 +1,31 @@ +#!/usr/bin/expect + +set timeout 5 + +# I've not been able to put the opening bracket in the regular expressions +# If anyone knows... + +spawn /usr/bin/chage myuser1 +expect -re "Minimum Password Age .0\]: " +send "\r" +expect -re "Maximum Password Age .99999\]: " +send "\r" +expect -re "Last Password Change \[(]YYYY-MM-DD\[)] .-1\]: " +send -- "-1\r" +expect -re "Password Expiration Warning .7\]: " +send "\r" +expect -re "Password Inactive .3\]: " +send "\r" +expect -re "Account Expiration Date \[(]YYYY-MM-DD\[)] .-1\]: " +send "\r" +expect { + eof { + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chroot/chage/01_chage--root/chage.test b/tests/chroot/chage/01_chage--root/chage.test new file mode 100755 index 00000000..df9aad55 --- /dev/null +++ b/tests/chroot/chage/01_chage--root/chage.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "chage can change user's data in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Change root's last day in chroot (chage --root $PWD/tmp/root -d 2012-12-12 root)..." +chage --root $PWD/tmp/root -d 2012-12-12 root +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl data/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl config_chroot/etc/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/chage/01_chage--root/config.txt b/tests/chroot/chage/01_chage--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/chage/01_chage--root/config/etc/default/useradd b/tests/chroot/chage/01_chage--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/chage/01_chage--root/config/etc/group b/tests/chroot/chage/01_chage--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/chage/01_chage--root/config/etc/gshadow b/tests/chroot/chage/01_chage--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/chage/01_chage--root/config/etc/passwd b/tests/chroot/chage/01_chage--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/chage/01_chage--root/config/etc/shadow b/tests/chroot/chage/01_chage--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/chage/01_chage--root/config_chroot/etc/group b/tests/chroot/chage/01_chage--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/chage/01_chage--root/config_chroot/etc/gshadow b/tests/chroot/chage/01_chage--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/chage/01_chage--root/config_chroot/etc/login.defs b/tests/chroot/chage/01_chage--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the userĀ“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/chage/01_chage--root/config_chroot/etc/passwd b/tests/chroot/chage/01_chage--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/chage/01_chage--root/config_chroot/etc/shadow b/tests/chroot/chage/01_chage--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/chage/01_chage--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/chage/01_chage--root/data/shadow b/tests/chroot/chage/01_chage--root/data/shadow new file mode 100644 index 00000000..c9e698bc --- /dev/null +++ b/tests/chroot/chage/01_chage--root/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:15686:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/chgpasswd.test b/tests/chroot/chgpasswd/01_chgpasswd--root/chgpasswd.test new file mode 100755 index 00000000..afbdb4bb --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/chgpasswd.test @@ -0,0 +1,50 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "chgpasswd can change a group in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Change nobody and lp's password in chroot..." +echo 'nogroup:test +lp:test2' | chgpasswd --root $PWD/tmp/root -c SHA256 +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config.txt b/tests/chroot/chgpasswd/01_chgpasswd--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/default/useradd b/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/group b/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/gshadow b/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/passwd b/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/shadow b/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/group b/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/group new file mode 100644 index 00000000..d2a4b10a --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +staff:x:50: +root:x:0: +tty:x:5: +daemon:x:1: +bin:x:2: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +sys:x:3: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +adm:x:4: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +disk:x:6: diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/gshadow b/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/login.defs b/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the userĀ“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/passwd b/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/shadow b/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/chgpasswd/01_chgpasswd--root/data/gshadow b/tests/chroot/chgpasswd/01_chgpasswd--root/data/gshadow new file mode 100644 index 00000000..2ea5fcad --- /dev/null +++ b/tests/chroot/chgpasswd/01_chgpasswd--root/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:@PASS_SHA256 test2@:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:@PASS_SHA256 test@:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/chpasswd.test b/tests/chroot/chpasswd/01_chpasswd--root_nopam/chpasswd.test new file mode 100755 index 00000000..17282f90 --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/chpasswd.test @@ -0,0 +1,50 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "chpasswd can change a group in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Change nobody and lp's password in chroot..." +echo 'nobody:test +lp:test2' | chpasswd --root $PWD/tmp/root -c SHA256 +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl data/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl config_chroot/etc/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/shadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config.txt b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/default/useradd b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/group b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/gshadow b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/passwd b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/shadow b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/group b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/group new file mode 100644 index 00000000..d2a4b10a --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/group @@ -0,0 +1,42 @@ +staff:x:50: +root:x:0: +tty:x:5: +daemon:x:1: +bin:x:2: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +sys:x:3: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +adm:x:4: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +disk:x:6: diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/gshadow b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/login.defs b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the userĀ“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/passwd b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/shadow b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/chpasswd/01_chpasswd--root_nopam/data/shadow b/tests/chroot/chpasswd/01_chpasswd--root_nopam/data/shadow new file mode 100644 index 00000000..8a67bed3 --- /dev/null +++ b/tests/chroot/chpasswd/01_chpasswd--root_nopam/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:@PASS_SHA256 test2@:@TODAY@:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:@PASS_SHA256 test@:@TODAY@:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/chpasswd.test b/tests/chroot/chpasswd/02_chpasswd--root_pam/chpasswd.test new file mode 100755 index 00000000..2e2f8952 --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/chpasswd.test @@ -0,0 +1,50 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "chpasswd can change a group in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Change nobody and lp's password in chroot..." +echo 'nobody:test +lp:test2' | chpasswd --root $PWD/tmp/root +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl data/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl config_chroot/etc/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/shadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config.txt b/tests/chroot/chpasswd/02_chpasswd--root_pam/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/default/useradd b/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/group b/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/gshadow b/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/passwd b/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/shadow b/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/group b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/group new file mode 100644 index 00000000..d2a4b10a --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/group @@ -0,0 +1,42 @@ +staff:x:50: +root:x:0: +tty:x:5: +daemon:x:1: +bin:x:2: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +sys:x:3: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +adm:x:4: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +disk:x:6: diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/gshadow b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/login.defs b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the userĀ“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/pam.d/chpasswd b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/pam.d/chpasswd new file mode 100644 index 00000000..da2adcc9 --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/pam.d/chpasswd @@ -0,0 +1,5 @@ +# The PAM configuration file for the Shadow 'chpasswd' service +# + +@include common-password + diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/pam.d/common-password b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/pam.d/common-password new file mode 100644 index 00000000..cb8c7b71 --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/pam.d/common-password @@ -0,0 +1,33 @@ +# +# /etc/pam.d/common-password - password-related modules common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of modules that define the services to be +# used to change user passwords. The default is pam_unix. + +# Explanation of pam_unix options: +# +# The "sha512" option enables salted SHA512 passwords. Without this option, +# the default is Unix crypt. Prior releases used the option "md5". +# +# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in +# login.defs. +# +# See the pam_unix manpage for other options. + +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +password [success=1 default=ignore] pam_unix.so obscure sha512 +# here's the fallback if no module succeeds +password requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +password required pam_permit.so +# and here are more per-package modules (the "Additional" block) +# end of pam-auth-update config diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/passwd b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/shadow b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/chpasswd/02_chpasswd--root_pam/data/shadow b/tests/chroot/chpasswd/02_chpasswd--root_pam/data/shadow new file mode 100644 index 00000000..5839a29d --- /dev/null +++ b/tests/chroot/chpasswd/02_chpasswd--root_pam/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:@PASS_SHA512 test2@:@TODAY@:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:@PASS_SHA512 test@:@TODAY@:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/chsh/01_chsh--root/chsh.test b/tests/chroot/chsh/01_chsh--root/chsh.test new file mode 100755 index 00000000..b99cbb46 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/chsh.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "chsh can change a user in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Change user in chroot (chsh --root $PWD/tmp/root -s /bin/dash root)..." +chsh --root $PWD/tmp/root -s /bin/dash root +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl data/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl config_chroot/etc/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/chsh/01_chsh--root/config.txt b/tests/chroot/chsh/01_chsh--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/chsh/01_chsh--root/config/etc/default/useradd b/tests/chroot/chsh/01_chsh--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/chsh/01_chsh--root/config/etc/group b/tests/chroot/chsh/01_chsh--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/chsh/01_chsh--root/config/etc/gshadow b/tests/chroot/chsh/01_chsh--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/chsh/01_chsh--root/config/etc/passwd b/tests/chroot/chsh/01_chsh--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/chsh/01_chsh--root/config/etc/shadow b/tests/chroot/chsh/01_chsh--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot.list b/tests/chroot/chsh/01_chsh--root/config_chroot.list new file mode 100644 index 00000000..166e5212 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot.list @@ -0,0 +1 @@ +/bin/dash diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot/etc/group b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot/etc/gshadow b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot/etc/login.defs b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the userĀ“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/chsh b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/chsh new file mode 100644 index 00000000..7eb604d7 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/chsh @@ -0,0 +1,20 @@ +# +# The PAM configuration file for the Shadow `chsh' service +# + +# This will not allow a user to change their shell unless +# their current one is listed in /etc/shells. This keeps +# accounts with special shells from changing them. +auth required pam_shells.so + +# This allows root to change user shell without being +# prompted for a password +auth sufficient pam_rootok.so + +# The standard Unix authentication modules, used with +# NIS (man nsswitch) as well as normal /etc/passwd and +# /etc/shadow entries. +@include common-auth +@include common-account +@include common-session + diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/common-account b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/common-account new file mode 100644 index 00000000..316b1733 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/common-account @@ -0,0 +1,25 @@ +# +# /etc/pam.d/common-account - authorization settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authorization modules that define +# the central access policy for use on the system. The default is to +# only deny service to users whose accounts are expired in /etc/shadow. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. +# + +# here are the per-package modules (the "Primary" block) +account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so +# here's the fallback if no module succeeds +account requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +account required pam_permit.so +# and here are more per-package modules (the "Additional" block) +# end of pam-auth-update config diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/common-auth b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/common-auth new file mode 100644 index 00000000..5facfa29 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/common-auth @@ -0,0 +1,25 @@ +# +# /etc/pam.d/common-auth - authentication settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authentication modules that define +# the central authentication scheme for use on the system +# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the +# traditional Unix authentication mechanisms. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +auth [success=1 default=ignore] pam_unix.so nullok_secure +# here's the fallback if no module succeeds +auth requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +auth required pam_permit.so +# and here are more per-package modules (the "Additional" block) +# end of pam-auth-update config diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/common-session b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/common-session new file mode 100644 index 00000000..4ad17292 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/pam.d/common-session @@ -0,0 +1,25 @@ +# +# /etc/pam.d/common-session - session-related modules common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of modules that define tasks to be performed +# at the start and end of sessions of *any* kind (both interactive and +# non-interactive). +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +session [default=1] pam_permit.so +# here's the fallback if no module succeeds +session requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +session required pam_permit.so +# and here are more per-package modules (the "Additional" block) +session required pam_unix.so +# end of pam-auth-update config diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot/etc/passwd b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot/etc/shadow b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/chsh/01_chsh--root/config_chroot/etc/shells b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/shells new file mode 100644 index 00000000..3cf5cc4f --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/config_chroot/etc/shells @@ -0,0 +1,3 @@ +# /etc/shells: valid login shells +/bin/bash +/bin/dash diff --git a/tests/chroot/chsh/01_chsh--root/data/passwd b/tests/chroot/chsh/01_chsh--root/data/passwd new file mode 100644 index 00000000..72c8a866 --- /dev/null +++ b/tests/chroot/chsh/01_chsh--root/data/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/dash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config.txt b/tests/chroot/gpasswd/01_gpasswd--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config/etc/default/useradd b/tests/chroot/gpasswd/01_gpasswd--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config/etc/group b/tests/chroot/gpasswd/01_gpasswd--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config/etc/gshadow b/tests/chroot/gpasswd/01_gpasswd--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config/etc/passwd b/tests/chroot/gpasswd/01_gpasswd--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config/etc/shadow b/tests/chroot/gpasswd/01_gpasswd--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/group b/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/group new file mode 100644 index 00000000..d2a4b10a --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +staff:x:50: +root:x:0: +tty:x:5: +daemon:x:1: +bin:x:2: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +sys:x:3: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +adm:x:4: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +disk:x:6: diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/gshadow b/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/login.defs b/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the userĀ“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/passwd b/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/shadow b/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/gpasswd/01_gpasswd--root/data/group b/tests/chroot/gpasswd/01_gpasswd--root/data/group new file mode 100644 index 00000000..5c28b637 --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/data/group @@ -0,0 +1,42 @@ +staff:x:50: +root:x:0: +tty:x:5: +daemon:x:1: +bin:x:2: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +sys:x:3: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +adm:x:4: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +games:x:60: +users:x:100:root +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +disk:x:6: diff --git a/tests/chroot/gpasswd/01_gpasswd--root/data/gshadow b/tests/chroot/gpasswd/01_gpasswd--root/data/gshadow new file mode 100644 index 00000000..7b869c21 --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*::root +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/gpasswd/01_gpasswd--root/gpasswd.test b/tests/chroot/gpasswd/01_gpasswd--root/gpasswd.test new file mode 100755 index 00000000..8e861aac --- /dev/null +++ b/tests/chroot/gpasswd/01_gpasswd--root/gpasswd.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "gpasswd can change a group in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +ls tmp/root/lib + +echo -n "Chang group in chroot (gpasswd -a root users -Q $PWD/tmp/root)..." +gpasswd -a root users -Q $PWD/tmp/root +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/groupadd/01_groupadd--root/config.txt b/tests/chroot/groupadd/01_groupadd--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/groupadd/01_groupadd--root/config/etc/default/useradd b/tests/chroot/groupadd/01_groupadd--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/groupadd/01_groupadd--root/config/etc/group b/tests/chroot/groupadd/01_groupadd--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/groupadd/01_groupadd--root/config/etc/gshadow b/tests/chroot/groupadd/01_groupadd--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/groupadd/01_groupadd--root/config/etc/passwd b/tests/chroot/groupadd/01_groupadd--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/groupadd/01_groupadd--root/config/etc/shadow b/tests/chroot/groupadd/01_groupadd--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/group b/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/gshadow b/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/login.defs b/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/passwd b/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/shadow b/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/groupadd/01_groupadd--root/data/group b/tests/chroot/groupadd/01_groupadd--root/data/group new file mode 100644 index 00000000..ffc452fd --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/data/group @@ -0,0 +1,43 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +foo:x:1000: diff --git a/tests/chroot/groupadd/01_groupadd--root/data/gshadow b/tests/chroot/groupadd/01_groupadd--root/data/gshadow new file mode 100644 index 00000000..e4b350df --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/data/gshadow @@ -0,0 +1,43 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: +foo:!:: diff --git a/tests/chroot/groupadd/01_groupadd--root/groupadd.test b/tests/chroot/groupadd/01_groupadd--root/groupadd.test new file mode 100755 index 00000000..26f4c9b7 --- /dev/null +++ b/tests/chroot/groupadd/01_groupadd--root/groupadd.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "groupadd can add a group in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Add group foo in chroot (groupadd --root $PWD/tmp/root foo)..." +groupadd --root $PWD/tmp/root foo +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/groupdel/01_groupdel--root/config.txt b/tests/chroot/groupdel/01_groupdel--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/groupdel/01_groupdel--root/config/etc/default/useradd b/tests/chroot/groupdel/01_groupdel--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/groupdel/01_groupdel--root/config/etc/group b/tests/chroot/groupdel/01_groupdel--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/groupdel/01_groupdel--root/config/etc/gshadow b/tests/chroot/groupdel/01_groupdel--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/groupdel/01_groupdel--root/config/etc/passwd b/tests/chroot/groupdel/01_groupdel--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/groupdel/01_groupdel--root/config/etc/shadow b/tests/chroot/groupdel/01_groupdel--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/group b/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/gshadow b/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/login.defs b/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/passwd b/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/shadow b/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/groupdel/01_groupdel--root/data/group b/tests/chroot/groupdel/01_groupdel--root/data/group new file mode 100644 index 00000000..9ee4d568 --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/data/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/groupdel/01_groupdel--root/data/gshadow b/tests/chroot/groupdel/01_groupdel--root/data/gshadow new file mode 100644 index 00000000..b969cf25 --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/data/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/groupdel/01_groupdel--root/groupdel.test b/tests/chroot/groupdel/01_groupdel--root/groupdel.test new file mode 100755 index 00000000..6d7fa5af --- /dev/null +++ b/tests/chroot/groupdel/01_groupdel--root/groupdel.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "groupmodd can delete a group in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Delete group users in chroot (groupdel --root $PWD/tmp/root users)..." +groupdel --root $PWD/tmp/root users +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/groupmod/01_groupmod--root/config.txt b/tests/chroot/groupmod/01_groupmod--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/groupmod/01_groupmod--root/config/etc/default/useradd b/tests/chroot/groupmod/01_groupmod--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/groupmod/01_groupmod--root/config/etc/group b/tests/chroot/groupmod/01_groupmod--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/groupmod/01_groupmod--root/config/etc/gshadow b/tests/chroot/groupmod/01_groupmod--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/groupmod/01_groupmod--root/config/etc/passwd b/tests/chroot/groupmod/01_groupmod--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/groupmod/01_groupmod--root/config/etc/shadow b/tests/chroot/groupmod/01_groupmod--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/group b/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/gshadow b/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/login.defs b/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/passwd b/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/shadow b/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/groupmod/01_groupmod--root/data/group b/tests/chroot/groupmod/01_groupmod--root/data/group new file mode 100644 index 00000000..068bdf57 --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +utilisateurs:x:100: diff --git a/tests/chroot/groupmod/01_groupmod--root/data/gshadow b/tests/chroot/groupmod/01_groupmod--root/data/gshadow new file mode 100644 index 00000000..249ec498 --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: +utilisateurs:*:: diff --git a/tests/chroot/groupmod/01_groupmod--root/groupmod.test b/tests/chroot/groupmod/01_groupmod--root/groupmod.test new file mode 100755 index 00000000..853df8f5 --- /dev/null +++ b/tests/chroot/groupmod/01_groupmod--root/groupmod.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "groupmod can change a group in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Change group in chroot (groupmod --root $PWD/tmp/root -n utilisateurs users)..." +groupmod --root $PWD/tmp/root -n utilisateurs users +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/grpck/01_grpck--root/config.txt b/tests/chroot/grpck/01_grpck--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/grpck/01_grpck--root/config/etc/default/useradd b/tests/chroot/grpck/01_grpck--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/grpck/01_grpck--root/config/etc/group b/tests/chroot/grpck/01_grpck--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/grpck/01_grpck--root/config/etc/gshadow b/tests/chroot/grpck/01_grpck--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/grpck/01_grpck--root/config/etc/passwd b/tests/chroot/grpck/01_grpck--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/grpck/01_grpck--root/config/etc/shadow b/tests/chroot/grpck/01_grpck--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/grpck/01_grpck--root/config_chroot/etc/group b/tests/chroot/grpck/01_grpck--root/config_chroot/etc/group new file mode 100644 index 00000000..d2a4b10a --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +staff:x:50: +root:x:0: +tty:x:5: +daemon:x:1: +bin:x:2: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +sys:x:3: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +adm:x:4: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +disk:x:6: diff --git a/tests/chroot/grpck/01_grpck--root/config_chroot/etc/gshadow b/tests/chroot/grpck/01_grpck--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/grpck/01_grpck--root/config_chroot/etc/login.defs b/tests/chroot/grpck/01_grpck--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/grpck/01_grpck--root/config_chroot/etc/passwd b/tests/chroot/grpck/01_grpck--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/grpck/01_grpck--root/config_chroot/etc/shadow b/tests/chroot/grpck/01_grpck--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/grpck/01_grpck--root/data/group b/tests/chroot/grpck/01_grpck--root/data/group new file mode 100644 index 00000000..dd74ea83 --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +crontab:x:101: +Debian-exim:x:102: +nogroup:x:65534: +myuser:x:424242: diff --git a/tests/chroot/grpck/01_grpck--root/data/gshadow b/tests/chroot/grpck/01_grpck--root/data/gshadow new file mode 100644 index 00000000..5b9b1d49 --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +crontab:x:: +Debian-exim:x:: +nogroup:*:: +myuser:x:: diff --git a/tests/chroot/grpck/01_grpck--root/grpck.test b/tests/chroot/grpck/01_grpck--root/grpck.test new file mode 100755 index 00000000..93867d02 --- /dev/null +++ b/tests/chroot/grpck/01_grpck--root/grpck.test @@ -0,0 +1,50 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck can sort groups in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Sort groups in chroot (grpck --sort --root $PWD/tmp/root)..." +grpck --sort --root $PWD/tmp/root +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/grpconv/01_grpconv--root/config.txt b/tests/chroot/grpconv/01_grpconv--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/grpconv/01_grpconv--root/config/etc/default/useradd b/tests/chroot/grpconv/01_grpconv--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/grpconv/01_grpconv--root/config/etc/group b/tests/chroot/grpconv/01_grpconv--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/grpconv/01_grpconv--root/config/etc/gshadow b/tests/chroot/grpconv/01_grpconv--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/grpconv/01_grpconv--root/config/etc/passwd b/tests/chroot/grpconv/01_grpconv--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/grpconv/01_grpconv--root/config/etc/shadow b/tests/chroot/grpconv/01_grpconv--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/group b/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/group new file mode 100644 index 00000000..27f1e9a2 --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:0: +daemon:*:1: +bin:*:2: +sys:*:3: +adm:*:4: +tty:*:5: +disk:*:6: +lp:*:7: +mail:*:8: +news:*:9: +uucp:*:10: +man:*:12: +proxy:*:13: +kmem:*:15: +dialout:*:20: +fax:*:21: +voice:*:22: +cdrom:*:24: +floppy:*:25: +tape:*:26: +sudo:*:27: +audio:*:29: +dip:*:30: +www-data:*:33: +backup:*:34: +operator:*:37: +list:*:38: +irc:*:39: +src:*:40: +gnats:*:41: +shadow:*:42: +utmp:*:43: +video:*:44: +sasl:*:45: +plugdev:*:46: +staff:*:50: +games:*:60: +users:foo:100: +nogroup::65534: +crontab:*:101: +Debian-exim:!:102: +myuser:*:424242: diff --git a/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/login.defs b/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/passwd b/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/shadow b/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/grpconv/01_grpconv--root/data/group b/tests/chroot/grpconv/01_grpconv--root/data/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/grpconv/01_grpconv--root/data/gshadow b/tests/chroot/grpconv/01_grpconv--root/data/gshadow new file mode 100644 index 00000000..5f81b8f9 --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/data/gshadow @@ -0,0 +1,42 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:foo:: +nogroup::: +crontab:*:: +Debian-exim:!:: +myuser:*:: diff --git a/tests/chroot/grpconv/01_grpconv--root/grpconv.test b/tests/chroot/grpconv/01_grpconv--root/grpconv.test new file mode 100755 index 00000000..92e1bf06 --- /dev/null +++ b/tests/chroot/grpconv/01_grpconv--root/grpconv.test @@ -0,0 +1,50 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpconv can change a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "grpconv in a chroot (grpconv --root $PWD/tmp/root)..." +grpconv --root $PWD/tmp/root +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/gshadow +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config.txt b/tests/chroot/grpunconv/01_grpunconv--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config/etc/default/useradd b/tests/chroot/grpunconv/01_grpunconv--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config/etc/group b/tests/chroot/grpunconv/01_grpunconv--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config/etc/gshadow b/tests/chroot/grpunconv/01_grpunconv--root/config/etc/gshadow new file mode 100644 index 00000000..b21489b2 --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config/etc/passwd b/tests/chroot/grpunconv/01_grpunconv--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config/etc/shadow b/tests/chroot/grpunconv/01_grpunconv--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/group b/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/gshadow b/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..86f5654a --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:: diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/login.defs b/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/passwd b/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/shadow b/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/grpunconv/01_grpunconv--root/data/group b/tests/chroot/grpunconv/01_grpunconv--root/data/group new file mode 100644 index 00000000..9a037038 --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/data/group @@ -0,0 +1,42 @@ +root:*:0: +daemon:*:1: +bin:*:2: +sys:*:3: +adm:*:4: +tty:*:5: +disk:*:6: +lp:*:7: +mail:*:8: +news:*:9: +uucp:*:10: +man:*:12: +proxy:*:13: +kmem:*:15: +dialout:*:20: +fax:*:21: +voice:*:22: +cdrom:*:24: +floppy:*:25: +tape:*:26: +sudo:*:27: +audio:*:29: +dip:*:30: +www-data:*:33: +backup:*:34: +operator:*:37: +list:*:38: +irc:*:39: +src:*:40: +gnats:*:41: +shadow:*:42: +utmp:*:43: +video:*:44: +sasl:*:45: +plugdev:*:46: +staff:*:50: +games:*:60: +users:*:100: +nogroup:*:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:424242: diff --git a/tests/chroot/grpunconv/01_grpunconv--root/grpunconv.test b/tests/chroot/grpunconv/01_grpunconv--root/grpunconv.test new file mode 100755 index 00000000..5d6edd58 --- /dev/null +++ b/tests/chroot/grpunconv/01_grpunconv--root/grpunconv.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpunconv can change a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "grpunconv in a chroot (grpunconv --root $PWD/tmp/root)..." +grpunconv --root $PWD/tmp/root +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +test ! -f tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/lastlog/01_lastlog--root/config.txt b/tests/chroot/lastlog/01_lastlog--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/lastlog/01_lastlog--root/config/etc/default/useradd b/tests/chroot/lastlog/01_lastlog--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/lastlog/01_lastlog--root/config/etc/group b/tests/chroot/lastlog/01_lastlog--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/lastlog/01_lastlog--root/config/etc/gshadow b/tests/chroot/lastlog/01_lastlog--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/lastlog/01_lastlog--root/config/etc/passwd b/tests/chroot/lastlog/01_lastlog--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/lastlog/01_lastlog--root/config/etc/shadow b/tests/chroot/lastlog/01_lastlog--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/group b/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/group new file mode 100644 index 00000000..d2a4b10a --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +staff:x:50: +root:x:0: +tty:x:5: +daemon:x:1: +bin:x:2: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +sys:x:3: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +adm:x:4: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +disk:x:6: diff --git a/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/gshadow b/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/login.defs b/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/passwd b/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/shadow b/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/lastlog/01_lastlog--root/data/group b/tests/chroot/lastlog/01_lastlog--root/data/group new file mode 100644 index 00000000..5c28b637 --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/data/group @@ -0,0 +1,42 @@ +staff:x:50: +root:x:0: +tty:x:5: +daemon:x:1: +bin:x:2: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +sys:x:3: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +adm:x:4: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +games:x:60: +users:x:100:root +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +disk:x:6: diff --git a/tests/chroot/lastlog/01_lastlog--root/data/gshadow b/tests/chroot/lastlog/01_lastlog--root/data/gshadow new file mode 100644 index 00000000..7b869c21 --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*::root +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/lastlog/01_lastlog--root/data/lastlog.list b/tests/chroot/lastlog/01_lastlog--root/data/lastlog.list new file mode 100644 index 00000000..e95b2053 --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/data/lastlog.list @@ -0,0 +1,2 @@ +Username +myuser diff --git a/tests/chroot/lastlog/01_lastlog--root/lastlog.test b/tests/chroot/lastlog/01_lastlog--root/lastlog.test new file mode 100755 index 00000000..d61d9a70 --- /dev/null +++ b/tests/chroot/lastlog/01_lastlog--root/lastlog.test @@ -0,0 +1,47 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "gpasswd can change a group in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; rm -f tmp/root/var/log/lastlog; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Create an empty /var/log/lastlog in the chroot..." +> tmp/root/var/log/lastlog +echo "OK" + +echo -n "lastlog --root $PWD/tmp/root -u 424242..." +lastlog --root $PWD/tmp/root -u 424242> tmp/lastlog.out +echo "OK." + +echo "lastlog :" +echo "=======================================================================" +cat tmp/lastlog.out +echo "=======================================================================" + +echo -n "Check the list of logged in users..." +cat tmp/lastlog.out | cut -d" " -f1 > tmp/lastlog.list +diff -au data/lastlog.list tmp/lastlog.list +echo "OK." + +rm -f tmp/lastlog.out tmp/lastlog.list +rm -f tmp/root/var/log/lastlog + +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/login/01_login_sublogin/config.txt b/tests/chroot/login/01_login_sublogin/config.txt new file mode 100644 index 00000000..aecff4a9 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config.txt @@ -0,0 +1,3 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz diff --git a/tests/chroot/login/01_login_sublogin/config/etc/group b/tests/chroot/login/01_login_sublogin/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/login/01_login_sublogin/config/etc/gshadow b/tests/chroot/login/01_login_sublogin/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/login/01_login_sublogin/config/etc/login.defs b/tests/chroot/login/01_login_sublogin/config/etc/login.defs new file mode 100644 index 00000000..8605f437 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +#ENV_SUPATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +#ENV_PATH /usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/login/01_login_sublogin/config/etc/passwd b/tests/chroot/login/01_login_sublogin/config/etc/passwd new file mode 100644 index 00000000..7b82b884 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/nonexistent:*/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/login/01_login_sublogin/config/etc/shadow b/tests/chroot/login/01_login_sublogin/config/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/login/01_login_sublogin/config_chroot.list b/tests/chroot/login/01_login_sublogin/config_chroot.list new file mode 100644 index 00000000..e22e8e82 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot.list @@ -0,0 +1,3 @@ +/bin/dash +/bin/sh +/usr/bin/id diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/group b/tests/chroot/login/01_login_sublogin/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/gshadow b/tests/chroot/login/01_login_sublogin/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/login.defs b/tests/chroot/login/01_login_sublogin/config_chroot/etc/login.defs new file mode 100644 index 00000000..8605f437 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/login.defs @@ -0,0 +1,315 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +#ENV_SUPATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +#ENV_PATH /usr/local/bin:/usr/bin:/bin:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK usage is discouraged because it catches only some classes of user +# entries to system, in fact only those made through login(1), while setting +# umask in shell rc file will catch also logins through su, cron, ssh etc. +# +# At the same time, using shell rc to set umask won't catch entries which use +# non-shell executables in place of login shell, like /usr/sbin/pppd for "ppp" +# user and alike. +# +# Therefore the use of pam_umask is recommended (Debian package libpam-umask) +# as the solution which catches all these cases on PAM-enabled systems. +# +# This avoids the confusion created by having the umask set +# in two different places -- in login.defs and shell rc files (i.e. +# /etc/profile). +# +# For discussion, see #314539 and #248150 as well as the thread starting at +# http://lists.debian.org/debian-devel/2005/06/msg01598.html +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +# 022 is the "historical" value in Debian for UMASK when it was used +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +#UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# This enables userdel to remove user groups if no members exist. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, thus in Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is used by chpasswd, gpasswd and newusers. +# +#MD5_CRYPT_ENAB no + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-account b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-account new file mode 100644 index 00000000..316b1733 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-account @@ -0,0 +1,25 @@ +# +# /etc/pam.d/common-account - authorization settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authorization modules that define +# the central access policy for use on the system. The default is to +# only deny service to users whose accounts are expired in /etc/shadow. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. +# + +# here are the per-package modules (the "Primary" block) +account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so +# here's the fallback if no module succeeds +account requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +account required pam_permit.so +# and here are more per-package modules (the "Additional" block) +# end of pam-auth-update config diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-auth b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-auth new file mode 100644 index 00000000..5facfa29 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-auth @@ -0,0 +1,25 @@ +# +# /etc/pam.d/common-auth - authentication settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authentication modules that define +# the central authentication scheme for use on the system +# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the +# traditional Unix authentication mechanisms. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +auth [success=1 default=ignore] pam_unix.so nullok_secure +# here's the fallback if no module succeeds +auth requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +auth required pam_permit.so +# and here are more per-package modules (the "Additional" block) +# end of pam-auth-update config diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-password b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-password new file mode 100644 index 00000000..cb8c7b71 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-password @@ -0,0 +1,33 @@ +# +# /etc/pam.d/common-password - password-related modules common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of modules that define the services to be +# used to change user passwords. The default is pam_unix. + +# Explanation of pam_unix options: +# +# The "sha512" option enables salted SHA512 passwords. Without this option, +# the default is Unix crypt. Prior releases used the option "md5". +# +# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in +# login.defs. +# +# See the pam_unix manpage for other options. + +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +password [success=1 default=ignore] pam_unix.so obscure sha512 +# here's the fallback if no module succeeds +password requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +password required pam_permit.so +# and here are more per-package modules (the "Additional" block) +# end of pam-auth-update config diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-session b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-session new file mode 100644 index 00000000..4ad17292 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-session @@ -0,0 +1,25 @@ +# +# /etc/pam.d/common-session - session-related modules common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of modules that define tasks to be performed +# at the start and end of sessions of *any* kind (both interactive and +# non-interactive). +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +session [default=1] pam_permit.so +# here's the fallback if no module succeeds +session requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +session required pam_permit.so +# and here are more per-package modules (the "Additional" block) +session required pam_unix.so +# end of pam-auth-update config diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-session-noninteractive b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-session-noninteractive new file mode 100644 index 00000000..c9144d54 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/common-session-noninteractive @@ -0,0 +1,25 @@ +# +# /etc/pam.d/common-session-noninteractive - session-related modules +# common to all non-interactive services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of modules that define tasks to be performed +# at the start and end of all non-interactive sessions. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +session [default=1] pam_permit.so +# here's the fallback if no module succeeds +session requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +session required pam_permit.so +# and here are more per-package modules (the "Additional" block) +session required pam_unix.so +# end of pam-auth-update config diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/login b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/login new file mode 100644 index 00000000..f1e43b21 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/login @@ -0,0 +1,107 @@ +# +# The PAM configuration file for the Shadow `login' service +# + +# Enforce a minimal delay in case of failure (in microseconds). +# (Replaces the `FAIL_DELAY' setting from login.defs) +# Note that other modules may require another minimal delay. (for example, +# to disable any delay, you should add the nodelay option to pam_unix) +auth optional pam_faildelay.so delay=3000000 + +# Outputs an issue file prior to each login prompt (Replaces the +# ISSUE_FILE option from login.defs). Uncomment for use +# auth required pam_issue.so issue=/etc/issue + +# Disallows root logins except on tty's listed in /etc/securetty +# (Replaces the `CONSOLE' setting from login.defs) +# +# With the default control of this module: +# [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] +# root will not be prompted for a password on insecure lines. +# if an invalid username is entered, a password is prompted (but login +# will eventually be rejected) +# +# You can change it to a "requisite" module if you think root may mis-type +# her login and should not be prompted for a password in that case. But +# this will leave the system as vulnerable to user enumeration attacks. +# +# You can change it to a "required" module if you think it permits to +# guess valid user names of your system (invalid user names are considered +# as possibly being root on insecure lines), but root passwords may be +# communicated over insecure lines. +auth [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_securetty.so + +# Disallows other than root logins when /etc/nologin exists +# (Replaces the `NOLOGINS_FILE' option from login.defs) +auth requisite pam_nologin.so + +# SELinux needs to be the first session rule. This ensures that any +# lingering context has been cleared. Without out this it is possible +# that a module could execute code in the wrong domain. +# When the module is present, "required" would be sufficient (When SELinux +# is disabled, this returns success.) +session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close + +# This module parses environment configuration file(s) +# and also allows you to use an extended config +# file /etc/security/pam_env.conf. +# +# parsing /etc/environment needs "readenv=1" +session required pam_env.so readenv=1 +# locale variables are also kept into /etc/default/locale in etch +# reading this file *in addition to /etc/environment* does not hurt +session required pam_env.so readenv=1 envfile=/etc/default/locale + +# Standard Un*x authentication. +@include common-auth + +# This allows certain extra groups to be granted to a user +# based on things like time of day, tty, service, and user. +# Please edit /etc/security/group.conf to fit your needs +# (Replaces the `CONSOLE_GROUPS' option in login.defs) +auth optional pam_group.so + +# Uncomment and edit /etc/security/time.conf if you need to set +# time restrainst on logins. +# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs +# as well as /etc/porttime) +# account requisite pam_time.so + +# Uncomment and edit /etc/security/access.conf if you need to +# set access limits. +# (Replaces /etc/login.access file) +# account required pam_access.so + +# Sets up user limits according to /etc/security/limits.conf +# (Replaces the use of /etc/limits in old login) +session required pam_limits.so + +# Prints the last login info upon succesful login +# (Replaces the `LASTLOG_ENAB' option from login.defs) +session optional pam_lastlog.so + +# Prints the motd upon succesful login +# (Replaces the `MOTD_FILE' option in login.defs) +session optional pam_motd.so + +# Prints the status of the user's mailbox upon succesful login +# (Replaces the `MAIL_CHECK_ENAB' option from login.defs). +# +# This also defines the MAIL environment variable +# However, userdel also needs MAIL_DIR and MAIL_FILE variables +# in /etc/login.defs to make sure that removing a user +# also removes the user's mail spool file. +# See comments in /etc/login.defs +session optional pam_mail.so standard + +# Standard Un*x account and session +@include common-account +@include common-session +@include common-password + +# SELinux needs to intervene at login time to ensure that the process +# starts in the proper default security context. Only sessions which are +# intended to run in the user's context should be run after this. +session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open +# When the module is present, "required" would be sufficient (When SELinux +# is disabled, this returns success.) diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/other b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/other new file mode 100644 index 00000000..59d776c9 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/pam.d/other @@ -0,0 +1,16 @@ +# +# /etc/pam.d/other - specify the PAM fallback behaviour +# +# Note that this file is used for any unspecified service; for example +#if /etc/pam.d/cron specifies no session modules but cron calls +#pam_open_session, the session module out of /etc/pam.d/other is +#used. If you really want nothing to happen then use pam_permit.so or +#pam_deny.so as appropriate. + +# We fall back to the system default in /etc/pam.d/common-* +# + +@include common-auth +@include common-account +@include common-password +@include common-session diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/passwd b/tests/chroot/login/01_login_sublogin/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/securetty b/tests/chroot/login/01_login_sublogin/config_chroot/etc/securetty new file mode 100644 index 00000000..4d705440 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/securetty @@ -0,0 +1,390 @@ +# /etc/securetty: list of terminals on which root is allowed to login. +# See securetty(5) and login(1). + +console + +# Local X displays (allows empty passwords with pam_unix's nullok_secure) +:0 +:0.0 +:0.1 +:1 +:1.0 +:1.1 +:2 +:2.0 +:2.1 +:3 +:3.0 +:3.1 +#... + + +# ========================================================== +# +# TTYs sorted by major number according to Documentation/devices.txt +# +# ========================================================== + +# Virtual consoles +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +tty7 +tty8 +tty9 +tty10 +tty11 +tty12 +tty13 +tty14 +tty15 +tty16 +tty17 +tty18 +tty19 +tty20 +tty21 +tty22 +tty23 +tty24 +tty25 +tty26 +tty27 +tty28 +tty29 +tty30 +tty31 +tty32 +tty33 +tty34 +tty35 +tty36 +tty37 +tty38 +tty39 +tty40 +tty41 +tty42 +tty43 +tty44 +tty45 +tty46 +tty47 +tty48 +tty49 +tty50 +tty51 +tty52 +tty53 +tty54 +tty55 +tty56 +tty57 +tty58 +tty59 +tty60 +tty61 +tty62 +tty63 + +# UART serial ports +ttyS0 +ttyS1 +ttyS2 +ttyS3 +ttyS4 +ttyS5 +#...ttyS191 + +# Serial Mux devices (Linux/PA-RISC only) +ttyB0 +ttyB1 +#... + +# Chase serial card +ttyH0 +ttyH1 +#... + +# Cyclades serial cards +ttyC0 +ttyC1 +#...ttyC31 + +# Digiboard serial cards +ttyD0 +ttyD1 +#... + +# Stallion serial cards +ttyE0 +ttyE1 +#...ttyE255 + +# Specialix serial cards +ttyX0 +ttyX1 +#... + +# Comtrol Rocketport serial cards +ttyR0 +ttyR1 +#... + +# SDL RISCom serial cards +ttyL0 +ttyL1 +#... + +# Hayes ESP serial card +ttyP0 +ttyP1 +#... + +# Computone IntelliPort II serial card +ttyF0 +ttyF1 +#...ttyF255 + +# Specialix IO8+ serial card +ttyW0 +ttyW1 +#... + +# Comtrol VS-1000 serial controller +ttyV0 +ttyV1 +#... + +# ISI serial card +ttyM0 +ttyM1 +#... + +# Technology Concepts serial card +ttyT0 +ttyT1 +#... + +# Specialix RIO serial card +ttySR0 +ttySR1 +#...ttySR511 + +# Chase Research AT/PCI-Fast serial card +ttyCH0 +ttyCH1 +#...ttyCH63 + +# Moxa Intellio serial card +ttyMX0 +ttyMX1 +#...ttyMX127 + +# SmartIO serial card +ttySI0 +ttySI1 +#... + +# USB dongles +ttyUSB0 +ttyUSB1 +ttyUSB2 +#... + +# LinkUp Systems L72xx UARTs +ttyLU0 +ttyLU1 +ttyLU2 +ttyLU3 + +# StrongARM builtin serial ports +ttySA0 +ttySA1 +ttySA2 + +# SCI serial port (SuperH) ports and SC26xx serial ports +ttySC0 +ttySC1 +ttySC2 +ttySC3 + +# ARM "AMBA" serial ports +ttyAM0 +ttyAM1 +ttyAM2 +ttyAM3 +ttyAM4 +ttyAM5 +ttyAM6 +ttyAM7 +ttyAM8 +ttyAM9 +ttyAM10 +ttyAM11 +ttyAM12 +ttyAM13 +ttyAM14 +ttyAM15 + +# Embedded ARM AMBA PL011 ports (e.g. emulated by QEMU) +ttyAMA0 +ttyAMA1 +ttyAMA2 +ttyAMA3 + +# DataBooster serial ports +ttyDB0 +ttyDB1 +ttyDB2 +ttyDB3 +ttyDB4 +ttyDB5 +ttyDB6 +ttyDB7 + +# SGI Altix console ports +ttySG0 + +# Motorola i.MX ports +ttySMX0 +ttySMX1 +ttySMX2 + +# Marvell MPSC ports +ttyMM0 +ttyMM1 + +# PPC CPM (SCC or SMC) ports +ttyCPM0 +ttyCPM1 +ttyCPM2 +ttyCPM3 +ttyCPM4 +ttyCPM5 + +# Altix serial cards +ttyIOC0 +ttyIOC1 +#...ttyIOC31 + +# NEC VR4100 series SIU +ttyVR0 + +# NEC VR4100 series SSIU +ttyVR1 + +# Altix ioc4 serial cards +ttyIOC84 +ttyIOC85 +#...ttyIOC115 + +# Altix ioc3 serial cards +ttySIOC0 +ttySIOC1 +#...ttySIOC31 + +# PPC PSC ports +ttyPSC0 +ttyPSC1 +ttyPSC2 +ttyPSC3 +ttyPSC4 +ttyPSC5 + +# ATMEL serial ports +ttyAT0 +ttyAT1 +#...ttyAT15 + +# Hilscher netX serial port +ttyNX0 +ttyNX1 +#...ttyNX15 + +# Xilinx uartlite - port +ttyUL0 +ttyUL1 +ttyUL2 +ttyUL3 + +# Xen virtual console - port 0 +xvc0 + +# pmac_zilog - port +ttyPZ0 +ttyPZ1 +ttyPZ2 +ttyPZ3 + +# TX39/49 serial port +ttyTX0 +ttyTX1 +ttyTX2 +ttyTX3 +ttyTX4 +ttyTX5 +ttyTX6 +ttyTX7 + +# SC26xx serial ports (see SCI serial ports (SuperH)) + +# MAX3100 serial ports +ttyMAX0 +ttyMAX1 +ttyMAX2 +ttyMAX3 + +# OMAP serial ports +ttyO0 +ttyO1 +ttyO2 +ttyO3 + +# User space serial ports +ttyU0 +ttyU1 + +# A2232 serial card +ttyY0 +ttyY1 + +# IBM 3270 terminal Unix tty access +3270/tty1 +3270/tty2 +#... + +# IBM iSeries/pSeries virtual console +hvc0 +hvc1 +#... +#IBM pSeries console ports +hvsi0 +hvsi1 +hvsi2 + +# Equinox SST multi-port serial boards +ttyEQ0 +ttyEQ1 +#...ttyEQ1027 + +# ========================================================== +# +# Not in Documentation/Devicess.txt +# +# ========================================================== + +# Embedded Freescale i.MX ports +ttymxc0 +ttymxc1 +ttymxc2 +ttymxc3 +ttymxc4 +ttymxc5 + +# Serial Console for MIPS Swarm +duart0 +duart1 diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/security/limits.conf b/tests/chroot/login/01_login_sublogin/config_chroot/etc/security/limits.conf new file mode 100644 index 00000000..e69de29b diff --git a/tests/chroot/login/01_login_sublogin/config_chroot/etc/shadow b/tests/chroot/login/01_login_sublogin/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/login/01_login_sublogin/login.exp b/tests/chroot/login/01_login_sublogin/login.exp new file mode 100755 index 00000000..86253bcf --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/login.exp @@ -0,0 +1,25 @@ +#!/usr/bin/expect + +set timeout 10 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/bash +expect "# " + +send "strace -s 1000 -o /tmp/login.strace login\r" +expect " login: " +send "myuser\r" +expect "Password: " +send "myuserF00barbaz\r" +expect "Password: " +send "myuserF00barbaz\r" +expect "$ " + +send "# expect uid=424242(myuser) gid=424242(myuser) groups=424242(myuser)\r" +expect "$ " +send "id\r" +expect "uid=424242(myuser) gid=424242(myuser) groups=424242(myuser)\r" +expect "$ " +send "exit\r" + +exit 0 diff --git a/tests/chroot/login/01_login_sublogin/login.test b/tests/chroot/login/01_login_sublogin/login.test new file mode 100755 index 00000000..f5d271ba --- /dev/null +++ b/tests/chroot/login/01_login_sublogin/login.test @@ -0,0 +1,33 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +testname=$(basename $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "try regular login with user prompt" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +usermod -d $PWD/tmp/root myuser + +prepare_chroot + +./login.exp +echo + +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/pwck/01_pwck--root/config.txt b/tests/chroot/pwck/01_pwck--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/pwck/01_pwck--root/config/etc/default/useradd b/tests/chroot/pwck/01_pwck--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/pwck/01_pwck--root/config/etc/group b/tests/chroot/pwck/01_pwck--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/pwck/01_pwck--root/config/etc/gshadow b/tests/chroot/pwck/01_pwck--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/pwck/01_pwck--root/config/etc/passwd b/tests/chroot/pwck/01_pwck--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/pwck/01_pwck--root/config/etc/shadow b/tests/chroot/pwck/01_pwck--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/pwck/01_pwck--root/config_chroot/etc/group b/tests/chroot/pwck/01_pwck--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/pwck/01_pwck--root/config_chroot/etc/gshadow b/tests/chroot/pwck/01_pwck--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/pwck/01_pwck--root/config_chroot/etc/login.defs b/tests/chroot/pwck/01_pwck--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/pwck/01_pwck--root/config_chroot/etc/passwd b/tests/chroot/pwck/01_pwck--root/config_chroot/etc/passwd new file mode 100644 index 00000000..76c6fc38 --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config_chroot/etc/passwd @@ -0,0 +1,23 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash +testsuite::424244:424244::/home:/bin/bash +testsuite1::424243:424243::/home:/bin/bash diff --git a/tests/chroot/pwck/01_pwck--root/config_chroot/etc/shadow b/tests/chroot/pwck/01_pwck--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/pwck/01_pwck--root/data/pwck.out b/tests/chroot/pwck/01_pwck--root/data/pwck.out new file mode 100644 index 00000000..92a56706 --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/data/pwck.out @@ -0,0 +1,59 @@ +user 'root': program '/bin/bash' does not exist +user 'daemon': directory '/usr/sbin' does not exist +user 'daemon': program '/bin/sh' does not exist +user 'bin': directory '/bin' does not exist +user 'bin': program '/bin/sh' does not exist +user 'sys': directory '/dev' does not exist +user 'sys': program '/bin/sh' does not exist +user 'sync': directory '/bin' does not exist +user 'sync': program '/bin/sync' does not exist +user 'games': directory '/usr/games' does not exist +user 'games': program '/bin/sh' does not exist +user 'man': directory '/var/cache/man' does not exist +user 'man': program '/bin/sh' does not exist +user 'lp': directory '/var/spool/lpd' does not exist +user 'lp': program '/bin/sh' does not exist +user 'mail': directory '/var/mail' does not exist +user 'mail': program '/bin/sh' does not exist +user 'news': directory '/var/spool/news' does not exist +user 'news': program '/bin/sh' does not exist +user 'uucp': directory '/var/spool/uucp' does not exist +user 'uucp': program '/bin/sh' does not exist +user 'proxy': directory '/bin' does not exist +user 'proxy': program '/bin/sh' does not exist +user 'www-data': directory '/var/www' does not exist +user 'www-data': program '/bin/sh' does not exist +user 'backup': directory '/var/backups' does not exist +user 'backup': program '/bin/sh' does not exist +user 'list': directory '/var/list' does not exist +user 'list': program '/bin/sh' does not exist +user 'irc': directory '/var/run/ircd' does not exist +user 'irc': program '/bin/sh' does not exist +user 'gnats': directory '/var/lib/gnats' does not exist +user 'gnats': program '/bin/sh' does not exist +user 'nobody': directory '/nonexistent' does not exist +user 'nobody': program '/bin/sh' does not exist +user 'Debian-exim': directory '/var/spool/exim4' does not exist +user 'Debian-exim': program '/bin/false' does not exist +user 'myuser': directory '/home/' does not exist +user 'myuser': program '/bin/sh' does not exist +duplicate password entry +delete line 'testsuite::424243:424243::/home:/bin/bash'? No +user 'testsuite': no group 424243 +user 'testsuite': directory '/home' does not exist +user 'testsuite': program '/bin/bash' does not exist +no matching password file entry in /etc/shadow +add user 'testsuite' in /etc/shadow? No +duplicate password entry +delete line 'testsuite::424244:424244::/home:/bin/bash'? No +user 'testsuite': no group 424244 +user 'testsuite': directory '/home' does not exist +user 'testsuite': program '/bin/bash' does not exist +no matching password file entry in /etc/shadow +add user 'testsuite' in /etc/shadow? No +user 'testsuite1': no group 424243 +user 'testsuite1': directory '/home' does not exist +user 'testsuite1': program '/bin/bash' does not exist +no matching password file entry in /etc/shadow +add user 'testsuite1' in /etc/shadow? No +pwck: no changes diff --git a/tests/chroot/pwck/01_pwck--root/pwck.test b/tests/chroot/pwck/01_pwck--root/pwck.test new file mode 100755 index 00000000..25cba9f0 --- /dev/null +++ b/tests/chroot/pwck/01_pwck--root/pwck.test @@ -0,0 +1,67 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck can change a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "pwck in a chroot (pwck --read-only --root $PWD/tmp/root)..." +pwck --read-only --root $PWD/tmp/root >tmp/pwck.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.out +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/pwck.out tmp/pwck.out +echo "error message OK." +rm -f tmp/pwck.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl config_chroot/etc/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/pwconv/01_pwconv--root/config.txt b/tests/chroot/pwconv/01_pwconv--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/pwconv/01_pwconv--root/config/etc/default/useradd b/tests/chroot/pwconv/01_pwconv--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/pwconv/01_pwconv--root/config/etc/group b/tests/chroot/pwconv/01_pwconv--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/pwconv/01_pwconv--root/config/etc/gshadow b/tests/chroot/pwconv/01_pwconv--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/pwconv/01_pwconv--root/config/etc/passwd b/tests/chroot/pwconv/01_pwconv--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/pwconv/01_pwconv--root/config/etc/shadow b/tests/chroot/pwconv/01_pwconv--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/group b/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/gshadow b/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/login.defs b/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/passwd b/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/passwd new file mode 100644 index 00000000..1a85284e --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:*:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:!:102:102::/var/spool/exim4:/bin/false +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/pwconv/01_pwconv--root/data/passwd b/tests/chroot/pwconv/01_pwconv--root/data/passwd new file mode 100644 index 00000000..89b69625 --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/data/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite:x:424243:424243::/home:/bin/bash diff --git a/tests/chroot/pwconv/01_pwconv--root/data/shadow b/tests/chroot/pwconv/01_pwconv--root/data/shadow new file mode 100644 index 00000000..38bf30c5 --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/data/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:@TODAY@:0:99999:7::: +daemon:*:@TODAY@:0:99999:7::: +bin:*:@TODAY@:0:99999:7::: +sys:*:@TODAY@:0:99999:7::: +sync:*:@TODAY@:0:99999:7::: +games:*:@TODAY@:0:99999:7::: +man:*:@TODAY@:0:99999:7::: +lp:*:@TODAY@:0:99999:7::: +mail:*:@TODAY@:0:99999:7::: +news:*:@TODAY@:0:99999:7::: +uucp:*:@TODAY@:0:99999:7::: +proxy:*:@TODAY@:0:99999:7::: +www-data:*:@TODAY@:0:99999:7::: +backup:*:@TODAY@:0:99999:7::: +list:*:@TODAY@:0:99999:7::: +irc:*:@TODAY@:0:99999:7::: +gnats:*:@TODAY@:0:99999:7::: +nobody:*:@TODAY@:0:99999:7::: +Debian-exim:!:@TODAY@:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:@TODAY@:0:99999:7::: +testsuite::@TODAY@:0:99999:7::: diff --git a/tests/chroot/pwconv/01_pwconv--root/pwconv.test b/tests/chroot/pwconv/01_pwconv--root/pwconv.test new file mode 100755 index 00000000..3b92ab4b --- /dev/null +++ b/tests/chroot/pwconv/01_pwconv--root/pwconv.test @@ -0,0 +1,50 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwconv can change a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "pwconv in a chroot (pwconv --root $PWD/tmp/root)..." +pwconv --root $PWD/tmp/root +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl data/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl data/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl config_chroot/etc/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/shadow +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config.txt b/tests/chroot/pwunconv/01_pwunconv--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config/etc/default/useradd b/tests/chroot/pwunconv/01_pwunconv--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config/etc/group b/tests/chroot/pwunconv/01_pwunconv--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config/etc/gshadow b/tests/chroot/pwunconv/01_pwunconv--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config/etc/passwd b/tests/chroot/pwunconv/01_pwunconv--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config/etc/shadow b/tests/chroot/pwunconv/01_pwunconv--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/group b/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/gshadow b/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/login.defs b/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/passwd b/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/shadow b/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/pwunconv/01_pwunconv--root/data/passwd b/tests/chroot/pwunconv/01_pwunconv--root/data/passwd new file mode 100644 index 00000000..1a85284e --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/data/passwd @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/bin/sh +bin:*:2:2:bin:/bin:/bin/sh +sys:*:3:3:sys:/dev:/bin/sh +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/bin/sh +man:*:6:12:man:/var/cache/man:/bin/sh +lp:*:7:7:lp:/var/spool/lpd:/bin/sh +mail:*:8:8:mail:/var/mail:/bin/sh +news:*:9:9:news:/var/spool/news:/bin/sh +uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:*:13:13:proxy:/bin:/bin/sh +www-data:*:33:33:www-data:/var/www:/bin/sh +backup:*:34:34:backup:/var/backups:/bin/sh +list:*:38:38:Mailing List Manager:/var/list:/bin/sh +irc:*:39:39:ircd:/var/run/ircd:/bin/sh +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:*:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:!:102:102::/var/spool/exim4:/bin/false +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/pwunconv/01_pwunconv--root/pwunconv.test b/tests/chroot/pwunconv/01_pwunconv--root/pwunconv.test new file mode 100755 index 00000000..60c25529 --- /dev/null +++ b/tests/chroot/pwunconv/01_pwunconv--root/pwunconv.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwunconv can change a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "pwunconv in a chroot (pwunconv --root $PWD/tmp/root)..." +pwunconv --root $PWD/tmp/root +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl data/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +test ! -f tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl config_chroot/etc/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/useradd/01_useradd--root/config.txt b/tests/chroot/useradd/01_useradd--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/useradd/01_useradd--root/config/etc/default/useradd b/tests/chroot/useradd/01_useradd--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/useradd/01_useradd--root/config/etc/group b/tests/chroot/useradd/01_useradd--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/useradd/01_useradd--root/config/etc/gshadow b/tests/chroot/useradd/01_useradd--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/useradd/01_useradd--root/config/etc/passwd b/tests/chroot/useradd/01_useradd--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/useradd/01_useradd--root/config/etc/shadow b/tests/chroot/useradd/01_useradd--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/useradd/01_useradd--root/config_chroot/etc/group b/tests/chroot/useradd/01_useradd--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/useradd/01_useradd--root/config_chroot/etc/gshadow b/tests/chroot/useradd/01_useradd--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/useradd/01_useradd--root/config_chroot/etc/login.defs b/tests/chroot/useradd/01_useradd--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/useradd/01_useradd--root/config_chroot/etc/passwd b/tests/chroot/useradd/01_useradd--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/useradd/01_useradd--root/config_chroot/etc/shadow b/tests/chroot/useradd/01_useradd--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/useradd/01_useradd--root/data/group b/tests/chroot/useradd/01_useradd--root/data/group new file mode 100644 index 00000000..ffc452fd --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/data/group @@ -0,0 +1,43 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +foo:x:1000: diff --git a/tests/chroot/useradd/01_useradd--root/data/gshadow b/tests/chroot/useradd/01_useradd--root/data/gshadow new file mode 100644 index 00000000..e4b350df --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/data/gshadow @@ -0,0 +1,43 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: +foo:!:: diff --git a/tests/chroot/useradd/01_useradd--root/data/passwd b/tests/chroot/useradd/01_useradd--root/data/passwd new file mode 100644 index 00000000..102186a6 --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/data/passwd @@ -0,0 +1,22 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash +foo:x:1000:1000::/home/foo: diff --git a/tests/chroot/useradd/01_useradd--root/data/shadow b/tests/chroot/useradd/01_useradd--root/data/shadow new file mode 100644 index 00000000..258cf2b9 --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/data/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +foo:!:@TODAY@:0:99999:7::: diff --git a/tests/chroot/useradd/01_useradd--root/useradd.test b/tests/chroot/useradd/01_useradd--root/useradd.test new file mode 100755 index 00000000..aa9dd35a --- /dev/null +++ b/tests/chroot/useradd/01_useradd--root/useradd.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "useradd can add an user in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Add user foo in chroot (useradd --root $PWD/tmp/root foo)..." +useradd --root $PWD/tmp/root foo +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl data/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl data/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config.txt b/tests/chroot/useradd/02_useradd--root_login.defs/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/default/useradd b/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/group b/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/gshadow b/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/passwd b/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/shadow b/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/group b/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/gshadow b/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/login.defs b/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/login.defs new file mode 100644 index 00000000..e2291282 --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 2000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1500 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/passwd b/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/shadow b/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/data/group b/tests/chroot/useradd/02_useradd--root_login.defs/data/group new file mode 100644 index 00000000..eb04ceda --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/data/group @@ -0,0 +1,43 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +foo:x:2000: diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/data/gshadow b/tests/chroot/useradd/02_useradd--root_login.defs/data/gshadow new file mode 100644 index 00000000..e4b350df --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/data/gshadow @@ -0,0 +1,43 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: +foo:!:: diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/data/passwd b/tests/chroot/useradd/02_useradd--root_login.defs/data/passwd new file mode 100644 index 00000000..25d10d6a --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/data/passwd @@ -0,0 +1,22 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash +foo:x:2000:2000::/home/foo: diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/data/shadow b/tests/chroot/useradd/02_useradd--root_login.defs/data/shadow new file mode 100644 index 00000000..258cf2b9 --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/data/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +foo:!:@TODAY@:0:99999:7::: diff --git a/tests/chroot/useradd/02_useradd--root_login.defs/useradd.test b/tests/chroot/useradd/02_useradd--root_login.defs/useradd.test new file mode 100755 index 00000000..aa9dd35a --- /dev/null +++ b/tests/chroot/useradd/02_useradd--root_login.defs/useradd.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "useradd can add an user in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Add user foo in chroot (useradd --root $PWD/tmp/root foo)..." +useradd --root $PWD/tmp/root foo +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl data/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl data/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config.txt b/tests/chroot/useradd/03_useradd--root_useradd.default/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/default/useradd b/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/group b/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/gshadow b/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/passwd b/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/shadow b/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/default/useradd b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/default/useradd new file mode 100644 index 00000000..5051e1d9 --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/sh +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/group b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/gshadow b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/login.defs b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/passwd b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/shadow b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/data/group b/tests/chroot/useradd/03_useradd--root_useradd.default/data/group new file mode 100644 index 00000000..ffc452fd --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/data/group @@ -0,0 +1,43 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: +foo:x:1000: diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/data/gshadow b/tests/chroot/useradd/03_useradd--root_useradd.default/data/gshadow new file mode 100644 index 00000000..e4b350df --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/data/gshadow @@ -0,0 +1,43 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: +foo:!:: diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/data/passwd b/tests/chroot/useradd/03_useradd--root_useradd.default/data/passwd new file mode 100644 index 00000000..22fa7447 --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/data/passwd @@ -0,0 +1,22 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash +foo:x:1000:1000::/tmp/foo:/bin/sh diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/data/shadow b/tests/chroot/useradd/03_useradd--root_useradd.default/data/shadow new file mode 100644 index 00000000..f4c9dfbd --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/data/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +foo:!:@TODAY@:0:99999:7:12:13849: diff --git a/tests/chroot/useradd/03_useradd--root_useradd.default/useradd.test b/tests/chroot/useradd/03_useradd--root_useradd.default/useradd.test new file mode 100755 index 00000000..aa9dd35a --- /dev/null +++ b/tests/chroot/useradd/03_useradd--root_useradd.default/useradd.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "useradd can add an user in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Add user foo in chroot (useradd --root $PWD/tmp/root foo)..." +useradd --root $PWD/tmp/root foo +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl data/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl data/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config.txt b/tests/chroot/useradd/04_useradd--root_useradd-D/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/default/useradd b/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/group b/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/gshadow b/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/passwd b/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/shadow b/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/default/useradd b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/default/useradd new file mode 100644 index 00000000..5051e1d9 --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/sh +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/group b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/gshadow b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/login.defs b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/passwd b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/shadow b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/data/useradd.out b/tests/chroot/useradd/04_useradd--root_useradd-D/data/useradd.out new file mode 100644 index 00000000..581c0555 --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/data/useradd.out @@ -0,0 +1,7 @@ +GROUP=10 +HOME=/tmp +INACTIVE=12 +EXPIRE=2007-12-02 +SHELL=/bin/sh +SKEL=/etc/skel +CREATE_MAIL_SPOOL=no diff --git a/tests/chroot/useradd/04_useradd--root_useradd-D/useradd.test b/tests/chroot/useradd/04_useradd--root_useradd-D/useradd.test new file mode 100755 index 00000000..069e7042 --- /dev/null +++ b/tests/chroot/useradd/04_useradd--root_useradd-D/useradd.test @@ -0,0 +1,61 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "useradd can list defaults from a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "List defaults in chroot (useradd --root $PWD/tmp/root foo)..." +useradd -D --root $PWD/tmp/root > tmp/useradd.out +echo "OK" + +echo "useradd reported:" +echo "=======================================================================" +cat tmp/useradd.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/useradd.out tmp/useradd.out +echo "OK." +rm -f tmp/useradd.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc//group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl config_chroot/etc/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config.txt b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/default/useradd b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/group b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/gshadow b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/passwd b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/shadow b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/default/useradd b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/default/useradd new file mode 100644 index 00000000..d1406e44 --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/sh +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=100 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/group b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/gshadow b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/login.defs b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/passwd b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/shadow b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/data/useradd.default b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/data/useradd.default new file mode 100644 index 00000000..aaca91a5 --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/data/useradd.default @@ -0,0 +1,38 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/sh +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=424242 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2012-12-12 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes +SKEL=/etc/skel +CREATE_MAIL_SPOOL=no diff --git a/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/useradd.test b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/useradd.test new file mode 100755 index 00000000..97059dad --- /dev/null +++ b/tests/chroot/useradd/05_useradd--root_useradd-D-e-g/useradd.test @@ -0,0 +1,56 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "useradd can list defaults from a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "List defaults in chroot (useradd -D --root $PWD/tmp/root -e 2012-12-12 -g 424242)..." +useradd -D --root $PWD/tmp/root -e 2012-12-12 -g 424242 +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl config_chroot/etc/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc//group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl config_chroot/etc/gshadow tmp/root/etc/gshadow +echo "OK" +echo -n "Check the useradd's default file..." +diff -au data/useradd.default tmp/root/etc/default/useradd +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +rm -f tmp/root/etc/default/useradd- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/userdel/01_userdel--root/config.txt b/tests/chroot/userdel/01_userdel--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/userdel/01_userdel--root/config/etc/default/useradd b/tests/chroot/userdel/01_userdel--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/userdel/01_userdel--root/config/etc/group b/tests/chroot/userdel/01_userdel--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/userdel/01_userdel--root/config/etc/gshadow b/tests/chroot/userdel/01_userdel--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/userdel/01_userdel--root/config/etc/passwd b/tests/chroot/userdel/01_userdel--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/userdel/01_userdel--root/config/etc/shadow b/tests/chroot/userdel/01_userdel--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/userdel/01_userdel--root/config_chroot/etc/group b/tests/chroot/userdel/01_userdel--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/userdel/01_userdel--root/config_chroot/etc/gshadow b/tests/chroot/userdel/01_userdel--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/userdel/01_userdel--root/config_chroot/etc/login.defs b/tests/chroot/userdel/01_userdel--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/userdel/01_userdel--root/config_chroot/etc/passwd b/tests/chroot/userdel/01_userdel--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/userdel/01_userdel--root/config_chroot/etc/shadow b/tests/chroot/userdel/01_userdel--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/userdel/01_userdel--root/data/group b/tests/chroot/userdel/01_userdel--root/data/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/data/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/userdel/01_userdel--root/data/gshadow b/tests/chroot/userdel/01_userdel--root/data/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/data/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/userdel/01_userdel--root/data/passwd b/tests/chroot/userdel/01_userdel--root/data/passwd new file mode 100644 index 00000000..4736f1c9 --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/data/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/userdel/01_userdel--root/data/shadow b/tests/chroot/userdel/01_userdel--root/data/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/data/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/userdel/01_userdel--root/userdel.test b/tests/chroot/userdel/01_userdel--root/userdel.test new file mode 100755 index 00000000..4ee203e2 --- /dev/null +++ b/tests/chroot/userdel/01_userdel--root/userdel.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "userdel can change a user in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Delete a user in chroot (userdel --root $PWD/tmp/root myuser)..." +userdel --root $PWD/tmp/root myuser +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl data/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl data/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chroot/usermod/01_usermod--root/config.txt b/tests/chroot/usermod/01_usermod--root/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/chroot/usermod/01_usermod--root/config/etc/default/useradd b/tests/chroot/usermod/01_usermod--root/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/chroot/usermod/01_usermod--root/config/etc/group b/tests/chroot/usermod/01_usermod--root/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/chroot/usermod/01_usermod--root/config/etc/gshadow b/tests/chroot/usermod/01_usermod--root/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/chroot/usermod/01_usermod--root/config/etc/passwd b/tests/chroot/usermod/01_usermod--root/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/chroot/usermod/01_usermod--root/config/etc/shadow b/tests/chroot/usermod/01_usermod--root/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/chroot/usermod/01_usermod--root/config_chroot/etc/group b/tests/chroot/usermod/01_usermod--root/config_chroot/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config_chroot/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chroot/usermod/01_usermod--root/config_chroot/etc/gshadow b/tests/chroot/usermod/01_usermod--root/config_chroot/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config_chroot/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chroot/usermod/01_usermod--root/config_chroot/etc/login.defs b/tests/chroot/usermod/01_usermod--root/config_chroot/etc/login.defs new file mode 100644 index 00000000..7b70c90e --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config_chroot/etc/login.defs @@ -0,0 +1,335 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# REQUIRED for useradd/userdel/usermod +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define MAIL_DIR and MAIL_FILE, +# MAIL_DIR takes precedence. +# +# Essentially: +# - MAIL_DIR defines the location of users mail spool files +# (for mbox use) by appending the username to MAIL_DIR as defined +# below. +# - MAIL_FILE defines the location of the users mail spool files as the +# fully-qualified filename obtained by prepending the user home +# directory before $MAIL_FILE +# +# NOTE: This is no more used for setting up users MAIL environment variable +# which is, starting from shadow 4.0.12-1 in Debian, entirely the +# job of the pam_mail PAM modules +# See default PAM configuration files provided for +# login, su, etc. +# +# This is a temporary situation: setting these variables will soon +# move to /etc/default/useradd and the variables will then be +# no more supported +MAIL_DIR /var/mail +#MAIL_FILE .mail + +# +# Enable logging and display of /var/log/faillog login failure info. +# This option conflicts with the pam_tally PAM module. +# +FAILLOG_ENAB yes + +# +# Enable display of unknown usernames when login failures are recorded. +# +# WARNING: Unknown usernames may become world readable. +# See #290803 and #298773 for details about how this could become a security +# concern +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, login failures will be logged here in a utmp format +# last, when invoked as lastb, will read /var/log/btmp, so... +# +FTMP_FILE /var/log/btmp + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +# In Debian /usr/bin/bsd-write or similar programs are setgid tty +# However, the default and recommended value for TTYPERM is still 0600 +# to not allow anyone to write to anyone else console or terminal + +# Users can still allow other people to write them by issuing +# the "mesg y" command. + +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# +# UMASK is the default umask value for pam_umask and is used by +# useradd and newusers to set the mode of the new home directories. +# 022 is the "historical" value in Debian for UMASK +# 027, or even 077, could be considered better for privacy +# There is no One True Answer here : each sysadmin must make up his/her +# mind. +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 022 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +#SYS_UID_MIN 100 +#SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +#SYS_GID_MIN 100 +#SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad. This will most likely be +# overriden by PAM, since the default pam_unix module has it's own built +# in of 3 retries. However, this is a safe fallback in case you are using +# an authentication module that does not enforce PAM_MAXTRIES. +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# If set to yes, userdel will remove the user“s group if it contains no +# more members, and useradd will create by default a group with the name +# of the user. +# +# Other former uses of this variable such as setting the umask when +# user==primary group are not used in PAM environments, such as Debian +# +USERGROUPS_ENAB yes + +# +# Instead of the real user shell, the program specified by this parameter +# will be launched, although its visible name (argv[0]) will be the shell's. +# The program may do whatever it wants (logging, additional authentification, +# banner, ...) before running the actual shell. +# +# FAKE_SHELL /bin/fakeshell + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +# This variable is used by login and su. +# +#CONSOLE /etc/consoles +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +# This variable is used by login and su. +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +# This variable is deprecated. You should use ENCRYPT_METHOD. +# +#MD5_CRYPT_ENAB no + +# +# If set to MD5 , MD5-based algorithm will be used for encrypting password +# If set to SHA256, SHA256-based algorithm will be used for encrypting password +# If set to SHA512, SHA512-based algorithm will be used for encrypting password +# If set to DES, DES-based algorithm will be used for encrypting password (default) +# Overrides the MD5_CRYPT_ENAB option +# +# Note: It is recommended to use a value consistent with +# the PAM modules configuration. +# +#ENCRYPT_METHOD DES + +# +# Only used if ENCRYPT_METHOD is set to SHA256 or SHA512. +# +# Define the number of SHA rounds. +# With a lot of rounds, it is more difficult to brute forcing the password. +# But note also that it more CPU resources will be needed to authenticate +# users. +# +# If not specified, the libc will choose the default number of rounds (5000). +# The values must be inside the 1000-999999999 range. +# If only one of the MIN or MAX values is set, then this value will be used. +# If MIN > MAX, the highest value will be used. +# +# SHA_CRYPT_MIN_ROUNDS 5000 +# SHA_CRYPT_MAX_ROUNDS 5000 + +################# OBSOLETED BY PAM ############## +# # +# These options are now handled by PAM. Please # +# edit the appropriate file in /etc/pam.d/ to # +# enable the equivelants of them. +# +############### + +#MOTD_FILE +#DIALUPS_CHECK_ENAB +#LASTLOG_ENAB +#MAIL_CHECK_ENAB +#OBSCURE_CHECKS_ENAB +#PORTTIME_CHECKS_ENAB +#SU_WHEEL_ONLY +#CRACKLIB_DICTPATH +#PASS_CHANGE_TRIES +#PASS_ALWAYS_WARN +#ENVIRON_FILE +#NOLOGINS_FILE +#ISSUE_FILE +#PASS_MIN_LEN +#PASS_MAX_LEN +#ULIMIT +#ENV_HZ +#CHFN_AUTH +#CHSH_AUTH +#FAIL_DELAY + +################# OBSOLETED ####################### +# # +# These options are no more handled by shadow. # +# # +# Shadow utilities will display a warning if they # +# still appear. # +# # +################################################### + +# CLOSE_SESSIONS +# LOGIN_STRING +# NO_PASSWORD_CONSOLE +# QMAIL_DIR + + + diff --git a/tests/chroot/usermod/01_usermod--root/config_chroot/etc/passwd b/tests/chroot/usermod/01_usermod--root/config_chroot/etc/passwd new file mode 100644 index 00000000..9bdeb8ce --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config_chroot/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/usermod/01_usermod--root/config_chroot/etc/shadow b/tests/chroot/usermod/01_usermod--root/config_chroot/etc/shadow new file mode 100644 index 00000000..038d5cf4 --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/config_chroot/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chroot/usermod/01_usermod--root/data/passwd b/tests/chroot/usermod/01_usermod--root/data/passwd new file mode 100644 index 00000000..1f47aafa --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/data/passwd @@ -0,0 +1,21 @@ +root:x:0:100:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home/:/bin/sh +testsuite::424243:424243::/home:/bin/bash diff --git a/tests/chroot/usermod/01_usermod--root/usermod.test b/tests/chroot/usermod/01_usermod--root/usermod.test new file mode 100755 index 00000000..14f7a08b --- /dev/null +++ b/tests/chroot/usermod/01_usermod--root/usermod.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "usermod can change a user in a chroot" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; clean_chroot; restore_config' 0 + +change_config + +prepare_chroot + +echo -n "Change user in chroot (usermod --root $PWD/tmp/root -g users root)..." +usermod --root $PWD/tmp/root -g users root +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl data/passwd tmp/root/etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl config_chroot/etc/group tmp/root/etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl config_chroot/etc/shadow tmp/root/etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl config_chroot/etc/gshadow tmp/root/etc/gshadow +echo "OK" + +rm -f tmp/root/etc/.pwd.lock +rm -f tmp/root/etc/passwd- +rm -f tmp/root/etc/group- +rm -f tmp/root/etc/shadow- +rm -f tmp/root/etc/gshadow- +clean_chroot + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/01/data/chsh1 b/tests/chsh/01/data/chsh1 new file mode 100644 index 00000000..01b3d539 --- /dev/null +++ b/tests/chsh/01/data/chsh1 @@ -0,0 +1 @@ +You may not change the shell for 'myuser'. diff --git a/tests/chsh/01/data/chsh2 b/tests/chsh/01/data/chsh2 new file mode 100644 index 00000000..b017d6dd --- /dev/null +++ b/tests/chsh/01/data/chsh2 @@ -0,0 +1 @@ +You may not change the shell for 'myuser2'. diff --git a/tests/chsh/01/data/group b/tests/chsh/01/data/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/01/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/01/data/gshadow b/tests/chsh/01/data/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/01/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/01/data/passwd b/tests/chsh/01/data/passwd new file mode 100644 index 00000000..37b04674 --- /dev/null +++ b/tests/chsh/01/data/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/01/data/shadow b/tests/chsh/01/data/shadow new file mode 100644 index 00000000..f004fa26 --- /dev/null +++ b/tests/chsh/01/data/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chsh/01/data/shells b/tests/chsh/01/data/shells new file mode 100644 index 00000000..4fd4378e --- /dev/null +++ b/tests/chsh/01/data/shells @@ -0,0 +1,16 @@ +# /etc/shells: valid login shells +/bin/ash +/bin/csh +/bin/sh +/usr/bin/es +/usr/bin/ksh +/bin/ksh +/usr/bin/rc +/usr/bin/tcsh +/bin/tcsh +/usr/bin/zsh +/bin/sash +/bin/zsh +/usr/bin/esh +/bin/bash +/bin/rbash diff --git a/tests/chsh/01/run b/tests/chsh/01/run new file mode 100755 index 00000000..72760c26 --- /dev/null +++ b/tests/chsh/01/run @@ -0,0 +1,143 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +# Rational: +# Test chage options + +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +save() +{ + [ ! -d tmp ] && mkdir tmp + for i in passwd group shadow gshadow shells + do + [ -f /etc/$i ] && cp /etc/$i tmp/$i + [ -f /etc/$i- ] && cp /etc/$i- tmp/$i- + done + + true +} + +restore() +{ + for i in passwd group shadow gshadow shells + do + [ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i + [ -f tmp/$i- ] && cp tmp/$i- /etc/$i- && rm tmp/$i- + done + rm -f tmp/out + rm -f tmp/shell tmp/sh:ell + rmdir tmp +} + +save + +# restore the files on exit +trap 'if [ "$?" != "0" ]; then echo "FAIL"; fi; restore' 0 + +for i in passwd group shadow gshadow shells +do + cp data/$i /etc +done + +echo -n "changing to a restricted shell, by root..." +cp /bin/bash tmp/shell +chsh -s $(pwd)/tmp/shell myuser +ent=$(getent passwd myuser) +[ "$ent" = "myuser:x:424242:424242::/home:"$(pwd)"/tmp/shell" ] || exit 1 +echo "OK" + +echo -n "changing from a restricted shell, by myuser..." +su myuser -c "chsh -s /bin/bash" 2> tmp/out && exit 1 +ent=$(getent passwd myuser) +[ "$ent" = "myuser:x:424242:424242::/home:"$(pwd)"/tmp/shell" ] || exit 1 +diff -au data/chsh1 tmp/out +echo "OK" + +echo -n "changing from a restricted shell, by root..." +chsh -s /bin/bash myuser +ent=$(getent passwd myuser) +[ "$ent" = "myuser:x:424242:424242::/home:/bin/bash" ] || exit 1 +echo "OK" + +# Need to be done by expect now (chage asks for a passwd if not root) +#echo -n "changing to a restricted shell, by myuser..." +#su myuser -c "chsh -s $(pwd)/tmp/shell" 2> tmp/out && exit 1 +#ent=$(getent passwd myuser) +#[ "$ent" = "myuser:x:424242:424242::/home:/bin/bash" ] || exit 1 +#grep "/tmp/shell is an invalid shell." tmp/out > /dev/null +#[ $(wc -l tmp/out| cut -d" " -f1) = "1" ] || exit 1 +#echo "OK" + +#echo -n "changing to a new valid shell, by myuser..." +#echo $(pwd)/tmp/shell >> /tmp/shells +#su myuser -c "chsh -s $(pwd)/tmp/shell" 2> tmp/out && exit 1 +#ent=$(getent passwd myuser) +#[ "$ent" = "myuser:x:424242:424242::/home:/bin/bash" ] || exit 1 +#grep "/tmp/shell is an invalid shell." tmp/out > /dev/null +#[ $(wc -l tmp/out| cut -d" " -f1) = "1" ] || exit 1 +#echo "OK" + +echo -n "changing another user's shell..." +su myuser -c "chsh -s /bin/sh myuser2" 2> tmp/out && exit 1 +ent=$(getent passwd myuser2) +[ "$ent" = "myuser2:x:424243:424242::/home:/bin/sh" ] || exit 1 +diff -au data/chsh2 tmp/out +echo "OK" + +#echo -n "changing to a non-executable shell..." +#chmod a-x tmp/shell +#su myuser -c "chsh -s $(pwd)/tmp/shell myuser" 2> tmp/out && exit 1 +#ent=$(getent passwd myuser) +#[ "$ent" = "myuser:x:424242:424242::/home:/bin/bash" ] || exit 1 +#grep "/tmp/shell is an invalid shell." tmp/out > /dev/null +#[ $(wc -l tmp/out| cut -d" " -f1) = "1" ] || exit 1 +#echo "OK" + +echo -n "changing to an invalid shell name..." +cp /bin/bash tmp/sh:ell +echo $(pwd)/tmp/sh:ell >> /etc/shells +chsh -s $(pwd)/tmp/sh:ell myuser 2> tmp/out && exit 1 +ent=$(getent passwd myuser) +[ "$ent" = "myuser:x:424242:424242::/home:/bin/bash" ] || exit 1 +egrep "chsh: Invalid entry: .*/tmp/sh:ell" tmp/out > /dev/null +[ $(wc -l tmp/out| cut -d" " -f1) = "1" ] || exit 1 +echo "OK" + +echo "testing the interactive mode (1)..." +rm -f tmp/out +./run.exp /bin/bash myuser +[ -f tmp/out ] && exit 1 +ent=$(getent passwd myuser) +[ "$ent" = "myuser:x:424242:424242::/home:/bin/bash" ] || exit 1 +echo "OK" + +#echo "testing the interactive mode (2)..." +#rm -f tmp/out +#su myuser -c "./run.exp /bin/bash" +#[ -f tmp/out ] && exit 1 +#ent=$(getent passwd myuser) +#[ "$ent" = "myuser:x:424242:424242::/home:/bin/bash" ] || exit 1 +#echo "OK" + +echo "testing the interactive mode (3)..." +rm -f tmp/out +./run.exp /bin/sh myuser +[ -f tmp/out ] && exit 1 +ent=$(getent passwd myuser) +[ "$ent" = "myuser:x:424242:424242::/home:/bin/sh" ] || exit 1 +echo "OK" + +echo "testing the interactive mode (4)..." +rm -f tmp/out +./run.exp $(pwd)/tmp/sh:ell myuser && exit 1 +egrep "chsh: Invalid entry: .*/tmp/sh:ell" tmp/out > /dev/null +ent=$(getent passwd myuser) +[ "$ent" = "myuser:x:424242:424242::/home:/bin/sh" ] || exit 1 +echo "OK" + diff --git a/tests/chsh/01/run.exp b/tests/chsh/01/run.exp new file mode 100755 index 00000000..4890193f --- /dev/null +++ b/tests/chsh/01/run.exp @@ -0,0 +1,38 @@ +#!/usr/bin/expect + +set timeout 5 + +if {$argc < 1} { + puts "usage: run.exp \[shell] \[user]" + exit 1 +} +set shell [lindex $argv 0] + +if {$argc == 2} { + spawn /usr/bin/chsh [lindex $argv 1] +} else { + spawn /usr/bin/chsh +} + +expect "Changing the login shell for myuser" +expect "Enter the new value, or press ENTER for the default" +expect -re "Login Shell .*\]: " +send "$shell\r" +expect "$shell\r\n" +expect { + eof { + if ([string compare $expect_out(buffer) ""]) { + set fp [open "tmp/out" w] + puts $fp "$expect_out(buffer)" + puts "\nFAIL" + exit 1 + } + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chsh/02_chsh_usage/chsh.test b/tests/chsh/02_chsh_usage/chsh.test new file mode 100755 index 00000000..3a6e656a --- /dev/null +++ b/tests/chsh/02_chsh_usage/chsh.test @@ -0,0 +1,48 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh can display its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Get chsh usage (chsh -h)..." +chsh -h >tmp/usage.out +echo "OK" + +echo "chsh reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/02_chsh_usage/config.txt b/tests/chsh/02_chsh_usage/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/02_chsh_usage/config/etc/group b/tests/chsh/02_chsh_usage/config/etc/group new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/02_chsh_usage/config/etc/gshadow b/tests/chsh/02_chsh_usage/config/etc/gshadow new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/02_chsh_usage/config/etc/passwd b/tests/chsh/02_chsh_usage/config/etc/passwd new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/02_chsh_usage/config/etc/shadow b/tests/chsh/02_chsh_usage/config/etc/shadow new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/02_chsh_usage/data/usage.out b/tests/chsh/02_chsh_usage/data/usage.out new file mode 100644 index 00000000..ef576ec4 --- /dev/null +++ b/tests/chsh/02_chsh_usage/data/usage.out @@ -0,0 +1,7 @@ +Usage: chsh [options] [LOGIN] + +Options: + -h, --help display this help message and exit + -R, --root CHROOT_DIR directory to chroot into + -s, --shell SHELL new login shell for the user account + diff --git a/tests/chsh/03_chsh_usage_invalid_option/chsh.test b/tests/chsh/03_chsh_usage_invalid_option/chsh.test new file mode 100755 index 00000000..4552cc32 --- /dev/null +++ b/tests/chsh/03_chsh_usage_invalid_option/chsh.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh displays its usage message is case of invalid option" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Use wrong chsh option (chsh -Z)..." +chsh -Z 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "chsh reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/03_chsh_usage_invalid_option/config.txt b/tests/chsh/03_chsh_usage_invalid_option/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/03_chsh_usage_invalid_option/config/etc/group b/tests/chsh/03_chsh_usage_invalid_option/config/etc/group new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/03_chsh_usage_invalid_option/config/etc/gshadow b/tests/chsh/03_chsh_usage_invalid_option/config/etc/gshadow new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/03_chsh_usage_invalid_option/config/etc/passwd b/tests/chsh/03_chsh_usage_invalid_option/config/etc/passwd new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/03_chsh_usage_invalid_option/config/etc/shadow b/tests/chsh/03_chsh_usage_invalid_option/config/etc/shadow new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/03_chsh_usage_invalid_option/data/usage.out b/tests/chsh/03_chsh_usage_invalid_option/data/usage.out new file mode 100644 index 00000000..e930bab5 --- /dev/null +++ b/tests/chsh/03_chsh_usage_invalid_option/data/usage.out @@ -0,0 +1,8 @@ +chsh: invalid option -- 'Z' +Usage: chsh [options] [LOGIN] + +Options: + -h, --help display this help message and exit + -R, --root CHROOT_DIR directory to chroot into + -s, --shell SHELL new login shell for the user account + diff --git a/tests/chsh/04_chsh_usage_2_users/chsh.test b/tests/chsh/04_chsh_usage_2_users/chsh.test new file mode 100755 index 00000000..ef1c1818 --- /dev/null +++ b/tests/chsh/04_chsh_usage_2_users/chsh.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh displays its usage message is case multiple users are provided" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Use chsh with 2 users (chsh -s /bin/sh root bin)..." +chsh -s /bin/sh root bin 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "chsh reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/04_chsh_usage_2_users/config.txt b/tests/chsh/04_chsh_usage_2_users/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/04_chsh_usage_2_users/config/etc/group b/tests/chsh/04_chsh_usage_2_users/config/etc/group new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/04_chsh_usage_2_users/config/etc/gshadow b/tests/chsh/04_chsh_usage_2_users/config/etc/gshadow new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/04_chsh_usage_2_users/config/etc/passwd b/tests/chsh/04_chsh_usage_2_users/config/etc/passwd new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/04_chsh_usage_2_users/config/etc/shadow b/tests/chsh/04_chsh_usage_2_users/config/etc/shadow new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/04_chsh_usage_2_users/data/usage.out b/tests/chsh/04_chsh_usage_2_users/data/usage.out new file mode 100644 index 00000000..ef576ec4 --- /dev/null +++ b/tests/chsh/04_chsh_usage_2_users/data/usage.out @@ -0,0 +1,7 @@ +Usage: chsh [options] [LOGIN] + +Options: + -h, --help display this help message and exit + -R, --root CHROOT_DIR directory to chroot into + -s, --shell SHELL new login shell for the user account + diff --git a/tests/chsh/05_chsh_myuser_restricted_shell/chsh.test b/tests/chsh/05_chsh_myuser_restricted_shell/chsh.test new file mode 100755 index 00000000..48442668 --- /dev/null +++ b/tests/chsh/05_chsh_myuser_restricted_shell/chsh.test @@ -0,0 +1,41 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh can displays its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +chmod a+w tmp + +echo -n "execute chsh..." +su myuser -c "./run.exp /bin/sh" +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/05_chsh_myuser_restricted_shell/config.txt b/tests/chsh/05_chsh_myuser_restricted_shell/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/group b/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/gshadow b/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/passwd b/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/passwd new file mode 100644 index 00000000..37b04674 --- /dev/null +++ b/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/shadow b/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/shadow new file mode 100644 index 00000000..f004fa26 --- /dev/null +++ b/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/shells b/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/shells new file mode 100644 index 00000000..16e922a1 --- /dev/null +++ b/tests/chsh/05_chsh_myuser_restricted_shell/config/etc/shells @@ -0,0 +1,15 @@ +# /etc/shells: valid login shells +/bin/ash +/bin/csh +/bin/sh +/usr/bin/es +/usr/bin/ksh +/bin/ksh +/usr/bin/rc +/usr/bin/tcsh +/bin/tcsh +/usr/bin/zsh +/bin/sash +#/bin/zsh +/usr/bin/esh +/bin/rbash diff --git a/tests/chsh/05_chsh_myuser_restricted_shell/run.exp b/tests/chsh/05_chsh_myuser_restricted_shell/run.exp new file mode 100755 index 00000000..1abf0858 --- /dev/null +++ b/tests/chsh/05_chsh_myuser_restricted_shell/run.exp @@ -0,0 +1,34 @@ +#!/usr/bin/expect + +set timeout 5 + +if {$argc < 1} { + puts "usage: run.exp \[shell] \[user]" + exit 1 +} +set shell [lindex $argv 0] + +if {$argc == 2} { + spawn /usr/bin/chsh [lindex $argv 1] +} else { + spawn /usr/bin/chsh +} + +expect "You may not change the shell for 'myuser'.\r\n" +expect { + eof { + if ([string compare $expect_out(buffer) ""]) { + set fp [open "tmp/out" w] + puts $fp "$expect_out(buffer)" + puts "\nFAIL" + exit 1 + } + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chsh/06_chsh_myuser_non_restricted_shell/chsh.test b/tests/chsh/06_chsh_myuser_non_restricted_shell/chsh.test new file mode 100755 index 00000000..d8d88ac1 --- /dev/null +++ b/tests/chsh/06_chsh_myuser_non_restricted_shell/chsh.test @@ -0,0 +1,41 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh can displays its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +chmod a+w tmp + +echo -n "execute chsh..." +su myuser -c "./run.exp /bin/sh" +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/06_chsh_myuser_non_restricted_shell/config.txt b/tests/chsh/06_chsh_myuser_non_restricted_shell/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/group b/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/gshadow b/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/passwd b/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/passwd new file mode 100644 index 00000000..37b04674 --- /dev/null +++ b/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/shadow b/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/shadow new file mode 100644 index 00000000..f004fa26 --- /dev/null +++ b/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/shells b/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/shells new file mode 100644 index 00000000..d52a3bf0 --- /dev/null +++ b/tests/chsh/06_chsh_myuser_non_restricted_shell/config/etc/shells @@ -0,0 +1,16 @@ +# /etc/shells: valid login shells +/bin/ash +/bin/csh +/bin/sh +/usr/bin/es +/usr/bin/ksh +/bin/ksh +/usr/bin/rc +/usr/bin/tcsh +/bin/tcsh +/usr/bin/zsh +/bin/sash +#/bin/zsh +/usr/bin/esh +/bin/bash +/bin/rbash diff --git a/tests/chsh/06_chsh_myuser_non_restricted_shell/data/passwd b/tests/chsh/06_chsh_myuser_non_restricted_shell/data/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/06_chsh_myuser_non_restricted_shell/data/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/06_chsh_myuser_non_restricted_shell/run.exp b/tests/chsh/06_chsh_myuser_non_restricted_shell/run.exp new file mode 100755 index 00000000..0c0e023b --- /dev/null +++ b/tests/chsh/06_chsh_myuser_non_restricted_shell/run.exp @@ -0,0 +1,40 @@ +#!/usr/bin/expect + +set timeout 5 + +if {$argc < 1} { + puts "usage: run.exp \[shell] \[user]" + exit 1 +} +set shell [lindex $argv 0] + +if {$argc == 2} { + spawn /usr/bin/chsh [lindex $argv 1] +} else { + spawn /usr/bin/chsh +} + +expect "Password: " +send "myuserF00barbaz\r" +expect "Changing the login shell for myuser" +expect "Enter the new value, or press ENTER for the default" +expect -re "Login Shell .*\]: " +send "$shell\r" +expect "$shell\r\n" +expect { + eof { + if ([string compare $expect_out(buffer) ""]) { + set fp [open "tmp/out" w] + puts $fp "$expect_out(buffer)" + puts "\nFAIL" + exit 1 + } + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chsh/07_chsh_usage_invalid_user/chsh.test b/tests/chsh/07_chsh_usage_invalid_user/chsh.test new file mode 100755 index 00000000..5d76de21 --- /dev/null +++ b/tests/chsh/07_chsh_usage_invalid_user/chsh.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh checks that the user exist" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Use chsh for an invalid user (chsh wronguser)..." +chsh wronguser 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "chsh reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/07_chsh_usage_invalid_user/config.txt b/tests/chsh/07_chsh_usage_invalid_user/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/07_chsh_usage_invalid_user/config/etc/group b/tests/chsh/07_chsh_usage_invalid_user/config/etc/group new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/07_chsh_usage_invalid_user/config/etc/gshadow b/tests/chsh/07_chsh_usage_invalid_user/config/etc/gshadow new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/07_chsh_usage_invalid_user/config/etc/passwd b/tests/chsh/07_chsh_usage_invalid_user/config/etc/passwd new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/07_chsh_usage_invalid_user/config/etc/shadow b/tests/chsh/07_chsh_usage_invalid_user/config/etc/shadow new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/07_chsh_usage_invalid_user/data/usage.out b/tests/chsh/07_chsh_usage_invalid_user/data/usage.out new file mode 100644 index 00000000..f57326c7 --- /dev/null +++ b/tests/chsh/07_chsh_usage_invalid_user/data/usage.out @@ -0,0 +1 @@ +chsh: user 'wronguser' does not exist diff --git a/tests/chsh/08_chsh_myuser_to_restricted_shell/chsh.test b/tests/chsh/08_chsh_myuser_to_restricted_shell/chsh.test new file mode 100755 index 00000000..611d1a6b --- /dev/null +++ b/tests/chsh/08_chsh_myuser_to_restricted_shell/chsh.test @@ -0,0 +1,41 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh can displays its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +chmod a+w tmp + +echo -n "execute chsh..." +su myuser -c "./run.exp /bin/bash" +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/08_chsh_myuser_to_restricted_shell/config.txt b/tests/chsh/08_chsh_myuser_to_restricted_shell/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/group b/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/gshadow b/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/passwd b/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/shadow b/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/shadow new file mode 100644 index 00000000..f004fa26 --- /dev/null +++ b/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/shells b/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/shells new file mode 100644 index 00000000..16e922a1 --- /dev/null +++ b/tests/chsh/08_chsh_myuser_to_restricted_shell/config/etc/shells @@ -0,0 +1,15 @@ +# /etc/shells: valid login shells +/bin/ash +/bin/csh +/bin/sh +/usr/bin/es +/usr/bin/ksh +/bin/ksh +/usr/bin/rc +/usr/bin/tcsh +/bin/tcsh +/usr/bin/zsh +/bin/sash +#/bin/zsh +/usr/bin/esh +/bin/rbash diff --git a/tests/chsh/08_chsh_myuser_to_restricted_shell/data/passwd b/tests/chsh/08_chsh_myuser_to_restricted_shell/data/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/08_chsh_myuser_to_restricted_shell/data/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/08_chsh_myuser_to_restricted_shell/run.exp b/tests/chsh/08_chsh_myuser_to_restricted_shell/run.exp new file mode 100755 index 00000000..b1bd8d66 --- /dev/null +++ b/tests/chsh/08_chsh_myuser_to_restricted_shell/run.exp @@ -0,0 +1,41 @@ +#!/usr/bin/expect + +set timeout 5 + +if {$argc < 1} { + puts "usage: run.exp \[shell] \[user]" + exit 1 +} +set shell [lindex $argv 0] + +if {$argc == 2} { + spawn /usr/bin/chsh [lindex $argv 1] +} else { + spawn /usr/bin/chsh +} + +expect "Password: " +send "myuserF00barbaz\r" +expect "Changing the login shell for myuser" +expect "Enter the new value, or press ENTER for the default" +expect -re "Login Shell .*\]: " +send "$shell\r" +expect "$shell\r\n" +expect "chsh: $shell is an invalid shell\r\n" +expect { + eof { + if ([string compare $expect_out(buffer) ""]) { + set fp [open "tmp/out" w] + puts $fp "$expect_out(buffer)" + puts "\nFAIL" + exit 1 + } + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chsh/09_chsh_myuser_to_missing_shell/chsh.test b/tests/chsh/09_chsh_myuser_to_missing_shell/chsh.test new file mode 100755 index 00000000..6248780b --- /dev/null +++ b/tests/chsh/09_chsh_myuser_to_missing_shell/chsh.test @@ -0,0 +1,42 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh can displays its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +chmod a+w tmp + +echo /tmp/bash >> /etc/shells +echo -n "execute chsh..." +su myuser -c "./run.exp /tmp/bash" +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/09_chsh_myuser_to_missing_shell/config.txt b/tests/chsh/09_chsh_myuser_to_missing_shell/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/group b/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/gshadow b/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/passwd b/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/shadow b/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/shadow new file mode 100644 index 00000000..f004fa26 --- /dev/null +++ b/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/shells b/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/shells new file mode 100644 index 00000000..16e922a1 --- /dev/null +++ b/tests/chsh/09_chsh_myuser_to_missing_shell/config/etc/shells @@ -0,0 +1,15 @@ +# /etc/shells: valid login shells +/bin/ash +/bin/csh +/bin/sh +/usr/bin/es +/usr/bin/ksh +/bin/ksh +/usr/bin/rc +/usr/bin/tcsh +/bin/tcsh +/usr/bin/zsh +/bin/sash +#/bin/zsh +/usr/bin/esh +/bin/rbash diff --git a/tests/chsh/09_chsh_myuser_to_missing_shell/data/passwd b/tests/chsh/09_chsh_myuser_to_missing_shell/data/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/09_chsh_myuser_to_missing_shell/data/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/09_chsh_myuser_to_missing_shell/run.exp b/tests/chsh/09_chsh_myuser_to_missing_shell/run.exp new file mode 100755 index 00000000..b1bd8d66 --- /dev/null +++ b/tests/chsh/09_chsh_myuser_to_missing_shell/run.exp @@ -0,0 +1,41 @@ +#!/usr/bin/expect + +set timeout 5 + +if {$argc < 1} { + puts "usage: run.exp \[shell] \[user]" + exit 1 +} +set shell [lindex $argv 0] + +if {$argc == 2} { + spawn /usr/bin/chsh [lindex $argv 1] +} else { + spawn /usr/bin/chsh +} + +expect "Password: " +send "myuserF00barbaz\r" +expect "Changing the login shell for myuser" +expect "Enter the new value, or press ENTER for the default" +expect -re "Login Shell .*\]: " +send "$shell\r" +expect "$shell\r\n" +expect "chsh: $shell is an invalid shell\r\n" +expect { + eof { + if ([string compare $expect_out(buffer) ""]) { + set fp [open "tmp/out" w] + puts $fp "$expect_out(buffer)" + puts "\nFAIL" + exit 1 + } + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chsh/10_chsh_myuser_to_non_executable_shell/chsh.test b/tests/chsh/10_chsh_myuser_to_non_executable_shell/chsh.test new file mode 100755 index 00000000..7dd4642d --- /dev/null +++ b/tests/chsh/10_chsh_myuser_to_non_executable_shell/chsh.test @@ -0,0 +1,46 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh can displays its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config; rm -f /tmp/bash' 0 + +change_config + +chmod a+w tmp + +echo /tmp/bash >> /etc/shells +cp /bin/bash /tmp/bash +chmod a-x /tmp/bash + +echo -n "execute chsh..." +su myuser -c "./run.exp /tmp/bash" +echo "OK" +rm -f /tmp/bash + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/10_chsh_myuser_to_non_executable_shell/config.txt b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/group b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/gshadow b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/passwd b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/shadow b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/shadow new file mode 100644 index 00000000..f004fa26 --- /dev/null +++ b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/shells b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/shells new file mode 100644 index 00000000..16e922a1 --- /dev/null +++ b/tests/chsh/10_chsh_myuser_to_non_executable_shell/config/etc/shells @@ -0,0 +1,15 @@ +# /etc/shells: valid login shells +/bin/ash +/bin/csh +/bin/sh +/usr/bin/es +/usr/bin/ksh +/bin/ksh +/usr/bin/rc +/usr/bin/tcsh +/bin/tcsh +/usr/bin/zsh +/bin/sash +#/bin/zsh +/usr/bin/esh +/bin/rbash diff --git a/tests/chsh/10_chsh_myuser_to_non_executable_shell/data/passwd b/tests/chsh/10_chsh_myuser_to_non_executable_shell/data/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/10_chsh_myuser_to_non_executable_shell/data/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/10_chsh_myuser_to_non_executable_shell/run.exp b/tests/chsh/10_chsh_myuser_to_non_executable_shell/run.exp new file mode 100755 index 00000000..b1bd8d66 --- /dev/null +++ b/tests/chsh/10_chsh_myuser_to_non_executable_shell/run.exp @@ -0,0 +1,41 @@ +#!/usr/bin/expect + +set timeout 5 + +if {$argc < 1} { + puts "usage: run.exp \[shell] \[user]" + exit 1 +} +set shell [lindex $argv 0] + +if {$argc == 2} { + spawn /usr/bin/chsh [lindex $argv 1] +} else { + spawn /usr/bin/chsh +} + +expect "Password: " +send "myuserF00barbaz\r" +expect "Changing the login shell for myuser" +expect "Enter the new value, or press ENTER for the default" +expect -re "Login Shell .*\]: " +send "$shell\r" +expect "$shell\r\n" +expect "chsh: $shell is an invalid shell\r\n" +expect { + eof { + if ([string compare $expect_out(buffer) ""]) { + set fp [open "tmp/out" w] + puts $fp "$expect_out(buffer)" + puts "\nFAIL" + exit 1 + } + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chsh/11_chsh_auth_failure/chsh.test b/tests/chsh/11_chsh_auth_failure/chsh.test new file mode 100755 index 00000000..dda9bc6e --- /dev/null +++ b/tests/chsh/11_chsh_auth_failure/chsh.test @@ -0,0 +1,41 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh checks password for non root" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +chmod a+w tmp + +echo -n "execute chsh..." +su myuser -c "./run.exp /bin/bash" +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/11_chsh_auth_failure/config.txt b/tests/chsh/11_chsh_auth_failure/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/11_chsh_auth_failure/config/etc/group b/tests/chsh/11_chsh_auth_failure/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/11_chsh_auth_failure/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/11_chsh_auth_failure/config/etc/gshadow b/tests/chsh/11_chsh_auth_failure/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/11_chsh_auth_failure/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/11_chsh_auth_failure/config/etc/passwd b/tests/chsh/11_chsh_auth_failure/config/etc/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/11_chsh_auth_failure/config/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/11_chsh_auth_failure/config/etc/shadow b/tests/chsh/11_chsh_auth_failure/config/etc/shadow new file mode 100644 index 00000000..f004fa26 --- /dev/null +++ b/tests/chsh/11_chsh_auth_failure/config/etc/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chsh/11_chsh_auth_failure/config/etc/shells b/tests/chsh/11_chsh_auth_failure/config/etc/shells new file mode 100644 index 00000000..16e922a1 --- /dev/null +++ b/tests/chsh/11_chsh_auth_failure/config/etc/shells @@ -0,0 +1,15 @@ +# /etc/shells: valid login shells +/bin/ash +/bin/csh +/bin/sh +/usr/bin/es +/usr/bin/ksh +/bin/ksh +/usr/bin/rc +/usr/bin/tcsh +/bin/tcsh +/usr/bin/zsh +/bin/sash +#/bin/zsh +/usr/bin/esh +/bin/rbash diff --git a/tests/chsh/11_chsh_auth_failure/data/passwd b/tests/chsh/11_chsh_auth_failure/data/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/11_chsh_auth_failure/data/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/11_chsh_auth_failure/run.exp b/tests/chsh/11_chsh_auth_failure/run.exp new file mode 100755 index 00000000..67e34552 --- /dev/null +++ b/tests/chsh/11_chsh_auth_failure/run.exp @@ -0,0 +1,36 @@ +#!/usr/bin/expect + +set timeout 5 + +if {$argc < 1} { + puts "usage: run.exp \[shell] \[user]" + exit 1 +} +set shell [lindex $argv 0] + +if {$argc == 2} { + spawn /usr/bin/chsh [lindex $argv 1] +} else { + spawn /usr/bin/chsh +} + +expect "Password: " +send "wrong pass\r" +expect "chsh: PAM: Authentication failure\r\n" +expect { + eof { + if ([string compare $expect_out(buffer) ""]) { + set fp [open "tmp/out" w] + puts $fp "$expect_out(buffer)" + puts "\nFAIL" + exit 1 + } + } default { + puts "\nFAIL" + exit 1 + } +} + +puts "\nPASS" +exit 0 + diff --git a/tests/chsh/12_chsh_warning_missing_shell/chsh.test b/tests/chsh/12_chsh_warning_missing_shell/chsh.test new file mode 100755 index 00000000..de12b13e --- /dev/null +++ b/tests/chsh/12_chsh_warning_missing_shell/chsh.test @@ -0,0 +1,48 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh can displays its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Change shell to a missing shell (chsh -s /tmp/bash bin)..." +chsh -s /tmp/bash bin 2>tmp/chsh.err +echo "OK" + +echo "chsh reported:" +echo "=======================================================================" +cat tmp/chsh.err +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/chsh.err tmp/chsh.err +echo "usage message OK." +rm -f tmp/chsh.err + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/12_chsh_warning_missing_shell/config.txt b/tests/chsh/12_chsh_warning_missing_shell/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/12_chsh_warning_missing_shell/config/etc/group b/tests/chsh/12_chsh_warning_missing_shell/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/12_chsh_warning_missing_shell/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/12_chsh_warning_missing_shell/config/etc/gshadow b/tests/chsh/12_chsh_warning_missing_shell/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/12_chsh_warning_missing_shell/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/12_chsh_warning_missing_shell/config/etc/pam.d/chsh b/tests/chsh/12_chsh_warning_missing_shell/config/etc/pam.d/chsh new file mode 100644 index 00000000..7eb604d7 --- /dev/null +++ b/tests/chsh/12_chsh_warning_missing_shell/config/etc/pam.d/chsh @@ -0,0 +1,20 @@ +# +# The PAM configuration file for the Shadow `chsh' service +# + +# This will not allow a user to change their shell unless +# their current one is listed in /etc/shells. This keeps +# accounts with special shells from changing them. +auth required pam_shells.so + +# This allows root to change user shell without being +# prompted for a password +auth sufficient pam_rootok.so + +# The standard Unix authentication modules, used with +# NIS (man nsswitch) as well as normal /etc/passwd and +# /etc/shadow entries. +@include common-auth +@include common-account +@include common-session + diff --git a/tests/chsh/12_chsh_warning_missing_shell/config/etc/passwd b/tests/chsh/12_chsh_warning_missing_shell/config/etc/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/12_chsh_warning_missing_shell/config/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/12_chsh_warning_missing_shell/config/etc/shadow b/tests/chsh/12_chsh_warning_missing_shell/config/etc/shadow new file mode 100644 index 00000000..f004fa26 --- /dev/null +++ b/tests/chsh/12_chsh_warning_missing_shell/config/etc/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chsh/12_chsh_warning_missing_shell/config/etc/shells b/tests/chsh/12_chsh_warning_missing_shell/config/etc/shells new file mode 100644 index 00000000..4fd4378e --- /dev/null +++ b/tests/chsh/12_chsh_warning_missing_shell/config/etc/shells @@ -0,0 +1,16 @@ +# /etc/shells: valid login shells +/bin/ash +/bin/csh +/bin/sh +/usr/bin/es +/usr/bin/ksh +/bin/ksh +/usr/bin/rc +/usr/bin/tcsh +/bin/tcsh +/usr/bin/zsh +/bin/sash +/bin/zsh +/usr/bin/esh +/bin/bash +/bin/rbash diff --git a/tests/chsh/12_chsh_warning_missing_shell/data/chsh.err b/tests/chsh/12_chsh_warning_missing_shell/data/chsh.err new file mode 100644 index 00000000..7801a163 --- /dev/null +++ b/tests/chsh/12_chsh_warning_missing_shell/data/chsh.err @@ -0,0 +1 @@ +chsh: Warning: /tmp/bash does not exist diff --git a/tests/chsh/12_chsh_warning_missing_shell/data/passwd b/tests/chsh/12_chsh_warning_missing_shell/data/passwd new file mode 100644 index 00000000..7e745d96 --- /dev/null +++ b/tests/chsh/12_chsh_warning_missing_shell/data/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/tmp/bash +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/13_chsh_warning_non_executable/chsh.test b/tests/chsh/13_chsh_warning_non_executable/chsh.test new file mode 100755 index 00000000..c98bad72 --- /dev/null +++ b/tests/chsh/13_chsh_warning_non_executable/chsh.test @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh can displays its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config; rm -f /tmp/bash' 0 + +change_config + +cp /bin/bash /tmp/bash +chmod a-x /tmp/bash + +echo -n "Change shell to a missing shell (chsh -s /tmp/bash bin)..." +chsh -s /tmp/bash bin 2>tmp/chsh.err +echo "OK" +rm -f /tmp/bash + +echo "chsh reported:" +echo "=======================================================================" +cat tmp/chsh.err +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/chsh.err tmp/chsh.err +echo "usage message OK." +rm -f tmp/chsh.err + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/13_chsh_warning_non_executable/config.txt b/tests/chsh/13_chsh_warning_non_executable/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/13_chsh_warning_non_executable/config/etc/group b/tests/chsh/13_chsh_warning_non_executable/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/13_chsh_warning_non_executable/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/13_chsh_warning_non_executable/config/etc/gshadow b/tests/chsh/13_chsh_warning_non_executable/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/13_chsh_warning_non_executable/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/13_chsh_warning_non_executable/config/etc/pam.d/chsh b/tests/chsh/13_chsh_warning_non_executable/config/etc/pam.d/chsh new file mode 100644 index 00000000..7eb604d7 --- /dev/null +++ b/tests/chsh/13_chsh_warning_non_executable/config/etc/pam.d/chsh @@ -0,0 +1,20 @@ +# +# The PAM configuration file for the Shadow `chsh' service +# + +# This will not allow a user to change their shell unless +# their current one is listed in /etc/shells. This keeps +# accounts with special shells from changing them. +auth required pam_shells.so + +# This allows root to change user shell without being +# prompted for a password +auth sufficient pam_rootok.so + +# The standard Unix authentication modules, used with +# NIS (man nsswitch) as well as normal /etc/passwd and +# /etc/shadow entries. +@include common-auth +@include common-account +@include common-session + diff --git a/tests/chsh/13_chsh_warning_non_executable/config/etc/passwd b/tests/chsh/13_chsh_warning_non_executable/config/etc/passwd new file mode 100644 index 00000000..ae3eda3f --- /dev/null +++ b/tests/chsh/13_chsh_warning_non_executable/config/etc/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/13_chsh_warning_non_executable/config/etc/shadow b/tests/chsh/13_chsh_warning_non_executable/config/etc/shadow new file mode 100644 index 00000000..f004fa26 --- /dev/null +++ b/tests/chsh/13_chsh_warning_non_executable/config/etc/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: diff --git a/tests/chsh/13_chsh_warning_non_executable/config/etc/shells b/tests/chsh/13_chsh_warning_non_executable/config/etc/shells new file mode 100644 index 00000000..4fd4378e --- /dev/null +++ b/tests/chsh/13_chsh_warning_non_executable/config/etc/shells @@ -0,0 +1,16 @@ +# /etc/shells: valid login shells +/bin/ash +/bin/csh +/bin/sh +/usr/bin/es +/usr/bin/ksh +/bin/ksh +/usr/bin/rc +/usr/bin/tcsh +/bin/tcsh +/usr/bin/zsh +/bin/sash +/bin/zsh +/usr/bin/esh +/bin/bash +/bin/rbash diff --git a/tests/chsh/13_chsh_warning_non_executable/data/chsh.err b/tests/chsh/13_chsh_warning_non_executable/data/chsh.err new file mode 100644 index 00000000..4a87ec2e --- /dev/null +++ b/tests/chsh/13_chsh_warning_non_executable/data/chsh.err @@ -0,0 +1 @@ +chsh: Warning: /tmp/bash is not executable diff --git a/tests/chsh/13_chsh_warning_non_executable/data/passwd b/tests/chsh/13_chsh_warning_non_executable/data/passwd new file mode 100644 index 00000000..7e745d96 --- /dev/null +++ b/tests/chsh/13_chsh_warning_non_executable/data/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/tmp/bash +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser:x:424242:424242::/home:/bin/sh +myuser2:x:424243:424242::/home:/bin/sh diff --git a/tests/chsh/14_chsh_locked_passwd/chsh.test b/tests/chsh/14_chsh_locked_passwd/chsh.test new file mode 100755 index 00000000..c41e1ebb --- /dev/null +++ b/tests/chsh/14_chsh_locked_passwd/chsh.test @@ -0,0 +1,59 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh warns when passwd is already locked" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config; rm -f /etc/passwd.lock' 0 + +change_config + +echo -n "Create lock file for /etc/passwd..." +touch /etc/passwd.lock +echo "done" + +echo -n "Change shell (chsh -s /bin/bash bin)..." +chsh -s /bin/bash bin 2>tmp/chsh.err && exit 1 || { + status=$? +} +echo "OK" +rm -f /etc/passwd.lock + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "chsh reported:" +echo "=======================================================================" +cat tmp/chsh.err +echo "=======================================================================" +echo -n "Check the error message..." +diff -au data/chsh.err tmp/chsh.err +echo "error message OK." +rm -f tmp/chsh.err + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/14_chsh_locked_passwd/config.txt b/tests/chsh/14_chsh_locked_passwd/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/14_chsh_locked_passwd/config/etc/group b/tests/chsh/14_chsh_locked_passwd/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/14_chsh_locked_passwd/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/14_chsh_locked_passwd/config/etc/gshadow b/tests/chsh/14_chsh_locked_passwd/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/14_chsh_locked_passwd/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/14_chsh_locked_passwd/config/etc/passwd b/tests/chsh/14_chsh_locked_passwd/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chsh/14_chsh_locked_passwd/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chsh/14_chsh_locked_passwd/config/etc/shadow b/tests/chsh/14_chsh_locked_passwd/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chsh/14_chsh_locked_passwd/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chsh/14_chsh_locked_passwd/data/chsh.err b/tests/chsh/14_chsh_locked_passwd/data/chsh.err new file mode 100644 index 00000000..c5ebce9e --- /dev/null +++ b/tests/chsh/14_chsh_locked_passwd/data/chsh.err @@ -0,0 +1,2 @@ +chsh: existing lock file /etc/passwd.lock without a PID +chsh: cannot lock /etc/passwd; try again later. diff --git a/tests/chsh/15_chsh_PAM_error/chsh.test b/tests/chsh/15_chsh_PAM_error/chsh.test new file mode 100755 index 00000000..c900e0c3 --- /dev/null +++ b/tests/chsh/15_chsh_PAM_error/chsh.test @@ -0,0 +1,58 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "chsh warns when the chsh PAM configuration is invalid" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Remove the PAM configuration (/etc/pam.d/chsh /etc/pam.d/other)..." +rm -f /etc/pam.d/chsh /etc/pam.d/other +echo OK + +echo -n "Change shell (chsh -s /bin/bash bin)..." +chsh -s /bin/bash bin 2>tmp/chsh.err && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "chsh reported:" +echo "=======================================================================" +cat tmp/chsh.err +echo "=======================================================================" +echo -n "Check the error message..." +diff -au data/chsh.err tmp/chsh.err +echo "error message OK." +rm -f tmp/chsh.err + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/chsh/15_chsh_PAM_error/config.txt b/tests/chsh/15_chsh_PAM_error/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/chsh/15_chsh_PAM_error/config/etc/group b/tests/chsh/15_chsh_PAM_error/config/etc/group new file mode 100644 index 00000000..245cc9cf --- /dev/null +++ b/tests/chsh/15_chsh_PAM_error/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +myuser:x:424242: diff --git a/tests/chsh/15_chsh_PAM_error/config/etc/gshadow b/tests/chsh/15_chsh_PAM_error/config/etc/gshadow new file mode 100644 index 00000000..25bd55bd --- /dev/null +++ b/tests/chsh/15_chsh_PAM_error/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +myuser:x:: diff --git a/tests/chsh/15_chsh_PAM_error/config/etc/pam.d/chsh b/tests/chsh/15_chsh_PAM_error/config/etc/pam.d/chsh new file mode 100644 index 00000000..91529699 --- /dev/null +++ b/tests/chsh/15_chsh_PAM_error/config/etc/pam.d/chsh @@ -0,0 +1 @@ +This file will be removed diff --git a/tests/chsh/15_chsh_PAM_error/config/etc/pam.d/other b/tests/chsh/15_chsh_PAM_error/config/etc/pam.d/other new file mode 100644 index 00000000..91529699 --- /dev/null +++ b/tests/chsh/15_chsh_PAM_error/config/etc/pam.d/other @@ -0,0 +1 @@ +This file will be removed diff --git a/tests/chsh/15_chsh_PAM_error/config/etc/passwd b/tests/chsh/15_chsh_PAM_error/config/etc/passwd new file mode 100644 index 00000000..5d27e129 --- /dev/null +++ b/tests/chsh/15_chsh_PAM_error/config/etc/passwd @@ -0,0 +1,26 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +myuser1:x:424242:424242::/home:/bin/bash +myuser2:x:424243:424242::/home:/bin/bash +myuser3:x:424244:424242::/home:/bin/bash +myuser4:x:424245:424242::/home:/bin/bash +myuser5:x:424246:424242::/home:/bin/bash +myuser6:x:424247:424242::/home:/bin/bash +myuser7:x:424248:424242::/home:/bin/bash diff --git a/tests/chsh/15_chsh_PAM_error/config/etc/shadow b/tests/chsh/15_chsh_PAM_error/config/etc/shadow new file mode 100644 index 00000000..da4c2bc4 --- /dev/null +++ b/tests/chsh/15_chsh_PAM_error/config/etc/shadow @@ -0,0 +1,26 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +myuser1:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::: +myuser2:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12992:1:99996:5::: +myuser3:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::0: +myuser4:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7::1: +myuser5:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:0:: +myuser6:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: +myuser7:$1$yQnIAZWV$gDAMB2IkqaONgrQiRdo4y.:12991:0:99999:7:1:: diff --git a/tests/chsh/15_chsh_PAM_error/data/chsh.err b/tests/chsh/15_chsh_PAM_error/data/chsh.err new file mode 100644 index 00000000..5c039d55 --- /dev/null +++ b/tests/chsh/15_chsh_PAM_error/data/chsh.err @@ -0,0 +1 @@ +chsh: PAM: Critical error - immediate abort diff --git a/tests/cktools/01/data/group b/tests/cktools/01/data/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/01/data/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/01/data/gshadow b/tests/cktools/01/data/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/01/data/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/01/data/passwd b/tests/cktools/01/data/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/cktools/01/data/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/cktools/01/data/run2.err b/tests/cktools/01/data/run2.err new file mode 100644 index 00000000..e69de29b diff --git a/tests/cktools/01/data/run2.out b/tests/cktools/01/data/run2.out new file mode 100644 index 00000000..00df3125 --- /dev/null +++ b/tests/cktools/01/data/run2.out @@ -0,0 +1,13 @@ +user 'lp': directory '/var/spool/lpd' does not exist +user 'news': directory '/var/spool/news' does not exist +user 'uucp': directory '/var/spool/uucp' does not exist +user 'www-data': directory '/var/www' does not exist +user 'list': directory '/var/list' does not exist +user 'irc': directory '/var/run/ircd' does not exist +user 'gnats': directory '/var/lib/gnats' does not exist +user 'nobody': directory '/nonexistent' does not exist +user 'Debian-exim': directory '/var/spool/exim4' does not exist +user 'test': no group 10002 +no matching password file entry in /etc/shadow +add user 'test' in /etc/shadow? No +pwck: no changes diff --git a/tests/cktools/01/data/shadow b/tests/cktools/01/data/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/cktools/01/data/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/cktools/01/run1 b/tests/cktools/01/run1 new file mode 100755 index 00000000..04aa793b --- /dev/null +++ b/tests/cktools/01/run1 @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +# Rational: +# Test that useradd can add an user and userdel removes it. + +save() +{ + [ ! -d tmp ] && mkdir tmp + for i in passwd group shadow gshadow + do + [ -f /etc/$i ] && cp /etc/$i tmp/$i + done + + true +} + +restore() +{ + for i in passwd group shadow gshadow + do + [ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i + done + rmdir tmp +} + +save + +# restore the files on exit +trap 'restore' 0 + +for i in passwd group shadow gshadow +do + cp data/$i /etc +done + +lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ") +lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ") +lines_group=$(wc -l /etc/group | cut -f1 -d" ") +lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ") + +echo "pwck accepts valid password file " +msg=$(pwck -r | grep -v "^user .*: directory .* does not exist$") +echo msg: $msg +test "$msg" = "pwck: no changes" +echo " OK" +echo "grpck accepts valid password file " +msg=$(grpck -r) +test "$msg" = "" +echo " OK" + diff --git a/tests/cktools/01/run2 b/tests/cktools/01/run2 new file mode 100755 index 00000000..df1e2777 --- /dev/null +++ b/tests/cktools/01/run2 @@ -0,0 +1,62 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +# Rational: +# Test that useradd can add an user and userdel removes it. + +save() +{ + [ ! -d tmp ] && mkdir tmp + for i in passwd group shadow gshadow + do + [ -f /etc/$i ] && cp /etc/$i tmp/$i + done + + true +} + +restore() +{ + rm -f tmp/err tmp/out + for i in passwd group shadow gshadow + do + [ -f tmp/$i ] && cp tmp/$i /etc/$i && rm tmp/$i + done + rmdir tmp +} + +save + +# restore the files on exit +trap 'restore' 0 + +for i in passwd group shadow gshadow +do + cp data/$i /etc +done + +lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ") +lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ") +lines_group=$(wc -l /etc/group | cut -f1 -d" ") +lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ") + +echo -n "Add an user without an entry in shadow " +echo "test:x:10002:10002::/tmp:/bin/false" >> /etc/passwd +echo "OK" + +echo "Check that pwck detects it " +pwck -r > tmp/out 2> tmp/err || true +diff -au data/run2.out tmp/out +diff -au data/run2.err tmp/err +echo " OK" +echo "grpck accepts valid password file " +msg=$(grpck -r) +test "$msg" = "" +echo " OK" + +#echo -n "Make sure pwck can fix it " +#pwcd +#echo "OK" diff --git a/tests/cktools/02_pwck_sort/config.txt b/tests/cktools/02_pwck_sort/config.txt new file mode 100644 index 00000000..3d43135c --- /dev/null +++ b/tests/cktools/02_pwck_sort/config.txt @@ -0,0 +1,5 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users diff --git a/tests/cktools/02_pwck_sort/config/etc/group b/tests/cktools/02_pwck_sort/config/etc/group new file mode 100644 index 00000000..50518255 --- /dev/null +++ b/tests/cktools/02_pwck_sort/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/02_pwck_sort/config/etc/gshadow b/tests/cktools/02_pwck_sort/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/02_pwck_sort/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/02_pwck_sort/config/etc/passwd b/tests/cktools/02_pwck_sort/config/etc/passwd new file mode 100644 index 00000000..e69a810c --- /dev/null +++ b/tests/cktools/02_pwck_sort/config/etc/passwd @@ -0,0 +1,20 @@ +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +root:x:0:0:root:/root:/bin/bash +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +games:x:5:60:games:/usr/games:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/02_pwck_sort/config/etc/shadow b/tests/cktools/02_pwck_sort/config/etc/shadow new file mode 100644 index 00000000..42cf133f --- /dev/null +++ b/tests/cktools/02_pwck_sort/config/etc/shadow @@ -0,0 +1,20 @@ +daemon:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/02_pwck_sort/data/passwd b/tests/cktools/02_pwck_sort/data/passwd new file mode 100644 index 00000000..5b45b52c --- /dev/null +++ b/tests/cktools/02_pwck_sort/data/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh diff --git a/tests/cktools/02_pwck_sort/data/shadow b/tests/cktools/02_pwck_sort/data/shadow new file mode 100644 index 00000000..8033f272 --- /dev/null +++ b/tests/cktools/02_pwck_sort/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: diff --git a/tests/cktools/02_pwck_sort/pwck.test b/tests/cktools/02_pwck_sort/pwck.test new file mode 100755 index 00000000..9d6afb1b --- /dev/null +++ b/tests/cktools/02_pwck_sort/pwck.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "pwck can sort the passwd entries" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Sort the passwd entries (pwck -s)..." +pwck -s +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/03_grpck_sort/config.txt b/tests/cktools/03_grpck_sort/config.txt new file mode 100644 index 00000000..3d43135c --- /dev/null +++ b/tests/cktools/03_grpck_sort/config.txt @@ -0,0 +1,5 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users diff --git a/tests/cktools/03_grpck_sort/config/etc/group b/tests/cktools/03_grpck_sort/config/etc/group new file mode 100644 index 00000000..afbb01e0 --- /dev/null +++ b/tests/cktools/03_grpck_sort/config/etc/group @@ -0,0 +1,42 @@ +daemon:x:1: +bin:x:2: +kmem:x:15: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +root:x:0: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +shadow:x:42: +gnats:x:41: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/03_grpck_sort/config/etc/gshadow b/tests/cktools/03_grpck_sort/config/etc/gshadow new file mode 100644 index 00000000..8182ad79 --- /dev/null +++ b/tests/cktools/03_grpck_sort/config/etc/gshadow @@ -0,0 +1,42 @@ +daemon:*:: +bin:*:: +kmem:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +root:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +shadow:*:: +gnats:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/03_grpck_sort/config/etc/passwd b/tests/cktools/03_grpck_sort/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/03_grpck_sort/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/03_grpck_sort/config/etc/shadow b/tests/cktools/03_grpck_sort/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/03_grpck_sort/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/03_grpck_sort/data/group b/tests/cktools/03_grpck_sort/data/group new file mode 100644 index 00000000..12659535 --- /dev/null +++ b/tests/cktools/03_grpck_sort/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: +nogroup:x:65534: diff --git a/tests/cktools/03_grpck_sort/data/gshadow b/tests/cktools/03_grpck_sort/data/gshadow new file mode 100644 index 00000000..f2209e3b --- /dev/null +++ b/tests/cktools/03_grpck_sort/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: +nogroup:*:: diff --git a/tests/cktools/03_grpck_sort/grpck.test b/tests/cktools/03_grpck_sort/grpck.test new file mode 100755 index 00000000..75e62cf6 --- /dev/null +++ b/tests/cktools/03_grpck_sort/grpck.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "grpck can sort the group entries" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Sort the group entries (grpck -s)..." +grpck -s +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/04_pwck_sort_missing_shadow_user/config.txt b/tests/cktools/04_pwck_sort_missing_shadow_user/config.txt new file mode 100644 index 00000000..3d43135c --- /dev/null +++ b/tests/cktools/04_pwck_sort_missing_shadow_user/config.txt @@ -0,0 +1,5 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users diff --git a/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/group b/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/group new file mode 100644 index 00000000..50518255 --- /dev/null +++ b/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/gshadow b/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/passwd b/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/passwd new file mode 100644 index 00000000..e69a810c --- /dev/null +++ b/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/passwd @@ -0,0 +1,20 @@ +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +root:x:0:0:root:/root:/bin/bash +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +games:x:5:60:games:/usr/games:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/shadow b/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/shadow new file mode 100644 index 00000000..64573fab --- /dev/null +++ b/tests/cktools/04_pwck_sort_missing_shadow_user/config/etc/shadow @@ -0,0 +1,19 @@ +daemon:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/04_pwck_sort_missing_shadow_user/data/passwd b/tests/cktools/04_pwck_sort_missing_shadow_user/data/passwd new file mode 100644 index 00000000..5b45b52c --- /dev/null +++ b/tests/cktools/04_pwck_sort_missing_shadow_user/data/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh diff --git a/tests/cktools/04_pwck_sort_missing_shadow_user/data/shadow b/tests/cktools/04_pwck_sort_missing_shadow_user/data/shadow new file mode 100644 index 00000000..f1e4d806 --- /dev/null +++ b/tests/cktools/04_pwck_sort_missing_shadow_user/data/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: diff --git a/tests/cktools/04_pwck_sort_missing_shadow_user/pwck.test b/tests/cktools/04_pwck_sort_missing_shadow_user/pwck.test new file mode 100755 index 00000000..9d6afb1b --- /dev/null +++ b/tests/cktools/04_pwck_sort_missing_shadow_user/pwck.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "pwck can sort the passwd entries" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Sort the passwd entries (pwck -s)..." +pwck -s +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/05_grpck_sort_missing_shadow_group/config.txt b/tests/cktools/05_grpck_sort_missing_shadow_group/config.txt new file mode 100644 index 00000000..3d43135c --- /dev/null +++ b/tests/cktools/05_grpck_sort_missing_shadow_group/config.txt @@ -0,0 +1,5 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users diff --git a/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/group b/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/group new file mode 100644 index 00000000..afbb01e0 --- /dev/null +++ b/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/group @@ -0,0 +1,42 @@ +daemon:x:1: +bin:x:2: +kmem:x:15: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +root:x:0: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +shadow:x:42: +gnats:x:41: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/gshadow b/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/gshadow new file mode 100644 index 00000000..695bf8f5 --- /dev/null +++ b/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/gshadow @@ -0,0 +1,41 @@ +daemon:*:: +bin:*:: +kmem:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +root:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +shadow:*:: +gnats:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +foo:*:: diff --git a/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/passwd b/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/shadow b/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/05_grpck_sort_missing_shadow_group/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/05_grpck_sort_missing_shadow_group/data/group b/tests/cktools/05_grpck_sort_missing_shadow_group/data/group new file mode 100644 index 00000000..12659535 --- /dev/null +++ b/tests/cktools/05_grpck_sort_missing_shadow_group/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: +nogroup:x:65534: diff --git a/tests/cktools/05_grpck_sort_missing_shadow_group/data/gshadow b/tests/cktools/05_grpck_sort_missing_shadow_group/data/gshadow new file mode 100644 index 00000000..7dcb3e59 --- /dev/null +++ b/tests/cktools/05_grpck_sort_missing_shadow_group/data/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +crontab:x:: +foo:*:: +nogroup:*:: diff --git a/tests/cktools/05_grpck_sort_missing_shadow_group/grpck.test b/tests/cktools/05_grpck_sort_missing_shadow_group/grpck.test new file mode 100755 index 00000000..75e62cf6 --- /dev/null +++ b/tests/cktools/05_grpck_sort_missing_shadow_group/grpck.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "grpck can sort the group entries" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Sort the group entries (grpck -s)..." +grpck -s +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/06_pwck_sort_NIS_server/config.txt b/tests/cktools/06_pwck_sort_NIS_server/config.txt new file mode 100644 index 00000000..3d43135c --- /dev/null +++ b/tests/cktools/06_pwck_sort_NIS_server/config.txt @@ -0,0 +1,5 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users diff --git a/tests/cktools/06_pwck_sort_NIS_server/config/etc/group b/tests/cktools/06_pwck_sort_NIS_server/config/etc/group new file mode 100644 index 00000000..18eb6c27 --- /dev/null +++ b/tests/cktools/06_pwck_sort_NIS_server/config/etc/group @@ -0,0 +1,43 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: ++::: diff --git a/tests/cktools/06_pwck_sort_NIS_server/config/etc/gshadow b/tests/cktools/06_pwck_sort_NIS_server/config/etc/gshadow new file mode 100644 index 00000000..7a7ef3a4 --- /dev/null +++ b/tests/cktools/06_pwck_sort_NIS_server/config/etc/gshadow @@ -0,0 +1,43 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: ++::: diff --git a/tests/cktools/06_pwck_sort_NIS_server/config/etc/passwd b/tests/cktools/06_pwck_sort_NIS_server/config/etc/passwd new file mode 100644 index 00000000..365af623 --- /dev/null +++ b/tests/cktools/06_pwck_sort_NIS_server/config/etc/passwd @@ -0,0 +1,24 @@ +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +root:x:0:0:root:/root:/bin/bash +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +games:x:5:60:games:/usr/games:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false ++miquels:::::: ++:*:::::/etc/NoShell +tester:*:299:10:Just a test account:/tmp: +miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh diff --git a/tests/cktools/06_pwck_sort_NIS_server/config/etc/shadow b/tests/cktools/06_pwck_sort_NIS_server/config/etc/shadow new file mode 100644 index 00000000..5a24e788 --- /dev/null +++ b/tests/cktools/06_pwck_sort_NIS_server/config/etc/shadow @@ -0,0 +1,21 @@ +daemon:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: ++:::::::: diff --git a/tests/cktools/06_pwck_sort_NIS_server/data/passwd b/tests/cktools/06_pwck_sort_NIS_server/data/passwd new file mode 100644 index 00000000..c12f8a96 --- /dev/null +++ b/tests/cktools/06_pwck_sort_NIS_server/data/passwd @@ -0,0 +1,24 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh ++miquels:::::: ++:*:::::/etc/NoShell +tester:*:299:10:Just a test account:/tmp: +miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh diff --git a/tests/cktools/06_pwck_sort_NIS_server/data/shadow b/tests/cktools/06_pwck_sort_NIS_server/data/shadow new file mode 100644 index 00000000..6a626dfd --- /dev/null +++ b/tests/cktools/06_pwck_sort_NIS_server/data/shadow @@ -0,0 +1,21 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: ++:::::::: diff --git a/tests/cktools/06_pwck_sort_NIS_server/pwck.test b/tests/cktools/06_pwck_sort_NIS_server/pwck.test new file mode 100755 index 00000000..9d6afb1b --- /dev/null +++ b/tests/cktools/06_pwck_sort_NIS_server/pwck.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "pwck can sort the passwd entries" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Sort the passwd entries (pwck -s)..." +pwck -s +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/07_pwck_sort_NIS_client/config.txt b/tests/cktools/07_pwck_sort_NIS_client/config.txt new file mode 100644 index 00000000..3d43135c --- /dev/null +++ b/tests/cktools/07_pwck_sort_NIS_client/config.txt @@ -0,0 +1,5 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users diff --git a/tests/cktools/07_pwck_sort_NIS_client/config/etc/group b/tests/cktools/07_pwck_sort_NIS_client/config/etc/group new file mode 100644 index 00000000..f914b38e --- /dev/null +++ b/tests/cktools/07_pwck_sort_NIS_client/config/etc/group @@ -0,0 +1,45 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: ++::: ++miquels::: ++foo::: diff --git a/tests/cktools/07_pwck_sort_NIS_client/config/etc/gshadow b/tests/cktools/07_pwck_sort_NIS_client/config/etc/gshadow new file mode 100644 index 00000000..7a7ef3a4 --- /dev/null +++ b/tests/cktools/07_pwck_sort_NIS_client/config/etc/gshadow @@ -0,0 +1,43 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: ++::: diff --git a/tests/cktools/07_pwck_sort_NIS_client/config/etc/passwd b/tests/cktools/07_pwck_sort_NIS_client/config/etc/passwd new file mode 100644 index 00000000..913d7fc9 --- /dev/null +++ b/tests/cktools/07_pwck_sort_NIS_client/config/etc/passwd @@ -0,0 +1,22 @@ +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +root:x:0:0:root:/root:/bin/bash +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +games:x:5:60:games:/usr/games:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false ++miquels:::::: ++:*:::::/etc/NoShell diff --git a/tests/cktools/07_pwck_sort_NIS_client/config/etc/shadow b/tests/cktools/07_pwck_sort_NIS_client/config/etc/shadow new file mode 100644 index 00000000..8f31dfbb --- /dev/null +++ b/tests/cktools/07_pwck_sort_NIS_client/config/etc/shadow @@ -0,0 +1,22 @@ +daemon:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: ++:::::::: ++foo2:!::::::: diff --git a/tests/cktools/07_pwck_sort_NIS_client/data/passwd b/tests/cktools/07_pwck_sort_NIS_client/data/passwd new file mode 100644 index 00000000..032bdd26 --- /dev/null +++ b/tests/cktools/07_pwck_sort_NIS_client/data/passwd @@ -0,0 +1,22 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh ++miquels:::::: ++:*:::::/etc/NoShell diff --git a/tests/cktools/07_pwck_sort_NIS_client/data/shadow b/tests/cktools/07_pwck_sort_NIS_client/data/shadow new file mode 100644 index 00000000..5350e77b --- /dev/null +++ b/tests/cktools/07_pwck_sort_NIS_client/data/shadow @@ -0,0 +1,22 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: ++:::::::: ++foo2:!::::::: diff --git a/tests/cktools/07_pwck_sort_NIS_client/pwck.test b/tests/cktools/07_pwck_sort_NIS_client/pwck.test new file mode 100755 index 00000000..9d6afb1b --- /dev/null +++ b/tests/cktools/07_pwck_sort_NIS_client/pwck.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../common/config.sh +. ../../common/log.sh + +log_start "$0" "pwck can sort the passwd entries" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Sort the passwd entries (pwck -s)..." +pwck -s +echo "OK" + +echo -n "Check the passwd file..." +../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/04_grpck_missing_field_group_delete/config.txt b/tests/cktools/grpck/04_grpck_missing_field_group_delete/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/04_grpck_missing_field_group_delete/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/group b/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/group new file mode 100644 index 00000000..d1e687c3 --- /dev/null +++ b/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x diff --git a/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/gshadow b/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/passwd b/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/shadow b/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/04_grpck_missing_field_group_delete/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/04_grpck_missing_field_group_delete/data/group b/tests/cktools/grpck/04_grpck_missing_field_group_delete/data/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/grpck/04_grpck_missing_field_group_delete/data/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/grpck/04_grpck_missing_field_group_delete/data/gshadow b/tests/cktools/grpck/04_grpck_missing_field_group_delete/data/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/grpck/04_grpck_missing_field_group_delete/data/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/04_grpck_missing_field_group_delete/grpck.exp b/tests/cktools/grpck/04_grpck_missing_field_group_delete/grpck.exp new file mode 100755 index 00000000..6d0be77e --- /dev/null +++ b/tests/cktools/grpck/04_grpck_missing_field_group_delete/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "invalid group file entry" +expect "delete line 'foo:x'? " +send "yes\r" +expect "no matching group file entry in /etc/group" +expect "delete line 'foo:*::'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/04_grpck_missing_field_group_delete/grpck.test b/tests/cktools/grpck/04_grpck_missing_field_group_delete/grpck.test new file mode 100755 index 00000000..906d6294 --- /dev/null +++ b/tests/cktools/grpck/04_grpck_missing_field_group_delete/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/05_grpck_missing_field_group_keep/config.txt b/tests/cktools/grpck/05_grpck_missing_field_group_keep/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/05_grpck_missing_field_group_keep/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/group b/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/group new file mode 100644 index 00000000..d1e687c3 --- /dev/null +++ b/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x diff --git a/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/gshadow b/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/passwd b/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/shadow b/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/05_grpck_missing_field_group_keep/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/05_grpck_missing_field_group_keep/data/gshadow b/tests/cktools/grpck/05_grpck_missing_field_group_keep/data/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/grpck/05_grpck_missing_field_group_keep/data/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/05_grpck_missing_field_group_keep/grpck.exp b/tests/cktools/grpck/05_grpck_missing_field_group_keep/grpck.exp new file mode 100755 index 00000000..cfd779fb --- /dev/null +++ b/tests/cktools/grpck/05_grpck_missing_field_group_keep/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "invalid group file entry" +expect "delete line 'foo:x'? " +send "no\r" +expect "no matching group file entry in /etc/group" +expect "delete line 'foo:*::'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/05_grpck_missing_field_group_keep/grpck.test b/tests/cktools/grpck/05_grpck_missing_field_group_keep/grpck.test new file mode 100755 index 00000000..dcfa2498 --- /dev/null +++ b/tests/cktools/grpck/05_grpck_missing_field_group_keep/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config.txt b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/group b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/group new file mode 100644 index 00000000..d1e687c3 --- /dev/null +++ b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x diff --git a/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/gshadow b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/passwd b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/shadow b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/grpck.exp b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/grpck.exp new file mode 100755 index 00000000..48adf7a1 --- /dev/null +++ b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "invalid group file entry" +expect "delete line 'foo:x'? " +send "no\r" +expect "no matching group file entry in /etc/group" +expect "delete line 'foo:*::'? " +send "no\r" +expect "grpck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/grpck.test b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/grpck.test new file mode 100755 index 00000000..81bf12ca --- /dev/null +++ b/tests/cktools/grpck/06_grpck_missing_field_group_no_changes/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config.txt b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config.txt new file mode 100644 index 00000000..52fad51b --- /dev/null +++ b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in gshadow diff --git a/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/group b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/gshadow b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/gshadow new file mode 100644 index 00000000..b8fb2347 --- /dev/null +++ b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*: diff --git a/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/passwd b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/shadow b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/data/gshadow b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/data/gshadow new file mode 100644 index 00000000..be1575eb --- /dev/null +++ b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:x:: diff --git a/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/grpck.exp b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/grpck.exp new file mode 100755 index 00000000..5229ab52 --- /dev/null +++ b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "no matching group file entry in /etc/gshadow" +expect "add group 'foo' in /etc/gshadow? " +send "yes\r" +expect "invalid shadow group file entry" +expect "delete line 'foo:*:'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/grpck.test b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/grpck.test new file mode 100755 index 00000000..dcfa2498 --- /dev/null +++ b/tests/cktools/grpck/07_grpck_missing_field_gshadow_add/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config.txt b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config.txt new file mode 100644 index 00000000..52fad51b --- /dev/null +++ b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in gshadow diff --git a/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/group b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/gshadow b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/gshadow new file mode 100644 index 00000000..b8fb2347 --- /dev/null +++ b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*: diff --git a/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/passwd b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/shadow b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/data/gshadow b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/data/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/data/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/grpck.exp b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/grpck.exp new file mode 100755 index 00000000..5181ebaf --- /dev/null +++ b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "no matching group file entry in /etc/gshadow" +expect "add group 'foo' in /etc/gshadow? " +send "no\r" +expect "invalid shadow group file entry" +expect "delete line 'foo:*:'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/grpck.test b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/grpck.test new file mode 100755 index 00000000..dcfa2498 --- /dev/null +++ b/tests/cktools/grpck/08_grpck_missing_field_gshadow_delete/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config.txt b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config.txt new file mode 100644 index 00000000..52fad51b --- /dev/null +++ b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in gshadow diff --git a/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/group b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/gshadow b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/gshadow new file mode 100644 index 00000000..b8fb2347 --- /dev/null +++ b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*: diff --git a/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/passwd b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/shadow b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/grpck.exp b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/grpck.exp new file mode 100755 index 00000000..3ac4abee --- /dev/null +++ b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "no matching group file entry in /etc/gshadow" +expect "add group 'foo' in /etc/gshadow? " +send "no\r" +expect "invalid shadow group file entry" +expect "delete line 'foo:*:'? " +send "no\r" +expect "grpck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/grpck.test b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/grpck.test new file mode 100755 index 00000000..81bf12ca --- /dev/null +++ b/tests/cktools/grpck/09_grpck_missing_field_gshadow_no_changes/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/10_grpck_missing_field_group_local/config.txt b/tests/cktools/grpck/10_grpck_missing_field_group_local/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/10_grpck_missing_field_group_local/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/group b/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/group new file mode 100644 index 00000000..d1e687c3 --- /dev/null +++ b/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x diff --git a/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/gshadow b/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/passwd b/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/shadow b/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/10_grpck_missing_field_group_local/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/10_grpck_missing_field_group_local/data/group b/tests/cktools/grpck/10_grpck_missing_field_group_local/data/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/grpck/10_grpck_missing_field_group_local/data/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/grpck/10_grpck_missing_field_group_local/data/gshadow b/tests/cktools/grpck/10_grpck_missing_field_group_local/data/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/grpck/10_grpck_missing_field_group_local/data/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/10_grpck_missing_field_group_local/grpck.exp b/tests/cktools/grpck/10_grpck_missing_field_group_local/grpck.exp new file mode 100755 index 00000000..f8228c27 --- /dev/null +++ b/tests/cktools/grpck/10_grpck_missing_field_group_local/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck tmp/group tmp/gshadow\r" +expect "invalid group file entry" +expect "delete line 'foo:x'? " +send "yes\r" +expect "no matching group file entry in tmp/group" +expect "delete line 'foo:*::'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/10_grpck_missing_field_group_local/grpck.test b/tests/cktools/grpck/10_grpck_missing_field_group_local/grpck.test new file mode 100755 index 00000000..63c75aa0 --- /dev/null +++ b/tests/cktools/grpck/10_grpck_missing_field_group_local/grpck.test @@ -0,0 +1,45 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "copy group and gshadow localy..." +cp /etc/group /etc/gshadow tmp/ +echo "OK" + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/gshadow +echo "OK" + +rm -f tmp/group tmp/group- tmp/gshadow tmp/gshadow- + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config.txt b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config.txt new file mode 100644 index 00000000..52fad51b --- /dev/null +++ b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in gshadow diff --git a/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/group b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/gshadow b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/gshadow new file mode 100644 index 00000000..b8fb2347 --- /dev/null +++ b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*: diff --git a/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/passwd b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/shadow b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/data/group b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/data/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/data/gshadow b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/data/gshadow new file mode 100644 index 00000000..be1575eb --- /dev/null +++ b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:x:: diff --git a/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/data/shadow b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/data/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/data/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/grpck.exp b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/grpck.exp new file mode 100755 index 00000000..d111afc3 --- /dev/null +++ b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck tmp/group tmp/gshadow\r" +expect "no matching group file entry in tmp/gshadow" +expect "add group 'foo' in tmp/gshadow? " +send "yes\r" +expect "invalid shadow group file entry" +expect "delete line 'foo:*:'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/grpck.test b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/grpck.test new file mode 100755 index 00000000..63c75aa0 --- /dev/null +++ b/tests/cktools/grpck/11_grpck_missing_field_gshadow_local/grpck.test @@ -0,0 +1,45 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "copy group and gshadow localy..." +cp /etc/group /etc/gshadow tmp/ +echo "OK" + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +../../../common/compare_file.pl data/gshadow tmp/gshadow +echo "OK" + +rm -f tmp/group tmp/group- tmp/gshadow tmp/gshadow- + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/12_grpck_unknown_user_group/config.txt b/tests/cktools/grpck/12_grpck_unknown_user_group/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/12_grpck_unknown_user_group/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/group b/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/group new file mode 100644 index 00000000..757aef84 --- /dev/null +++ b/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon,foo2,bin diff --git a/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/gshadow b/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/gshadow new file mode 100644 index 00000000..3e97ea42 --- /dev/null +++ b/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*::daemon,bin diff --git a/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/passwd b/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/shadow b/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/12_grpck_unknown_user_group/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/12_grpck_unknown_user_group/data/group b/tests/cktools/grpck/12_grpck_unknown_user_group/data/group new file mode 100644 index 00000000..cf18eb5b --- /dev/null +++ b/tests/cktools/grpck/12_grpck_unknown_user_group/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon,bin diff --git a/tests/cktools/grpck/12_grpck_unknown_user_group/grpck.exp b/tests/cktools/grpck/12_grpck_unknown_user_group/grpck.exp new file mode 100755 index 00000000..1dd1d010 --- /dev/null +++ b/tests/cktools/grpck/12_grpck_unknown_user_group/grpck.exp @@ -0,0 +1,20 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "group foo: no user foo2" +expect "delete member 'foo2'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/12_grpck_unknown_user_group/grpck.test b/tests/cktools/grpck/12_grpck_unknown_user_group/grpck.test new file mode 100755 index 00000000..741bfe18 --- /dev/null +++ b/tests/cktools/grpck/12_grpck_unknown_user_group/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config.txt b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/group b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/group new file mode 100644 index 00000000..cf18eb5b --- /dev/null +++ b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon,bin diff --git a/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/gshadow b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/gshadow new file mode 100644 index 00000000..d2a17827 --- /dev/null +++ b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*::daemon,foo2,bin diff --git a/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/passwd b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/shadow b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/13_grpck_unknown_user_gshadow/data/gshadow b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/data/gshadow new file mode 100644 index 00000000..3e97ea42 --- /dev/null +++ b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*::daemon,bin diff --git a/tests/cktools/grpck/13_grpck_unknown_user_gshadow/grpck.exp b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/grpck.exp new file mode 100755 index 00000000..b470a90f --- /dev/null +++ b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/grpck.exp @@ -0,0 +1,21 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "'foo2' is a member of the 'foo' group in /etc/gshadow but not in /etc/group" +expect "shadow group foo: no user foo2" +expect "delete member 'foo2'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/13_grpck_unknown_user_gshadow/grpck.test b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/grpck.test new file mode 100755 index 00000000..dcfa2498 --- /dev/null +++ b/tests/cktools/grpck/13_grpck_unknown_user_gshadow/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config.txt b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/group b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/group new file mode 100644 index 00000000..cf18eb5b --- /dev/null +++ b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon,bin diff --git a/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/gshadow b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/gshadow new file mode 100644 index 00000000..a7d227e6 --- /dev/null +++ b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:foo3,foo4:foo3,daemon,bin,foo2 diff --git a/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/passwd b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/shadow b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/data/gshadow b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/data/gshadow new file mode 100644 index 00000000..3e97ea42 --- /dev/null +++ b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*::daemon,bin diff --git a/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/grpck.exp b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/grpck.exp new file mode 100755 index 00000000..ec5378b8 --- /dev/null +++ b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/grpck.exp @@ -0,0 +1,31 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "'foo3' is a member of the 'foo' group in /etc/gshadow but not in /etc/group" +expect "'foo2' is a member of the 'foo' group in /etc/gshadow but not in /etc/group" +expect "shadow group foo: no administrative user foo3" +expect "delete administrative member 'foo3'? " +send "yes\r" +expect "shadow group foo: no administrative user foo4" +expect "delete administrative member 'foo4'? " +send "yes\r" +expect "shadow group foo: no user foo3" +expect "delete member 'foo3'? " +send "yes\r" +expect "shadow group foo: no user foo2" +expect "delete member 'foo2'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/grpck.test b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/grpck.test new file mode 100755 index 00000000..dcfa2498 --- /dev/null +++ b/tests/cktools/grpck/14_grpck_unknown_user_adm_gshadow/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config.txt b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/group b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/group new file mode 100644 index 00000000..4eeb1ff3 --- /dev/null +++ b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon,foo2,foo2,bin diff --git a/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/gshadow b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/gshadow new file mode 100644 index 00000000..3e97ea42 --- /dev/null +++ b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*::daemon,bin diff --git a/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/passwd b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/shadow b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/data/group b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/data/group new file mode 100644 index 00000000..cf18eb5b --- /dev/null +++ b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon,bin diff --git a/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/grpck.exp b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/grpck.exp new file mode 100755 index 00000000..c12fbd81 --- /dev/null +++ b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "group foo: no user foo2" +expect "delete member 'foo2'? " +send "yes\r" +expect "group foo: no user foo2" +expect "delete member 'foo2'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/grpck.test b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/grpck.test new file mode 100755 index 00000000..741bfe18 --- /dev/null +++ b/tests/cktools/grpck/15_grpck_unknown_user_duplicate_group/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/16_grpck_duplicate_entry_group/config.txt b/tests/cktools/grpck/16_grpck_duplicate_entry_group/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/16_grpck_duplicate_entry_group/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/group b/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/group new file mode 100644 index 00000000..73518006 --- /dev/null +++ b/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/group @@ -0,0 +1,43 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon +foo:x:1000:bin diff --git a/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/gshadow b/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/passwd b/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/shadow b/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/16_grpck_duplicate_entry_group/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/16_grpck_duplicate_entry_group/data/group b/tests/cktools/grpck/16_grpck_duplicate_entry_group/data/group new file mode 100644 index 00000000..5c08ae19 --- /dev/null +++ b/tests/cktools/grpck/16_grpck_duplicate_entry_group/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:bin diff --git a/tests/cktools/grpck/16_grpck_duplicate_entry_group/grpck.exp b/tests/cktools/grpck/16_grpck_duplicate_entry_group/grpck.exp new file mode 100755 index 00000000..cce68028 --- /dev/null +++ b/tests/cktools/grpck/16_grpck_duplicate_entry_group/grpck.exp @@ -0,0 +1,20 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "duplicate group entry" +expect "delete line 'foo:x:1000:daemon'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/16_grpck_duplicate_entry_group/grpck.test b/tests/cktools/grpck/16_grpck_duplicate_entry_group/grpck.test new file mode 100755 index 00000000..741bfe18 --- /dev/null +++ b/tests/cktools/grpck/16_grpck_duplicate_entry_group/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config.txt b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/group b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/group new file mode 100644 index 00000000..fda0a6df --- /dev/null +++ b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon diff --git a/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/gshadow b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/gshadow new file mode 100644 index 00000000..124c8051 --- /dev/null +++ b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/gshadow @@ -0,0 +1,43 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +foo:*::daemon +crontab:x:: +Debian-exim:x:: +foo:*::bin diff --git a/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/passwd b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/shadow b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/data/gshadow b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/data/gshadow new file mode 100644 index 00000000..bdd8388f --- /dev/null +++ b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*::bin diff --git a/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/grpck.exp b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/grpck.exp new file mode 100755 index 00000000..1b123f11 --- /dev/null +++ b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/grpck.exp @@ -0,0 +1,20 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "duplicate shadow group entry" +expect "delete line 'foo:*::daemon'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/grpck.test b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/grpck.test new file mode 100755 index 00000000..dcfa2498 --- /dev/null +++ b/tests/cktools/grpck/17_grpck_duplicate_entry_gshadow/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config.txt b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/group b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/group new file mode 100644 index 00000000..73518006 --- /dev/null +++ b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/group @@ -0,0 +1,43 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon +foo:x:1000:bin diff --git a/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/gshadow b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/passwd b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/shadow b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/grpck.exp b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/grpck.exp new file mode 100755 index 00000000..7e544151 --- /dev/null +++ b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/grpck.exp @@ -0,0 +1,24 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "duplicate group entry" +expect "delete line 'foo:x:1000:daemon'? " +send "no\r" +expect "'daemon' is a member of the 'foo' group in /etc/group but not in /etc/gshadow" +expect "duplicate group entry" +expect "delete line 'foo:x:1000:bin'? " +send "no \r" +expect "grpck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/grpck.test b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/grpck.test new file mode 100755 index 00000000..81bf12ca --- /dev/null +++ b/tests/cktools/grpck/18_grpck_duplicate_entry_group_no_changes/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config.txt b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/group b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/group new file mode 100644 index 00000000..fda0a6df --- /dev/null +++ b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon diff --git a/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/gshadow b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/gshadow new file mode 100644 index 00000000..124c8051 --- /dev/null +++ b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/gshadow @@ -0,0 +1,43 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +foo:*::daemon +crontab:x:: +Debian-exim:x:: +foo:*::bin diff --git a/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/passwd b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/shadow b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/grpck.exp b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/grpck.exp new file mode 100755 index 00000000..aa7f11f9 --- /dev/null +++ b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "duplicate shadow group entry" +expect "delete line 'foo:*::daemon'? " +send "no\r" +expect "duplicate shadow group entry" +expect "delete line 'foo:*::bin'? " +send "no\r" +expect "grpck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/grpck.test b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/grpck.test new file mode 100755 index 00000000..81bf12ca --- /dev/null +++ b/tests/cktools/grpck/19_grpck_duplicate_entry_gshadow_no_changes/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config.txt b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/group b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/group new file mode 100644 index 00000000..fda0a6df --- /dev/null +++ b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon diff --git a/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/gshadow b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/gshadow new file mode 100644 index 00000000..124c8051 --- /dev/null +++ b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/gshadow @@ -0,0 +1,43 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +foo:*::daemon +crontab:x:: +Debian-exim:x:: +foo:*::bin diff --git a/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/passwd b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/shadow b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/data/gshadow b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/data/gshadow new file mode 100644 index 00000000..a1a4f31e --- /dev/null +++ b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +foo:*::daemon +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/grpck.exp b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/grpck.exp new file mode 100755 index 00000000..ce6cb2e8 --- /dev/null +++ b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "duplicate shadow group entry" +expect "delete line 'foo:*::daemon'? " +send "no\r" +expect "duplicate shadow group entry" +expect "delete line 'foo:*::bin'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/grpck.test b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/grpck.test new file mode 100755 index 00000000..dcfa2498 --- /dev/null +++ b/tests/cktools/grpck/20_grpck_duplicate_entry_gshadow_delete_second/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/21_grpck_invalid_group_name/config.txt b/tests/cktools/grpck/21_grpck_invalid_group_name/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/21_grpck_invalid_group_name/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/group b/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/group new file mode 100644 index 00000000..220f3757 --- /dev/null +++ b/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +f o o:x:1000: diff --git a/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/gshadow b/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/gshadow new file mode 100644 index 00000000..8337b653 --- /dev/null +++ b/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +f o o:*:: diff --git a/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/passwd b/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/shadow b/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/21_grpck_invalid_group_name/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/21_grpck_invalid_group_name/grpck.exp b/tests/cktools/grpck/21_grpck_invalid_group_name/grpck.exp new file mode 100755 index 00000000..cb758db2 --- /dev/null +++ b/tests/cktools/grpck/21_grpck_invalid_group_name/grpck.exp @@ -0,0 +1,17 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "invalid group name 'f o o'" +expect "grpck: no changes" +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/21_grpck_invalid_group_name/grpck.test b/tests/cktools/grpck/21_grpck_invalid_group_name/grpck.test new file mode 100755 index 00000000..81bf12ca --- /dev/null +++ b/tests/cktools/grpck/21_grpck_invalid_group_name/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config.txt b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/group b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/group new file mode 100644 index 00000000..e9efa8be --- /dev/null +++ b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:-1: diff --git a/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/gshadow b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/passwd b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/shadow b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/data/group b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/data/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/data/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/data/gshadow b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/data/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/data/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/grpck.exp b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/grpck.exp new file mode 100755 index 00000000..40f22df7 --- /dev/null +++ b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "invalid group file entry" +expect "delete line 'foo:x:-1:'? " +send "yes\r" +expect "no matching group file entry in /etc/group" +expect "delete line 'foo:*::'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/grpck.test b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/grpck.test new file mode 100755 index 00000000..906d6294 --- /dev/null +++ b/tests/cktools/grpck/22_grpck_invalid_group_ID_-1/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config.txt b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/group b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/group new file mode 100644 index 00000000..c6a2e190 --- /dev/null +++ b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:4294967295: diff --git a/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/gshadow b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/passwd b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/shadow b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/grpck.exp b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/grpck.exp new file mode 100755 index 00000000..5c10a627 --- /dev/null +++ b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/grpck.exp @@ -0,0 +1,18 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "invalid group ID '4294967295'" +expect "grpck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/grpck.test b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/grpck.test new file mode 100755 index 00000000..81bf12ca --- /dev/null +++ b/tests/cktools/grpck/23_grpck_invalid_group_ID_4294967295/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config.txt b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/group b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/group new file mode 100644 index 00000000..cb278cec --- /dev/null +++ b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:4294967296: diff --git a/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/gshadow b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/passwd b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/shadow b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/data/group b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/data/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/data/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/data/gshadow b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/data/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/data/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/grpck.exp b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/grpck.exp new file mode 100755 index 00000000..d5e5ddf9 --- /dev/null +++ b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "invalid group file entry" +expect "delete line 'foo:x:4294967296:'? " +send "yes\r" +expect "no matching group file entry in /etc/group" +expect "delete line 'foo:*::'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/grpck.test b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/grpck.test new file mode 100755 index 00000000..906d6294 --- /dev/null +++ b/tests/cktools/grpck/24_grpck_invalid_group_ID_4294967296/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config.txt b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/group b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/group new file mode 100644 index 00000000..757aef84 --- /dev/null +++ b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon,foo2,bin diff --git a/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/gshadow b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/gshadow new file mode 100644 index 00000000..d2a17827 --- /dev/null +++ b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*::daemon,foo2,bin diff --git a/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/passwd b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/shadow b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/grpck.exp b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/grpck.exp new file mode 100755 index 00000000..da5dee56 --- /dev/null +++ b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/grpck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "group foo: no user foo2" +expect "delete member 'foo2'? " +send "no\r" +expect "shadow group foo: no user foo2" +expect "delete member 'foo2'? " +send "no\r" +expect "grpck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/grpck.test b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/grpck.test new file mode 100755 index 00000000..81bf12ca --- /dev/null +++ b/tests/cktools/grpck/25_grpck_unknown_user_group_no_changes/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/26_grpck_no_gshadow_file/config.txt b/tests/cktools/grpck/26_grpck_no_gshadow_file/config.txt new file mode 100644 index 00000000..3d43135c --- /dev/null +++ b/tests/cktools/grpck/26_grpck_no_gshadow_file/config.txt @@ -0,0 +1,5 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users diff --git a/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/group b/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/group new file mode 100644 index 00000000..9303fe27 --- /dev/null +++ b/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/group @@ -0,0 +1,42 @@ +daemon:x:1: +bin:x:2: +kmem:x:15: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +root:x:0: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +shadow:x:42: +gnats:x:41: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:bar diff --git a/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/gshadow b/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/gshadow new file mode 100644 index 00000000..695bf8f5 --- /dev/null +++ b/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/gshadow @@ -0,0 +1,41 @@ +daemon:*:: +bin:*:: +kmem:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +root:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +shadow:*:: +gnats:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +foo:*:: diff --git a/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/passwd b/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/shadow b/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/26_grpck_no_gshadow_file/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/26_grpck_no_gshadow_file/data/grpck.out b/tests/cktools/grpck/26_grpck_no_gshadow_file/data/grpck.out new file mode 100644 index 00000000..929e0e80 --- /dev/null +++ b/tests/cktools/grpck/26_grpck_no_gshadow_file/data/grpck.out @@ -0,0 +1,3 @@ +group foo: no user bar +delete member 'bar'? No +grpck: no changes diff --git a/tests/cktools/grpck/26_grpck_no_gshadow_file/grpck.test b/tests/cktools/grpck/26_grpck_no_gshadow_file/grpck.test new file mode 100755 index 00000000..0ccd682e --- /dev/null +++ b/tests/cktools/grpck/26_grpck_no_gshadow_file/grpck.test @@ -0,0 +1,58 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck can check the group entries when there are no gshadow file" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Remove the gshadow file..." +rm -f /etc/gshadow +echo "done" + +echo -n "Check the group entries (grpck -r)..." +grpck -r >tmp/grpck.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "grpck reported:" +echo "=======================================================================" +cat tmp/grpck.out +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/grpck.out tmp/grpck.out +echo "error message OK." +rm -f tmp/grpck.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +test ! -f /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config.txt b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config.txt new file mode 100644 index 00000000..3d43135c --- /dev/null +++ b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config.txt @@ -0,0 +1,5 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users diff --git a/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/group b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/group new file mode 100644 index 00000000..afbb01e0 --- /dev/null +++ b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/group @@ -0,0 +1,42 @@ +daemon:x:1: +bin:x:2: +kmem:x:15: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +root:x:0: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +shadow:x:42: +gnats:x:41: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/gshadow b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/gshadow new file mode 100644 index 00000000..695bf8f5 --- /dev/null +++ b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/gshadow @@ -0,0 +1,41 @@ +daemon:*:: +bin:*:: +kmem:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +root:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +shadow:*:: +gnats:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +foo:*:: diff --git a/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/passwd b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/shadow b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/data/group b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/data/group new file mode 100644 index 00000000..12659535 --- /dev/null +++ b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/data/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: +nogroup:x:65534: diff --git a/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/grpck.test b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/grpck.test new file mode 100755 index 00000000..31a6e9ee --- /dev/null +++ b/tests/cktools/grpck/27_grpck_sort_no_gshadow_file/grpck.test @@ -0,0 +1,43 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck can sort the group entries" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Remove the gshadow file..." +rm -f /etc/gshadow +echo "done" + +echo -n "Sort the group entries (grpck -s)..." +grpck -s +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +test ! -f /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/28_grpck_usage/config.txt b/tests/cktools/grpck/28_grpck_usage/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/cktools/grpck/28_grpck_usage/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/cktools/grpck/28_grpck_usage/config/etc/default/useradd b/tests/cktools/grpck/28_grpck_usage/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/cktools/grpck/28_grpck_usage/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/cktools/grpck/28_grpck_usage/config/etc/group b/tests/cktools/grpck/28_grpck_usage/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/grpck/28_grpck_usage/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/grpck/28_grpck_usage/config/etc/gshadow b/tests/cktools/grpck/28_grpck_usage/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/grpck/28_grpck_usage/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/28_grpck_usage/config/etc/passwd b/tests/cktools/grpck/28_grpck_usage/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/cktools/grpck/28_grpck_usage/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/cktools/grpck/28_grpck_usage/config/etc/shadow b/tests/cktools/grpck/28_grpck_usage/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/cktools/grpck/28_grpck_usage/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/28_grpck_usage/data/usage.out b/tests/cktools/grpck/28_grpck_usage/data/usage.out new file mode 100644 index 00000000..899e2d78 --- /dev/null +++ b/tests/cktools/grpck/28_grpck_usage/data/usage.out @@ -0,0 +1,9 @@ +Usage: grpck [options] [group [gshadow]] + +Options: + -h, --help display this help message and exit + -r, --read-only display errors and warnings + but do not change files + -R, --root CHROOT_DIR directory to chroot into + -s, --sort sort entries by UID + diff --git a/tests/cktools/grpck/28_grpck_usage/grpck.test b/tests/cktools/grpck/28_grpck_usage/grpck.test new file mode 100755 index 00000000..e397aafb --- /dev/null +++ b/tests/cktools/grpck/28_grpck_usage/grpck.test @@ -0,0 +1,47 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck can display its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Get grpck usage (grpck -h)..." +grpck -h >tmp/usage.out + +echo "grpck reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/29_grpck_sort_readonly/config.txt b/tests/cktools/grpck/29_grpck_sort_readonly/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/cktools/grpck/29_grpck_sort_readonly/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/default/useradd b/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/group b/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/gshadow b/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/passwd b/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/shadow b/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/cktools/grpck/29_grpck_sort_readonly/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/29_grpck_sort_readonly/data/usage.out b/tests/cktools/grpck/29_grpck_sort_readonly/data/usage.out new file mode 100644 index 00000000..cd278fa5 --- /dev/null +++ b/tests/cktools/grpck/29_grpck_sort_readonly/data/usage.out @@ -0,0 +1 @@ +grpck: -s and -r are incompatible diff --git a/tests/cktools/grpck/29_grpck_sort_readonly/grpck.test b/tests/cktools/grpck/29_grpck_sort_readonly/grpck.test new file mode 100755 index 00000000..417584f9 --- /dev/null +++ b/tests/cktools/grpck/29_grpck_sort_readonly/grpck.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck report failure when sorting and read only are enabled" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Get grpck usage (grpck -r -s)..." +grpck -r -s 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "grpck reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/30_grpck_3_files/config.txt b/tests/cktools/grpck/30_grpck_3_files/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/cktools/grpck/30_grpck_3_files/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/cktools/grpck/30_grpck_3_files/config/etc/default/useradd b/tests/cktools/grpck/30_grpck_3_files/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/cktools/grpck/30_grpck_3_files/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/cktools/grpck/30_grpck_3_files/config/etc/group b/tests/cktools/grpck/30_grpck_3_files/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/grpck/30_grpck_3_files/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/grpck/30_grpck_3_files/config/etc/gshadow b/tests/cktools/grpck/30_grpck_3_files/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/grpck/30_grpck_3_files/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/30_grpck_3_files/config/etc/passwd b/tests/cktools/grpck/30_grpck_3_files/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/cktools/grpck/30_grpck_3_files/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/cktools/grpck/30_grpck_3_files/config/etc/shadow b/tests/cktools/grpck/30_grpck_3_files/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/cktools/grpck/30_grpck_3_files/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/30_grpck_3_files/data/usage.out b/tests/cktools/grpck/30_grpck_3_files/data/usage.out new file mode 100644 index 00000000..899e2d78 --- /dev/null +++ b/tests/cktools/grpck/30_grpck_3_files/data/usage.out @@ -0,0 +1,9 @@ +Usage: grpck [options] [group [gshadow]] + +Options: + -h, --help display this help message and exit + -r, --read-only display errors and warnings + but do not change files + -R, --root CHROOT_DIR directory to chroot into + -s, --sort sort entries by UID + diff --git a/tests/cktools/grpck/30_grpck_3_files/grpck.test b/tests/cktools/grpck/30_grpck_3_files/grpck.test new file mode 100755 index 00000000..e2614d97 --- /dev/null +++ b/tests/cktools/grpck/30_grpck_3_files/grpck.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck checks its number of arguments" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Get grpck usage (grpck -r foo bar baz)..." +grpck -r foo bar baz 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "grpck reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config.txt b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/group b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/group new file mode 100644 index 00000000..d1e687c3 --- /dev/null +++ b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x diff --git a/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/gshadow b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/passwd b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/shadow b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/data/group b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/data/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/data/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/grpck.exp b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/grpck.exp new file mode 100755 index 00000000..84b7354c --- /dev/null +++ b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/grpck.exp @@ -0,0 +1,20 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck tmp/group\r" +expect "invalid group file entry" +expect "delete line 'foo:x'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/grpck.test b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/grpck.test new file mode 100755 index 00000000..744dd072 --- /dev/null +++ b/tests/cktools/grpck/31_grpck_missing_field_group_local_no_gshadow/grpck.test @@ -0,0 +1,44 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "copy group and gshadow localy..." +cp /etc/group tmp/ +echo "OK" + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +../../../common/compare_file.pl data/group tmp/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +rm -f tmp/group tmp/group- tmp/gshadow tmp/gshadow- + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/32_grpck_sort_nis/config.txt b/tests/cktools/grpck/32_grpck_sort_nis/config.txt new file mode 100644 index 00000000..3d43135c --- /dev/null +++ b/tests/cktools/grpck/32_grpck_sort_nis/config.txt @@ -0,0 +1,5 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users diff --git a/tests/cktools/grpck/32_grpck_sort_nis/config/etc/group b/tests/cktools/grpck/32_grpck_sort_nis/config/etc/group new file mode 100644 index 00000000..e644ed9d --- /dev/null +++ b/tests/cktools/grpck/32_grpck_sort_nis/config/etc/group @@ -0,0 +1,45 @@ +daemon:x:1: +bin:x:2: +kmem:x:15: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +root:x:0: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +shadow:x:42: +gnats:x:41: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: ++::: ++foo1::: +-foo2: diff --git a/tests/cktools/grpck/32_grpck_sort_nis/config/etc/gshadow b/tests/cktools/grpck/32_grpck_sort_nis/config/etc/gshadow new file mode 100644 index 00000000..8182ad79 --- /dev/null +++ b/tests/cktools/grpck/32_grpck_sort_nis/config/etc/gshadow @@ -0,0 +1,42 @@ +daemon:*:: +bin:*:: +kmem:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +root:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +shadow:*:: +gnats:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/32_grpck_sort_nis/config/etc/passwd b/tests/cktools/grpck/32_grpck_sort_nis/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/32_grpck_sort_nis/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/32_grpck_sort_nis/config/etc/shadow b/tests/cktools/grpck/32_grpck_sort_nis/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/32_grpck_sort_nis/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/32_grpck_sort_nis/data/group b/tests/cktools/grpck/32_grpck_sort_nis/data/group new file mode 100644 index 00000000..23467d30 --- /dev/null +++ b/tests/cktools/grpck/32_grpck_sort_nis/data/group @@ -0,0 +1,45 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: +nogroup:x:65534: ++::: ++foo1::: +-foo2: diff --git a/tests/cktools/grpck/32_grpck_sort_nis/data/gshadow b/tests/cktools/grpck/32_grpck_sort_nis/data/gshadow new file mode 100644 index 00000000..f2209e3b --- /dev/null +++ b/tests/cktools/grpck/32_grpck_sort_nis/data/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: +nogroup:*:: diff --git a/tests/cktools/grpck/32_grpck_sort_nis/grpck.test b/tests/cktools/grpck/32_grpck_sort_nis/grpck.test new file mode 100755 index 00000000..d509689f --- /dev/null +++ b/tests/cktools/grpck/32_grpck_sort_nis/grpck.test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck can sort the group entries" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Sort the group entries (grpck -s)..." +grpck -s +echo "OK" + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl data/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/33_grpck_locked_group/config.txt b/tests/cktools/grpck/33_grpck_locked_group/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/cktools/grpck/33_grpck_locked_group/config/etc/default/useradd b/tests/cktools/grpck/33_grpck_locked_group/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/cktools/grpck/33_grpck_locked_group/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/cktools/grpck/33_grpck_locked_group/config/etc/group b/tests/cktools/grpck/33_grpck_locked_group/config/etc/group new file mode 100644 index 00000000..b6fae894 --- /dev/null +++ b/tests/cktools/grpck/33_grpck_locked_group/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3:root +adm:x:4:root,foo +tty:x:5: +disk:x:6: +lp:x:7:foo,root +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21:foo +voice:x:22: +cdrom:x:24: +floppy:x:25:foo +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/grpck/33_grpck_locked_group/config/etc/gshadow b/tests/cktools/grpck/33_grpck_locked_group/config/etc/gshadow new file mode 100644 index 00000000..1f2ba8da --- /dev/null +++ b/tests/cktools/grpck/33_grpck_locked_group/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*::root +adm:*::root,foo +tty:*::foo +disk:*:foo: +lp:*::foo,root +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:foo:foo +voice:*:: +cdrom:*:foo:foo +floppy:*::foo +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/33_grpck_locked_group/config/etc/passwd b/tests/cktools/grpck/33_grpck_locked_group/config/etc/passwd new file mode 100644 index 00000000..bf52df00 --- /dev/null +++ b/tests/cktools/grpck/33_grpck_locked_group/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000::/home/foo:/bin/false diff --git a/tests/cktools/grpck/33_grpck_locked_group/config/etc/shadow b/tests/cktools/grpck/33_grpck_locked_group/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/33_grpck_locked_group/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/33_grpck_locked_group/data/grpck.err b/tests/cktools/grpck/33_grpck_locked_group/data/grpck.err new file mode 100644 index 00000000..1f6325dd --- /dev/null +++ b/tests/cktools/grpck/33_grpck_locked_group/data/grpck.err @@ -0,0 +1,2 @@ +grpck: existing lock file /etc/group.lock without a PID +grpck: cannot lock /etc/group; try again later. diff --git a/tests/cktools/grpck/33_grpck_locked_group/grpck.test b/tests/cktools/grpck/33_grpck_locked_group/grpck.test new file mode 100755 index 00000000..0aa139cc --- /dev/null +++ b/tests/cktools/grpck/33_grpck_locked_group/grpck.test @@ -0,0 +1,60 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck checks if the group file is locked" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config; rm -f /etc/group.lock' 0 + +change_config + +echo -n "Create lock file for /etc/group..." +touch /etc/group.lock +echo "done" + +echo -n "Check groups (grpck)..." +grpck 2>tmp/grpck.err && exit 1 || { + status=$? +} +echo "OK" + +rm -f /etc/group.lock + +echo -n "Check returned status ($status)..." +test "$status" = "4" +echo "OK" + +echo "grpck reported:" +echo "=======================================================================" +cat tmp/grpck.err +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/grpck.err tmp/grpck.err +echo "error message OK." +rm -f tmp/grpck.err + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/34_grpck_locked_gshadow/config.txt b/tests/cktools/grpck/34_grpck_locked_gshadow/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/default/useradd b/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/default/useradd new file mode 100644 index 00000000..31c44abe --- /dev/null +++ b/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/default/useradd @@ -0,0 +1,36 @@ +# Default values for useradd(8) +# +# The SHELL variable specifies the default login shell on your +# system. +# Similar to DHSELL in adduser. However, we use "sh" here because +# useradd is a low level utility and should be as general +# as possible +SHELL=/bin/foobar +# +# The default group for users +# 100=users on Debian systems +# Same as USERS_GID in adduser +# This argument is used when the -n flag is specified. +# The default behavior (when -n and -g are not specified) is to create a +# primary user group with the same name as the user being added to the +# system. +GROUP=10 +# +# The default home directory. Same as DHOME for adduser +HOME=/tmp +# +# The number of days after a password expires until the account +# is permanently disabled +INACTIVE=12 +# +# The default expire date +EXPIRE=2007-12-02 +# +# The SKEL variable specifies the directory containing "skeletal" user +# files; in other words, files such as a sample .profile that will be +# copied to the new user's home directory when it is created. +# SKEL=/etc/skel +# +# Defines whether the mail spool should be created while +# creating the account +# CREATE_MAIL_SPOOL=yes diff --git a/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/group b/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/group new file mode 100644 index 00000000..b6fae894 --- /dev/null +++ b/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3:root +adm:x:4:root,foo +tty:x:5: +disk:x:6: +lp:x:7:foo,root +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21:foo +voice:x:22: +cdrom:x:24: +floppy:x:25:foo +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/gshadow b/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/gshadow new file mode 100644 index 00000000..1f2ba8da --- /dev/null +++ b/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*::root +adm:*::root,foo +tty:*::foo +disk:*:foo: +lp:*::foo,root +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:foo:foo +voice:*:: +cdrom:*:foo:foo +floppy:*::foo +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/passwd b/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/passwd new file mode 100644 index 00000000..bf52df00 --- /dev/null +++ b/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000::/home/foo:/bin/false diff --git a/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/shadow b/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/34_grpck_locked_gshadow/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/34_grpck_locked_gshadow/data/grpck.err b/tests/cktools/grpck/34_grpck_locked_gshadow/data/grpck.err new file mode 100644 index 00000000..868dee17 --- /dev/null +++ b/tests/cktools/grpck/34_grpck_locked_gshadow/data/grpck.err @@ -0,0 +1,2 @@ +grpck: existing lock file /etc/gshadow.lock without a PID +grpck: cannot lock /etc/gshadow; try again later. diff --git a/tests/cktools/grpck/34_grpck_locked_gshadow/grpck.test b/tests/cktools/grpck/34_grpck_locked_gshadow/grpck.test new file mode 100755 index 00000000..4c6ea0c5 --- /dev/null +++ b/tests/cktools/grpck/34_grpck_locked_gshadow/grpck.test @@ -0,0 +1,60 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck checks if the gshadow file is locked" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config; rm -f /etc/gshadow.lock' 0 + +change_config + +echo -n "Create lock file for /etc/gshadow..." +touch /etc/gshadow.lock +echo "done" + +echo -n "Check groups (grpck)..." +grpck 2>tmp/grpck.err && exit 1 || { + status=$? +} +echo "OK" + +rm -f /etc/gshadow.lock + +echo -n "Check returned status ($status)..." +test "$status" = "4" +echo "OK" + +echo "grpck reported:" +echo "=======================================================================" +cat tmp/grpck.err +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/grpck.err tmp/grpck.err +echo "error message OK." +rm -f tmp/grpck.err + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config.txt b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/group b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/group new file mode 100644 index 00000000..213b065f --- /dev/null +++ b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/group @@ -0,0 +1,45 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000:daemon ++::: +-bar::: +foo:x:1000:bin diff --git a/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/gshadow b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/passwd b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/shadow b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/data/group b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/data/group new file mode 100644 index 00000000..6c080ef2 --- /dev/null +++ b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/data/group @@ -0,0 +1,44 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: ++::: +-bar::: +foo:x:1000:bin diff --git a/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/grpck.exp b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/grpck.exp new file mode 100755 index 00000000..cce68028 --- /dev/null +++ b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/grpck.exp @@ -0,0 +1,20 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "grpck\r" +expect "duplicate group entry" +expect "delete line 'foo:x:1000:daemon'? " +send "yes\r" +expect "grpck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/grpck.test b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/grpck.test new file mode 100755 index 00000000..741bfe18 --- /dev/null +++ b/tests/cktools/grpck/35_grpck_duplicate_entry_group_NIS/grpck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./grpck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl data/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/36_grpck_password_group_gshadow/config.txt b/tests/cktools/grpck/36_grpck_password_group_gshadow/config.txt new file mode 100644 index 00000000..3d43135c --- /dev/null +++ b/tests/cktools/grpck/36_grpck_password_group_gshadow/config.txt @@ -0,0 +1,5 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users diff --git a/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/group b/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/group new file mode 100644 index 00000000..52cf2af6 --- /dev/null +++ b/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/group @@ -0,0 +1,42 @@ +daemon:x:1: +bin:x:2: +kmem:x:15: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +root:x:0: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +shadow:x:42: +gnats:x:41: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:toto:1000: diff --git a/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/gshadow b/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/gshadow new file mode 100644 index 00000000..817f1743 --- /dev/null +++ b/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/gshadow @@ -0,0 +1,42 @@ +daemon:*:: +bin:*:: +kmem:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +root:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +shadow:*:: +gnats:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*::foo +nogroup:*:: +crontab:x:: +foo:foo:: +Debian-exim:*:: diff --git a/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/passwd b/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/passwd new file mode 100644 index 00000000..dc7bf840 --- /dev/null +++ b/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000:::/bin/false diff --git a/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/shadow b/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/grpck/36_grpck_password_group_gshadow/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/36_grpck_password_group_gshadow/data/grpck.out b/tests/cktools/grpck/36_grpck_password_group_gshadow/data/grpck.out new file mode 100644 index 00000000..476a7984 --- /dev/null +++ b/tests/cktools/grpck/36_grpck_password_group_gshadow/data/grpck.out @@ -0,0 +1,2 @@ +group foo has an entry in /etc/gshadow, but its password field in /etc/group is not set to 'x' +grpck: no changes diff --git a/tests/cktools/grpck/36_grpck_password_group_gshadow/grpck.test b/tests/cktools/grpck/36_grpck_password_group_gshadow/grpck.test new file mode 100755 index 00000000..d32ae670 --- /dev/null +++ b/tests/cktools/grpck/36_grpck_password_group_gshadow/grpck.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck can sort the group entries" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Check the group entries (grpck -r)..." +grpck -r >tmp/grpck.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "grpck reported:" +echo "=======================================================================" +cat tmp/grpck.out +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/grpck.out tmp/grpck.out +echo "error message OK." +rm -f tmp/grpck.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/grpck/37_grpck_invalid_option/config.txt b/tests/cktools/grpck/37_grpck_invalid_option/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/cktools/grpck/37_grpck_invalid_option/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/cktools/grpck/37_grpck_invalid_option/config/etc/group b/tests/cktools/grpck/37_grpck_invalid_option/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/grpck/37_grpck_invalid_option/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/grpck/37_grpck_invalid_option/config/etc/gshadow b/tests/cktools/grpck/37_grpck_invalid_option/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/grpck/37_grpck_invalid_option/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/grpck/37_grpck_invalid_option/config/etc/passwd b/tests/cktools/grpck/37_grpck_invalid_option/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/cktools/grpck/37_grpck_invalid_option/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/cktools/grpck/37_grpck_invalid_option/config/etc/shadow b/tests/cktools/grpck/37_grpck_invalid_option/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/cktools/grpck/37_grpck_invalid_option/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/cktools/grpck/37_grpck_invalid_option/data/usage.out b/tests/cktools/grpck/37_grpck_invalid_option/data/usage.out new file mode 100644 index 00000000..11420514 --- /dev/null +++ b/tests/cktools/grpck/37_grpck_invalid_option/data/usage.out @@ -0,0 +1,10 @@ +grpck: unrecognized option '--invalid' +Usage: grpck [options] [group [gshadow]] + +Options: + -h, --help display this help message and exit + -r, --read-only display errors and warnings + but do not change files + -R, --root CHROOT_DIR directory to chroot into + -s, --sort sort entries by UID + diff --git a/tests/cktools/grpck/37_grpck_invalid_option/grpck.test b/tests/cktools/grpck/37_grpck_invalid_option/grpck.test new file mode 100755 index 00000000..b5561487 --- /dev/null +++ b/tests/cktools/grpck/37_grpck_invalid_option/grpck.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck reports usage when called withan invalid option" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Call grpck with an invalid option (grpck --invalid)..." +grpck --invalid 2>tmp/usage.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "grpck reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config.txt b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config.txt new file mode 100644 index 00000000..b3c3e751 --- /dev/null +++ b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config.txt @@ -0,0 +1,2 @@ +group foo +user foo with typo in passwd diff --git a/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/group b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/gshadow b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/passwd b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/passwd new file mode 100644 index 00000000..4ee448d9 --- /dev/null +++ b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000:: diff --git a/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/shadow b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/data/passwd b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/data/passwd new file mode 100644 index 00000000..2b911d1d --- /dev/null +++ b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/data/passwd @@ -0,0 +1,10 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh diff --git a/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/data/shadow b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/data/shadow new file mode 100644 index 00000000..0a2fddb7 --- /dev/null +++ b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/data/shadow @@ -0,0 +1,10 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: diff --git a/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/pwck.exp b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/pwck.exp new file mode 100755 index 00000000..e9c675dc --- /dev/null +++ b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "invalid password file entry" +expect "delete line 'foo:x:1000:1000::'? " +send "yes\r" +expect "no matching password file entry in /etc/passwd" +expect "delete line 'foo:!:12977:0:99999:7:::'? " +send "yes\r" +expect "pwck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/pwck.test b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/pwck.test new file mode 100755 index 00000000..9f8c33a2 --- /dev/null +++ b/tests/cktools/pwck/04_pwck_missing_field_passwd_delete/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config.txt b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/group b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/gshadow b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/passwd b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/passwd new file mode 100644 index 00000000..4ee448d9 --- /dev/null +++ b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000:: diff --git a/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/shadow b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/data/shadow b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/data/shadow new file mode 100644 index 00000000..0a2fddb7 --- /dev/null +++ b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/data/shadow @@ -0,0 +1,10 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: diff --git a/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/pwck.exp b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/pwck.exp new file mode 100755 index 00000000..89341ffb --- /dev/null +++ b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/pwck.exp @@ -0,0 +1,22 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "invalid password file entry" +expect "delete line 'foo:x:1000:1000::'? " +send "no\r" +expect "no matching password file entry in /etc/passwd" +expect "delete line 'foo:!:12977:0:99999:7:::'? " +send "yes\r" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/pwck.test b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/pwck.test new file mode 100755 index 00000000..688759dd --- /dev/null +++ b/tests/cktools/pwck/05_pwck_missing_field_passwd_keep/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config.txt b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/group b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/group new file mode 100644 index 00000000..d1e687c3 --- /dev/null +++ b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x diff --git a/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/gshadow b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/passwd b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/passwd new file mode 100644 index 00000000..4ee448d9 --- /dev/null +++ b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000:: diff --git a/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/shadow b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/pwck.exp b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/pwck.exp new file mode 100755 index 00000000..bd4003d5 --- /dev/null +++ b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "invalid password file entry" +expect "delete line 'foo:x:1000:1000::'? " +send "no\r" +expect "no matching password file entry in /etc/passwd" +expect "delete line 'foo:!:12977:0:99999:7:::'? " +send "no\r" +expect "pwck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/pwck.test b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/pwck.test new file mode 100755 index 00000000..b9f4a137 --- /dev/null +++ b/tests/cktools/pwck/06_pwck_missing_field_passwd_no_changes/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck check the number of fields and does not change the system database if requested" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config.txt b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config.txt new file mode 100644 index 00000000..52fad51b --- /dev/null +++ b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in gshadow diff --git a/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/group b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/gshadow b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/passwd b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/passwd new file mode 100644 index 00000000..6377a5d3 --- /dev/null +++ b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/shadow b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/shadow new file mode 100644 index 00000000..3a064c0c --- /dev/null +++ b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7:: diff --git a/tests/cktools/pwck/07_pwck_missing_field_shadow_add/data/shadow b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/data/shadow new file mode 100644 index 00000000..c9a03146 --- /dev/null +++ b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/data/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:x:@TODAY@:0:99999:7::: diff --git a/tests/cktools/pwck/07_pwck_missing_field_shadow_add/pwck.exp b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/pwck.exp new file mode 100755 index 00000000..5a9b856a --- /dev/null +++ b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "no matching password file entry in /etc/shadow" +expect "add user 'foo' in /etc/shadow? " +send "yes\r" +expect "invalid shadow password file entry" +expect "delete line 'foo:!:12977:0:99999:7::'? " +send "yes\r" +expect "pwck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/07_pwck_missing_field_shadow_add/pwck.test b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/pwck.test new file mode 100755 index 00000000..688759dd --- /dev/null +++ b/tests/cktools/pwck/07_pwck_missing_field_shadow_add/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config.txt b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config.txt new file mode 100644 index 00000000..52fad51b --- /dev/null +++ b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in gshadow diff --git a/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/group b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/gshadow b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/passwd b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/passwd new file mode 100644 index 00000000..6377a5d3 --- /dev/null +++ b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/shadow b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/shadow new file mode 100644 index 00000000..3a064c0c --- /dev/null +++ b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7:: diff --git a/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/data/shadow b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/data/shadow new file mode 100644 index 00000000..0a2fddb7 --- /dev/null +++ b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/data/shadow @@ -0,0 +1,10 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: diff --git a/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/pwck.exp b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/pwck.exp new file mode 100755 index 00000000..38a613d4 --- /dev/null +++ b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "no matching password file entry in /etc/shadow" +expect "add user 'foo' in /etc/shadow? " +send "no\r" +expect "invalid shadow password file entry" +expect "delete line 'foo:!:12977:0:99999:7::'? " +send "yes\r" +expect "pwck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/pwck.test b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/pwck.test new file mode 100755 index 00000000..688759dd --- /dev/null +++ b/tests/cktools/pwck/08_pwck_missing_field_shadow_delete/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config.txt b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config.txt new file mode 100644 index 00000000..52fad51b --- /dev/null +++ b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in gshadow diff --git a/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/group b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/gshadow b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/passwd b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/passwd new file mode 100644 index 00000000..6377a5d3 --- /dev/null +++ b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/shadow b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/shadow new file mode 100644 index 00000000..3a064c0c --- /dev/null +++ b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7:: diff --git a/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/pwck.exp b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/pwck.exp new file mode 100755 index 00000000..b4451026 --- /dev/null +++ b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "no matching password file entry in /etc/shadow" +expect "add user 'foo' in /etc/shadow? " +send "no\r" +expect "invalid shadow password file entry" +expect "delete line 'foo:!:12977:0:99999:7::'? " +send "no\r" +expect "pwck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/pwck.test b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/pwck.test new file mode 100755 index 00000000..893ba6e6 --- /dev/null +++ b/tests/cktools/pwck/09_pwck_missing_field_shadow_no_changes/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck check the number of fields and can change the system database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config.txt b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/group b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/gshadow b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/passwd b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/passwd new file mode 100644 index 00000000..4ee448d9 --- /dev/null +++ b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000:: diff --git a/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/shadow b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/10_pwck_missing_field_passwd_local/data/passwd b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/data/passwd new file mode 100644 index 00000000..2b911d1d --- /dev/null +++ b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/data/passwd @@ -0,0 +1,10 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh diff --git a/tests/cktools/pwck/10_pwck_missing_field_passwd_local/data/shadow b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/data/shadow new file mode 100644 index 00000000..0a2fddb7 --- /dev/null +++ b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/data/shadow @@ -0,0 +1,10 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: diff --git a/tests/cktools/pwck/10_pwck_missing_field_passwd_local/pwck.exp b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/pwck.exp new file mode 100755 index 00000000..31af0895 --- /dev/null +++ b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck tmp/passwd tmp/shadow\r" +expect "invalid password file entry" +expect "delete line 'foo:x:1000:1000::'? " +send "yes\r" +expect "no matching password file entry in tmp/passwd" +expect "delete line 'foo:!:12977:0:99999:7:::'? " +send "yes\r" +expect "pwck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/10_pwck_missing_field_passwd_local/pwck.test b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/pwck.test new file mode 100755 index 00000000..4ca903f7 --- /dev/null +++ b/tests/cktools/pwck/10_pwck_missing_field_passwd_local/pwck.test @@ -0,0 +1,45 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck check the number of fields and can change local databases" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "copy passwd and shadow localy..." +cp /etc/passwd /etc/shadow tmp/ +echo "OK" + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl data/passwd tmp/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl data/shadow tmp/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +rm -f tmp/passwd tmp/passwd- tmp/shadow tmp/shadow- + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config.txt b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config.txt new file mode 100644 index 00000000..52fad51b --- /dev/null +++ b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in gshadow diff --git a/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/group b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/gshadow b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/passwd b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/passwd new file mode 100644 index 00000000..6377a5d3 --- /dev/null +++ b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/shadow b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/shadow new file mode 100644 index 00000000..3a064c0c --- /dev/null +++ b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7:: diff --git a/tests/cktools/pwck/11_pwck_missing_field_shadow_local/data/passwd b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/data/passwd new file mode 100644 index 00000000..6377a5d3 --- /dev/null +++ b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/data/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/11_pwck_missing_field_shadow_local/data/shadow b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/data/shadow new file mode 100644 index 00000000..c9a03146 --- /dev/null +++ b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/data/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:x:@TODAY@:0:99999:7::: diff --git a/tests/cktools/pwck/11_pwck_missing_field_shadow_local/pwck.exp b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/pwck.exp new file mode 100755 index 00000000..2b2a09d4 --- /dev/null +++ b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck tmp/passwd tmp/shadow\r" +expect "no matching password file entry in tmp/shadow" +expect "add user 'foo' in tmp/shadow? " +send "yes\r" +expect "invalid shadow password file entry" +expect "delete line 'foo:*:'? " +send "yes\r" +expect "pwck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/11_pwck_missing_field_shadow_local/pwck.test b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/pwck.test new file mode 100755 index 00000000..fd3f4e6d --- /dev/null +++ b/tests/cktools/pwck/11_pwck_missing_field_shadow_local/pwck.test @@ -0,0 +1,45 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the number of fields and can change local databases" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "copy passwd and shadow localy..." +cp /etc/passwd /etc/shadow tmp/ +echo "OK" + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +../../../common/compare_file.pl data/passwd tmp/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +../../../common/compare_file.pl data/shadow tmp/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +rm -f tmp/passwd tmp/passwd- tmp/shadow tmp/shadow- + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config.txt b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/group b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/gshadow b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/passwd b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/passwd new file mode 100644 index 00000000..58f2d752 --- /dev/null +++ b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1001::/home:/bin/sh diff --git a/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/shadow b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/12_pwck_unknown_user_group_ID/pwck.exp b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/pwck.exp new file mode 100755 index 00000000..fb8cba1e --- /dev/null +++ b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/pwck.exp @@ -0,0 +1,18 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "user 'foo': no group 1001" +expect "pwck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/12_pwck_unknown_user_group_ID/pwck.test b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/pwck.test new file mode 100755 index 00000000..8df54820 --- /dev/null +++ b/tests/cktools/pwck/12_pwck_unknown_user_group_ID/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check that the user's GID matches an existing group" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config.txt b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/group b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/gshadow b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/passwd b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/passwd new file mode 100644 index 00000000..33debc51 --- /dev/null +++ b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/passwd @@ -0,0 +1,12 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh +foo:x:1001:1001::/home:/bin/sh diff --git a/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/shadow b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/data/passwd b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/data/passwd new file mode 100644 index 00000000..a45f378a --- /dev/null +++ b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/data/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1001:1001::/home:/bin/sh diff --git a/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/pwck.exp b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/pwck.exp new file mode 100755 index 00000000..9c460ce4 --- /dev/null +++ b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/pwck.exp @@ -0,0 +1,20 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "duplicate password entry" +expect "delete line 'foo:x:1000:1000::/home:/bin/sh'? " +send "yes\r" +expect "pwck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/pwck.test b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/pwck.test new file mode 100755 index 00000000..4d4b9576 --- /dev/null +++ b/tests/cktools/pwck/13_pwck_duplicate_entry_passwd/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check that user are uniq" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config.txt b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/group b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/gshadow b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/passwd b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/passwd new file mode 100644 index 00000000..6377a5d3 --- /dev/null +++ b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/shadow b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/shadow new file mode 100644 index 00000000..a5344f5e --- /dev/null +++ b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/config/etc/shadow @@ -0,0 +1,12 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/data/shadow b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/data/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/data/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/pwck.exp b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/pwck.exp new file mode 100755 index 00000000..c7affdc9 --- /dev/null +++ b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/pwck.exp @@ -0,0 +1,20 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "duplicate shadow password entry" +expect "delete line 'foo:!:12977:0:99999:7:::'? " +send "yes\r" +expect "pwck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/pwck.test b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/pwck.test new file mode 100755 index 00000000..4430d1a2 --- /dev/null +++ b/tests/cktools/pwck/14_pwck_duplicate_entry_shadow/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check unicity of users in the shadow database" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config.txt b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/group b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/gshadow b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/passwd b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/passwd new file mode 100644 index 00000000..69c72ff6 --- /dev/null +++ b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/passwd @@ -0,0 +1,12 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh +foo:x:1000:1000::/home:/bin/bash diff --git a/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/shadow b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/pwck.exp b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/pwck.exp new file mode 100755 index 00000000..61c6c6bd --- /dev/null +++ b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "duplicate password entry" +expect "delete line 'foo:x:1000:1000::/home:/bin/sh'? " +send "no\r" +expect "duplicate password entry" +expect "delete line 'foo:x:1000:1000::/home:/bin/bash'? " +send "no\r" +expect "pwck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/pwck.test b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/pwck.test new file mode 100755 index 00000000..9ceb60e2 --- /dev/null +++ b/tests/cktools/pwck/15_pwck_duplicate_entry_passwd_no_changes/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check unicity of users in passwd" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config.txt b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/group b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/gshadow b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/passwd b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/passwd new file mode 100644 index 00000000..6377a5d3 --- /dev/null +++ b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/shadow b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/shadow new file mode 100644 index 00000000..a5344f5e --- /dev/null +++ b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/config/etc/shadow @@ -0,0 +1,12 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/pwck.exp b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/pwck.exp new file mode 100755 index 00000000..dc9ef892 --- /dev/null +++ b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "duplicate shadow password entry" +expect "delete line 'foo:!:12977:0:99999:7:::'? " +send "no\r" +expect "duplicate shadow password entry" +expect "delete line 'foo:!:12977:0:99999:7:::'? " +send "no\r" +expect "pwck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/pwck.test b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/pwck.test new file mode 100755 index 00000000..8eed716d --- /dev/null +++ b/tests/cktools/pwck/16_pwck_duplicate_entry_shadow_no_changes/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck checks unicity of users in shadow" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config.txt b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/group b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/gshadow b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/passwd b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/passwd new file mode 100644 index 00000000..69c72ff6 --- /dev/null +++ b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/passwd @@ -0,0 +1,12 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh +foo:x:1000:1000::/home:/bin/bash diff --git a/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/shadow b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/data/passwd b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/data/passwd new file mode 100644 index 00000000..6377a5d3 --- /dev/null +++ b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/data/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/pwck.exp b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/pwck.exp new file mode 100755 index 00000000..d6ec869e --- /dev/null +++ b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "duplicate password entry" +expect "delete line 'foo:x:1000:1000::/home:/bin/sh'? " +send "no\r" +expect "duplicate password entry" +expect "delete line 'foo:x:1000:1000::/home:/bin/bash'? " +send "yes\r" +expect "pwck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/pwck.test b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/pwck.test new file mode 100755 index 00000000..d61a9463 --- /dev/null +++ b/tests/cktools/pwck/17_pwck_duplicate_entry_passwd_delete_second/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck checks the unicity of users in passwd" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/18_pwck_invalid_user_name/config.txt b/tests/cktools/pwck/18_pwck_invalid_user_name/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/18_pwck_invalid_user_name/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/group b/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/gshadow b/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/passwd b/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/passwd new file mode 100644 index 00000000..a82dbf6e --- /dev/null +++ b/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +f o o:x:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/shadow b/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/shadow new file mode 100644 index 00000000..f771b668 --- /dev/null +++ b/tests/cktools/pwck/18_pwck_invalid_user_name/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +f o o:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/18_pwck_invalid_user_name/pwck.exp b/tests/cktools/pwck/18_pwck_invalid_user_name/pwck.exp new file mode 100755 index 00000000..a75ef355 --- /dev/null +++ b/tests/cktools/pwck/18_pwck_invalid_user_name/pwck.exp @@ -0,0 +1,18 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "invalid user name 'f o o'" +expect "pwck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/18_pwck_invalid_user_name/pwck.test b/tests/cktools/pwck/18_pwck_invalid_user_name/pwck.test new file mode 100755 index 00000000..587f11c7 --- /dev/null +++ b/tests/cktools/pwck/18_pwck_invalid_user_name/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the validity of usernames" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config.txt b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/group b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/gshadow b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/passwd b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/passwd new file mode 100644 index 00000000..850768a9 --- /dev/null +++ b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:-1:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/shadow b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/data/passwd b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/data/passwd new file mode 100644 index 00000000..2b911d1d --- /dev/null +++ b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/data/passwd @@ -0,0 +1,10 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh diff --git a/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/data/shadow b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/data/shadow new file mode 100644 index 00000000..0a2fddb7 --- /dev/null +++ b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/data/shadow @@ -0,0 +1,10 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: diff --git a/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/pwck.exp b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/pwck.exp new file mode 100755 index 00000000..cde86e5c --- /dev/null +++ b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "invalid password file entry" +expect "delete line 'foo:x:-1:1000::/home:/bin/sh'? " +send "yes\r" +expect "no matching password file entry in /etc/passwd" +expect "delete line 'foo:!:12977:0:99999:7:::'? " +send "yes\r" +expect "pwck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/pwck.test b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/pwck.test new file mode 100755 index 00000000..8b56894f --- /dev/null +++ b/tests/cktools/pwck/19_pwck_invalid_user_ID_-1/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck checks the validity of UIDs" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config.txt b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/group b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/gshadow b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/passwd b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/passwd new file mode 100644 index 00000000..e4387349 --- /dev/null +++ b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:4294967295:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/shadow b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/pwck.exp b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/pwck.exp new file mode 100755 index 00000000..315a72bb --- /dev/null +++ b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/pwck.exp @@ -0,0 +1,18 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "invalid user ID '4294967295'" +expect "pwck: no changes" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/pwck.test b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/pwck.test new file mode 100755 index 00000000..19d157fc --- /dev/null +++ b/tests/cktools/pwck/20_pwck_invalid_user_ID_4294967295/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck check the validity of the UID" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config.txt b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config.txt new file mode 100644 index 00000000..01189bd6 --- /dev/null +++ b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config.txt @@ -0,0 +1,2 @@ +user foo +group foo with typo in group diff --git a/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/group b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/gshadow b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/gshadow new file mode 100644 index 00000000..5042e581 --- /dev/null +++ b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/passwd b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/passwd new file mode 100644 index 00000000..de8dd667 --- /dev/null +++ b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/passwd @@ -0,0 +1,11 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +foo:x:4294967296:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/shadow b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/shadow new file mode 100644 index 00000000..d3c0775b --- /dev/null +++ b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/config/etc/shadow @@ -0,0 +1,11 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/data/passwd b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/data/passwd new file mode 100644 index 00000000..2b911d1d --- /dev/null +++ b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/data/passwd @@ -0,0 +1,10 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh diff --git a/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/data/shadow b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/data/shadow new file mode 100644 index 00000000..0a2fddb7 --- /dev/null +++ b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/data/shadow @@ -0,0 +1,10 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: diff --git a/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/pwck.exp b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/pwck.exp new file mode 100755 index 00000000..83575ac5 --- /dev/null +++ b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/pwck.exp @@ -0,0 +1,23 @@ +#!/usr/bin/expect + +set timeout 2 +expect_after default {puts "\nFAIL"; exit 1} + +spawn /bin/sh +send "if \[ \$(id -u) -eq 0 \]; then PS1='# '; else PS1='$ '; fi\r" +expect "# " + +send "pwck\r" +expect "invalid password file entry" +expect "delete line 'foo:x:4294967296:1000::/home:/bin/sh'? " +send "yes\r" +expect "no matching password file entry in /etc/passwd" +expect "delete line 'foo:!:12977:0:99999:7:::'? " +send "yes\r" +expect "pwck: the files have been updated" +expect "# " +send "echo \$?\r" +expect "2" +send "exit\r" +puts "OK\n" +exit 0 diff --git a/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/pwck.test b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/pwck.test new file mode 100755 index 00000000..8b56894f --- /dev/null +++ b/tests/cktools/pwck/21_pwck_invalid_user_ID_4294967296/pwck.test @@ -0,0 +1,37 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "grpck checks the validity of UIDs" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +./pwck.exp + +echo -n "Check the passwd file..." +../../../common/compare_file.pl data/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl data/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/22_pwck_usage/config.txt b/tests/cktools/pwck/22_pwck_usage/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/cktools/pwck/22_pwck_usage/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/cktools/pwck/22_pwck_usage/config/etc/group b/tests/cktools/pwck/22_pwck_usage/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/pwck/22_pwck_usage/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/pwck/22_pwck_usage/config/etc/gshadow b/tests/cktools/pwck/22_pwck_usage/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/pwck/22_pwck_usage/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/pwck/22_pwck_usage/config/etc/passwd b/tests/cktools/pwck/22_pwck_usage/config/etc/passwd new file mode 100644 index 00000000..43fc135a --- /dev/null +++ b/tests/cktools/pwck/22_pwck_usage/config/etc/passwd @@ -0,0 +1,19 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false diff --git a/tests/cktools/pwck/22_pwck_usage/config/etc/shadow b/tests/cktools/pwck/22_pwck_usage/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/cktools/pwck/22_pwck_usage/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/22_pwck_usage/data/usage.out b/tests/cktools/pwck/22_pwck_usage/data/usage.out new file mode 100644 index 00000000..fa629415 --- /dev/null +++ b/tests/cktools/pwck/22_pwck_usage/data/usage.out @@ -0,0 +1,10 @@ +Usage: pwck [options] [passwd [shadow]] + +Options: + -h, --help display this help message and exit + -q, --quiet report errors only + -r, --read-only display errors and warnings + but do not change files + -R, --root CHROOT_DIR directory to chroot into + -s, --sort sort entries by UID + diff --git a/tests/cktools/pwck/22_pwck_usage/pwck.test b/tests/cktools/pwck/22_pwck_usage/pwck.test new file mode 100755 index 00000000..ccca31a2 --- /dev/null +++ b/tests/cktools/pwck/22_pwck_usage/pwck.test @@ -0,0 +1,47 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck can display its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Get pwck usage (pwck -h)..." +pwck -h >tmp/usage.out + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/usage.out +echo "=======================================================================" +echo -n "Check the usage message..." +diff -au data/usage.out tmp/usage.out +echo "usage message OK." +rm -f tmp/usage.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/23_pwck_locked_passwd/config.txt b/tests/cktools/pwck/23_pwck_locked_passwd/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/group b/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/group new file mode 100644 index 00000000..b6fae894 --- /dev/null +++ b/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3:root +adm:x:4:root,foo +tty:x:5: +disk:x:6: +lp:x:7:foo,root +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21:foo +voice:x:22: +cdrom:x:24: +floppy:x:25:foo +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/gshadow b/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/gshadow new file mode 100644 index 00000000..1f2ba8da --- /dev/null +++ b/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*::root +adm:*::root,foo +tty:*::foo +disk:*:foo: +lp:*::foo,root +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:foo:foo +voice:*:: +cdrom:*:foo:foo +floppy:*::foo +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/passwd b/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/passwd new file mode 100644 index 00000000..bf52df00 --- /dev/null +++ b/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000::/home/foo:/bin/false diff --git a/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/shadow b/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/pwck/23_pwck_locked_passwd/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/23_pwck_locked_passwd/data/pwck.err b/tests/cktools/pwck/23_pwck_locked_passwd/data/pwck.err new file mode 100644 index 00000000..798e427e --- /dev/null +++ b/tests/cktools/pwck/23_pwck_locked_passwd/data/pwck.err @@ -0,0 +1,2 @@ +pwck: existing lock file /etc/passwd.lock without a PID +pwck: cannot lock /etc/passwd; try again later. diff --git a/tests/cktools/pwck/23_pwck_locked_passwd/pwck.test b/tests/cktools/pwck/23_pwck_locked_passwd/pwck.test new file mode 100755 index 00000000..8731b286 --- /dev/null +++ b/tests/cktools/pwck/23_pwck_locked_passwd/pwck.test @@ -0,0 +1,60 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck checks if the passwd file is locked" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config; rm -f /etc/passwd.lock' 0 + +change_config + +echo -n "Create lock file for /etc/passwd..." +touch /etc/passwd.lock +echo "done" + +echo -n "Check user database (pwck)..." +pwck 2>tmp/pwck.err && exit 1 || { + status=$? +} +echo "OK" + +rm -f /etc/passwd.lock + +echo -n "Check returned status ($status)..." +test "$status" = "4" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.err +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/pwck.err tmp/pwck.err +echo "error message OK." +rm -f tmp/pwck.err + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/24_pwck_locked_shadow/config.txt b/tests/cktools/pwck/24_pwck_locked_shadow/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/group b/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/group new file mode 100644 index 00000000..b6fae894 --- /dev/null +++ b/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3:root +adm:x:4:root,foo +tty:x:5: +disk:x:6: +lp:x:7:foo,root +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21:foo +voice:x:22: +cdrom:x:24: +floppy:x:25:foo +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/gshadow b/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/gshadow new file mode 100644 index 00000000..1f2ba8da --- /dev/null +++ b/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*::root +adm:*::root,foo +tty:*::foo +disk:*:foo: +lp:*::foo,root +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:foo:foo +voice:*:: +cdrom:*:foo:foo +floppy:*::foo +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/passwd b/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/passwd new file mode 100644 index 00000000..bf52df00 --- /dev/null +++ b/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000::/home/foo:/bin/false diff --git a/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/shadow b/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/pwck/24_pwck_locked_shadow/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/24_pwck_locked_shadow/data/pwck.err b/tests/cktools/pwck/24_pwck_locked_shadow/data/pwck.err new file mode 100644 index 00000000..f8112fb1 --- /dev/null +++ b/tests/cktools/pwck/24_pwck_locked_shadow/data/pwck.err @@ -0,0 +1,2 @@ +pwck: existing lock file /etc/shadow.lock without a PID +pwck: cannot lock /etc/shadow; try again later. diff --git a/tests/cktools/pwck/24_pwck_locked_shadow/pwck.test b/tests/cktools/pwck/24_pwck_locked_shadow/pwck.test new file mode 100755 index 00000000..61e2926c --- /dev/null +++ b/tests/cktools/pwck/24_pwck_locked_shadow/pwck.test @@ -0,0 +1,60 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck checks if the shadow file is locked" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config; rm -f /etc/shadow.lock' 0 + +change_config + +echo -n "Create lock file for /etc/shadow..." +touch /etc/shadow.lock +echo "done" + +echo -n "Check user database (pwck)..." +pwck 2>tmp/pwck.err && exit 1 || { + status=$? +} +echo "OK" + +rm -f /etc/shadow.lock + +echo -n "Check returned status ($status)..." +test "$status" = "4" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.err +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/pwck.err tmp/pwck.err +echo "error message OK." +rm -f tmp/pwck.err + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/25_pwck_usage_invalid_option/config.txt b/tests/cktools/pwck/25_pwck_usage_invalid_option/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/group b/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/group new file mode 100644 index 00000000..b6fae894 --- /dev/null +++ b/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3:root +adm:x:4:root,foo +tty:x:5: +disk:x:6: +lp:x:7:foo,root +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21:foo +voice:x:22: +cdrom:x:24: +floppy:x:25:foo +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/gshadow b/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/gshadow new file mode 100644 index 00000000..1f2ba8da --- /dev/null +++ b/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*::root +adm:*::root,foo +tty:*::foo +disk:*:foo: +lp:*::foo,root +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:foo:foo +voice:*:: +cdrom:*:foo:foo +floppy:*::foo +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/passwd b/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/passwd new file mode 100644 index 00000000..bf52df00 --- /dev/null +++ b/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000::/home/foo:/bin/false diff --git a/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/shadow b/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/pwck/25_pwck_usage_invalid_option/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/25_pwck_usage_invalid_option/data/pwck.err b/tests/cktools/pwck/25_pwck_usage_invalid_option/data/pwck.err new file mode 100644 index 00000000..b08f13f6 --- /dev/null +++ b/tests/cktools/pwck/25_pwck_usage_invalid_option/data/pwck.err @@ -0,0 +1,11 @@ +pwck: invalid option -- 'Z' +Usage: pwck [options] [passwd [shadow]] + +Options: + -h, --help display this help message and exit + -q, --quiet report errors only + -r, --read-only display errors and warnings + but do not change files + -R, --root CHROOT_DIR directory to chroot into + -s, --sort sort entries by UID + diff --git a/tests/cktools/pwck/25_pwck_usage_invalid_option/pwck.test b/tests/cktools/pwck/25_pwck_usage_invalid_option/pwck.test new file mode 100755 index 00000000..a8d5941a --- /dev/null +++ b/tests/cktools/pwck/25_pwck_usage_invalid_option/pwck.test @@ -0,0 +1,56 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck displays its usage message when called with an invalid option" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Call pwck with an invalid option (pwck -Z)..." +pwck -Z 2>tmp/pwck.err && exit 1 || { + status=$? +} +echo "OK" + +rm -f /etc/passwd.lock + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.err +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/pwck.err tmp/pwck.err +echo "error message OK." +rm -f tmp/pwck.err + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/26_pwck_usage-s-r/config.txt b/tests/cktools/pwck/26_pwck_usage-s-r/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/group b/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/group new file mode 100644 index 00000000..b6fae894 --- /dev/null +++ b/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3:root +adm:x:4:root,foo +tty:x:5: +disk:x:6: +lp:x:7:foo,root +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21:foo +voice:x:22: +cdrom:x:24: +floppy:x:25:foo +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/gshadow b/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/gshadow new file mode 100644 index 00000000..1f2ba8da --- /dev/null +++ b/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*::root +adm:*::root,foo +tty:*::foo +disk:*:foo: +lp:*::foo,root +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:foo:foo +voice:*:: +cdrom:*:foo:foo +floppy:*::foo +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/passwd b/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/passwd new file mode 100644 index 00000000..bf52df00 --- /dev/null +++ b/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000::/home/foo:/bin/false diff --git a/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/shadow b/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/pwck/26_pwck_usage-s-r/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/26_pwck_usage-s-r/data/pwck.err b/tests/cktools/pwck/26_pwck_usage-s-r/data/pwck.err new file mode 100644 index 00000000..e44d375d --- /dev/null +++ b/tests/cktools/pwck/26_pwck_usage-s-r/data/pwck.err @@ -0,0 +1 @@ +pwck: -s and -r are incompatible diff --git a/tests/cktools/pwck/26_pwck_usage-s-r/pwck.test b/tests/cktools/pwck/26_pwck_usage-s-r/pwck.test new file mode 100755 index 00000000..6f0a3b5c --- /dev/null +++ b/tests/cktools/pwck/26_pwck_usage-s-r/pwck.test @@ -0,0 +1,56 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck warns that -r and -s are exclusive" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Call pwck with the -r and -s options (pwck -r -s)..." +pwck -r -s 2>tmp/pwck.err && exit 1 || { + status=$? +} +echo "OK" + +rm -f /etc/passwd.lock + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.err +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/pwck.err tmp/pwck.err +echo "error message OK." +rm -f tmp/pwck.err + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/27_pwck_usage_3_files/config.txt b/tests/cktools/pwck/27_pwck_usage_3_files/config.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/group b/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/group new file mode 100644 index 00000000..b6fae894 --- /dev/null +++ b/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3:root +adm:x:4:root,foo +tty:x:5: +disk:x:6: +lp:x:7:foo,root +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21:foo +voice:x:22: +cdrom:x:24: +floppy:x:25:foo +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100:foo +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/gshadow b/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/gshadow new file mode 100644 index 00000000..1f2ba8da --- /dev/null +++ b/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*::root +adm:*::root,foo +tty:*::foo +disk:*:foo: +lp:*::foo,root +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:foo:foo +voice:*:: +cdrom:*:foo:foo +floppy:*::foo +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:*:: diff --git a/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/passwd b/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/passwd new file mode 100644 index 00000000..bf52df00 --- /dev/null +++ b/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +foo:x:1000:1000::/home/foo:/bin/false diff --git a/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/shadow b/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/pwck/27_pwck_usage_3_files/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/27_pwck_usage_3_files/data/pwck.err b/tests/cktools/pwck/27_pwck_usage_3_files/data/pwck.err new file mode 100644 index 00000000..fa629415 --- /dev/null +++ b/tests/cktools/pwck/27_pwck_usage_3_files/data/pwck.err @@ -0,0 +1,10 @@ +Usage: pwck [options] [passwd [shadow]] + +Options: + -h, --help display this help message and exit + -q, --quiet report errors only + -r, --read-only display errors and warnings + but do not change files + -R, --root CHROOT_DIR directory to chroot into + -s, --sort sort entries by UID + diff --git a/tests/cktools/pwck/27_pwck_usage_3_files/pwck.test b/tests/cktools/pwck/27_pwck_usage_3_files/pwck.test new file mode 100755 index 00000000..9c8c81d1 --- /dev/null +++ b/tests/cktools/pwck/27_pwck_usage_3_files/pwck.test @@ -0,0 +1,56 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck displays its usage message when called with 3 files" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Call pwck with 3 files (pwck data/passwd data/shadow data/foo)..." +pwck data/passwd data/shadow data/foo 2>tmp/pwck.err && exit 1 || { + status=$? +} +echo "OK" + +rm -f /etc/passwd.lock + +echo -n "Check returned status ($status)..." +test "$status" = "1" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.err +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/pwck.err tmp/pwck.err +echo "error message OK." +rm -f tmp/pwck.err + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/28_pwck_no_shadow_file/config.txt b/tests/cktools/pwck/28_pwck_no_shadow_file/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/cktools/pwck/28_pwck_no_shadow_file/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/group b/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/gshadow b/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/gshadow new file mode 100644 index 00000000..be1575eb --- /dev/null +++ b/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:x:: diff --git a/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/passwd b/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/passwd new file mode 100644 index 00000000..57434e69 --- /dev/null +++ b/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/passwd @@ -0,0 +1,23 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/tmp:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/tmp:/bin/sh +uucp:x:10:10:uucp:/tmp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/tmp:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/tmp:/bin/sh +irc:x:39:39:ircd:/tmp:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/tmp:/bin/sh +nobody:x:65534:65534:nobody:/tmp:/bin/sh +Debian-exim:x:102:102::/tmp:/bin/false +foo:pass:1000:1000::/home/foo:/bin/sh +foo:pass:1001:1000::/tmp:/bin/sh +foo2:pass:1000:1000::/tmp:/bin/shs +foo3:x:1000:1000::/tmp: diff --git a/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/shadow b/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/pwck/28_pwck_no_shadow_file/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/28_pwck_no_shadow_file/data/pwck.out b/tests/cktools/pwck/28_pwck_no_shadow_file/data/pwck.out new file mode 100644 index 00000000..e0cac3d8 --- /dev/null +++ b/tests/cktools/pwck/28_pwck_no_shadow_file/data/pwck.out @@ -0,0 +1,7 @@ +duplicate password entry +delete line 'foo:pass:1000:1000::/home/foo:/bin/sh'? No +user 'foo': directory '/home/foo' does not exist +duplicate password entry +delete line 'foo:pass:1001:1000::/tmp:/bin/sh'? No +user 'foo2': program '/bin/shs' does not exist +pwck: no changes diff --git a/tests/cktools/pwck/28_pwck_no_shadow_file/pwck.test b/tests/cktools/pwck/28_pwck_no_shadow_file/pwck.test new file mode 100755 index 00000000..e792f78a --- /dev/null +++ b/tests/cktools/pwck/28_pwck_no_shadow_file/pwck.test @@ -0,0 +1,58 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck report issues when the shadow file does not exist" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Remove /etc/shadow..." +rm -f /etc/shadow +echo "OK" + +echo -n "Check user database (pwck -r)..." +pwck -r >tmp/pwck.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.out +echo "=======================================================================" +echo -n "Check the report..." +diff -au data/pwck.out tmp/pwck.out +echo "report OK." +rm -f tmp/pwck.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +test ! -f /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/29_pwck_password_change_in_future/config.txt b/tests/cktools/pwck/29_pwck_password_change_in_future/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/cktools/pwck/29_pwck_password_change_in_future/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/group b/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/gshadow b/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/gshadow new file mode 100644 index 00000000..be1575eb --- /dev/null +++ b/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:x:: diff --git a/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/passwd b/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/passwd new file mode 100644 index 00000000..ded978d9 --- /dev/null +++ b/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/tmp:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/tmp:/bin/sh +uucp:x:10:10:uucp:/tmp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/tmp:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/tmp:/bin/sh +irc:x:39:39:ircd:/tmp:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/tmp:/bin/sh +nobody:x:65534:65534:nobody:/tmp:/bin/sh +Debian-exim:x:102:102::/tmp:/bin/false +foo:x:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/shadow b/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/shadow new file mode 100644 index 00000000..37819882 --- /dev/null +++ b/tests/cktools/pwck/29_pwck_password_change_in_future/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:99997:0:99999:7::: diff --git a/tests/cktools/pwck/29_pwck_password_change_in_future/data/pwck.out b/tests/cktools/pwck/29_pwck_password_change_in_future/data/pwck.out new file mode 100644 index 00000000..12d2fbfe --- /dev/null +++ b/tests/cktools/pwck/29_pwck_password_change_in_future/data/pwck.out @@ -0,0 +1,2 @@ +user foo: last password change in the future +pwck: no changes diff --git a/tests/cktools/pwck/29_pwck_password_change_in_future/pwck.test b/tests/cktools/pwck/29_pwck_password_change_in_future/pwck.test new file mode 100755 index 00000000..6ccd8109 --- /dev/null +++ b/tests/cktools/pwck/29_pwck_password_change_in_future/pwck.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck checks that the password was set in the past" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Check user database (pwck -r)..." +pwck -r >tmp/pwck.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.out +echo "=======================================================================" +echo -n "Check the report..." +diff -au data/pwck.out tmp/pwck.out +echo "report OK." +rm -f tmp/pwck.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/30_pwck_NIS_entries/config.txt b/tests/cktools/pwck/30_pwck_NIS_entries/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/cktools/pwck/30_pwck_NIS_entries/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/group b/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/gshadow b/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/gshadow new file mode 100644 index 00000000..be1575eb --- /dev/null +++ b/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:x:: diff --git a/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/passwd b/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/passwd new file mode 100644 index 00000000..e5bbc071 --- /dev/null +++ b/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/passwd @@ -0,0 +1,23 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/tmp:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/tmp:/bin/sh +uucp:x:10:10:uucp:/tmp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/tmp:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/tmp:/bin/sh +irc:x:39:39:ircd:/tmp:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/tmp:/bin/sh +nobody:x:65534:65534:nobody:/tmp:/bin/sh +Debian-exim:x:102:102::/tmp:/bin/false +foo:x:1000:1000::/home:/bin/sh ++:::::: +-bar:::::: +foo:x:1001:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/shadow b/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/shadow new file mode 100644 index 00000000..d3c07656 --- /dev/null +++ b/tests/cktools/pwck/30_pwck_NIS_entries/config/etc/shadow @@ -0,0 +1,23 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:99997:0:99999:7::: ++:::::::: +-bar:::::::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/30_pwck_NIS_entries/data/pwck.out b/tests/cktools/pwck/30_pwck_NIS_entries/data/pwck.out new file mode 100644 index 00000000..56dce35c --- /dev/null +++ b/tests/cktools/pwck/30_pwck_NIS_entries/data/pwck.out @@ -0,0 +1,10 @@ +duplicate password entry +delete line 'foo:x:1000:1000::/home:/bin/sh'? No +duplicate password entry +delete line 'foo:x:1001:1000::/home:/bin/sh'? No +duplicate shadow password entry +delete line 'Debian-exim:!:12977:0:99999:7:::'? No +user foo: last password change in the future +duplicate shadow password entry +delete line 'Debian-exim:!:12977:0:99999:7:::'? No +pwck: no changes diff --git a/tests/cktools/pwck/30_pwck_NIS_entries/pwck.test b/tests/cktools/pwck/30_pwck_NIS_entries/pwck.test new file mode 100755 index 00000000..733fa94e --- /dev/null +++ b/tests/cktools/pwck/30_pwck_NIS_entries/pwck.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck ignores NIS lines silently" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Check user database (pwck -r)..." +pwck -r >tmp/pwck.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.out +echo "=======================================================================" +echo -n "Check the report..." +diff -au data/pwck.out tmp/pwck.out +echo "report OK." +rm -f tmp/pwck.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config.txt b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/group b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/group new file mode 100644 index 00000000..fecba0c4 --- /dev/null +++ b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/group @@ -0,0 +1,42 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: +foo:x:1000: diff --git a/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/gshadow b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/gshadow new file mode 100644 index 00000000..be1575eb --- /dev/null +++ b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/gshadow @@ -0,0 +1,42 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: +foo:x:: diff --git a/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/passwd b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/passwd new file mode 100644 index 00000000..fbeb96c2 --- /dev/null +++ b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/passwd @@ -0,0 +1,20 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/tmp:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/tmp:/bin/sh +uucp:x:10:10:uucp:/tmp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/tmp:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/tmp:/bin/sh +irc:x:39:39:ircd:/tmp:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/tmp:/bin/sh +nobody:x:65534:65534:nobody:/tmp:/bin/sh +Debian-exim:x:102:102::/tmp:/bin/false +foo:pass:1000:1000::/home:/bin/sh diff --git a/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/shadow b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/shadow new file mode 100644 index 00000000..2baad3b4 --- /dev/null +++ b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/config/etc/shadow @@ -0,0 +1,20 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: +foo:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/data/pwck.out b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/data/pwck.out new file mode 100644 index 00000000..5cedc7c3 --- /dev/null +++ b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/data/pwck.out @@ -0,0 +1,2 @@ +user foo has an entry in /etc/shadow, but its password field in /etc/passwd is not set to 'x' +pwck: no changes diff --git a/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/pwck.test b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/pwck.test new file mode 100755 index 00000000..4c5b1f5f --- /dev/null +++ b/tests/cktools/pwck/31_pwck_shadow_entry_passwd_no_x/pwck.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck checks that the password is set to x if there is a shadow entry" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Check user database (pwck -r)..." +pwck -r >tmp/pwck.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.out +echo "=======================================================================" +echo -n "Check the report..." +diff -au data/pwck.out tmp/pwck.out +echo "report OK." +rm -f tmp/pwck.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cktools/pwck/32_pwck_quiet/config.txt b/tests/cktools/pwck/32_pwck_quiet/config.txt new file mode 100644 index 00000000..31f56359 --- /dev/null +++ b/tests/cktools/pwck/32_pwck_quiet/config.txt @@ -0,0 +1,10 @@ +# no testsuite password +# root password: rootF00barbaz +# myuser password: myuserF00barbaz + +user foo, in group users (only in /etc/group) +user foo, in group tty (only in /etc/gshadow) +user foo, in group floppy +user foo, admin of group disk +user foo, admin and member of group fax +user foo, admin and member of group cdrom (only in /etc/gshadow) diff --git a/tests/cktools/pwck/32_pwck_quiet/config/etc/group b/tests/cktools/pwck/32_pwck_quiet/config/etc/group new file mode 100644 index 00000000..10123908 --- /dev/null +++ b/tests/cktools/pwck/32_pwck_quiet/config/etc/group @@ -0,0 +1,41 @@ +root:x:0: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +disk:x:6: +lp:x:7: +mail:x:8: +news:x:9: +uucp:x:10: +man:x:12: +proxy:x:13: +kmem:x:15: +dialout:x:20: +fax:x:21: +voice:x:22: +cdrom:x:24: +floppy:x:25: +tape:x:26: +sudo:x:27: +audio:x:29: +dip:x:30: +www-data:x:33: +backup:x:34: +operator:x:37: +list:x:38: +irc:x:39: +src:x:40: +gnats:x:41: +shadow:x:42: +utmp:x:43: +video:x:44: +sasl:x:45: +plugdev:x:46: +staff:x:50: +games:x:60: +users:x:100: +nogroup:x:65534: +crontab:x:101: +Debian-exim:x:102: diff --git a/tests/cktools/pwck/32_pwck_quiet/config/etc/gshadow b/tests/cktools/pwck/32_pwck_quiet/config/etc/gshadow new file mode 100644 index 00000000..ae424865 --- /dev/null +++ b/tests/cktools/pwck/32_pwck_quiet/config/etc/gshadow @@ -0,0 +1,41 @@ +root:*:: +daemon:*:: +bin:*:: +sys:*:: +adm:*:: +tty:*:: +disk:*:: +lp:*:: +mail:*:: +news:*:: +uucp:*:: +man:*:: +proxy:*:: +kmem:*:: +dialout:*:: +fax:*:: +voice:*:: +cdrom:*:: +floppy:*:: +tape:*:: +sudo:*:: +audio:*:: +dip:*:: +www-data:*:: +backup:*:: +operator:*:: +list:*:: +irc:*:: +src:*:: +gnats:*:: +shadow:*:: +utmp:*:: +video:*:: +sasl:*:: +plugdev:*:: +staff:*:: +games:*:: +users:*:: +nogroup:*:: +crontab:x:: +Debian-exim:x:: diff --git a/tests/cktools/pwck/32_pwck_quiet/config/etc/passwd b/tests/cktools/pwck/32_pwck_quiet/config/etc/passwd new file mode 100644 index 00000000..4491abe7 --- /dev/null +++ b/tests/cktools/pwck/32_pwck_quiet/config/etc/passwd @@ -0,0 +1,22 @@ +root:x:0:0:root:/root:/bin/bash +daemon:x:1:1:daemon:/usr/sbin:/bin/sh +bin:x:2:2:bin:/bin:/bin/sh +sys:x:3:3:sys:/dev:/bin/sh +sync:x:4:65534:sync:/bin:/bin/sync +games:x:5:60:games:/usr/games:/bin/sh +man:x:6:12:man:/var/cache/man:/bin/sh +lp:x:7:7:lp:/var/spool/lpd:/bin/sh +mail:x:8:8:mail:/var/mail:/bin/sh +news:x:9:9:news:/var/spool/news:/bin/sh +uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh +proxy:x:13:13:proxy:/bin:/bin/sh +www-data:x:33:33:www-data:/var/www:/bin/sh +backup:x:34:34:backup:/var/backups:/bin/sh +list:x:38:38:Mailing List Manager:/var/list:/bin/sh +irc:x:39:39:ircd:/var/run/ircd:/bin/sh +gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh +nobody:x:65534:65534:nobody:/nonexistent:/bin/sh +Debian-exim:x:102:102::/var/spool/exim4:/bin/false +Debian-exim:x:103:102::/var/spool/exim4:/bin/false +Debian-exim2:x:104:103::/var/spool/exim4:/bin/false +Debian-exim3:x:102:103::/var/spool/exim4:/bin/false diff --git a/tests/cktools/pwck/32_pwck_quiet/config/etc/shadow b/tests/cktools/pwck/32_pwck_quiet/config/etc/shadow new file mode 100644 index 00000000..5f50d187 --- /dev/null +++ b/tests/cktools/pwck/32_pwck_quiet/config/etc/shadow @@ -0,0 +1,19 @@ +root:$1$NBLBLIXb$WUgojj1bNuxWEADQGt1m9.:12991:0:99999:7::: +daemon:*:12977:0:99999:7::: +bin:*:12977:0:99999:7::: +sys:*:12977:0:99999:7::: +sync:*:12977:0:99999:7::: +games:*:12977:0:99999:7::: +man:*:12977:0:99999:7::: +lp:*:12977:0:99999:7::: +mail:*:12977:0:99999:7::: +news:*:12977:0:99999:7::: +uucp:*:12977:0:99999:7::: +proxy:*:12977:0:99999:7::: +www-data:*:12977:0:99999:7::: +backup:*:12977:0:99999:7::: +list:*:12977:0:99999:7::: +irc:*:12977:0:99999:7::: +gnats:*:12977:0:99999:7::: +nobody:*:12977:0:99999:7::: +Debian-exim:!:12977:0:99999:7::: diff --git a/tests/cktools/pwck/32_pwck_quiet/data/pwck.out b/tests/cktools/pwck/32_pwck_quiet/data/pwck.out new file mode 100644 index 00000000..c9a8c2c5 --- /dev/null +++ b/tests/cktools/pwck/32_pwck_quiet/data/pwck.out @@ -0,0 +1,9 @@ +duplicate password entry +delete line 'Debian-exim:x:102:102::/var/spool/exim4:/bin/false'? No +duplicate password entry +delete line 'Debian-exim:x:103:102::/var/spool/exim4:/bin/false'? No +no matching password file entry in /etc/shadow +add user 'Debian-exim2' in /etc/shadow? No +no matching password file entry in /etc/shadow +add user 'Debian-exim3' in /etc/shadow? No +pwck: no changes diff --git a/tests/cktools/pwck/32_pwck_quiet/pwck.test b/tests/cktools/pwck/32_pwck_quiet/pwck.test new file mode 100755 index 00000000..c8a8b8ed --- /dev/null +++ b/tests/cktools/pwck/32_pwck_quiet/pwck.test @@ -0,0 +1,54 @@ +#!/bin/sh + +set -e + +cd $(dirname $0) + +. ../../../common/config.sh +. ../../../common/log.sh + +log_start "$0" "pwck can display its usage message" + +save_config + +# restore the files on exit +trap 'log_status "$0" "FAILURE"; restore_config' 0 + +change_config + +echo -n "Get pwck usage (pwck -q -r)..." +pwck -q -r >tmp/pwck.out && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "2" +echo "OK" + +echo "pwck reported:" +echo "=======================================================================" +cat tmp/pwck.out +echo "=======================================================================" +echo -n "Check the report..." +diff -au data/pwck.out tmp/pwck.out +echo "report OK." +rm -f tmp/pwck.out + +echo -n "Check the passwd file..." +../../../common/compare_file.pl config/etc/passwd /etc/passwd +echo "OK" +echo -n "Check the group file..." +../../../common/compare_file.pl config/etc/group /etc/group +echo "OK" +echo -n "Check the shadow file..." +../../../common/compare_file.pl config/etc/shadow /etc/shadow +echo "OK" +echo -n "Check the gshadow file..." +../../../common/compare_file.pl config/etc/gshadow /etc/gshadow +echo "OK" + +log_status "$0" "SUCCESS" +restore_config +trap '' 0 + diff --git a/tests/cleanup.sh b/tests/cleanup.sh new file mode 100755 index 00000000..26b1b27a --- /dev/null +++ b/tests/cleanup.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +for t in * +do + if [ ! -d $t/data ]; then continue; fi + for i in passwd group shadow gshadow + do + if [ -f $t/data/$i ] + then + if cmp -s $t/config/etc/$i $t/data/$i + then + echo "# $t/data/$i identical to config" + svn rm "$t/data/$i" + fi + fi + done +done + +for t in * +do + cd $t + if [ ! -d data ]; then cd ..; continue; fi + for i in data/* + do + if [ ! -f $i ]; then continue; fi + if ! grep -q $i *.test + then + echo "# $t/$i not used" + svn rm "$i" + fi + done + cd .. +done diff --git a/tests/common/Makefile b/tests/common/Makefile new file mode 100644 index 00000000..4ee04dd7 --- /dev/null +++ b/tests/common/Makefile @@ -0,0 +1,14 @@ +all: \ + fopen_failure.so \ + link_failure.so \ + open_RDONLY_failure.so \ + open_RDWR_failure.so \ + rename_failure.so \ + rmdir_failure.so \ + time_0.so \ + time_past.so \ + unlink_failure.so \ + unlinkat_failure.so + +%.so: %.c + gcc -W -Wall -pedantic -g $< -shared -ldl -o $@ diff --git a/tests/common/compare_file.pl b/tests/common/compare_file.pl new file mode 100755 index 00000000..eb498d32 --- /dev/null +++ b/tests/common/compare_file.pl @@ -0,0 +1,116 @@ +#!/usr/bin/perl + +open (TEMPLATE, $ARGV[0]) or die "Cannot open '".$ARGV[0]."': $!"; +my $template = join "",