[svn-upgrade] Integrating new upstream version, shadow (4.0.15)

This commit is contained in:
nekral-guest 2007-10-07 11:47:22 +00:00
parent 24178ad677
commit 591830e43b
236 changed files with 9504 additions and 3729 deletions

386
ChangeLog
View File

@ -1,3 +1,389 @@
2006-03-13 Tomasz K這czko <kloczek@pld.org.pl>
* po/it.po:
updated for 4.0.15 (by Danilo Piazzalunga <danilopiazza@gmail.com>).
2006-03-12 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, po/nb.po:
updated for 4.0.15 (by Bj繪rn Steensrud <bjornst@powertech.no>).
* po/pt.po:
updated for 4.0.15 (by Miguel Figueiredo <mfigueiredo@gmail.com>).
* man/Makefile.am, NEWS, configure.in:
do not install translated man pages if shadow is configured with --disable-nls
(based patch submited by Mike Frysinger <vapier@gentoo.org>).
* NEWS, po/pt_BR.po:
updated for 4.0.15 (by Andre Luis Lopes <andrelop@debian.org>).
* po/fr.po:
updated for 4.0.15 (by Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>).
2006-03-11 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, configure.in, lib/pwauth.c:
added fixes for detect BSD's S/Key with updated the skeychallenge() function
for take a fourth argument in case BSD version
(patch submited by Mike Frysinger <vapier@gentoo.org>)
* README: added paragragraph about S/Key support.
* po/sk.po: updated for 4.0.15 (by Peter Mann <Peter.Mann@tuke.sk>).
* NEWS: newgrp: do not link with libselinux.
* NEWS, po/zh_CN.po:
updated for 4.0.15 (by Carlos Z.F. Liu <carlosliu@users.sourceforge.net>).
* po/ru.po: updated for 4.0.15 (by Yuri Kozlov <kozlov.y@gmail.com>).
* src/Makefile.am:
removed $(LIBSELINUX) from newgrp_LDADD (newgrp does not need to be linked
with SELinux libraries).
* man/ru/chsh.1, man/ru/expiry.1, man/ru/faillog.5, man/ru/faillog.8, man/ru/gpasswd.1, man/ru/groupadd.8, man/ru/groupdel.8, man/ru/groupmems.8, man/ru/groupmod.8, man/ru/groups.1, man/ru/grpck.8, man/ru/gshadow.5, man/ru/id.1, man/ru/lastlog.8, man/ru/limits.5, man/ru/login.1, man/ru/login.access.5, man/ru/login.defs.5, man/ru/logoutd.8, man/ru/newgrp.1, man/ru/newusers.8, man/ru/nologin.8, man/ru/passwd.1, man/ru/passwd.5, man/ru/porttime.5, man/ru/pw_auth.3, man/ru/pwck.8, man/ru/pwconv.8, man/ru/sg.1, man/ru/shadow.3, man/ru/shadow.5, man/ru/su.1, man/ru/suauth.5, man/ru/sulogin.8, man/ru/useradd.8, man/ru/userdel.8, man/ru/usermod.8, man/ru/vipw.8, NEWS, man/ru/Makefile.am, man/ru/chage.1, man/ru/chfn.1, man/ru/chpasswd.8:
ru man pages: added new nologin(8) and updated all other man pages
(by Yuri Kozlov <kozlov.y@gmail.com>).
2006-03-09 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, po/nl.po:
updated for 4.0.15 (by cobaco (aka Bart Cornelis) <cobaco@linux.be>).
* po/vi.po:
updated for 4.0.15 (by Clytie Siddall <clytie@riverland.net.au>).
* po/sv.po:
updated for 4.0.15 (by Daniel Nylander <po@danielnylander.se>).
2006-03-08 Tomasz K這czko <kloczek@pld.org.pl>
* po/eu.po: updated for 4.0.15 (by pi <pi@beobide.net>).
* po/ro.po: cleanups.
* NEWS, po/tl.po:
updated for 4.0.15 (by eric pareja <xenos@upm.edu.ph>).
* po/ro.po: updated for 4.0.15 (by Sorin B. <sorin@bonbon.net>).
* NEWS, po/es.po:
updated for 4.0.15 (by Ruben Porras <nahoo82@gmail.com>).
2006-03-07 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, po/da.po:
updated for 4.0.15 (by Claus Hindsgaul <claus.hindsgaul@gmail.com>).
* NEWS, man/fi/chsh.1, man/fi/su.1:
update fi chsh(1), su(1) man pages generated from XML files
(Tommi Vainikainen <thv+debian@iki.fi>).
* NEWS, po/fi.po:
updated for 4.0.15 (by Tommi Vainikainen <thv+debian@iki.fi>).
* NEWS, po/cs.po:
updated for 4.0.15 (by Miroslav Kure <kurem@upcase.inf.upol.cz>).
* NEWS, man/cs/Makefile.am, man/cs/expiry.1, man/cs/faillog.5, man/cs/faillog.8, man/cs/gpasswd.1, man/cs/groupadd.8, man/cs/groupdel.8, man/cs/logoutd.8, man/cs/nologin.8, man/cs/vipw.8:
added new cs man pages: expiry(1), faillog(5), faillog(8), gpasswd(1),
groupadd(8), groupdel(8), logoutd(8), nologin(8), vipw(8).
* NEWS: typo.
* src/useradd.c, NEWS, lib/getdef.h, man/login.defs.5, man/login.defs.5.xml, src/login.c, src/newusers.c:
default UMASK if not specified in login.defs is 022.
2006-03-06 Tomasz K這czko <kloczek@pld.org.pl>
* po/pl.po: updated for 4.0.15.
* NEWS, po/gl.po:
updated for 4.0.15 (by Jacobo Tarrio <jtarrio@trasno.net>).
* NEWS, configure.in: schedule release 4.0.15 to 13-03-2006.
2006-03-05 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS: typo (s/onas Meurer/Jonas Meurer/)
* src/.cvsignore: added chgpasswd.
* po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, src/Makefile.am, src/chgpasswd.c, NEWS, po/POTFILES.in, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/gl.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po:
chgpasswd: new tool (by onas Meurer <mejo@debian.org>).
* src/lastlog.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/gl.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
s/Unexpected/unexpected/
* po/fr.po, po/gl.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, src/lastlog.c, NEWS, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po:
print the usage and exit if an additional argument is profided to
lastlog (merge 488_laslog_verify_arguments Debian patch).
2006-03-02 Tomasz K這czko <kloczek@pld.org.pl>
* man/chpasswd.8, man/chpasswd.8.xml:
fixed CAVEATS section (by Justin Pryzby <justinpryzby@users.sourceforge.net>)
2006-02-28 Tomasz K這czko <kloczek@pld.org.pl>
* man/passwd.1, man/passwd.1.xml:
fixed SYNOPSIS section (http://bugs.debian.org/352136).
2006-02-23 Tomasz K這czko <kloczek@pld.org.pl>
* po/ro.po: updated (by Sorin Batariuc <sorin@bonbon.net>).
2006-02-21 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, lib/Makefile.am, src/Makefile.am:
login, nologin, su: do not link with libselinux
(merge 490_link_selinux_only_when_needed Debian patch).
* NEWS, src/chage.c, src/chfn.c, src/chsh.c, src/passwd.c:
fixed confusing error message if /proc is not mounted
(http://bugs.debian.org/352494
patch Nicolas Fran癟ois <nicolas.francois@centraliens.net>)
* po/ro.po:
updated (commited http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347755).
* NEWS, po/ca.po: updated (by Jordi Mallach <jordi@debian.org>).
2006-02-20 Tomasz K這czko <kloczek@pld.org.pl>
* man/gpasswd.1.xml, man/passwd.1.xml, man/passwd.5.xml, man/pwck.8.xml, man/sg.1.xml, man/useradd.8.xml:
cleanups.
* po/gl.po: updated (Jacobo Tarrio <jtarrio@trasno.net>).
* NEWS, po/pt.po:
updated (by Miguel Figueiredo <mfigueiredo@gmail.com>).
2006-02-15 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, po/it.po:
update (by Danilo Piazzalunga <danilopiazza@gmail.com>).
* po/vi.po: update (by Clytie Siddall <clytie@riverland.net.au>).
* po/sv.po: updated (by Daniel Nylander <yeager@lidkoping.net>).
2006-02-09 Tomasz K這czko <kloczek@pld.org.pl>
* po/fr.po: updated (by Christian Perrier <bubulle@kheops.frmug.org>).
* po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/fi.po, po/fr.po, po/gl.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
run "make update-po".
* po/pl.po: updated.
* po/sk.po: updated (by Peter Mann <Peter.Mann@tuke.sk>).
* po/eu.po: update (by ^pi^ <pi@beobide.net>).
2006-02-08 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, src/login.c:
merge 433_login_more_LOG_UNKFAIL_ENAB Debian patch:
- TOO MANY LOGIN... logged if PAM_MAXTRIES or failcount >= retries
(was onl test PAM_MAXTRIES),
- print to stderr (in addition to syslog) in case of maximum number of
tries exceeded,
- always prints the number of tries in the syslog entry.
- add special handling for PAM_ABORT
- add an entry to failog, as when USE_PAM is not defined. (#53164)
- changed pam_end to PAM_END. This is certainly was a mistake.
PAM_END is pam_close_seesion + pam_end. Here, the session is still not
open, we don't have to close it.
- a HAVE_PAM_FAIL_DELAY is missing
* po/ro.po: kill one fuzzy.
* po/ro.po, NEWS: updated (by Sorin B. <sorin@bonbon.net>).
* src/gpasswd.c: s/die/catch_signals/
* src/expiry.c, src/sulogin.c: s/catch/catch_signals/
* src/su.c: /su_catch_sig/chatch_signals/
2006-02-07 Tomasz K這czko <kloczek@pld.org.pl>
* src/id.c, src/groups.c, libmisc/getdate.y: lint code using CC=g++.
* NEWS, src/su.c:
fixed pam session support (patch from Topi Miettinen; fixed #57526, #55873,
#57532 Debian bugs).
* NEWS:
fixed pam session support (patch from Topi Miettinen; fixed #57526,
#55873, #57532 Debian bugs).
* NEWS, src/userdel.c:
user's group is already removed by update_groups(). remove_group()
is not needed (bug introduced in 4.0.14 on merge FC fixes). Fixed by Nicolas
Fran癟ois <nicolas.francois@centraliens.net>
* NEWS, src/useradd.c: allways remove group and gshadow databases lock,
Fixed by Nicolas Fran癟ois <nicolas.francois@centraliens.net>
(http://bugs.debian.org/348250)
* NEWS, src/userdel.c: fixed excess audit_logger() argument.
* NEWS, lib/prototypes.h:
corrected prototypes in lib/prototypes.h (thre is no audit_help_log(); added
audit_logger() prototype).
* src/login.c: fixed missing ";" in declaration.
* man/limits.5, man/limits.5.xml:
fixed example limits string (by Yuri Kozlov <kozlov.y@gmail.com>).
2006-02-06 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, src/chage.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/gl.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po:
added missing \n on display password status if password must be chaged.
2006-02-04 Tomasz K這czko <kloczek@pld.org.pl>
* src/useradd.c, NEWS:
fixed allow non-unique UID (http://bugs.debian.org/351281).
2006-02-01 Tomasz K這czko <kloczek@pld.org.pl>
* po/cs.po: updated (by Miroslav Kure <kurem@upcase.inf.upol.cz>).
2006-01-27 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, po/vi.po:
updated (by Clytie Siddall <clytie@riverland.net.au>).
2006-01-26 Tomasz K這czko <kloczek@pld.org.pl>
* po/fr.po:
typo (fixed by Christian Perrier <bubulle@kheops.frmug.org>).
* po/sk.po: updated (by Peter Mann <Peter.Mann@tuke.sk>).
2006-01-25 Tomasz K這czko <kloczek@pld.org.pl>
* man/pl/grpck.8, man/pl/login.defs.5, man/pl/passwd.1, man/pl/pwck.8, man/de/passwd.1, man/es/login.1, man/es/vipw.8, man/fi/passwd.1, man/hu/passwd.1, man/id/login.1, man/it/grpck.8, man/it/pwck.8, man/ja/grpck.8, man/ja/passwd.1, man/ja/pwck.8, man/ko/login.1, man/ko/su.1:
fixes some issues that cause warnings when the manpages are
displayed (by Nicolas Fran癟ois <nicolas.francois@centraliens.net>).
2006-01-23 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, po/eu.po: updated (by pi <pi@beobide.net>).
* libmisc/addgrps.c, libmisc/xmalloc.c, src/groups.c:
fixes after linting code using CC=g++: cast {m,re}alloc() return value to
proper type.
2006-01-22 Tomasz K這czko <kloczek@pld.org.pl>
* man/chage.1, man/chage.1.xml, man/passwd.5, man/passwd.5.xml, man/su.1, man/su.1.xml, man/useradd.8, man/useradd.8.xml:
uniformity and grammar fixes (by Christine Spang <spangarang@twcny.rr.com>).
* NEWS, po/ru.po: updated (by Yuri Kozlov <kozlov.y@gmail.com>).
2006-01-20 Tomasz K這czko <kloczek@pld.org.pl>
* po/fr.po, NEWS:
updated (by Christian Perrier <bubulle@kheops.frmug.org>).
2006-01-18 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, libmisc/setupenv.c, src/chage.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/login.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/usermod.c, src/vipw.c:
variouse code cleanups for make possible compilation of shadow with
-Wall -Werror (by Alexander Gattin <xrgtn@yandex.ru>).
* libmisc/age.c, libmisc/shell.c, src/login.c, src/newgrp.c, src/su.c, src/sulogin.c, src/userdel.c, NEWS, lib/prototypes.h:
move exit() outside libmisc/shell.c::shell() for handle shell() errors
on higher level (now is better visable where some programs exit with 126 and
127 exit codes); added new shell() parameter (char *const envp[]) which allow
fix preserving enviloment in su on using -p.
(patch by Alexander Gattin <xrgtn@yandex.ru>)
* NEWS, po/el.po:
updated (by Konstantinos Margaritis <markos@debian.org>).
2006-01-17 Tomasz K這czko <kloczek@pld.org.pl>
* lib/exitcodes.h: new #defines:
#define E_CMD_NOEXEC 126 /* can't run command/shell */
#define E_CMD_NOTFOUND 127 /* can't find command/shell to run */
2006-01-16 Tomasz K這czko <kloczek@pld.org.pl>
* man/passwd.1, man/passwd.1.xml:
fixes after reviewed for grammatical and other small errors that detract from the
polish of the content to native English speakers.
I also went ahead and changed all gender references to be a consistent
"his/her" (or equivalent) - the original had a mix of just "his", just
"her", and occasionally "his/her".
(by Christine Spang <spangarang@twcny.rr.com>).
* po/it.po: updated (by Danilo Piazzalunga <danilopiazza@gmail.com>).
2006-01-14 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS: updated.
* libmisc/shell.c: remove DEBUG code.
* po/LINGUAS, po/gl.po, NEWS:
added new gl translation (by Jacobo Tarrio <jtarrio@trasno.net>).
2006-01-12 Tomasz K這czko <kloczek@pld.org.pl>
* po/eu.po: small update (by pi <pi@beobide.net>).
2006-01-10 Tomasz K這czko <kloczek@pld.org.pl>
* src/su.c: fixed compilation error.
2006-01-08 Tomasz K這czko <kloczek@pld.org.pl>
* po/sv.po: updated (by Daniel Nylander <yeager@lidkoping.net>)
http://bugs.debian.org/346449
2006-01-07 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, man/useradd.8, man/useradd.8.xml:
better document useradd -d option: will not add the user's home directory
if it does not already exist (http://bugs.debian.org/154996)
* man/su.1, man/su.1.xml, po/zh_CN.po, po/zh_TW.po, NEWS, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, src/su.c:
added handle -c,--command option for GNU su compliance (merge
437_su_-c_option Debian Patch).
* man/login.1, man/login.1.xml, man/passwd.1, man/passwd.1.xml, man/su.1, man/su.1.xml:
man pages cleanups.
(http://bugs.debian.org/341489)
* NEWS, man/Makefile.am, man/nologin.8, man/nologin.8.xml:
nologin(8) man pages added (merge 478_nologin.8.xml Debian patch).
* po/sk.po: updated (by Peter Mann <Peter.Mann@tuke.sk>)
http://bugs.debian.org/346376
2006-01-06 Tomasz K這czko <kloczek@pld.org.pl>
* po/id.po: updated (by Parlin Imanuel <parlin_i@yahoo.com>)
http://bugs.debian.org/345514
* NEWS, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, src/login.c:
added translate login prompt string (suggested by Evgeniy Dushistov).
2006-01-05 Tomasz K這czko <kloczek@pld.org.pl>
* NEWS, configure.in: start work on 4.1.0.
* po/sv.po: updated (by Daniel Nylander <yeager@lidkoping.net>).
http://bugs.debian.org/346017
2006-01-03 Tomasz K³oczko <kloczek@pld.org.pl> 2006-01-03 Tomasz K³oczko <kloczek@pld.org.pl>
* NEWS: correct 4.0.14 release date (03-01-2006). * NEWS: correct 4.0.14 release date (03-01-2006).

View File

@ -150,6 +150,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

79
NEWS
View File

@ -1,4 +1,78 @@
$Id: NEWS,v 1.331 2006/01/03 16:45:47 kloczek Exp $ $Id: NEWS,v 1.382 2006/03/12 22:35:35 kloczek Exp $
shadow-4.0.14 -> shadow-4.0.15 13-03-2006
*** general:
- do not install translated man pages if shadow is configured with
--disable-nls
(based patch submited by Mike Frysinger <vapier@gentoo.org>),
- added fixes for detect BSD's S/Key with updated the skeychallenge()
function for take a fourth argument in case BSD version (patch submited by
Mike Frysinger <vapier@gentoo.org>),
- login: default UMASK if not specified in login.defs is 022 (pointed by
Peter Vrabec <pvrabec@redhat.com>),
- chgpasswd: new tool (by Jonas Meurer <mejo@debian.org>),
- lastlog: print the usage and exit if an additional argument is profided to
lastlog (merge 488_laslog_verify_arguments Debian patch),
- login, newgrp, nologin, su: do not link with libselinux (merge
490_link_selinux_only_when_needed Debian patch),
- chage, chfn, chsh, passwd: fixed confusing error message if /proc is not
mounted (http://bugs.debian.org/352494 patch Nicolas François
<nicolas.francois@centraliens.net>),
- login (merge 433_login_more_LOG_UNKFAIL_ENAB Debian patch):
- TOO MANY LOGIN... logged if PAM_MAXTRIES or failcount >= retries (was
onl test PAM_MAXTRIES),
- print to stderr (in addition to syslog) in case of maximum number of
tries exceeded,
- always prints the number of tries in the syslog entry.
- add special handling for PAM_ABORT
- add an entry to failog, as when USE_PAM is not defined. (#53164)
- changed pam_end to PAM_END. This is certainly was a mistake. PAM_END is
pam_close_seesion + pam_end. Here, the session is still not open, we
don't have to close it.
- a HAVE_PAM_FAIL_DELAY is missing,
- su: fixed pam session support (patch from Topi Miettinen; fixed #57526,
#55873, 57532 Debian bugs),
- userdel: user's group is already removed by update_groups().
remove_group() is not needed (bug introduced in 4.0.14 on merge FC fixes).
Fixed by Nicolas François <nicolas.francois@centraliens.net>,
- useradd: allways remove group and gshadow databases lock, Fixed by Nicolas
François <nicolas.francois@centraliens.net>
(http://bugs.debian.org/348250)
- auditing fixes:
- corrected prototypes in lib/prototypes.h (thre is no audit_help_log();
added audit_logger() prototype),
- useradd: fixed excess audit_logger() argument,
- chage: added missing \n on display password status if password must be
chaged,
- useradd: fixed allow non-unique UID (http://bugs.debian.org/351281),
- variouse code cleanups for make possible compilation of shadow with -Wall
-Werror (by Alexander Gattin <xrgtn@yandex.ru>),
- su: move exit() outside libmisc/shell.c::shell() for handle shell() errors
on higher level (now is better visable where some programs exit with 126
and 127 exit codes); added new shell() parameter (char *const envp[])
which allow fix preserving enviloment in su on using -p, (patch by
Alexander Gattin <xrgtn@yandex.ru>),
- su: added handle -c,--command option for GNU su compliance (merge
437_su_-c_option Debian patch),
- login: added translate login prompt string (suggested by Evgeniy
Dushistov),
- updated translations: ca, cs, da, el, es, eu, gl, fi, fr, it, nb, nl, pt,
pt_BR, ro, ru, sk, sv, tl, vi, zh_CN,
- new translations: gl.
*** documentation:
- ru man pages: added new nologin(8) and updated all other man pages (by
Yuri Kozlov <kozlov.y@gmail.com>),
- chsh(1), su(1): update fi translations generated from XML files
(Tommi Vainikainen <thv+debian@iki.fi>),
- expiry(1), faillog(5), faillog(8), gpasswd(1), groupadd(8), groupdel(8),
logoutd(8), nologin(8), vipw(8): added new cs man pages, (by Miroslav Kure
<kurem@upcase.inf.upol.cz>)
- login.defs(5): default UMASK if not specified in login.defs is 022
(pointed by Peter Vrabec <pvrabec@redhat.com>),
- useradd(8): better document that -d will not add the user's home directory
if it does not already exist (http://bugs.debian.org/154996),
- nologin(8) man pages added (merge 478_nologin.8.xml Debian patch).
shadow-4.0.13 -> shadow-4.0.14 03-01-2006 shadow-4.0.13 -> shadow-4.0.14 03-01-2006
@ -36,7 +110,8 @@ shadow-4.0.13 -> shadow-4.0.14 03-01-2006
http://bugs.debian.org/11189), http://bugs.debian.org/11189),
- su, vipw: rewrited for use getopt_long(), - su, vipw: rewrited for use getopt_long(),
- su: log successful/failed through syslog (http://bugs.debian.org/190215), - su: log successful/failed through syslog (http://bugs.debian.org/190215),
- updated translations: ca, cs, da, eu, fi, fr, it, pl, pt, ru, sv, tl, vi. - updated translations: ca, cs, da, eu, fi, fr, it, pl, pt, ru, sv, tl, vi,
- new translations: gl.
*** documentation: *** documentation:
- added es, ko vigr(8) and vipw(8), hu lastlog(8), ko vipw(8), zh_CN su(1), - added es, ko vigr(8) and vipw(8), hu lastlog(8), ko vipw(8), zh_CN su(1),
zh_TW chpasswd(8) and su(1), zh_TW chpasswd(8) and su(1),

7
README
View File

@ -22,6 +22,13 @@ Mailing lists archives:
shadow@pld.org.pl - http://mail.pld.org.pl/mailman/pipermail/shadow/ shadow@pld.org.pl - http://mail.pld.org.pl/mailman/pipermail/shadow/
shadow-commit@pld.org.pl - http://mail.pld.org.pl/mailman/pipermail/shadow-commit/ shadow-commit@pld.org.pl - http://mail.pld.org.pl/mailman/pipermail/shadow-commit/
S/Key support:
Shadow can be builded with S/Key support using S/Key support from:
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libskey/
and
http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2
Authors and contributors Authors and contributors
======================== ========================

View File

@ -320,6 +320,9 @@
/* Define to support S/Key logins. */ /* Define to support S/Key logins. */
#undef SKEY #undef SKEY
/* Define to support newer BSD S/Key API */
#undef SKEY_BSD_STYLE
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN #undef STAT_MACROS_BROKEN

76
configure vendored
View File

@ -462,7 +462,7 @@ ac_includes_default="\
# include <unistd.h> # include <unistd.h>
#endif" #endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S YACC CPP EGREP U ANSI2KNR build build_cpu build_vendor build_os host host_cpu host_vendor host_os ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS XSLTPROC XML_CATALOG_FILE XMLCATALOG ENABLE_REGENERATE_MAN_TRUE ENABLE_REGENERATE_MAN_FALSE LIBCRYPT LIBAUDIT LIBCRACK LIBSELINUX LIBPAM LIBSKEY LIBMD MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB LTLIBOBJS' ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S YACC CPP EGREP U ANSI2KNR build build_cpu build_vendor build_os host host_cpu host_vendor host_os ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS XSLTPROC XML_CATALOG_FILE XMLCATALOG ENABLE_REGENERATE_MAN_TRUE ENABLE_REGENERATE_MAN_FALSE LIBCRYPT LIBAUDIT LIBCRACK LIBSELINUX LIBPAM LIBSKEY LIBMD MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB USE_NLS_TRUE USE_NLS_FALSE LTLIBOBJS'
ac_subst_files='' ac_subst_files=''
# Initialize some variables set by options. # Initialize some variables set by options.
@ -1822,7 +1822,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE=shadow PACKAGE=shadow
VERSION=4.0.14 VERSION=4.0.15
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -23836,6 +23836,59 @@ cat >>confdefs.h <<\_ACEOF
#define SKEY 1 #define SKEY 1
_ACEOF _ACEOF
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <stdio.h>
#include <skey.h>
int
main ()
{
skeychallenge((void*)0, (void*)0, (void*)0, 0);
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cat >>confdefs.h <<\_ACEOF
#define SKEY_BSD_STYLE 1
_ACEOF
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi fi
@ -25721,6 +25774,16 @@ _ACEOF
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/cs/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/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" ac_config_files="$ac_config_files Makefile po/Makefile.in doc/Makefile man/Makefile man/cs/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/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 cat >confcache <<\_ACEOF
@ -25849,6 +25912,13 @@ echo "$as_me: error: conditional \"ENABLE_REGENERATE_MAN\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;} Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; } { (exit 1); exit 1; }; }
fi fi
if test -z "${USE_NLS_TRUE}" && test -z "${USE_NLS_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"USE_NLS\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
echo "$as_me: error: conditional \"USE_NLS\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
: ${CONFIG_STATUS=./config.status} : ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files ac_clean_files_save=$ac_clean_files
@ -26512,6 +26582,8 @@ s,@INTLLIBS@,$INTLLIBS,;t t
s,@LIBINTL@,$LIBINTL,;t t s,@LIBINTL@,$LIBINTL,;t t
s,@LTLIBINTL@,$LTLIBINTL,;t t s,@LTLIBINTL@,$LTLIBINTL,;t t
s,@POSUB@,$POSUB,;t t s,@POSUB@,$POSUB,;t t
s,@USE_NLS_TRUE@,$USE_NLS_TRUE,;t t
s,@USE_NLS_FALSE@,$USE_NLS_FALSE,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t
CEOF CEOF

View File

@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
AC_INIT AC_INIT
AM_INIT_AUTOMAKE(shadow, 4.0.14) AM_INIT_AUTOMAKE(shadow, 4.0.15)
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
dnl Some hacks... dnl Some hacks...
@ -324,10 +324,17 @@ if test "$with_skey" = "yes"; then
AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey], AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey],
[AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])]) [AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])])
AC_DEFINE(SKEY, 1, [Define to support S/Key logins.]) AC_DEFINE(SKEY, 1, [Define to support S/Key logins.])
AC_TRY_COMPILE([
#include <stdio.h>
#include <skey.h>
],[
skeychallenge((void*)0, (void*)0, (void*)0, 0);
],[AC_DEFINE(SKEY_BSD_STYLE, 1, [Define to support newer BSD S/Key API])])
fi fi
AM_GNU_GETTEXT_VERSION(0.12.1) AM_GNU_GETTEXT_VERSION(0.12.1)
AM_GNU_GETTEXT([external], [need-ngettext]) AM_GNU_GETTEXT([external], [need-ngettext])
AM_CONDITIONAL(USE_NLS, test "x$USE_NLS" = "xyes")
AC_CONFIG_FILES([ AC_CONFIG_FILES([
Makefile Makefile

View File

@ -128,6 +128,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -128,6 +128,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -137,6 +137,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -128,6 +128,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -6,7 +6,7 @@ DEFS =
lib_LTLIBRARIES = libshadow.la lib_LTLIBRARIES = libshadow.la
libshadow_la_LDFLAGS = -version-info 0:0:0 libshadow_la_LDFLAGS = -version-info 0:0:0
libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBSKEY) $(LIBMD) $(LIBSELINUX) libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBSKEY) $(LIBMD)
libshadow_la_SOURCES = \ libshadow_la_SOURCES = \
commonio.c \ commonio.c \

View File

@ -58,7 +58,7 @@ LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 = am__DEPENDENCIES_1 =
libshadow_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ libshadow_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_libshadow_la_OBJECTS = commonio.lo encrypt.lo fputsx.lo getdef.lo \ am_libshadow_la_OBJECTS = commonio.lo encrypt.lo fputsx.lo getdef.lo \
getpass.lo groupio.lo gshadow.lo lockpw.lo nscd.lo port.lo \ getpass.lo groupio.lo gshadow.lo lockpw.lo nscd.lo port.lo \
pwauth.lo pwio.lo sgetgrent.lo sgetpwent.lo sgroupio.lo \ pwauth.lo pwio.lo sgetgrent.lo sgetpwent.lo sgroupio.lo \
@ -157,6 +157,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@
@ -209,7 +211,7 @@ target_alias = @target_alias@
AUTOMAKE_OPTIONS = 1.0 foreign AUTOMAKE_OPTIONS = 1.0 foreign
lib_LTLIBRARIES = libshadow.la lib_LTLIBRARIES = libshadow.la
libshadow_la_LDFLAGS = -version-info 0:0:0 libshadow_la_LDFLAGS = -version-info 0:0:0
libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBSKEY) $(LIBMD) $(LIBSELINUX) libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBSKEY) $(LIBMD)
libshadow_la_SOURCES = \ libshadow_la_SOURCES = \
commonio.c \ commonio.c \
commonio.h \ commonio.h \

View File

@ -1,4 +1,4 @@
/* $Id: exitcodes.h,v 1.7 2005/08/31 17:36:11 kloczek Exp $ */ /* $Id: exitcodes.h,v 1.8 2006/01/17 22:06:03 kloczek Exp $ */
/* /*
* Exit codes used by shadow programs * Exit codes used by shadow programs
@ -11,3 +11,5 @@
#define E_SHADOW_NOTFOUND 15 /* not found shadow password file */ #define E_SHADOW_NOTFOUND 15 /* not found shadow password file */
#define E_GROUP_NOTFOUND 16 /* not found group file */ #define E_GROUP_NOTFOUND 16 /* not found group file */
#define E_GSHADOW_NOTFOUND 17 /* not found shadow group file */ #define E_GSHADOW_NOTFOUND 17 /* not found shadow group file */
#define E_CMD_NOEXEC 126 /* can't run command/shell */
#define E_CMD_NOTFOUND 127 /* can't find command/shell to run */

View File

@ -9,4 +9,7 @@ extern unsigned int getdef_unum (const char *, unsigned int);
extern char *getdef_str (const char *); extern char *getdef_str (const char *);
extern int putdef_str (const char *, const char *); extern int putdef_str (const char *, const char *);
/* default UMASK value if not specified in /etc/login.defs */
#define GETDEF_DEFAULT_UMASK 022
#endif /* _GETDEF_H */ #endif /* _GETDEF_H */

View File

@ -6,7 +6,7 @@
* Juha Virtanen, <jiivee@hut.fi>; November 1995 * Juha Virtanen, <jiivee@hut.fi>; November 1995
*/ */
/* /*
* $Id: prototypes.h,v 1.26 2006/01/02 23:32:51 kloczek Exp $ * $Id: prototypes.h,v 1.28 2006/02/07 16:36:30 kloczek Exp $
* *
* Added a macro to work around ancient (non-ANSI) compilers, just in case * Added a macro to work around ancient (non-ANSI) compilers, just in case
* someone ever tries to compile this with SunOS cc... --marekm * someone ever tries to compile this with SunOS cc... --marekm
@ -82,13 +82,9 @@ extern int hushed (const struct passwd *);
/* audit_help.c */ /* audit_help.c */
#ifdef WITH_AUDIT #ifdef WITH_AUDIT
extern int audit_fd; extern int audit_fd;
#endif extern void audit_help_open (void);
void audit_help_open (void); extern void audit_logger (int type, const char *pgname, const char *op,
void audit_help_log (const char *, ...) const char *name, unsigned int id, int result);
#ifdef __GNUC__
__attribute__ ((format (printf, 1, 2)));
#else
;
#endif #endif
/* limits.c */ /* limits.c */
@ -149,7 +145,7 @@ extern void setup (struct passwd *);
extern void setup_env (struct passwd *); extern void setup_env (struct passwd *);
/* shell.c */ /* shell.c */
extern void shell (const char *, const char *); extern int shell (const char *, const char *, char *const *);
/* strtoday.c */ /* strtoday.c */
extern long strtoday (const char *); extern long strtoday (const char *);

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#ifndef USE_PAM #ifndef USE_PAM
#ident "$Id: pwauth.c,v 1.19 2005/08/31 17:24:56 kloczek Exp $" #ident "$Id: pwauth.c,v 1.20 2006/03/11 21:15:55 kloczek Exp $"
#include <sys/types.h> #include <sys/types.h>
#include <signal.h> #include <signal.h>
@ -123,6 +123,14 @@ pw_auth (const char *cipher, const char *user, int reason, const char *input)
* If there is no SKEY information we default to not using SKEY. * If there is no SKEY information we default to not using SKEY.
*/ */
# ifdef SKEY_BSD_STYLE
/*
* Some BSD updates to the S/KEY API adds a fourth parameter; the
* sizeof of the challenge info buffer.
*/
# define skeychallenge(s,u,c) skeychallenge(s,u,c,sizeof(c))
# endif
if (skeychallenge (&skey, user, challenge_info) == 0) if (skeychallenge (&skey, user, challenge_info) == 0)
use_skey = 1; use_skey = 1;
#endif #endif

View File

@ -162,6 +162,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -9,7 +9,7 @@
#include <grp.h> #include <grp.h>
#include <errno.h> #include <errno.h>
#ident "$Id: addgrps.c,v 1.8 2005/08/31 17:24:57 kloczek Exp $" #ident "$Id: addgrps.c,v 1.9 2006/01/23 09:46:30 kloczek Exp $"
#define SEP ",:" #define SEP ",:"
/* /*
@ -33,7 +33,7 @@ int add_groups (const char *list)
i = 16; i = 16;
for (;;) { for (;;) {
grouplist = malloc (i * sizeof (GETGROUPS_T)); grouplist = (gid_t *) malloc (i * sizeof (GETGROUPS_T));
if (!grouplist) if (!grouplist)
return -1; return -1;
ngroups = getgroups (i, grouplist); ngroups = getgroups (i, grouplist);
@ -67,7 +67,7 @@ int add_groups (const char *list)
fprintf (stderr, _("Warning: too many groups\n")); fprintf (stderr, _("Warning: too many groups\n"));
break; break;
} }
tmp = realloc (grouplist, (ngroups + 1) * sizeof (GETGROUPS_T)); tmp = (gid_t *) realloc (grouplist, (ngroups + 1) * sizeof (GETGROUPS_T));
if (!tmp) { if (!tmp) {
free (grouplist); free (grouplist);
return -1; return -1;

View File

@ -35,10 +35,11 @@
#include <errno.h> #include <errno.h>
#include "prototypes.h" #include "prototypes.h"
#include "defines.h" #include "defines.h"
#include "exitcodes.h"
#include <pwd.h> #include <pwd.h>
#include <grp.h> #include <grp.h>
#ident "$Id: age.c,v 1.12 2005/08/31 17:24:57 kloczek Exp $" #ident "$Id: age.c,v 1.13 2006/01/18 19:38:27 kloczek Exp $"
#ifndef PASSWD_PROGRAM #ifndef PASSWD_PROGRAM
#define PASSWD_PROGRAM "/bin/passwd" #define PASSWD_PROGRAM "/bin/passwd"
@ -125,7 +126,7 @@ int expire (const struct passwd *pw, const struct spwd *sp)
execl (PASSWD_PROGRAM, PASSWD_PROGRAM, pw->pw_name, (char *) 0); execl (PASSWD_PROGRAM, PASSWD_PROGRAM, pw->pw_name, (char *) 0);
err = errno; err = errno;
perror ("Can't execute " PASSWD_PROGRAM); perror ("Can't execute " PASSWD_PROGRAM);
_exit ((err == ENOENT) ? 127 : 126); _exit (err == ENOENT ? E_CMD_NOTFOUND : E_CMD_NOEXEC);
} else if (pid == -1) { } else if (pid == -1) {
perror ("fork"); perror ("fork");
exit (1); exit (1);

View File

@ -1,7 +1,7 @@
/* A Bison parser, made by GNU Bison 2.0. */ /* A Bison parser, made by GNU Bison 2.1. */
/* Skeleton parser for Yacc-like parsing with Bison, /* Skeleton parser for Yacc-like parsing with Bison,
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. */ Boston, MA 02110-1301, USA. */
/* As a special exception, when this file is copied by Bison into a /* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction. Bison output file, you may use that output file without restriction.
@ -36,6 +36,9 @@
/* Identify Bison output. */ /* Identify Bison output. */
#define YYBISON 1 #define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "2.1"
/* Skeleton name. */ /* Skeleton name. */
#define YYSKELETON_NAME "yacc.c" #define YYSKELETON_NAME "yacc.c"
@ -71,6 +74,7 @@
tZONE = 273 tZONE = 273
}; };
#endif #endif
/* Tokens. */
#define tAGO 258 #define tAGO 258
#define tDAY 259 #define tDAY 259
#define tDAY_UNIT 260 #define tDAY_UNIT 260
@ -208,7 +212,7 @@
#define yycheck gd_yycheck #define yycheck gd_yycheck
static int yylex (); static int yylex ();
static int yyerror (); static int yyerror (char *s);
#define EPOCH 1970 #define EPOCH 1970
#define HOUR(x) ((x) * 60) #define HOUR(x) ((x) * 60)
@ -277,14 +281,19 @@ static int yyRelYear;
# define YYERROR_VERBOSE 0 # define YYERROR_VERBOSE 0
#endif #endif
/* Enabling the token table. */
#ifndef YYTOKEN_TABLE
# define YYTOKEN_TABLE 0
#endif
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 172 "getdate.y" #line 172 "getdate.y"
typedef union YYSTYPE { typedef union YYSTYPE {
int Number; int Number;
enum _MERIDIAN Meridian; enum _MERIDIAN Meridian;
} YYSTYPE; } YYSTYPE;
/* Line 190 of yacc.c. */ /* Line 196 of yacc.c. */
#line 288 "getdate.c" #line 297 "getdate.c"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_TRIVIAL 1
@ -295,18 +304,37 @@ typedef union YYSTYPE {
/* Copy the second part of user declarations. */ /* Copy the second part of user declarations. */
/* Line 213 of yacc.c. */ /* Line 219 of yacc.c. */
#line 300 "getdate.c" #line 309 "getdate.c"
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
#endif
#if ! defined (YYSIZE_T) && defined (size_t)
# define YYSIZE_T size_t
#endif
#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
#endif
#if ! defined (YYSIZE_T)
# define YYSIZE_T unsigned int
#endif
#ifndef YY_
# if YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid)
# endif
# endif
# ifndef YY_
# define YY_(msgid) msgid
# endif
#endif
#if ! defined (yyoverflow) || YYERROR_VERBOSE #if ! defined (yyoverflow) || YYERROR_VERBOSE
# ifndef YYFREE
# define YYFREE free
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
# endif
/* The parser invokes alloca or malloc; define the necessary symbols. */ /* The parser invokes alloca or malloc; define the necessary symbols. */
# ifdef YYSTACK_USE_ALLOCA # ifdef YYSTACK_USE_ALLOCA
@ -315,6 +343,10 @@ typedef union YYSTYPE {
# define YYSTACK_ALLOC __builtin_alloca # define YYSTACK_ALLOC __builtin_alloca
# else # else
# define YYSTACK_ALLOC alloca # define YYSTACK_ALLOC alloca
# if defined (__STDC__) || defined (__cplusplus)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# define YYINCLUDED_STDLIB_H
# endif
# endif # endif
# endif # endif
# endif # endif
@ -322,13 +354,39 @@ typedef union YYSTYPE {
# ifdef YYSTACK_ALLOC # ifdef YYSTACK_ALLOC
/* Pacify GCC's `empty if-body' warning. */ /* Pacify GCC's `empty if-body' warning. */
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# else # ifndef YYSTACK_ALLOC_MAXIMUM
# if defined (__STDC__) || defined (__cplusplus) /* The OS might guarantee only one guard page at the bottom of the stack,
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ and a page size can be as small as 4096 bytes. So we cannot safely
# define YYSIZE_T size_t 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 2005 */
# endif # endif
# else
# define YYSTACK_ALLOC YYMALLOC # define YYSTACK_ALLOC YYMALLOC
# define YYSTACK_FREE YYFREE # define YYSTACK_FREE YYFREE
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
# endif
# ifdef __cplusplus
extern "C" {
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
# if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
&& (defined (__STDC__) || defined (__cplusplus)))
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
# if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
&& (defined (__STDC__) || defined (__cplusplus)))
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifdef __cplusplus
}
# endif
# endif # endif
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
@ -363,7 +421,7 @@ union yyalloc
# define YYCOPY(To, From, Count) \ # define YYCOPY(To, From, Count) \
do \ do \
{ \ { \
register YYSIZE_T yyi; \ YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \ for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \ (To)[yyi] = (From)[yyi]; \
} \ } \
@ -413,7 +471,7 @@ union yyalloc
#define YYUNDEFTOK 2 #define YYUNDEFTOK 2
#define YYMAXUTOK 273 #define YYMAXUTOK 273
#define YYTRANSLATE(YYX) \ #define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
@ -495,8 +553,8 @@ static const unsigned short int yyrline[] =
}; };
#endif #endif
#if YYDEBUG || YYERROR_VERBOSE #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] = static const char *const yytname[] =
{ {
@ -621,22 +679,6 @@ static const unsigned char yystos[] =
32 32
}; };
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
#endif
#if ! defined (YYSIZE_T) && defined (size_t)
# define YYSIZE_T size_t
#endif
#if ! defined (YYSIZE_T)
# if defined (__STDC__) || defined (__cplusplus)
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# endif
#endif
#if ! defined (YYSIZE_T)
# define YYSIZE_T unsigned int
#endif
#define yyerrok (yyerrstatus = 0) #define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY) #define yyclearin (yychar = YYEMPTY)
#define YYEMPTY (-2) #define YYEMPTY (-2)
@ -666,8 +708,8 @@ do \
goto yybackup; \ goto yybackup; \
} \ } \
else \ else \
{ \ { \
yyerror ("syntax error: cannot back up");\ yyerror (YY_("syntax error: cannot back up")); \
YYERROR; \ YYERROR; \
} \ } \
while (0) while (0)
@ -746,7 +788,7 @@ do { \
if (yydebug) \ if (yydebug) \
{ \ { \
YYFPRINTF (stderr, "%s ", Title); \ YYFPRINTF (stderr, "%s ", Title); \
yysymprint (stderr, \ yysymprint (stderr, \
Type, Value); \ Type, Value); \
YYFPRINTF (stderr, "\n"); \ YYFPRINTF (stderr, "\n"); \
} \ } \
@ -794,13 +836,13 @@ yy_reduce_print (yyrule)
#endif #endif
{ {
int yyi; int yyi;
unsigned int yylno = yyrline[yyrule]; unsigned long int yylno = yyrline[yyrule];
YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
yyrule - 1, yylno); yyrule - 1, yylno);
/* Print the symbols being reduced, and their result. */ /* Print the symbols being reduced, and their result. */
for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]);
} }
# define YY_REDUCE_PRINT(Rule) \ # define YY_REDUCE_PRINT(Rule) \
@ -829,7 +871,7 @@ int yydebug;
if the built-in stack extension method is used). if the built-in stack extension method is used).
Do not make this value too large; the results are undefined if Do not make this value too large; the results are undefined if
SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
evaluated with infinite-precision integer arithmetic. */ evaluated with infinite-precision integer arithmetic. */
#ifndef YYMAXDEPTH #ifndef YYMAXDEPTH
@ -853,7 +895,7 @@ yystrlen (yystr)
const char *yystr; const char *yystr;
# endif # endif
{ {
register const char *yys = yystr; const char *yys = yystr;
while (*yys++ != '\0') while (*yys++ != '\0')
continue; continue;
@ -878,8 +920,8 @@ yystpcpy (yydest, yysrc)
const char *yysrc; const char *yysrc;
# endif # endif
{ {
register char *yyd = yydest; char *yyd = yydest;
register const char *yys = yysrc; const char *yys = yysrc;
while ((*yyd++ = *yys++) != '\0') while ((*yyd++ = *yys++) != '\0')
continue; continue;
@ -889,7 +931,55 @@ yystpcpy (yydest, yysrc)
# endif # endif
# endif # endif
#endif /* !YYERROR_VERBOSE */ # 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 == '"')
{
size_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
#endif /* YYERROR_VERBOSE */
@ -1009,13 +1099,13 @@ yyparse (void)
#else #else
int int
yyparse () yyparse ()
;
#endif #endif
#endif #endif
{ {
register int yystate; int yystate;
register int yyn; int yyn;
int yyresult; int yyresult;
/* Number of tokens to shift before error messages enabled. */ /* Number of tokens to shift before error messages enabled. */
int yyerrstatus; int yyerrstatus;
@ -1033,12 +1123,12 @@ yyparse ()
/* The state stack. */ /* The state stack. */
short int yyssa[YYINITDEPTH]; short int yyssa[YYINITDEPTH];
short int *yyss = yyssa; short int *yyss = yyssa;
register short int *yyssp; short int *yyssp;
/* The semantic value stack. */ /* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs = yyvsa; YYSTYPE *yyvs = yyvsa;
register YYSTYPE *yyvsp; YYSTYPE *yyvsp;
@ -1070,9 +1160,6 @@ yyparse ()
yyssp = yyss; yyssp = yyss;
yyvsp = yyvs; yyvsp = yyvs;
yyvsp[0] = yylval;
goto yysetstate; goto yysetstate;
/*------------------------------------------------------------. /*------------------------------------------------------------.
@ -1105,7 +1192,7 @@ yyparse ()
data in use in that stack, in bytes. This used to be a data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might conditional around just the two extra args, but that might
be undefined if yyoverflow is a macro. */ be undefined if yyoverflow is a macro. */
yyoverflow ("parser stack overflow", yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp), &yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp), &yyvs1, yysize * sizeof (*yyvsp),
@ -1116,11 +1203,11 @@ yyparse ()
} }
#else /* no yyoverflow */ #else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE # ifndef YYSTACK_RELOCATE
goto yyoverflowlab; goto yyexhaustedlab;
# else # else
/* Extend the stack our own way. */ /* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize) if (YYMAXDEPTH <= yystacksize)
goto yyoverflowlab; goto yyexhaustedlab;
yystacksize *= 2; yystacksize *= 2;
if (YYMAXDEPTH < yystacksize) if (YYMAXDEPTH < yystacksize)
yystacksize = YYMAXDEPTH; yystacksize = YYMAXDEPTH;
@ -1130,7 +1217,7 @@ yyparse ()
union yyalloc *yyptr = union yyalloc *yyptr =
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr) if (! yyptr)
goto yyoverflowlab; goto yyexhaustedlab;
YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyss);
YYSTACK_RELOCATE (yyvs); YYSTACK_RELOCATE (yyvs);
@ -1666,10 +1753,11 @@ yyreduce:
break; break;
default: break;
} }
/* Line 1037 of yacc.c. */ /* Line 1126 of yacc.c. */
#line 1673 "getdate.c" #line 1761 "getdate.c"
yyvsp -= yylen; yyvsp -= yylen;
yyssp -= yylen; yyssp -= yylen;
@ -1708,12 +1796,36 @@ yyerrlab:
if (YYPACT_NINF < yyn && yyn < YYLAST) if (YYPACT_NINF < yyn && yyn < YYLAST)
{ {
YYSIZE_T yysize = 0;
int yytype = YYTRANSLATE (yychar); int yytype = YYTRANSLATE (yychar);
const char* yyprefix; YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
char *yymsg; YYSIZE_T yysize = yysize0;
YYSIZE_T yysize1;
int yysize_overflow = 0;
char *yymsg = 0;
# define YYERROR_VERBOSE_ARGS_MAXIMUM 5
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
int yyx; int yyx;
#if 0
/* This is so xgettext sees the translatable formats that are
constructed on the fly. */
YY_("syntax error, unexpected %s");
YY_("syntax error, unexpected %s, expecting %s");
YY_("syntax error, unexpected %s, expecting %s or %s");
YY_("syntax error, unexpected %s, expecting %s or %s or %s");
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
#endif
char *yyfmt;
char const *yyf;
static char const yyunexpected[] = "syntax error, unexpected %s";
static char const yyexpecting[] = ", expecting %s";
static char const yyor[] = " or %s";
char yyformat[sizeof yyunexpected
+ sizeof yyexpecting - 1
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
* (sizeof yyor - 1))];
char const *yyprefix = yyexpecting;
/* Start YYX at -YYN if negative to avoid negative indexes in /* Start YYX at -YYN if negative to avoid negative indexes in
YYCHECK. */ YYCHECK. */
int yyxbegin = yyn < 0 ? -yyn : 0; int yyxbegin = yyn < 0 ? -yyn : 0;
@ -1721,48 +1833,68 @@ yyerrlab:
/* Stay within bounds of both yycheck and yytname. */ /* Stay within bounds of both yycheck and yytname. */
int yychecklim = YYLAST - yyn; int yychecklim = YYLAST - yyn;
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
int yycount = 0; int yycount = 1;
yyarg[0] = yytname[yytype];
yyfmt = yystpcpy (yyformat, yyunexpected);
yyprefix = ", expecting ";
for (yyx = yyxbegin; yyx < yyxend; ++yyx) for (yyx = yyxbegin; yyx < yyxend; ++yyx)
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
{ {
yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
yycount += 1;
if (yycount == 5)
{ {
yysize = 0; yycount = 1;
yysize = yysize0;
yyformat[sizeof yyunexpected - 1] = '\0';
break; break;
} }
yyarg[yycount++] = yytname[yyx];
yysize1 = yysize + yytnamerr (0, yytname[yyx]);
yysize_overflow |= yysize1 < yysize;
yysize = yysize1;
yyfmt = yystpcpy (yyfmt, yyprefix);
yyprefix = yyor;
} }
yysize += (sizeof ("syntax error, unexpected ")
+ yystrlen (yytname[yytype]));
yymsg = (char *) YYSTACK_ALLOC (yysize);
if (yymsg != 0)
{
char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
yyp = yystpcpy (yyp, yytname[yytype]);
if (yycount < 5) yyf = YY_(yyformat);
yysize1 = yysize + yystrlen (yyf);
yysize_overflow |= yysize1 < yysize;
yysize = yysize1;
if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM)
yymsg = (char *) YYSTACK_ALLOC (yysize);
if (yymsg)
{
/* 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 = *yyf))
{ {
yyprefix = ", expecting "; if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
for (yyx = yyxbegin; yyx < yyxend; ++yyx) {
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) yyp += yytnamerr (yyp, yyarg[yyi++]);
{ yyf += 2;
yyp = yystpcpy (yyp, yyprefix); }
yyp = yystpcpy (yyp, yytname[yyx]); else
yyprefix = " or "; {
} yyp++;
yyf++;
}
} }
yyerror (yymsg); yyerror (yymsg);
YYSTACK_FREE (yymsg); YYSTACK_FREE (yymsg);
} }
else else
yyerror ("syntax error; also virtual memory exhausted"); {
yyerror (YY_("syntax error"));
goto yyexhaustedlab;
}
} }
else else
#endif /* YYERROR_VERBOSE */ #endif /* YYERROR_VERBOSE */
yyerror ("syntax error"); yyerror (YY_("syntax error"));
} }
@ -1774,18 +1906,9 @@ yyerrlab:
if (yychar <= YYEOF) if (yychar <= YYEOF)
{ {
/* If at end of input, pop the error token, /* Return failure if at end of input. */
then the rest of the stack, then return failure. */
if (yychar == YYEOF) if (yychar == YYEOF)
for (;;) YYABORT;
{
YYPOPSTACK;
if (yyssp == yyss)
YYABORT;
yydestruct ("Error: popping",
yystos[*yyssp], yyvsp);
}
} }
else else
{ {
@ -1804,12 +1927,11 @@ yyerrlab:
`---------------------------------------------------*/ `---------------------------------------------------*/
yyerrorlab: yyerrorlab:
#ifdef __GNUC__ /* Pacify compilers like GCC when the user code never invokes
/* Pacify GCC when the user code never invokes YYERROR and the label YYERROR and the label yyerrorlab therefore never appears in user
yyerrorlab therefore never appears in user code. */ code. */
if (0) if (0)
goto yyerrorlab; goto yyerrorlab;
#endif
yyvsp -= yylen; yyvsp -= yylen;
yyssp -= yylen; yyssp -= yylen;
@ -1872,23 +1994,29 @@ yyacceptlab:
| yyabortlab -- YYABORT comes here. | | yyabortlab -- YYABORT comes here. |
`-----------------------------------*/ `-----------------------------------*/
yyabortlab: yyabortlab:
yydestruct ("Error: discarding lookahead",
yytoken, &yylval);
yychar = YYEMPTY;
yyresult = 1; yyresult = 1;
goto yyreturn; goto yyreturn;
#ifndef yyoverflow #ifndef yyoverflow
/*----------------------------------------------. /*-------------------------------------------------.
| yyoverflowlab -- parser overflow comes here. | | yyexhaustedlab -- memory exhaustion comes here. |
`----------------------------------------------*/ `-------------------------------------------------*/
yyoverflowlab: yyexhaustedlab:
yyerror ("parser stack overflow"); yyerror (YY_("memory exhausted"));
yyresult = 2; yyresult = 2;
/* Fall through. */ /* Fall through. */
#endif #endif
yyreturn: yyreturn:
if (yychar != YYEOF && yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
yystos[*yyssp], yyvsp);
YYPOPSTACK;
}
#ifndef yyoverflow #ifndef yyoverflow
if (yyss != yyssa) if (yyss != yyssa)
YYSTACK_FREE (yyss); YYSTACK_FREE (yyss);
@ -2058,17 +2186,12 @@ static TABLE const MilitaryTable[] = {
/* ARGSUSED */ /* ARGSUSED */
static int static int yyerror (char *s)
yyerror (s)
char *s;
{ {
return 0; return 0;
} }
static int static int ToHour (int Hours, MERIDIAN Meridian)
ToHour (Hours, Meridian)
int Hours;
MERIDIAN Meridian;
{ {
switch (Meridian) switch (Meridian)
{ {
@ -2094,9 +2217,7 @@ ToHour (Hours, Meridian)
/* NOTREACHED */ /* NOTREACHED */
} }
static int static int ToYear (int Year)
ToYear (Year)
int Year;
{ {
if (Year < 0) if (Year < 0)
Year = -Year; Year = -Year;
@ -2111,9 +2232,7 @@ ToYear (Year)
return Year; return Year;
} }
static int static int LookupWord (char *buff)
LookupWord (buff)
char *buff;
{ {
register char *p; register char *p;
register char *q; register char *q;
@ -2293,9 +2412,7 @@ yylex ()
#define TM_YEAR_ORIGIN 1900 #define TM_YEAR_ORIGIN 1900
/* Yield A - B, measured in seconds. */ /* Yield A - B, measured in seconds. */
static long static long difftm (struct tm *a, struct tm *b)
difftm (a, b)
struct tm *a, *b;
{ {
int ay = a->tm_year + (TM_YEAR_ORIGIN - 1); int ay = a->tm_year + (TM_YEAR_ORIGIN - 1);
int by = b->tm_year + (TM_YEAR_ORIGIN - 1); int by = b->tm_year + (TM_YEAR_ORIGIN - 1);
@ -2314,10 +2431,7 @@ difftm (a, b)
+ (a->tm_sec - b->tm_sec)); + (a->tm_sec - b->tm_sec));
} }
time_t time_t get_date (const char *p, const time_t *now)
get_date (p, now)
const char *p;
const time_t *now;
{ {
struct tm tm, tm0, *tmp; struct tm tm, tm0, *tmp;
time_t Start; time_t Start;

View File

@ -113,7 +113,7 @@
#define yycheck gd_yycheck #define yycheck gd_yycheck
static int yylex (); static int yylex ();
static int yyerror (); static int yyerror (char *s);
#define EPOCH 1970 #define EPOCH 1970
#define HOUR(x) ((x) * 60) #define HOUR(x) ((x) * 60)
@ -596,17 +596,12 @@ static TABLE const MilitaryTable[] = {
/* ARGSUSED */ /* ARGSUSED */
static int static int yyerror (char *s)
yyerror (s)
char *s;
{ {
return 0; return 0;
} }
static int static int ToHour (int Hours, MERIDIAN Meridian)
ToHour (Hours, Meridian)
int Hours;
MERIDIAN Meridian;
{ {
switch (Meridian) switch (Meridian)
{ {
@ -632,9 +627,7 @@ ToHour (Hours, Meridian)
/* NOTREACHED */ /* NOTREACHED */
} }
static int static int ToYear (int Year)
ToYear (Year)
int Year;
{ {
if (Year < 0) if (Year < 0)
Year = -Year; Year = -Year;
@ -649,9 +642,7 @@ ToYear (Year)
return Year; return Year;
} }
static int static int LookupWord (char *buff)
LookupWord (buff)
char *buff;
{ {
register char *p; register char *p;
register char *q; register char *q;
@ -831,9 +822,7 @@ yylex ()
#define TM_YEAR_ORIGIN 1900 #define TM_YEAR_ORIGIN 1900
/* Yield A - B, measured in seconds. */ /* Yield A - B, measured in seconds. */
static long static long difftm (struct tm *a, struct tm *b)
difftm (a, b)
struct tm *a, *b;
{ {
int ay = a->tm_year + (TM_YEAR_ORIGIN - 1); int ay = a->tm_year + (TM_YEAR_ORIGIN - 1);
int by = b->tm_year + (TM_YEAR_ORIGIN - 1); int by = b->tm_year + (TM_YEAR_ORIGIN - 1);
@ -852,10 +841,7 @@ difftm (a, b)
+ (a->tm_sec - b->tm_sec)); + (a->tm_sec - b->tm_sec));
} }
time_t time_t get_date (const char *p, const time_t *now)
get_date (p, now)
const char *p;
const time_t *now;
{ {
struct tm tm, tm0, *tmp; struct tm tm, tm0, *tmp;
time_t Start; time_t Start;

View File

@ -33,7 +33,7 @@
#include <config.h> #include <config.h>
#ident "$Id: setupenv.c,v 1.20 2005/09/30 14:29:11 kloczek Exp $" #ident "$Id: setupenv.c,v 1.21 2006/01/18 19:55:15 kloczek Exp $"
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
@ -43,6 +43,8 @@
#include "defines.h" #include "defines.h"
#include <pwd.h> #include <pwd.h>
#include "getdef.h" #include "getdef.h"
#ifndef USE_PAM
static void static void
addenv_path (const char *varname, const char *dirname, const char *filename) addenv_path (const char *varname, const char *dirname, const char *filename)
{ {
@ -54,8 +56,6 @@ addenv_path (const char *varname, const char *dirname, const char *filename)
free (buf); free (buf);
} }
#ifndef USE_PAM
static void read_env_file (const char *filename) static void read_env_file (const char *filename)
{ {
FILE *fp; FILE *fp;

View File

@ -29,7 +29,7 @@
#include <config.h> #include <config.h>
#ident "$Id: shell.c,v 1.11 2005/08/31 17:24:58 kloczek Exp $" #ident "$Id: shell.c,v 1.13 2006/01/18 19:38:27 kloczek Exp $"
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
@ -51,13 +51,15 @@ extern size_t newenvc;
* the file. If all that fails, give up in disgust ... * the file. If all that fails, give up in disgust ...
*/ */
void shell (const char *file, const char *arg) int shell (const char *file, const char *arg, char *const envp[])
{ {
char arg0[1024]; char arg0[1024];
int err; int err;
if (file == (char *) 0) if (file == (char *) 0) {
exit (1); errno = EINVAL;
return errno;
}
/* /*
* The argv[0]'th entry is usually the path name, but * The argv[0]'th entry is usually the path name, but
@ -65,22 +67,17 @@ void shell (const char *file, const char *arg)
* that. So, we determine the 0'th entry only if they * that. So, we determine the 0'th entry only if they
* don't want to tell us what it is themselves. * don't want to tell us what it is themselves.
*/ */
if (arg == (char *) 0) { if (arg == (char *) 0) {
snprintf (arg0, sizeof arg0, "-%s", Basename ((char *) file)); snprintf (arg0, sizeof arg0, "-%s", Basename ((char *) file));
arg = arg0; arg = arg0;
} }
#ifdef DEBUG
printf ("Executing shell %s\n", file);
#endif
/* /*
* First we try the direct approach. The system should be * First we try the direct approach. The system should be
* able to figure out what we are up to without too much * able to figure out what we are up to without too much
* grief. * grief.
*/ */
execle (file, arg, (char *) 0, envp);
execle (file, arg, (char *) 0, newenvp);
err = errno; err = errno;
/* Linux handles #! in the kernel, and bash doesn't make /* Linux handles #! in the kernel, and bash doesn't make
@ -92,7 +89,6 @@ void shell (const char *file, const char *arg)
* relies on the standard shell being able to make sense * relies on the standard shell being able to make sense
* of the "#!" magic number. * of the "#!" magic number.
*/ */
if (err == ENOEXEC) { if (err == ENOEXEC) {
FILE *fp; FILE *fp;
@ -100,7 +96,7 @@ void shell (const char *file, const char *arg)
if (getc (fp) == '#' && getc (fp) == '!') { if (getc (fp) == '#' && getc (fp) == '!') {
fclose (fp); fclose (fp);
execle ("/bin/sh", "sh", execle ("/bin/sh", "sh",
file, (char *) 0, newenvp); file, (char *) 0, envp);
err = errno; err = errno;
} else { } else {
fclose (fp); fclose (fp);
@ -114,9 +110,8 @@ void shell (const char *file, const char *arg)
* how to execute this stupid shell, so I might as well give * how to execute this stupid shell, so I might as well give
* up in disgust ... * up in disgust ...
*/ */
snprintf (arg0, sizeof arg0, _("Cannot execute %s"), file); snprintf (arg0, sizeof arg0, _("Cannot execute %s"), file);
errno = err; errno = err;
perror (arg0); perror (arg0);
exit (1); return err;
} }

View File

@ -9,7 +9,7 @@
#include <config.h> #include <config.h>
#ident "$Id: xmalloc.c,v 1.7 2005/08/31 17:24:58 kloczek Exp $" #ident "$Id: xmalloc.c,v 1.8 2006/01/23 09:46:30 kloczek Exp $"
#include <stdio.h> #include <stdio.h>
#include "defines.h" #include "defines.h"
@ -17,7 +17,7 @@ char *xmalloc (size_t size)
{ {
char *ptr; char *ptr;
ptr = malloc (size); ptr = (char *) malloc (size);
if (!ptr && size) { if (!ptr && size) {
fprintf (stderr, _("malloc(%d) failed\n"), (int) size); fprintf (stderr, _("malloc(%d) failed\n"), (int) size);
exit (13); exit (13);

581
ltmain.sh
View File

@ -43,8 +43,8 @@ EXIT_FAILURE=1
PROGRAM=ltmain.sh PROGRAM=ltmain.sh
PACKAGE=libtool PACKAGE=libtool
VERSION=1.5.20 VERSION=1.5.22
TIMESTAMP=" (1.1220.2.287 2005/08/31 18:54:15)" TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
# See if we are running on zsh, and set the options which allow our # See if we are running on zsh, and set the options which allow our
# commands through without removal of \ escapes. # commands through without removal of \ escapes.
@ -132,6 +132,8 @@ run=
show="$echo" show="$echo"
show_help= show_help=
execute_dlfiles= execute_dlfiles=
duplicate_deps=no
preserve_args=
lo2o="s/\\.lo\$/.${objext}/" lo2o="s/\\.lo\$/.${objext}/"
o2lo="s/\\.${objext}\$/.lo/" o2lo="s/\\.${objext}\$/.lo/"
@ -139,6 +141,43 @@ o2lo="s/\\.${objext}\$/.lo/"
# Shell function definitions: # Shell function definitions:
# This seems to be the best place for them # This seems to be the best place for them
# func_mktempdir [string]
# Make a temporary directory that won't clash with other running
# libtool processes, and avoids race conditions if possible. If
# given, STRING is the basename for that directory.
func_mktempdir ()
{
my_template="${TMPDIR-/tmp}/${1-$progname}"
if test "$run" = ":"; then
# Return a directory name, but don't create it in dry-run mode
my_tmpdir="${my_template}-$$"
else
# If mktemp works, use that first and foremost
my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
if test ! -d "$my_tmpdir"; then
# Failing that, at least try and use $RANDOM to avoid a race
my_tmpdir="${my_template}-${RANDOM-0}$$"
save_mktempdir_umask=`umask`
umask 0077
$mkdir "$my_tmpdir"
umask $save_mktempdir_umask
fi
# If we're not in dry-run mode, bomb out on failure
test -d "$my_tmpdir" || {
$echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
exit $EXIT_FAILURE
}
fi
$echo "X$my_tmpdir" | $Xsed
}
# func_win32_libid arg # func_win32_libid arg
# return the library type of file 'arg' # return the library type of file 'arg'
# #
@ -157,12 +196,11 @@ func_win32_libid ()
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
$EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
win32_nmres=`eval $NM -f posix -A $1 | \ win32_nmres=`eval $NM -f posix -A $1 | \
sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
if test "X$win32_nmres" = "Ximport" ; then case $win32_nmres in
win32_libid_type="x86 archive import" import*) win32_libid_type="x86 archive import";;
else *) win32_libid_type="x86 archive static";;
win32_libid_type="x86 archive static" esac
fi
fi fi
;; ;;
*DLL*) *DLL*)
@ -295,9 +333,9 @@ func_extract_archives ()
$run ${rm}r "$my_xdir" $run ${rm}r "$my_xdir"
$show "$mkdir $my_xdir" $show "$mkdir $my_xdir"
$run $mkdir "$my_xdir" $run $mkdir "$my_xdir"
status=$? exit_status=$?
if test "$status" -ne 0 && test ! -d "$my_xdir"; then if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
exit $status exit $exit_status
fi fi
case $host in case $host in
*-darwin*) *-darwin*)
@ -352,6 +390,8 @@ func_extract_archives ()
# Darwin sucks # Darwin sucks
eval std_shrext=\"$shrext_cmds\" eval std_shrext=\"$shrext_cmds\"
disable_libs=no
# Parse our command line options once, thoroughly. # Parse our command line options once, thoroughly.
while test "$#" -gt 0 while test "$#" -gt 0
do do
@ -468,7 +508,11 @@ do
preserve_args="$preserve_args $arg" preserve_args="$preserve_args $arg"
;; ;;
--tag) prevopt="--tag" prev=tag ;; --tag)
prevopt="--tag"
prev=tag
preserve_args="$preserve_args --tag"
;;
--tag=*) --tag=*)
set tag "$optarg" ${1+"$@"} set tag "$optarg" ${1+"$@"}
shift shift
@ -500,6 +544,18 @@ if test -n "$prevopt"; then
exit $EXIT_FAILURE exit $EXIT_FAILURE
fi fi
case $disable_libs in
no)
;;
shared)
build_libtool_libs=no
build_old_libs=yes
;;
static)
build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
;;
esac
# If this variable is set in any of the actions, the command in it # 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 # will be execed at the end. This prevents here-documents from being
# left over by shells. # left over by shells.
@ -856,9 +912,9 @@ EOF
if test ! -d "${xdir}$objdir"; then if test ! -d "${xdir}$objdir"; then
$show "$mkdir ${xdir}$objdir" $show "$mkdir ${xdir}$objdir"
$run $mkdir ${xdir}$objdir $run $mkdir ${xdir}$objdir
status=$? exit_status=$?
if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
exit $status exit $exit_status
fi fi
fi fi
@ -1061,6 +1117,7 @@ EOF
no_install=no no_install=no
objs= objs=
non_pic_objects= non_pic_objects=
notinst_path= # paths that contain not-installed libtool libraries
precious_files_regex= precious_files_regex=
prefer_static_libs=no prefer_static_libs=no
preload=no preload=no
@ -1089,14 +1146,15 @@ EOF
if test -n "$link_static_flag"; then if test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static dlopen_self=$dlopen_self_static
fi fi
prefer_static_libs=yes
else else
if test -z "$pic_flag" && test -n "$link_static_flag"; then if test -z "$pic_flag" && test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static dlopen_self=$dlopen_self_static
fi fi
prefer_static_libs=built
fi fi
build_libtool_libs=no build_libtool_libs=no
build_old_libs=yes build_old_libs=yes
prefer_static_libs=yes
break break
;; ;;
esac esac
@ -1271,6 +1329,11 @@ EOF
if test -z "$pic_object" || test "$pic_object" = none ; then if test -z "$pic_object" || test "$pic_object" = none ; then
arg="$non_pic_object" arg="$non_pic_object"
fi fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
non_pic_object="$pic_object"
non_pic_objects="$non_pic_objects $non_pic_object"
fi fi
else else
# Only an error if not doing a dry-run. # Only an error if not doing a dry-run.
@ -1354,8 +1417,8 @@ EOF
prev= prev=
continue continue
;; ;;
darwin_framework) darwin_framework|darwin_framework_skip)
compiler_flags="$compiler_flags $arg" test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
compile_command="$compile_command $arg" compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg" finalize_command="$finalize_command $arg"
prev= prev=
@ -1419,13 +1482,17 @@ EOF
continue continue
;; ;;
-framework|-arch) -framework|-arch|-isysroot)
prev=darwin_framework case " $CC " in
compiler_flags="$compiler_flags $arg" *" ${arg} ${1} "* | *" ${arg} ${1} "*)
prev=darwin_framework_skip ;;
*) compiler_flags="$compiler_flags $arg"
prev=darwin_framework ;;
esac
compile_command="$compile_command $arg" compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg" finalize_command="$finalize_command $arg"
continue continue
;; ;;
-inst-prefix-dir) -inst-prefix-dir)
prev=inst_prefix prev=inst_prefix
@ -1453,7 +1520,8 @@ EOF
absdir=`cd "$dir" && pwd` absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then if test -z "$absdir"; then
$echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
exit $EXIT_FAILURE absdir="$dir"
notinst_path="$notinst_path $dir"
fi fi
dir="$absdir" dir="$absdir"
;; ;;
@ -1467,10 +1535,15 @@ EOF
esac esac
case $host in case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
case :$dllsearchpath: in case :$dllsearchpath: in
*":$dir:"*) ;; *":$dir:"*) ;;
*) dllsearchpath="$dllsearchpath:$dir";; *) dllsearchpath="$dllsearchpath:$dir";;
esac esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
*) dllsearchpath="$dllsearchpath:$testbindir";;
esac
;; ;;
esac esac
continue continue
@ -1479,11 +1552,11 @@ EOF
-l*) -l*)
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
case $host in case $host in
*-*-cygwin* | *-*-pw32* | *-*-beos*) *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
# These systems don't actually have a C or math library (as such) # These systems don't actually have a C or math library (as such)
continue continue
;; ;;
*-*-mingw* | *-*-os2*) *-*-os2*)
# These systems don't actually have a C library (as such) # These systems don't actually have a C library (as such)
test "X$arg" = "X-lc" && continue test "X$arg" = "X-lc" && continue
;; ;;
@ -1495,6 +1568,15 @@ EOF
# Rhapsody C and math libraries are in the System framework # Rhapsody C and math libraries are in the System framework
deplibs="$deplibs -framework System" deplibs="$deplibs -framework System"
continue continue
;;
*-*-sco3.2v5* | *-*-sco5v6*)
# Causes problems with __ctype
test "X$arg" = "X-lc" && continue
;;
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
# Compiler inserts libc in the correct place for threads to work
test "X$arg" = "X-lc" && continue
;;
esac esac
elif test "X$arg" = "X-lc_r"; then elif test "X$arg" = "X-lc_r"; then
case $host in case $host in
@ -1536,7 +1618,12 @@ EOF
# +DA*, +DD* enable 64-bit mode on the HP compiler # +DA*, +DD* enable 64-bit mode on the HP compiler
# -q* pass through compiler args for the IBM compiler # -q* pass through compiler args for the IBM compiler
# -m* pass through architecture-specific compiler args for GCC # -m* pass through architecture-specific compiler args for GCC
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*) # -m*, -t[45]*, -txscale* pass through architecture-specific
# compiler args for GCC
# -pg pass through profiling flag for GCC
# @file GCC response files
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
-t[45]*|-txscale*|@*)
# Unknown arguments in both finalize_command and compile_command need # Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later. # to be aesthetically quoted because they are evaled later.
@ -1548,9 +1635,7 @@ EOF
esac esac
compile_command="$compile_command $arg" compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg" finalize_command="$finalize_command $arg"
if test "$with_gcc" = "yes" ; then compiler_flags="$compiler_flags $arg"
compiler_flags="$compiler_flags $arg"
fi
continue continue
;; ;;
@ -1788,6 +1873,11 @@ EOF
if test -z "$pic_object" || test "$pic_object" = none ; then if test -z "$pic_object" || test "$pic_object" = none ; then
arg="$non_pic_object" arg="$non_pic_object"
fi fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
non_pic_object="$pic_object"
non_pic_objects="$non_pic_objects $non_pic_object"
fi fi
else else
# Only an error if not doing a dry-run. # Only an error if not doing a dry-run.
@ -1893,9 +1983,9 @@ EOF
if test ! -d "$output_objdir"; then if test ! -d "$output_objdir"; then
$show "$mkdir $output_objdir" $show "$mkdir $output_objdir"
$run $mkdir $output_objdir $run $mkdir $output_objdir
status=$? exit_status=$?
if test "$status" -ne 0 && test ! -d "$output_objdir"; then if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
exit $status exit $exit_status
fi fi
fi fi
@ -1958,7 +2048,6 @@ EOF
newlib_search_path= newlib_search_path=
need_relink=no # whether we're linking any uninstalled libtool libraries need_relink=no # whether we're linking any uninstalled libtool libraries
notinst_deplibs= # not-installed libtool libraries notinst_deplibs= # not-installed libtool libraries
notinst_path= # paths that contain not-installed libtool libraries
case $linkmode in case $linkmode in
lib) lib)
passes="conv link" passes="conv link"
@ -2194,7 +2283,7 @@ EOF
esac # case $deplib esac # case $deplib
if test "$found" = yes || test -f "$lib"; then : if test "$found" = yes || test -f "$lib"; then :
else else
$echo "$modename: cannot find the library \`$lib'" 1>&2 $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
exit $EXIT_FAILURE exit $EXIT_FAILURE
fi fi
@ -2445,8 +2534,12 @@ EOF
fi fi
link_static=no # Whether the deplib will be linked statically link_static=no # Whether the deplib will be linked statically
use_static_libs=$prefer_static_libs
if test "$use_static_libs" = built && test "$installed" = yes ; then
use_static_libs=no
fi
if test -n "$library_names" && if test -n "$library_names" &&
{ test "$prefer_static_libs" = no || test -z "$old_library"; }; then { test "$use_static_libs" = no || test -z "$old_library"; }; then
if test "$installed" = no; then if test "$installed" = no; then
notinst_deplibs="$notinst_deplibs $lib" notinst_deplibs="$notinst_deplibs $lib"
need_relink=yes need_relink=yes
@ -2559,11 +2652,15 @@ EOF
if test "$hardcode_direct" = no; then if test "$hardcode_direct" = no; then
add="$dir/$linklib" add="$dir/$linklib"
case $host in case $host in
*-*-sco3.2v5* ) add_dir="-L$dir" ;; *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
*-*-sysv4*uw2*) add_dir="-L$dir" ;;
*-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
*-*-unixware7*) add_dir="-L$dir" ;;
*-*-darwin* ) *-*-darwin* )
# if the lib is a module then we can not link against # if the lib is a module then we can not link against
# it, someone is ignoring the new warnings I added # it, someone is ignoring the new warnings I added
if /usr/bin/file -L $add 2> /dev/null | $EGREP "bundle" >/dev/null ; then if /usr/bin/file -L $add 2> /dev/null |
$EGREP ": [^:]* bundle" >/dev/null ; then
$echo "** Warning, lib $linklib is a module, not a shared library" $echo "** Warning, lib $linklib is a module, not a shared library"
if test -z "$old_library" ; then if test -z "$old_library" ; then
$echo $echo
@ -3314,9 +3411,9 @@ EOF
# Eliminate all temporary directories. # Eliminate all temporary directories.
for path in $notinst_path; do for path in $notinst_path; do
lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'` lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'` deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
done done
if test -n "$xrpath"; then if test -n "$xrpath"; then
@ -3369,7 +3466,12 @@ EOF
;; ;;
*-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
# Do not include libc due to us having libc/libc_r. # Do not include libc due to us having libc/libc_r.
test "X$arg" = "X-lc" && continue ;;
*-*-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. # Add libc to deplibs on all other systems if necessary.
@ -3413,7 +3515,7 @@ EOF
int main() { return 0; } int main() { return 0; }
EOF EOF
$rm conftest $rm conftest
$LTCC -o conftest conftest.c $deplibs $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
if test "$?" -eq 0 ; then if test "$?" -eq 0 ; then
ldd_output=`ldd conftest` ldd_output=`ldd conftest`
for i in $deplibs; do for i in $deplibs; do
@ -3458,7 +3560,7 @@ EOF
# If $name is empty we are operating on a -L argument. # If $name is empty we are operating on a -L argument.
if test "$name" != "" && test "$name" != "0"; then if test "$name" != "" && test "$name" != "0"; then
$rm conftest $rm conftest
$LTCC -o conftest conftest.c $i $LTCC $LTCFLAGS -o conftest conftest.c $i
# Did it work? # Did it work?
if test "$?" -eq 0 ; then if test "$?" -eq 0 ; then
ldd_output=`ldd conftest` ldd_output=`ldd conftest`
@ -3705,6 +3807,35 @@ EOF
deplibs=$newdeplibs deplibs=$newdeplibs
fi fi
# 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 "*)
new_libs="$new_libs -L$path/$objdir" ;;
esac
;;
esac
done
for deplib in $deplibs; do
case $deplib in
-L*)
case " $new_libs " in
*" $deplib "*) ;;
*) new_libs="$new_libs $deplib" ;;
esac
;;
*) new_libs="$new_libs $deplib" ;;
esac
done
deplibs="$new_libs"
# All the library-specific variables (install_libdir is set above). # All the library-specific variables (install_libdir is set above).
library_names= library_names=
old_library= old_library=
@ -3788,6 +3919,7 @@ EOF
fi fi
lib="$output_objdir/$realname" lib="$output_objdir/$realname"
linknames=
for link for link
do do
linknames="$linknames $link" linknames="$linknames $link"
@ -4219,6 +4351,35 @@ EOF
;; ;;
esac 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 "*)
new_libs="$new_libs -L$path/$objdir" ;;
esac
;;
esac
done
for deplib in $compile_deplibs; do
case $deplib in
-L*)
case " $new_libs " in
*" $deplib "*) ;;
*) new_libs="$new_libs $deplib" ;;
esac
;;
*) new_libs="$new_libs $deplib" ;;
esac
done
compile_deplibs="$new_libs"
compile_command="$compile_command $compile_deplibs" compile_command="$compile_command $compile_deplibs"
finalize_command="$finalize_command $finalize_deplibs" finalize_command="$finalize_command $finalize_deplibs"
@ -4263,10 +4424,15 @@ EOF
fi fi
case $host in case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
case :$dllsearchpath: in case :$dllsearchpath: in
*":$libdir:"*) ;; *":$libdir:"*) ;;
*) dllsearchpath="$dllsearchpath:$libdir";; *) dllsearchpath="$dllsearchpath:$libdir";;
esac esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
*) dllsearchpath="$dllsearchpath:$testbindir";;
esac
;; ;;
esac esac
done done
@ -4383,10 +4549,22 @@ extern \"C\" {
export_symbols="$output_objdir/$outputname.exp" export_symbols="$output_objdir/$outputname.exp"
$run $rm $export_symbols $run $rm $export_symbols
$run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
case $host in
*cygwin* | *mingw* )
$run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
;;
esac
else else
$run eval "${SED} -e 's/\([ ][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
$run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
$run eval 'mv "$nlist"T "$nlist"' $run eval 'mv "$nlist"T "$nlist"'
case $host in
*cygwin* | *mingw* )
$run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
;;
esac
fi fi
fi fi
@ -4503,16 +4681,29 @@ static const void *lt_preloaded_setup() {
esac esac
# Now compile the dynamic symbol file. # Now compile the dynamic symbol file.
$show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
$run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
# Clean up the generated files. # Clean up the generated files.
$show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
$run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
# Transform the symbol file into the correct name. # Transform the symbol file into the correct name.
compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` case $host in
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` *cygwin* | *mingw* )
if test -f "$output_objdir/${outputname}.def" ; then
compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
else
compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
fi
;;
* )
compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
;;
esac
;; ;;
*) *)
$echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
@ -4537,7 +4728,7 @@ static const void *lt_preloaded_setup() {
# We have no uninstalled library dependencies, so finalize right now. # We have no uninstalled library dependencies, so finalize right now.
$show "$link_command" $show "$link_command"
$run eval "$link_command" $run eval "$link_command"
status=$? exit_status=$?
# Delete the generated files. # Delete the generated files.
if test -n "$dlsyms"; then if test -n "$dlsyms"; then
@ -4545,7 +4736,7 @@ static const void *lt_preloaded_setup() {
$run $rm "$output_objdir/${outputname}S.${objext}" $run $rm "$output_objdir/${outputname}S.${objext}"
fi fi
exit $status exit $exit_status
fi fi
if test -n "$shlibpath_var"; then if test -n "$shlibpath_var"; then
@ -4685,10 +4876,12 @@ static const void *lt_preloaded_setup() {
esac esac
case $host in case $host in
*cygwin* | *mingw* ) *cygwin* | *mingw* )
cwrappersource=`$echo ${objdir}/lt-${outputname}.c` output_name=`basename $output`
cwrapper=`$echo ${output}.exe` output_path=`dirname $output`
$rm $cwrappersource $cwrapper cwrappersource="$output_path/$objdir/lt-$output_name.c"
trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cwrapper="$output_path/$output_name.exe"
$rm $cwrappersource $cwrapper
trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
cat > $cwrappersource <<EOF cat > $cwrappersource <<EOF
@ -4713,6 +4906,9 @@ EOF
#include <malloc.h> #include <malloc.h>
#include <stdarg.h> #include <stdarg.h>
#include <assert.h> #include <assert.h>
#include <string.h>
#include <ctype.h>
#include <sys/stat.h>
#if defined(PATH_MAX) #if defined(PATH_MAX)
# define LT_PATHMAX PATH_MAX # define LT_PATHMAX PATH_MAX
@ -4723,15 +4919,19 @@ EOF
#endif #endif
#ifndef DIR_SEPARATOR #ifndef DIR_SEPARATOR
#define DIR_SEPARATOR '/' # define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ':'
#endif #endif
#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
defined (__OS2__) defined (__OS2__)
#define HAVE_DOS_BASED_FILE_SYSTEM # define HAVE_DOS_BASED_FILE_SYSTEM
#ifndef DIR_SEPARATOR_2 # ifndef DIR_SEPARATOR_2
#define DIR_SEPARATOR_2 '\\' # define DIR_SEPARATOR_2 '\\'
#endif # endif
# ifndef PATH_SEPARATOR_2
# define PATH_SEPARATOR_2 ';'
# endif
#endif #endif
#ifndef DIR_SEPARATOR_2 #ifndef DIR_SEPARATOR_2
@ -4741,17 +4941,32 @@ EOF
(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
#endif /* 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 */
#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
#define XFREE(stale) do { \ #define XFREE(stale) do { \
if (stale) { free ((void *) stale); stale = 0; } \ if (stale) { free ((void *) stale); stale = 0; } \
} while (0) } while (0)
/* -DDEBUG is fairly common in CFLAGS. */
#undef DEBUG
#if defined DEBUGWRAPPER
# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
#else
# define DEBUG(format, ...)
#endif
const char *program_name = NULL; const char *program_name = NULL;
void * xmalloc (size_t num); void * xmalloc (size_t num);
char * xstrdup (const char *string); char * xstrdup (const char *string);
char * basename (const char *name); const char * base_name (const char *name);
char * fnqualify(const char *path); char * find_executable(const char *wrapper);
int check_executable(const char *path);
char * strendzap(char *str, const char *pat); char * strendzap(char *str, const char *pat);
void lt_fatal (const char *message, ...); void lt_fatal (const char *message, ...);
@ -4761,29 +4976,50 @@ main (int argc, char *argv[])
char **newargz; char **newargz;
int i; int i;
program_name = (char *) xstrdup ((char *) basename (argv[0])); program_name = (char *) xstrdup (base_name (argv[0]));
DEBUG("(main) argv[0] : %s\n",argv[0]);
DEBUG("(main) program_name : %s\n",program_name);
newargz = XMALLOC(char *, argc+2); newargz = XMALLOC(char *, argc+2);
EOF EOF
cat >> $cwrappersource <<EOF cat >> $cwrappersource <<EOF
newargz[0] = "$SHELL"; newargz[0] = (char *) xstrdup("$SHELL");
EOF EOF
cat >> $cwrappersource <<"EOF" cat >> $cwrappersource <<"EOF"
newargz[1] = fnqualify(argv[0]); newargz[1] = find_executable(argv[0]);
if (newargz[1] == NULL)
lt_fatal("Couldn't find %s", argv[0]);
DEBUG("(main) found exe at : %s\n",newargz[1]);
/* we know the script has the same name, without the .exe */ /* we know the script has the same name, without the .exe */
/* so make sure newargz[1] doesn't end in .exe */ /* so make sure newargz[1] doesn't end in .exe */
strendzap(newargz[1],".exe"); strendzap(newargz[1],".exe");
for (i = 1; i < argc; i++) for (i = 1; i < argc; i++)
newargz[i+1] = xstrdup(argv[i]); newargz[i+1] = xstrdup(argv[i]);
newargz[argc+1] = NULL; newargz[argc+1] = NULL;
for (i=0; i<argc+1; i++)
{
DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
;
}
EOF EOF
cat >> $cwrappersource <<EOF case $host_os in
mingw*)
cat >> $cwrappersource <<EOF
execv("$SHELL",(char const **)newargz);
EOF
;;
*)
cat >> $cwrappersource <<EOF
execv("$SHELL",newargz); execv("$SHELL",newargz);
EOF EOF
;;
esac
cat >> $cwrappersource <<"EOF" cat >> $cwrappersource <<"EOF"
return 127; return 127;
} }
@ -4804,48 +5040,148 @@ xstrdup (const char *string)
; ;
} }
char * const char *
basename (const char *name) base_name (const char *name)
{ {
const char *base; const char *base;
#if defined (HAVE_DOS_BASED_FILE_SYSTEM) #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
/* Skip over the disk name in MSDOS pathnames. */ /* Skip over the disk name in MSDOS pathnames. */
if (isalpha (name[0]) && name[1] == ':') if (isalpha ((unsigned char)name[0]) && name[1] == ':')
name += 2; name += 2;
#endif #endif
for (base = name; *name; name++) for (base = name; *name; name++)
if (IS_DIR_SEPARATOR (*name)) if (IS_DIR_SEPARATOR (*name))
base = name + 1; base = name + 1;
return (char *) base; return base;
} }
char * int
fnqualify(const char *path) check_executable(const char * path)
{ {
size_t size; struct stat st;
char *p;
char tmp[LT_PATHMAX + 1];
assert(path != NULL); DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
if ((!path) || (!*path))
return 0;
/* Is it qualified already? */ if ((stat (path, &st) >= 0) &&
#if defined (HAVE_DOS_BASED_FILE_SYSTEM) (
if (isalpha (path[0]) && path[1] == ':') /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
return xstrdup (path); #if defined (S_IXOTH)
((st.st_mode & S_IXOTH) == S_IXOTH) ||
#endif #endif
if (IS_DIR_SEPARATOR (path[0])) #if defined (S_IXGRP)
return xstrdup (path); ((st.st_mode & S_IXGRP) == S_IXGRP) ||
#endif
((st.st_mode & S_IXUSR) == S_IXUSR))
)
return 1;
else
return 0;
}
/* prepend the current directory */ /* Searches for the full path of the wrapper. Returns
/* doesn't handle '~' */ newly allocated full path name if found, NULL otherwise */
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];
int tmp_len;
char* concat_name;
DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
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 = 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 ("getcwd failed");
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) if (getcwd (tmp, LT_PATHMAX) == NULL)
lt_fatal ("getcwd failed"); lt_fatal ("getcwd failed");
size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */ tmp_len = strlen(tmp);
p = XMALLOC(char, size); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path); memcpy (concat_name, tmp, tmp_len);
return p; 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 * char *
@ -4889,16 +5225,16 @@ lt_fatal (const char *message, ...)
va_end (ap); va_end (ap);
} }
EOF EOF
# we should really use a build-platform specific compiler # we should really use a build-platform specific compiler
# here, but OTOH, the wrappers (shell script and this C one) # here, but OTOH, the wrappers (shell script and this C one)
# are only useful if you want to execute the "real" binary. # are only useful if you want to execute the "real" binary.
# Since the "real" binary is built for $host, then this # Since the "real" binary is built for $host, then this
# wrapper might as well be built for $host, too. # wrapper might as well be built for $host, too.
$run $LTCC -s -o $cwrapper $cwrappersource $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
;; ;;
esac esac
$rm $output $rm $output
trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
$echo > $output "\ $echo > $output "\
#! $SHELL #! $SHELL
@ -5128,9 +5464,9 @@ fi\
$run ${rm}r "$gentop" $run ${rm}r "$gentop"
$show "$mkdir $gentop" $show "$mkdir $gentop"
$run $mkdir "$gentop" $run $mkdir "$gentop"
status=$? exit_status=$?
if test "$status" -ne 0 && test ! -d "$gentop"; then if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
exit $status exit $exit_status
fi fi
fi fi
@ -5797,18 +6133,7 @@ relink_command=\"$relink_command\""
outputname= outputname=
if test "$fast_install" = no && test -n "$relink_command"; then if test "$fast_install" = no && test -n "$relink_command"; then
if test "$finalize" = yes && test -z "$run"; then if test "$finalize" = yes && test -z "$run"; then
tmpdir="/tmp" tmpdir=`func_mktempdir`
test -n "$TMPDIR" && tmpdir="$TMPDIR"
tmpdir="$tmpdir/libtool-$$"
save_umask=`umask`
umask 0077
if $mkdir "$tmpdir"; then
umask $save_umask
else
umask $save_umask
$echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
continue
fi
file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
outputname="$tmpdir/$file" outputname="$tmpdir/$file"
# Replace the output file specification. # Replace the output file specification.
@ -5932,7 +6257,7 @@ relink_command=\"$relink_command\""
# Exit here if they wanted silent mode. # Exit here if they wanted silent mode.
test "$show" = : && exit $EXIT_SUCCESS test "$show" = : && exit $EXIT_SUCCESS
$echo "----------------------------------------------------------------------" $echo "X----------------------------------------------------------------------" | $Xsed
$echo "Libraries have been installed in:" $echo "Libraries have been installed in:"
for libdir in $libdirs; do for libdir in $libdirs; do
$echo " $libdir" $echo " $libdir"
@ -5965,7 +6290,7 @@ relink_command=\"$relink_command\""
$echo $echo
$echo "See any operating system documentation about shared libraries for" $echo "See any operating system documentation about shared libraries for"
$echo "more information, such as the ld(1) and ld.so(8) manual pages." $echo "more information, such as the ld(1) and ld.so(8) manual pages."
$echo "----------------------------------------------------------------------" $echo "X----------------------------------------------------------------------" | $Xsed
exit $EXIT_SUCCESS exit $EXIT_SUCCESS
;; ;;
@ -6182,9 +6507,17 @@ relink_command=\"$relink_command\""
rmfiles="$rmfiles $objdir/$n" rmfiles="$rmfiles $objdir/$n"
done done
test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
if test "$mode" = uninstall; then case "$mode" in
clean)
case " $library_names " in
# " " in the beginning catches empty $dlname
*" $dlname "*) ;;
*) rmfiles="$rmfiles $objdir/$dlname" ;;
esac
test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
;;
uninstall)
if test -n "$library_names"; then if test -n "$library_names"; then
# Do each command in the postuninstall commands. # Do each command in the postuninstall commands.
cmds=$postuninstall_cmds cmds=$postuninstall_cmds
@ -6217,7 +6550,8 @@ relink_command=\"$relink_command\""
IFS="$save_ifs" IFS="$save_ifs"
fi fi
# FIXME: should reinstall the best remaining shared library. # FIXME: should reinstall the best remaining shared library.
fi ;;
esac
fi fi
;; ;;
@ -6516,12 +6850,11 @@ exit $?
# configuration. But we'll never go from static-only to shared-only. # configuration. But we'll never go from static-only to shared-only.
# ### BEGIN LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
build_libtool_libs=no disable_libs=shared
build_old_libs=yes
# ### END LIBTOOL TAG CONFIG: disable-shared # ### END LIBTOOL TAG CONFIG: disable-shared
# ### BEGIN LIBTOOL TAG CONFIG: disable-static # ### BEGIN LIBTOOL TAG CONFIG: disable-static
build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` disable_libs=static
# ### END LIBTOOL TAG CONFIG: disable-static # ### END LIBTOOL TAG CONFIG: disable-static
# Local Variables: # Local Variables:

View File

@ -1,6 +1,11 @@
# subdirectories for translated manual pages # subdirectories for translated manual pages
SUBDIRS = cs de es fi fr hu id it ja ko pl pt_BR ru tr zh_CN zh_TW DIST_SUBDIRS = cs de es fi fr hu id it ja ko pl pt_BR ru tr zh_CN zh_TW
if USE_NLS
SUBDIRS = $(DIST_SUBDIRS)
else
SUBDIRS =
endif
man_XMANS = \ man_XMANS = \
chage.1.xml \ chage.1.xml \
@ -26,6 +31,7 @@ man_XMANS = \
logoutd.8.xml \ logoutd.8.xml \
newgrp.1.xml \ newgrp.1.xml \
newusers.8.xml \ newusers.8.xml \
nologin.8.xml \
passwd.1.xml \ passwd.1.xml \
passwd.5.xml \ passwd.5.xml \
porttime.5.xml \ porttime.5.xml \
@ -67,6 +73,7 @@ man_MANS = \
logoutd.8 \ logoutd.8 \
newgrp.1 \ newgrp.1 \
newusers.8 \ newusers.8 \
nologin.8 \
passwd.1 \ passwd.1 \
passwd.5 \ passwd.5 \
porttime.5 \ porttime.5 \
@ -175,6 +182,9 @@ newgrp.1: newgrp.1.xml
newusers.8: newusers.8.xml newusers.8: newusers.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
nologin.8: nologin.8.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
passwd.1: passwd.1.xml passwd.1: passwd.1.xml
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

View File

@ -63,7 +63,6 @@ NROFF = nroff
MANS = $(man_MANS) MANS = $(man_MANS)
ETAGS = etags ETAGS = etags
CTAGS = ctags CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_FALSE = @AMDEP_FALSE@
@ -142,6 +141,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@
@ -193,7 +194,9 @@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
# subdirectories for translated manual pages # subdirectories for translated manual pages
SUBDIRS = cs de es fi fr hu id it ja ko pl pt_BR ru tr zh_CN zh_TW DIST_SUBDIRS = cs de es fi fr hu id it ja ko pl pt_BR ru tr zh_CN zh_TW
@USE_NLS_FALSE@SUBDIRS =
@USE_NLS_TRUE@SUBDIRS = $(DIST_SUBDIRS)
man_XMANS = \ man_XMANS = \
chage.1.xml \ chage.1.xml \
chfn.1.xml \ chfn.1.xml \
@ -218,6 +221,7 @@ man_XMANS = \
logoutd.8.xml \ logoutd.8.xml \
newgrp.1.xml \ newgrp.1.xml \
newusers.8.xml \ newusers.8.xml \
nologin.8.xml \
passwd.1.xml \ passwd.1.xml \
passwd.5.xml \ passwd.5.xml \
porttime.5.xml \ porttime.5.xml \
@ -259,6 +263,7 @@ man_MANS = \
logoutd.8 \ logoutd.8 \
newgrp.1 \ newgrp.1 \
newusers.8 \ newusers.8 \
nologin.8 \
passwd.1 \ passwd.1 \
passwd.5 \ passwd.5 \
porttime.5 \ porttime.5 \
@ -864,6 +869,9 @@ update-po: shadow-man-pages.pot
@ENABLE_REGENERATE_MAN_TRUE@newusers.8: newusers.8.xml @ENABLE_REGENERATE_MAN_TRUE@newusers.8: newusers.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< @ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@nologin.8: nologin.8.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
@ENABLE_REGENERATE_MAN_TRUE@passwd.1: passwd.1.xml @ENABLE_REGENERATE_MAN_TRUE@passwd.1: passwd.1.xml
@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< @ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "CHAGE" "1" "11/05/2005" "User Commands" "User Commands" .TH "CHAGE" "1" "01/22/2006" "User Commands" "User Commands"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -14,8 +14,9 @@ chage \- change user password expiry information
\fBchage\fR [\fIoptions\fR] \fIuser\fR \fBchage\fR [\fIoptions\fR] \fIuser\fR
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
The
\fBchage\fR \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 her password. 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" .SH "OPTIONS"
.PP .PP
The options which apply to the The options which apply to the
@ -26,7 +27,7 @@ command are:
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). 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).
.TP .TP
\fB\-E\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR \fB\-E\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR
Set the date number of days since January 1, 1970 on which the user's 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. Set the date or number of days since January 1, 1970 on which the user's 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 .sp
Passing the number Passing the number
\fI\-1\fR \fI\-1\fR
@ -46,33 +47,33 @@ Passing the number
\fI\-1\fR \fI\-1\fR
as the as the
\fIINACTIVE\fR \fIINACTIVE\fR
will remove an accounts inactivity. will remove an account's inactivity.
.TP .TP
\fB\-l\fR, \fB\-\-list\fR \fB\-l\fR, \fB\-\-list\fR
Show account aging information. Show account aging information.
.TP .TP
\fB\-m\fR, \fB\-\-mindays\fR \fIMIN_DAYS\fR \fB\-m\fR, \fB\-\-mindays\fR \fIMIN_DAYS\fR
Set the minimum number of days between password changes. A value of zero for this field indicates that the user may change her password at any time. Set the minimum number of days between password changes. A value of zero for this field indicates that the user may change his/her password at any time.
.TP .TP
\fB\-M\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR \fB\-M\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR
Set maximum number of days during which a password is valid. When Set the maximum number of days during which a password is valid. When
\fIMAX_DAYS\fR \fIMAX_DAYS\fR
plus plus
\fILAST_DAY\fR \fILAST_DAY\fR
is less than the current day, the user will be required to change her password before being able to use her account. This occurrence can be planned for in advance by use of the 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 \fB\-W\fR
option, which provides the user with advance warning. option, which provides the user with advance warning.
.sp .sp
Passing the number Passing the number
\fI\-1\fR \fI\-1\fR
as the as
\fIMAX_DAYS\fR \fIMAX_DAYS\fR
will remove checking a password validation. will remove checking a password's validity.
.TP .TP
\fB\-W\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR \fB\-W\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR
Set the number of days of warning before a password change is required. The Set the number of days of warning before a password change is required. The
\fIWARN_DAYS\fR \fIWARN_DAYS\fR
option is the number of days prior to the password expiring that a user will be warned her password is about to expire. option is the number of days prior to the password expiring that a user will be warned his/her password is about to expire.
.PP .PP
If none of the options are selected, If none of the options are selected,
\fBchage\fR \fBchage\fR
@ -83,13 +84,13 @@ marks.
.PP .PP
The The
\fBchage\fR \fBchage\fR
program requires shadow password file to be available. Its functionality is not available when passwords are stored in the passwd file. program requires a shadow password file to be available. Its functionality is not available when passwords are stored in the passwd file.
.PP .PP
The The
\fBchage\fR \fBchage\fR
command is restricted to the root user, except for the command is restricted to the root user, except for the
\fB\-l\fR \fB\-l\fR
option, which may be used by an unprivileged user to determine when her password or account is due to expire. option, which may be used by an unprivileged user to determine when his/her password or account is due to expire.
.SH "FILES" .SH "FILES"
.TP .TP
\fI/etc/passwd\fR \fI/etc/passwd\fR

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='chage.1'> <refentry id='chage.1'>
<!-- $Id: chage.1.xml,v 1.29 2005/11/05 17:17:29 kloczek Exp $ --> <!-- $Id: chage.1.xml,v 1.30 2006/01/22 10:14:51 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>chage</refentrytitle> <refentrytitle>chage</refentrytitle>
<manvolnum>1</manvolnum> <manvolnum>1</manvolnum>
@ -25,10 +25,10 @@
<refsect1 id='description'> <refsect1 id='description'>
<title>DESCRIPTION</title> <title>DESCRIPTION</title>
<para> <para>
<command>chage</command> command changes the number of days between The <command>chage</command> command changes the number of days between
password changes and the date of the last password change. This password changes and the date of the last password change. This
information is used by the system to determine when a user must change information is used by the system to determine when a user must change
her password. his/her password.
</para> </para>
</refsect1> </refsect1>
@ -56,7 +56,7 @@
</term> </term>
<listitem> <listitem>
<para> <para>
Set the date number of days since January 1, 1970 on which the Set the date or number of days since January 1, 1970 on which the
user's account will no longer be accessible. The date may also user's account will no longer be accessible. The date may also
be expressed in the format YYYY-MM-DD (or the format more be expressed in the format YYYY-MM-DD (or the format more
commonly used in your area). A user whose account is locked must commonly used in your area). A user whose account is locked must
@ -90,7 +90,7 @@
</para> </para>
<para> <para>
Passing the number <emphasis remap='I'>-1</emphasis> as the Passing the number <emphasis remap='I'>-1</emphasis> as the
<replaceable>INACTIVE</replaceable> will remove an accounts <replaceable>INACTIVE</replaceable> will remove an account's
inactivity. inactivity.
</para> </para>
</listitem> </listitem>
@ -112,7 +112,7 @@
<listitem> <listitem>
<para> <para>
Set the minimum number of days between password changes. A value Set the minimum number of days between password changes. A value
of zero for this field indicates that the user may change her of zero for this field indicates that the user may change his/her
password at any time. password at any time.
</para> </para>
</listitem> </listitem>
@ -123,18 +123,18 @@
</term> </term>
<listitem> <listitem>
<para> <para>
Set maximum number of days during which a password is valid. Set the maximum number of days during which a password is valid.
When <replaceable>MAX_DAYS</replaceable> plus When <replaceable>MAX_DAYS</replaceable> plus
<replaceable>LAST_DAY</replaceable> is less than the current <replaceable>LAST_DAY</replaceable> is less than the current
day, the user will be required to change her password before day, the user will be required to change his/her password before
being able to use her account. This occurrence can be planned for being able to use his/her account. This occurrence can be planned for
in advance by use of the <option>-W</option> option, which in advance by use of the <option>-W</option> option, which
provides the user with advance warning. provides the user with advance warning.
</para> </para>
<para> <para>
Passing the number <emphasis remap='I'>-1</emphasis> as the Passing the number <emphasis remap='I'>-1</emphasis> as
<replaceable>MAX_DAYS</replaceable> will remove checking a <replaceable>MAX_DAYS</replaceable> will remove checking a
password validation. password's validity.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -147,7 +147,7 @@
Set the number of days of warning before a password change is Set the number of days of warning before a password change is
required. The <replaceable>WARN_DAYS</replaceable> option is the required. The <replaceable>WARN_DAYS</replaceable> option is the
number of days prior to the password expiring that a user will number of days prior to the password expiring that a user will
be warned her password is about to expire. be warned his/her password is about to expire.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -163,13 +163,13 @@
<refsect1 id='note'> <refsect1 id='note'>
<title>NOTE</title> <title>NOTE</title>
<para> <para>
The <command>chage</command> program requires shadow password file to The <command>chage</command> program requires a shadow password file to
be available. Its functionality is not available when passwords are be available. Its functionality is not available when passwords are
stored in the passwd file. stored in the passwd file.
</para> </para>
<para>The <command>chage</command> command is restricted to the root <para>The <command>chage</command> command is restricted to the root
user, except for the <option>-l</option> option, which may be used by user, except for the <option>-l</option> option, which may be used by
an unprivileged user to determine when her password or account is due an unprivileged user to determine when his/her password or account is due
to expire. to expire.
</para> </para>
</refsect1> </refsect1>

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "CHPASSWD" "8" "11/05/2005" "System Management Commands" "System Management Commands" .TH "CHPASSWD" "8" "03/02/2006" "System Management Commands" "System Management Commands"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -38,9 +38,7 @@ Display help message and exit.
Use MD5 encryption instead DES when the supplied passwords are not encrypted. Use MD5 encryption instead DES when the supplied passwords are not encrypted.
.SH "CAVEATS" .SH "CAVEATS"
.PP .PP
Remember keep protected for reading by others file passed to standard input Remember to set permissions or umask to prevent readability of unencrypted files by other users.
\fBchpasswd\fR
command if it contains unencrypted passwords.
.SH "SEE ALSO" .SH "SEE ALSO"
.PP .PP
\fBpasswd\fR(1), \fBpasswd\fR(1),

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='chpasswd.8'> <refentry id='chpasswd.8'>
<!-- $Id: chpasswd.8.xml,v 1.16 2005/11/05 17:17:29 kloczek Exp $ --> <!-- $Id: chpasswd.8.xml,v 1.17 2006/03/02 19:33:02 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>chpasswd</refentrytitle> <refentrytitle>chpasswd</refentrytitle>
<manvolnum>8</manvolnum> <manvolnum>8</manvolnum>
@ -78,9 +78,8 @@
<refsect1 id='caveats'> <refsect1 id='caveats'>
<title>CAVEATS</title> <title>CAVEATS</title>
<para> <para>
Remember keep protected for reading by others file passed to standard Remember to set permissions or umask to prevent readability of
input <command>chpasswd</command> command if it contains unencrypted unencrypted files by other users.
passwords.
</para> </para>
</refsect1> </refsect1>

View File

@ -2,11 +2,20 @@
mandir = @mandir@/cs mandir = @mandir@/cs
man_MANS = \ man_MANS = \
expiry.1 \
faillog.5 \
faillog.8 \
gpasswd.1 \
groupadd.8 \
groupdel.8 \
groups.1 \ groups.1 \
id.1 \ id.1 \
lastlog.8 \ lastlog.8 \
nologin.8 \
passwd.5 \ passwd.5 \
shadow.5 \ shadow.5 \
su.1 su.1 \
vipw.8
EXTRA_DIST = $(man_MANS) EXTRA_DIST = $(man_MANS) \
logoutd.8

View File

@ -132,6 +132,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@
@ -182,14 +184,24 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
man_MANS = \ man_MANS = \
expiry.1 \
faillog.5 \
faillog.8 \
gpasswd.1 \
groupadd.8 \
groupdel.8 \
groups.1 \ groups.1 \
id.1 \ id.1 \
lastlog.8 \ lastlog.8 \
nologin.8 \
passwd.5 \ passwd.5 \
shadow.5 \ shadow.5 \
su.1 su.1 \
vipw.8
EXTRA_DIST = $(man_MANS) \
logoutd.8
EXTRA_DIST = $(man_MANS)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:

25
man/cs/expiry.1 Normal file
View File

@ -0,0 +1,25 @@
.TH "EXPIRY" "1" "11/05/2005" "User Commands" "User Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "JMÉNO"
expiry \- zkontroluje a vynutí politiku vypršení platnosti hesla
.SH "POUŽITÍ"
.HP 7
\fBexpiry\fR [\-c] [\-f]
.SH "POPIS"
.PP
\fBexpiry\fR
zkontroluje (\fB\-c\fR) vypršení platnosti aktuálního hesla a případně vynutí (\fB\-f\fR) změnu. Příkaz lze spustit jako běžný uživatel.
.SH "SOUBORY"
.TP
\fI/etc/passwd\fR
informace o uživatelských účtech
.TP
\fI/etc/shadow\fR
důvěrné informace o uživatelských účtech
.SH "VIZ TAKÉ"
.PP
\fBpasswd\fR(5),
\fBshadow\fR(5).

35
man/cs/faillog.5 Normal file
View File

@ -0,0 +1,35 @@
.TH "FAILLOG" "5" "11/05/2005" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "JMÉNO"
faillog \- Soubor pro zaznamenávání chybných pokusů o přihlášení
.SH "POPIS"
.PP
\fI/var/log/faillog\fR
uchovává pro každý účet počet chybných přihlášení a jejich
limity. Záznamy v souboru mají pevnou délku a jsou indexovány
číselným UID. Každý záznam obsahuje počet chybných pokusů o
přihlášení od posledního úspěšného přihlášení, maximální počet
chybných pokusů o přihlášení před zablokováním účtu, linku, na které
byl zaznamenán poslední chybný pokus o přihlášení, a datum,
kdy byl zaznamenán poslední chybný pokus o přihlášení.
.PP
Struktura souboru vypadá následovně:
.sp
.nf
struct faillog {
short fail_cnt;
short fail_max;
char fail_line[12];
time_t fail_time;
};
.fi
.SH "SOUBORY"
.TP
\fI/var/log/faillog\fR
soubor pro záznam chybných pokusů o přihlášení
.SH "VIZ TAKÉ"
.PP
\fBfaillog\fR(8)

86
man/cs/faillog.8 Normal file
View File

@ -0,0 +1,86 @@
.TH "FAILLOG" "8" "11/05/2005" "System Management Commands" "System Management Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "JMÉNO"
faillog \- zobrazí záznamy faillogu nebo nastaví limity na chybná přihlášení
.SH "POUŽITÍ"
.HP 8
\fBfaillog\fR [\fIvolby\fR]
.SH "POPIS"
.PP
\fBfaillog\fR
formátuje obsah souboru
\fI/var/log/faillog\fR,
ve kterém se zaznamenávají neúspěšné pokusy o přihlášení. Také jej
můžete použít pro správu počitadel neúspěšných přihlášení a pro
nastavení limitů. Spuštení programu
\fBfaillog\fR
bez argumentů vypíše záznamy o neúspěšném přihlášení těch uživatelů,
u kterých je zaznamenáno alespoň jedno chybné přihlášení.
.SH "VOLBY"
.PP
Příkaz
\fBfaillog\fR
akceptuje následující volby:
.TP
\fB\-a\fR, \fB\-\-all\fR
Zobrazí záznamy faillogu všech uživatelů.
.TP
\fB\-h\fR, \fB\-\-help\fR
Zobrazí nápovědu a skončí.
.TP
\fB\-l\fR, \fB\-\-lock\-time\fR \fISEK\fR
Po neúspěšném přihlášení zamkne účet na
\fISEK\fR
sekund.
.TP
\fB\-m\fR, \fB\-\-maximum\fR \fIMAX\fR
Nastaví maximální počet chybných přihlášení na MAX. Poté se účet
zablokuje. Hodnotou 0 tento limit zrušíte. Pro uživatele
\fIroot\fR
by hodnota
\fIMAX\fR
měla být vždy 0, abyste předešli útokům typu odepření služby.
.TP
\fB\-r\fR, \fB\-\-reset\fR
Vynuluje počitadla chybných přihlášení všech uživatelů. Při použití s
parametrem \-u
\fIÚČET\fR
vynuluje počitadlo pouze pro daný účet. Tato operace vyžaduje práva
zápisu k souboru
\fI/var/log/faillog\fR.
.TP
\fB\-t\fR, \fB\-\-time\fR \fIDNŮ\fR
Zobrazí záznamy faillogu novější než
\fIDNŮ\fR. Volba
\fB\-t\fR
má vyšší prioritu než
\fB\-u\fR.
.TP
\fB\-u\fR, \fB\-\-user\fR \fIÚČET\fR
Zobrazí záznamy faillogu (resp. s volbami
\fB\-l\fR,
\fB\-m\fR
nebo
\fB\-r\fR
upraví počitadla nebo limity chybných přihlášení) pouze pro uživatele
\fIÚČET\fR.
.SH "ZÁLUDNOSTI"
.PP
\fBfaillog\fR
vypíše pouze uživatele, bez úspěšného přihlášení od poslední
chyby. Chcete-li vypsat i uživatele, kteří se od poslední chyby
úspěšně přihlásili, musíte si je explicitně vyžádat volbou
\fB\-u\fR
nebo
\fB\-a\fR.
.SH "SOUBORY"
.TP
\fI/var/log/faillog\fR
soubor pro záznam chybných pokusů o přihlášení
.SH "VIZ TAKÉ"
.PP
\fBlogin\fR(1),
\fBfaillog\fR(5).

76
man/cs/gpasswd.1 Normal file
View File

@ -0,0 +1,76 @@
.TH "GPASSWD" "1" "11/05/2005" "User Commands" "User Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "JMÉNO"
gpasswd \- spravuje soubor /etc/group
.SH "POUŽITÍ"
.HP 8
\fBgpasswd\fR \fIskupina\fR
.HP 8
\fBgpasswd\fR \-a\ \fIuživatel\fR \fIskupina\fR
.HP 8
\fBgpasswd\fR \-d\ \fIuživatel\fR \fIskupina\fR
.HP 8
\fBgpasswd\fR \-R\ \fIskupina\fR
.HP 8
\fBgpasswd\fR \-r\ \fIskupina\fR
.HP 8
\fBgpasswd\fR [\-A\ \fIuživatel,\fR...] [\-M\ \fIuživatel,\fR...] \fIskupina\fR
.SH "POPIS"
.PP
\fBgpasswd\fR
se používá pro správu souboru
\fI/etc/group\fR
(a pokud je zkompilován s podporou SHADOWGRP, tak i
\fI/etc/gshadow\fR).
Každá skupina může mít správce, členy a heslo. Systémový správce může
volbou
\fB\-A\fR
definovat správce skupiny, volbou
\fB\-M\fR
členy skupiny a má všechna práva skupinových správců a členů.
.SS "Poznámka o skupinových heslech"
.PP
Skupinová hesla jsou samozřejmě bezpečnostním problémem, jelikož je
heslo sdíleno více uživateli. Skupiny jsou nicméně užitečným nástrojem
pro spolupráci mezi různými uživateli.
.SH "VOLBY"
.PP
Správce skupiny může přidávat resp. mazat uživatele pomocí
\fB\-a\fR
resp.
\fB\-d\fR.
Správcové mohou odstranit skupinové heslo pomocí přepínače
\fB\-r\fR.
Pokud není heslo nastaveno, mohou použít příkaz
\fBnewgrp\fR
pro zapojení do skupiny pouze členové skupiny. Volba
\fB\-R\fR
zakáže přístup do skupiny skrze příkaz
\fBnewgrp\fR
(členové skupiny se do ní budou moci stále přepnout).
.PP
Pokud je
\fBgpasswd\fR
spušten správcem skupiny a jediným parametrem je jméno skupiny, zeptá
se na skupinové heslo. Pokud je heslo nastaveno, mohou členové používat
\fBnewgrp\fR(1)
stále bez hesla, nečlenové musí heslo zadat.
.SH "SOUBORY"
.TP
\fI/etc/group\fR
informace o skupinových účtech
.TP
\fI/etc/gshadow\fR
citlivé informace o skupinových účtech
.SH "VIZ TAKÉ"
.PP
\fBnewgrp\fR(1),
\fBgshadow\fR(5),
\fBgroupadd\fR(8),
\fBgroupdel\fR(8),
\fBgroupmod\fR(8),
\fBgrpck\fR(8),
\fBgroup\fR(5).

113
man/cs/groupadd.8 Normal file
View File

@ -0,0 +1,113 @@
.TH "GROUPADD" "8" "01/02/2006" "System Management Commands" "System Management Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "JMÉNO"
groupadd \- Vytvoří skupinu
.SH "POUŽITÍ"
.HP 9
\fBgroupadd\fR [\-g\ \fIGID\fR\ [\-o]] [\-f] [\-K\ \fIKLÍČ\fR=\fIHODNOTA\fR] \fIskupina\fR
.SH "POPIS"
.PP
Příkaz
\fBgroupadd\fR
vytváří nové skupinové účty na základě zadaných hodnot a výchozích
hodnot nastavených v systému. Nová skupina bude podle pořeby zařazena
do příslušných systémových souborů.
.SH "VOLBY"
.PP
Příkaz
\fBgroupadd\fR
akceptuje následující volby:
.TP
\fB\-f\fR
Tato volba způsobí, že v případě kolize se stávající skupinou se vrátí
úspěšný návratový kód. Při použití s volbou
\fB\-g\fR, pokud již dané GID existuje, vybere se unikární GID
automaticky, (tj. jako kdybyste
\fB\-g\fR
nezadali).
.TP
\fB\-g\fR \fIGID\fR
Číselná hodnota skupinového ID. Tato hodnota musí být unikátní (s
výjimkou volby
\fB\-o\fR).
Hodnota musí být nezáporné celé číslo. Jako výchozí hodnota se použije
nejmenší ID větší než 999 a zároveň větší než ID všech ostatních
skupin. Hodnoty mezi 0 a 999 jsou obvykle rezervovány pro systémové účty.
.TP
\fB\-h\fR, \fB\-\-help\fR
Zobrazí nápovědu a skončí.
.TP
\fB\-K \fR\fB\fIKLÍČ\fR\fR\fB=\fR\fB\fIHODNOTA\fR\fR
Přepíše výchozí nastavení /etc/login.defs (GID_MIN, GID_MAX
apod.). Můžete zadat i více voleb najednou.
.sp
Příklad:
\fB\-K \fR\fIGID_MIN\fR=\fI100\fR\fB \-K \fR\fIGID_MAX\fR=\fI499\fR
.sp
Poznámka:
\fB\-K \fR\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR
zatím nefunguje.
.TP
\fB\-o\fR
Tato volba povolí přidání skupiny s neunikátním GID.
.SH "SOUBORY"
.TP
\fI/etc/group\fR
informace o skupinových účtech
.TP
\fI/etc/gshadow\fR
citlivé informace o skupinových účtech
.TP
\fI/etc/login.defs\fR
nastavení systému shadow
.SH "ZÁLUDNOSTI"
.PP
Názvy skupin musí začínat malým písmenem nebo podtržítkem a mohou
obsahovat pouze malá písmena, čísla, podtržítka, pomlčky a závěrečný
dolar. Vyjádřeno regulárním výrazem: [a\-z_][a\-z0\-9_\-]*[$]
.PP
Délka názvu skupiny nesmí překročit 16 znaků.
.PP
Jestliže již název skupiny existuje v externí databázi typu NIS,
příkaz
\fBgroupadd\fR
odmítne požadavek na vytvoření této skupiny.
.SH "NÁVRATOVÉ HODNOTY"
.PP
Příkaz
\fBgroupadd\fR
může skončit s následujícími návratovými hodnotami:
.TP
\fI0\fR
úspěch
.TP
\fI2\fR
chybná syntaxe příkazu
.TP
\fI3\fR
chybný argument parametru
.TP
\fI4\fR
GID není unikátní (pokud nepoužijete
\fB\-o\fR)
.TP
\fI9\fR
název skupiny není unikátní
.TP
\fI10\fR
nelze aktualizovat soubor group
.SH "VIZ TAKÉ"
.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).

60
man/cs/groupdel.8 Normal file
View File

@ -0,0 +1,60 @@
.TH "GROUPDEL" "8" "11/05/2005" "System Management Commands" "System Management Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "JMÉNO"
groupdel \- Smaže skupinu
.SH "POUŽITÍ"
.HP 9
\fBgroupdel\fR \fIskupina\fR
.SH "POPIS"
.PP
Příkaz
\fBgroupdel\fR
upraví soubory se systémovými účty tak, že smaže všechy záznamy, které
se odkazují na
\fIskupinu\fR. Daná skupina musí existovat.
.PP
Abyste zajistili, že na souborových systémech nezůstanou soubory
vlastněné mazanou skupinou, musíte je sami vyhledat a příslušně
opravit.
.SH "ZÁLUDNOSTI"
.PP
Nelze odstranit primární skupinu uživatele. Nejprve musíte odstranit
uživatele a pak teprve danou skupinu.
.SH "SOUBORY"
.TP
\fI/etc/group\fR
informace o skupinových účtech
.TP
\fI/etc/gshadow\fR
citlivé informace o skupinových účtech
.SH "NÁVRATOVÉ HODNOTY"
.PP
Příkaz
\fBgroupdel\fR
může skončit s následujícími návratovými hodnotami:
.TP
\fI0\fR
úspěch
.TP
\fI2\fR
chybná syntaxe příkazu
.TP
\fI8\fR
nelze odstranit primární skupinu uživatele
.TP
\fI10\fR
nelze aktualizovat soubor group
.SH "VIZ TAKÉ"
.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)

30
man/cs/logoutd.8 Normal file
View File

@ -0,0 +1,30 @@
.TH "LOGOUTD" "8" "11/05/2005" "System Management Commands" "System Management Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "JMÉNO"
logoutd \- Omezuje čas přihlášení
.SH "POUŽITÍ"
.HP 8
\fBlogoutd\fR
.SH "POPIS"
.PP
\fBlogoutd\fR
omezí čas přihlášení a seznam povolených portů podle pravidel zadaných v
\fI/etc/porttime\fR.
\fBlogoutd\fR
by se měl spouštět z
\fI/etc/rc\fR. Program pak pravidelně kontroluje soubor
\fI/var/run/utmp\fR
a zkoumá, zda má daný uživatel oprávnění být přihlášen na daném portu
v daný čas. Všechna sezení, která porušují pravidla zadaná v
\fI/etc/porttime\fR,
jsou ukončena.
.SH "SOUBORY"
.TP
\fI/etc/porttime\fR
oprávnění k portům a přihlášení
.TP
\fI/var/run/utmp\fR
seznam aktuálních sezení

28
man/cs/nologin.8 Normal file
View File

@ -0,0 +1,28 @@
.TH "NOLOGIN" "8" "01/07/2006" "System Management Commands" "System Management Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "JMÉNO"
nologin \- slušně odmítne přihlášení
.SH "PŘEHLED"
.HP 8
\fBnologin\fR
.SH "POPIS"
.PP
\fBnologin\fR
zobrazí oznámení, že účet není dostupný a skončí s nenulovým
návratovým kódem. Program je zamýšlen jako vhodná náhrada pole shell
v souboru passwd pro zablokované účty.
.PP
Pro zakázání všech přihlášení prozkoumejte
\fBnologin\fR(5).
.SH "VIZ TAKÉ"
.PP
\fBlogin\fR(1),
\fBnologin\fR(5).
.SH "HISTORIE"
.PP
Příkaz
\fBnologin\fR
se objevil v BSD 4.4.

71
man/cs/vipw.8 Normal file
View File

@ -0,0 +1,71 @@
.TH "VIPW" "8" "12/07/2005" "System Management Commands" "System Management Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "JMÉNO"
vipw, vigr \- slouží k úpravě souborů password, group, shadow-password a shadow-group.
.SH "POUŽITÍ"
.HP 5
\fBvipw\fR [volby]
.HP 5
\fBvigr\fR [volby]
.SH "POPIS"
.PP
\fBvipw\fR
a
\fBvigr\fR
upravují soubory
\fI/etc/passwd\fR
a
\fI/etc/group\fR. S přepínačem
\fB\-s\fR
budou upravovat stínové verze obou souborů, tj.
\fI/etc/shadow\fR
a
\fI/etc/gshadow\fR. Programy používají zámky, aby předešly porušení
souborů. Při hledání editoru nejprve zkusí proměnnou prostředí
\fB$VISUAL\fR, poté proměnnou prostředí
\fB$EDITOR\fR a na konec spustí standardní editor
\fBvi\fR(1).
.SH "VOLBY"
.PP
Příkazy
\fBvipw\fR
a
\fBvigr\fR
akceptují následující volby:
.TP
\fB\-g\fR, \fB\-\-group\fR
Upraví databázi skupin.
.TP
\fB\-h\fR, \fB\-\-help\fR
Zobrazí nápovědu a skončí.
.TP
\fB\-p\fR, \fB\-\-passwd\fR
Upraví databázi hesel.
.TP
\fB\-q\fR, \fB\-\-quiet\fR
Tichý režim.
.TP
\fB\-s\fR, \fB\-\-shadow\fR
Upraví databázi shadow nebo gshadow.
.SH "SOUBORY"
.TP
\fI/etc/group\fR
informace o skupinových účtech
.TP
\fI/etc/gshadow\fR
stínový soubor pro skupiny
.TP
\fI/etc/passwd\fR
informace o uživatelských účtech
.TP
\fI/etc/shadow\fR
citlivé informace o uživatelských účtech
.SH "VIZ TAKÉ"
.PP
\fBvi\fR(1),
\fBgroup\fR(5),
\fBgshadow\fR(5)\fBpasswd\fR(5),
\fBshadow\fR(5).

View File

@ -132,6 +132,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -1,4 +1,4 @@
.\" $Id: passwd.1,v 1.9 2005/12/01 20:38:25 kloczek Exp $ .\" $Id: passwd.1,v 1.10 2006/01/25 07:33:59 kloczek Exp $
.\" Copyright 1989 - 1994, Julianne Frances Haugh .\" Copyright 1989 - 1994, Julianne Frances Haugh
.\" All rights reserved. .\" All rights reserved.
.\" .\"
@ -140,7 +140,7 @@ zu Ausführungen über diese Felder.
.SS Hinweise zu Nutzerpasswörtern .SS Hinweise zu Nutzerpasswörtern
Die Sicherheit eines Passworts hängt von der Stärke des Die Sicherheit eines Passworts hängt von der Stärke des
Verschlüsselungsalgorithmus und von der Größe des Schlüsselraums (key space) Verschlüsselungsalgorithmus und von der Größe des Schlüsselraums (key space)
ab. Die Verschlüsselung auf \fB\s\-2UNIX\s+2\fR\-Systemen basiert auf dem ab. Die Verschlüsselung auf \fB\s-2UNIX\s+2\fR\-Systemen basiert auf dem
NBS\-DES\-Algorithmus und ist sehr sicher. Die Größe des Schlüsselraums hängt von NBS\-DES\-Algorithmus und ist sehr sicher. Die Größe des Schlüsselraums hängt von
der Zufälligkeit des gewählten Passworts ab. der Zufälligkeit des gewählten Passworts ab.
.PP .PP

View File

@ -132,6 +132,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -158,7 +158,7 @@ Una sección CLASSES de ejemplo:
CLASSES CLASSES
miclase1 tty1 tty2 miclase1 tty1 tty2
miclase2 tty3 @.foo.com miclase2 tty3 @.foo.com
.in \-.5 .in -.5
.fi .fi
.PP .PP
Esto define las clases Esto define las clases
@ -192,7 +192,7 @@ Un ejemplo de una sección GROUPS:
GROUPS GROUPS
sys tty1 @.bar.edu sys tty1 @.bar.edu
stud miclase1 tty4 stud miclase1 tty4
.in \-0.5 .in -0.5
.fi .fi
.PP .PP
Este ejemplo especifica que los miembros del grupo Este ejemplo especifica que los miembros del grupo
@ -223,7 +223,7 @@ Una sección USERS de ejemplo:
USERS USERS
zacho tty1 @130.225.16.0/255.255.255.0 zacho tty1 @130.225.16.0/255.255.255.0
pepe tty3 miclase2 pepe tty3 miclase2
.in \-0.5 .in -0.5
.fi .fi
.PP .PP
Esto autoriza al usuario zacho a ingresar solo en el tty1 y desde los Esto autoriza al usuario zacho a ingresar solo en el tty1 y desde los

View File

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" from: @(#)vipw.8 6.7 (Berkeley) 3/16/91 .\" from: @(#)vipw.8 6.7 (Berkeley) 3/16/91
.\" $Id: vipw.8,v 1.1 2005/12/13 11:34:59 kloczek Exp $ .\" $Id: vipw.8,v 1.2 2006/01/25 07:33:59 kloczek Exp $
.\" .\"
.\" .\"
.\" Translated into Spanish on Fri Aug 28 1998 by Gerardo Aburruzaga .\" Translated into Spanish on Fri Aug 28 1998 by Gerardo Aburruzaga
@ -46,7 +46,7 @@
.Nm vipw .Nm vipw
.Op -V .Op -V
.Op --version .Op --version
.Pp
.Nm vigr .Nm vigr
.Op -V .Op -V
.Op --version .Op --version

View File

@ -129,6 +129,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -1,53 +1,49 @@
.\" .\" ** You probably do not want to edit this file directly **
.\" chsh.1 -- change your login shell .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" (c) 1994 by salvatore valente <svalente@athena.mit.edu> .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.\" this program is free software. you can redistribute it and .TH "CHSH" "1" "03/07/2006" "Käyttäjän sovellukset" "Käyttäjän sovellukset"
.\" modify it under the terms of the gnu general public license. .\" disable hyphenation
.\" there is no warranty. .nh
.\" .\" disable justification (adjust text to left margin only)
.\" $Author: kloczek $ .ad l
.\" $Revision: 1.2 $ .SH "NAME"
.\" $Date: 2005/12/01 20:38:25 $ chsh \- vaihda sisäänkirjautumiskuorta
.\" Proofread by Raimo Koski, Nov-Dec. 1999 .SH "SYNOPSIS"
.\" Translated into Finnish by Juha-Pekka Syrjälä (jsyrjala@iki.fi) .HP 5
.\" Proofread by Raimo Koski (rkoski@pp.weppi.fi) \fBchsh\fR [\-s\ \fIsisäänkirjautumiskuori\fR] [\fIkäyttäjä\fR]
.\" .SH "KUVAUS"
.TH CHSH 1 "24. Huhtikuuta 1998" "chsh" "Käyttäjän sovellusohjelmat" .PP
.SH NIMI \fBchsh\fR
chsh \- vaihtaa sisäänkirjautumisessa käytetyn komentotulkin vaihtaa käyttäjän sisäänkirjautumiskuorta. Tämä määrittää käyttäjän ensimmäisen kirjautumiskomennon. Tavallinen käyttäjä voi vaihtaa ainoastaan oman tunnuksensa kirjautumiskuorta, mutta pääkäyttäjä voi vaihtaa kenen tahansa kirjautumiskuoren.
.SH "YLEISKATSAUS" .PP
.B chsh Ainoa rajoitus kirjautumiskuorelle on, että komennon nimen täytyy olla lueteltuna tiedostossa
[\ \-s\ komentotulkki\ ] [\ \-l\ ] [\ \-u\ ] [\ \-v\ ] [\ käyttäjätunnus\ ] \fI/etc/shells\fR
.SH KUVAUS ellei komentoa käynnistänyt pääkäyttäjä, jolloin mikä tahansa arvo voidaan lisätä. Tunnus, jolla on rajoitettu kirjautumiskuori, ei voi vaihtaa omaa kirjautumiskuortaan. Tästä syystä komennon
.B chsh \fI/bin/rsh\fR
- käytetään vaihtamaan sisäänkirjautumisessa käytetty komentotulkki. lisääminen tiedostoon
Jos komentotulkkia ei ole annettu komentorivillä, \fI/etc/shells\fR
.B chsh ei ole suositeltavaa, koska käyttäjän vahingossa vaihtaessa rajoitettuun kuoreen, ei hän voi koskaan vaihtaa kirjautumiskuortaan takaisin alkuperäiseen arvoon.
kysyy sitä. .SH "VALITSIMET"
.SS HYVÄKSYTTÄVÄT KOMENTOTULKIT .PP
.B chsh Mikäli valitsinta
hyväksyy minkä tahansa ajattavan tiedoston, jolle annetaan koko tiedostonimi polkuineen. \fB\-s\fR
Se kuitenkin varoittaa, jos komentotulkki ei ole määritelty ei ole annettu,
.I /etc/shells-tiedostossa. \fBchsh\fR
.SH OPTIOT toimii interaktiivisesti kysyen käyttäjältä kirjautumiskuorta. Syöttämällä uuden arvon vaihdetaan kuorta, ja antamalla tyhjän syötteen, vanha kuori jää voimaan. Nykyinen kuori tulostetaan
\fI[ ]\fR\-merkkiparin välissä.
.SH "TIEDOSTOT"
.TP .TP
.I "\-s, \-\-shell" \fI/etc/passwd\fR
Määrittele sisäänkirjautumisessa käytetty komentotulkki. käyttäjätunnuksien tiedot
.TP .TP
.I "\-l, \-\-list-shells" \fI/etc/shells\fR
Tulostaa listan komentotulkeista, jotka ovat määritelty luettelo sallituista kirjautumiskuorista
.I /etc/shells
-tiedostossa ja sulkee ohjelman.
.TP .TP
.I "\-u, \-\-help" \fI/etc/login.defs\fR
Tulostaa ohjeen ja sulkee ohjelman. varjosalasanakaluston asetukset
.TP
.I "-v, \-\-version"
Tulostaa versiota koskevan informaation ja sulkee ohjelman.
.SH TEKIJÄ
Salvatore Valente <svalente@mit.edu>
.SH "KATSO MYÖS" .SH "KATSO MYÖS"
.BR login (1), .PP
.BR passwd (5), \fBchfn\fR(1),
.BR shells (5), \fBlogin.defs\fR(5),
\fBpasswd\fR(5)

View File

@ -85,7 +85,8 @@ Ei tunnettuja virheitä.
.BR pam (8), .BR pam (8),
ja ja
.BR pam_chauthok (2). .BR pam_chauthok (2).
.sp Monipuolisempi selostus tämän ohjelman ja Linux-PAMin asetuksista .sp
Monipuolisempi selostus tämän ohjelman ja Linux-PAMin asetuksista
löytyy englanninkielisestä löytyy englanninkielisestä
.BR "'Linux-PAM System Adminstarators' Guide'":sta .BR "'Linux-PAM System Adminstarators' Guide'":sta
WWW-osoitteesta: WWW-osoitteesta:

View File

@ -1,84 +1,119 @@
.\" Copyright 1989 - 1990, John F. Haugh II .\" ** You probably do not want to edit this file directly **
.\" All rights reserved. .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" Redistribution and use in source and binary forms, with or without .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.\" modification, are permitted provided that the following conditions .TH "SU" "1" "03/07/2006" "Käyttäjän sovellukset" "Käyttäjän sovellukset"
.\" are met: .\" disable hyphenation
.\" 1. Redistributions of source code must retain the above copyright .nh
.\" notice, this list of conditions and the following disclaimer. .\" disable justification (adjust text to left margin only)
.\" 2. Redistributions in binary form must reproduce the above copyright .ad l
.\" notice, this list of conditions and the following disclaimer in the .SH "NAME"
.\" documentation and/or other materials provided with the distribution. su \- vaihda käyttäjätunnusta tai tule pääkäyttäjäksi
.\" 3. All advertising materials mentioning features or use of this software .SH "SYNOPSIS"
.\" must display the following acknowledgement: .HP 3
.\" This product includes software developed by John F. Haugh, II \fBsu\fR [\fIvalitsimet\fR] [\-] [\fIkäyttäjätunnus\fR\ [\ \fIparametrit\fR\ ]]
.\" and other contributors. .SH "KUVAUS"
.\" 4. Neither the name of John F. Haugh, II 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 JOHN HAUGH 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 JOHN HAUGH 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.
.\"
.\" $Id: su.1,v 1.1 2005/11/12 17:01:00 kloczek Exp $
.\"
.TH SU 1
.SH NAME
su \- Tarjoaa rajoitetut root oikeudet jollekin kayttajalle
.SH SYNTAKSI
.BR su " [" - ]
.RI [ kayttajanimi " [" argumentit ]]
.SH KUVAUS
.B su:ta
kaytetaan jotta voisi valiaikaisesti tulla joksikin toiseksi
kayttajaksi istunnon aikana. Oletuksena ilman argumentteja
kayttaja tulee rootiksi.
is used to become another user during a login session.
Invoked without a username, \fBsu\fR defaults to becoming
the super user.
Optiota \fB\-\fR voidaan kayttaa antamaan samanlainen
ymparisto kuin oikealla kayttajalla joka on tullut
sisaan suoraan omalla tunnuksellaan.
.PP .PP
Muita optioita voidaan antaa kayttja nimen jalkeen, siina \fBsu\fR\-komentoa käytetään vaihtamaan toiseksi käyttäjäksi kesken istunnon. Kun komento ajetaan ilman käyttäjänimeä,
tapauksessa jos ne ovat tuettuja kayttajan komentotulkissa. \fBsu\fR
Yksityiskohdissa, argumentti \fB-c\fR aiheuttaa sen etta oletuksena vaihtaa pääkäyttäjäksi. Valinnainen parametri
seruraavat argumentit ovat komentojen optioita. \fB\-\fR
Komento toteutetaan siina komentotulkissa joka on maaritelty voidaan antaa kun halutaan samanlainen ympäristö kuin käyttäjä odottaa kirjautuessaan suoraan sisään.
\fB$SHELL\fR, tai jos sita ei ole maaritelty niin kaytetaan
komentotulkkia joka on maaritelty \fI/etc/passwd\fR.
.PP .PP
Kayttajalta voidaan kysya salasanaa jos se on takavarikoitu. Muita parametreja voidaan antaa käyttäjänimen jälkeen, jolloin ne välitetään käyttäjän sisäänkirjautumiskuorelle. Erityisesti parametri
Vaara salasana tuottaa virheilmoituksen. Kaikki yritykset \fB\-c\fR
menevat kuitenkin jarjestelman logitiedostoon. tarkoittaa, että seuraava parametri on komento useimmissa komentotulkeissa. Komento suoritetaan kuorella, joka on määritetty
\fI/etc/passwd\fR\-tiedostossa kohdekäyttäjälle.
.PP .PP
Voimassaoleva ymparisto on myos uudessa komentotulkissa. Arvo Voit käyttää parametria
\fB$PATH\fR on uudelleenasetettu kohteessa \fB/bin:/usr/bin\fR \fB\-\-\fR
tavallisille kayttajille, tai \fB/bin:/usr/bin:/etc\fR rootille. erottamaan
.SH OPTIOT \fBsu\fR\-valitsimet kuorelle välitettävistä parametreista.
.PP .PP
Tassa versiossa \fBsu\fR:lla on monia kaannosoptioita, vain Käyttäjältä pyydetään salasanaa tarvittaessa. Väärä salasana tuottaa virheilmoituksen. Kaikki yritykset, niin kelvolliset kuin virheellisetkin, kirjataan lokiin järjestelmän väärinkäytösten tunnistamiseksi.
joitakin voi kayttaa yksityiskohtaisesti. .PP
.SH TIEDOSTOT Nykyinen ympäristö välitetään kuorelle.
/etc/passwd \- Kayttajatiedot \fB$PATH\fR\-muuttujan arvo tyhjätään arvoksi
.br \fI/bin:/usr/bin\fR
/etc/shadow \- Kryptatut salasanat ja tunnuksen loppumispaivamaara. tavallisille käyttäjille taikka
.br \fI/sbin:/bin:/usr/sbin:/usr/bin\fR
$HOME/.profile \- Alustustiedostot oletus komentotulkille pääkäyttäjälle. Tämän käyttäytymisen voi vaihtaa asetuksilla
.SH KATSO MYOS \fIENV_PATH\fR
.BR login (1), ja
.BR sh (1) \fIENV_SUPATH\fR
.SH SUOMENNUS tiedostossa
.BR Mikko \fI/etc/login.defs\fR.
.BR Hurskainen .PP
.BR 1998 Sisäinen kirjautuminen ilmoitetaan lisäämällä "*" ensimmäiseksi merkiksi sisäänkirjautumiskuoreen. Annettua kotihakemistoa käytetään uuden tiedostojärjestelmän juurena, jonne käyttäjä tosiasiassa kirjautuu.
.BR hurska@dlc.fi .SH "VALITSIMET"
.PP
\fBsu\fR\-komennon valitsimet ovat:
.TP
\fB\-c\fR, \fB\-\-command\fR \fIKUORI\fR
Määritä komento, jonka kuori käynnistää sen
\fB\-c\fR\-valitsimella.
.TP
\fB\-\fR, \fB\-l\fR, \fB\-\-login\fR
Tarjoa samankaltainen ympäristö kuin käyttäjä saisi kirjautuessaan suoraa sisään.
.sp
Kun
\fB\-\fR
on käytössä, se täytyy antaa viimeisenä valitsimena
\fBsu\fR\-komennolle. Muilla valitsimilla (\fB\-l\fR
sekä
\fB\-\-login\fR) ei ole tätä rajoitusta.
.TP
\fB\-s\fR, \fB\-\-shell\fR \fIKUORI\fR
Käynnistettävä kuori
.sp
Käynnistettävä kuori valitaan seuraavasti (tärkeimmästä alkaen):
.RS
.TP 3
\(bu
Kuori, joka määritetään valitsimella \-\-shell
.TP
\(bu
Mikäli valitsinta
\fB\-\-preserve\-environment\fR
on käytetty, kuori onka määrittää ympäristömuuttuja
\fB$SHELL\fR.
.TP
\(bu
Kuori, joka on asetettu /etc/passwd\-tietueessa kohdekäyttäjälle.
.TP
\(bu
/bin/sh mikäli kuorta ei löytynyt millään edellisistä tavoista.
.RE
.IP
.sp
Mikäli kohdekäyttäjällä on rajoitettu kuori (esim. kuorikenttä käyttäjän tietueessa
\fI/etc/passwd\fR\-tiedostossa ei löydy tiedostosta
\fI/etc/shell\fR), niin valitsin
\fB\-\-shell\fR
ja ympäristömuuttuja
\fB$SHELL\fR
jätetään huomiotta paitsi kun komennon
\fBsu\fR
käynnistää pääkäyttäjä.
.TP
\fB\-m\fR, \fB\-p\fR, \fB\-\-preserve\-environment\fR
Säilytä nykyinen ympäristö.
.sp
Mikäli kohdekäyttäjällä on rajoitettu ympäristö, tällä valitsimella ei ole vaikutusta (ellei
\fBsu\fR\-komentoa käynnistänyt pääkäyttäjä).
.SH "VAROITUKSET"
.PP
Tällä versiolla
\fBsu\fR\-sovelluksesta on useita käännösaikaisia valitsimia, ja niistä vain osa saattaa olla käytössä tietyissä paikoissa.
.SH "TIEDOSTOT"
.TP
\fI/etc/passwd\fR
käyttäjätunnuksien tiedot
.TP
\fI/etc/shadow\fR
turvalliset käyttäjätunnuksien tiedot
.SH "KATSO MYÖS"
.PP
\fBlogin\fR(1),
\fBlogin.defs\fR(5),
\fBsh\fR(1)

View File

@ -133,6 +133,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='gpasswd.1'> <refentry id='gpasswd.1'>
<!-- $Id: gpasswd.1.xml,v 1.16 2005/11/05 17:17:29 kloczek Exp $ --> <!-- $Id: gpasswd.1.xml,v 1.17 2006/02/20 01:05:45 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>gpasswd</refentrytitle> <refentrytitle>gpasswd</refentrytitle>
<manvolnum>1</manvolnum> <manvolnum>1</manvolnum>
@ -66,7 +66,7 @@
useful tool for permitting co-operation between different users. useful tool for permitting co-operation between different users.
</para> </para>
</refsect2> </refsect2>
</refsect1> </refsect1>
<refsect1 id='options'> <refsect1 id='options'>

View File

@ -132,6 +132,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -28,7 +28,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" $Id: passwd.1,v 1.6 2005/12/01 20:38:25 kloczek Exp $ .\" $Id: passwd.1,v 1.7 2006/01/25 07:33:59 kloczek Exp $
.\" .\"
.TH PASSWD 1 "" \" \-*\- nroff \-*\- .TH PASSWD 1 "" \" \-*\- nroff \-*\-
.SH NÉV .SH NÉV
@ -112,7 +112,7 @@ A következő négy rész a jelszavak minimális és maximális ideje, az első
.SS Tippek a felhasználói jelszavakhoz .SS Tippek a felhasználói jelszavakhoz
Egy jelszavas rendszer biztonsága a kódolási algoritmus erősségétől és a lehetséges kulcsok számától függ. Egy jelszavas rendszer biztonsága a kódolási algoritmus erősségétől és a lehetséges kulcsok számától függ.
A \fB\s\-2UNIX\s+2\fR rendszerek kódolási módja az NBS DES algoritmuson alapul, és nagyon biztonságos. A lehetséges kulcsok száma a választott jelszó véletlenszerűségén múlik. A \fB\s-2UNIX\s+2\fR rendszerek kódolási módja az NBS DES algoritmuson alapul, és nagyon biztonságos. A lehetséges kulcsok száma a választott jelszó véletlenszerűségén múlik.
.PP .PP
A jelszavas rendszerek feltörése legtöbbször a gondatlanul megválasztott jelszóválasztásnak vagy a jelszavak cserélgetésének eredménye. A jelszavas rendszerek feltörése legtöbbször a gondatlanul megválasztott jelszóválasztásnak vagy a jelszavak cserélgetésének eredménye.
Ezen okok miatt célszerű olyan jelszót választanod, ami nem szerepel a szótárban és nem szükséges leírnod. Tipikusan rossz választás még, ha valamilyen nevet, valamilyen azonosítószámodat, születésnapodat, vagy címedet használod jelszóként. Ezen okok miatt célszerű olyan jelszót választanod, ami nem szerepel a szótárban és nem szükséges leírnod. Tipikusan rossz választás még, ha valamilyen nevet, valamilyen azonosítószámodat, születésnapodat, vagy címedet használod jelszóként.

View File

@ -130,6 +130,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -153,7 +153,7 @@ Contoh bagian CLASSES:
CLASSES CLASSES
myclass1 tty1 tty2 myclass1 tty1 tty2
myclass2 tty3 @.foo.com myclass2 tty3 @.foo.com
.in \-.5 .in -.5
.fi .fi
.PP .PP
File di atas mendefinisikan File di atas mendefinisikan
@ -188,7 +188,7 @@ Contoh bagian GROUPS
GROUPS GROUPS
sys tty1 @.bar.edu sys tty1 @.bar.edu
stud myclass1 tty4 stud myclass1 tty4
.in \-0.5 .in -0.5
.fi .fi
.PP .PP
Contoh ini menentukan bahwa anggota group Contoh ini menentukan bahwa anggota group
@ -217,7 +217,7 @@ Contoh penggunaan bagian USERS:
USERS USERS
zacho tty1 @130.225.16.0/255.255.255.0 zacho tty1 @130.225.16.0/255.255.255.0
blue tty3 myclass2 blue tty3 myclass2
.in \-0.5 .in -0.5
.fi .fi
.PP .PP
KEtentuan ini mengizinkan zacho hanya boleh login pada tty1 dan dari KEtentuan ini mengizinkan zacho hanya boleh login pada tty1 dan dari

View File

@ -133,6 +133,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -1,6 +1,6 @@
.\" This file was generated with po4a. Translate the source file. .\" This file was generated with po4a. Translate the source file.
.\" .\"
.\"$Id: grpck.8,v 1.6 2005/12/01 20:38:26 kloczek Exp $ .\"$Id: grpck.8,v 1.7 2006/01/25 07:33:59 kloczek Exp $
.\" Copyright 1992 - 1993, Julianne Frances Haugh .\" Copyright 1992 - 1993, Julianne Frances Haugh
.\" All rights reserved. .\" All rights reserved.
.\" .\"
@ -47,7 +47,7 @@ Vengono fatti controlli per verificare che ogni voce abbia:
\- un nome univoco di gruppo \- un nome univoco di gruppo
.br .br
\- una lista valida di membri e amministratori \- una lista valida di membri e amministratori
.in \-.5i .in -.5i
.sp .sp
.PP .PP
Gli errori nelle verifiche sul corretto numero di campi e sull'univocità Gli errori nelle verifiche sul corretto numero di campi e sull'univocità

View File

@ -1,6 +1,6 @@
.\" This file was generated with po4a. Translate the source file. .\" This file was generated with po4a. Translate the source file.
.\" .\"
.\"$Id: pwck.8,v 1.2 2005/12/01 20:38:26 kloczek Exp $ .\"$Id: pwck.8,v 1.3 2006/01/25 07:33:59 kloczek Exp $
.\" Copyright 1992, Julianne Frances Haugh .\" Copyright 1992, Julianne Frances Haugh
.\" All rights reserved. .\" All rights reserved.
.\" .\"
@ -53,7 +53,7 @@ Vengono fatti controlli per verificare che ogni voce abbia:
\- una home directory valida \- una home directory valida
.br .br
\- una shell di login valida \- una shell di login valida
.in \-.5i .in -.5i
.sp .sp
.PP .PP
Gli errori nelle verifiche sul corretto numero di campi e sull'univocità Gli errori nelle verifiche sul corretto numero di campi e sull'univocità

View File

@ -132,6 +132,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -1,4 +1,4 @@
.\"$Id: grpck.8,v 1.7 2005/12/01 20:38:26 kloczek Exp $ .\"$Id: grpck.8,v 1.8 2006/01/25 07:33:59 kloczek Exp $
.\" Copyright 1992 - 1993, Julianne Frances Haugh .\" Copyright 1992 - 1993, Julianne Frances Haugh
.\" All rights reserved. .\" All rights reserved.
.\" .\"
@ -54,7 +54,7 @@ grpck \- グループファイルが正しいかどうか検査する
\- グループ名に重複がないか \- グループ名に重複がないか
.br .br
\- メンバーのリストと管理者のリストが正しいか \- メンバーのリストと管理者のリストが正しいか
.in \-.5i .in -.5i
.sp .sp
がチェックされる。 がチェックされる。
.P .P

View File

@ -1,4 +1,4 @@
.\" $Id: passwd.1,v 1.9 2005/12/01 20:38:26 kloczek Exp $ .\" $Id: passwd.1,v 1.10 2006/01/25 07:33:59 kloczek Exp $
.\" Copyright 1989 - 1994, Julianne Frances Haugh .\" Copyright 1989 - 1994, Julianne Frances Haugh
.\" All rights reserved. .\" All rights reserved.
.\" .\"
@ -153,7 +153,7 @@ kill 文字を含めないように注意すること。
使用不能期間である。 使用不能期間である。
.SS ユーザパスワードに対するヒント .SS ユーザパスワードに対するヒント
パスワードの安全性は暗号化アルゴリズムの強力さとキー空間の大きさに依存する。 パスワードの安全性は暗号化アルゴリズムの強力さとキー空間の大きさに依存する。
\fB\s\-2UNIX\s+2\fR のシステム暗号化の方法は \fB\s-2UNIX\s+2\fR のシステム暗号化の方法は
NBS DES アルゴリズムに基づいており、非常に安全性が高い。 NBS DES アルゴリズムに基づいており、非常に安全性が高い。
キー空間の大きさは選ばれたパスワードのランダムさに依存する。 キー空間の大きさは選ばれたパスワードのランダムさに依存する。
.PP .PP

View File

@ -1,4 +1,4 @@
.\"$Id: pwck.8,v 1.7 2005/12/01 20:38:26 kloczek Exp $ .\"$Id: pwck.8,v 1.8 2006/01/25 07:33:59 kloczek Exp $
.\" Copyright 1992, Julianne Frances Haugh .\" Copyright 1992, Julianne Frances Haugh
.\" All rights reserved. .\" All rights reserved.
.\" .\"
@ -61,7 +61,7 @@ pwck \- パスワードファイルが正しいかどうか検査する
\- ホームディレクトリが正しいか \- ホームディレクトリが正しいか
.br .br
\- ログインシェルが正しいか \- ログインシェルが正しいか
.in \-.5i .in -.5i
.sp .sp
がチェックされる。 がチェックされる。
.P .P

View File

@ -132,6 +132,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -142,7 +142,7 @@ CLASSES 섹션 예제:
CLASSES CLASSES
myclass1 tty1 tty2 myclass1 tty1 tty2
myclass2 tty3 @.foo.com myclass2 tty3 @.foo.com
.in \-.5 .in -.5
.fi .fi
.PP .PP
윗 예제는 윗 예제는
@ -176,7 +176,7 @@ GROUPS 섹션의 예제:
GROUPS GROUPS
sys tty1 @.bar.edu sys tty1 @.bar.edu
stud myclass1 tty4 stud myclass1 tty4
.in \-0.5 .in -0.5
.fi .fi
.PP .PP
윗 예제는 윗 예제는
@ -202,7 +202,7 @@ USERS 섹션 예제:
USERS USERS
zacho tty1 @130.225.16.0/255.255.255.0 zacho tty1 @130.225.16.0/255.255.255.0
blue tty3 myclass2 blue tty3 myclass2
.in \-0.5 .in -0.5
.fi .fi
.PP .PP
윗 예제는 zacho 계정 사용자는 IP 주소가 130.225.16.0 부터 130.225.16.255 윗 예제는 zacho 계정 사용자는 IP 주소가 130.225.16.0 부터 130.225.16.255

View File

@ -1,4 +1,4 @@
.TH SU 1L "GNU 쉘 유틸리티" "FSF" \" \-*\- nroff \-*\- .TH SU 1 "GNU 쉘 유틸리티" "FSF" \" \-*\- nroff \-*\-
.SH 이름 .SH 이름
su \- 사용자와 그룹 ID 를 교체하여 쉘을 실행한다 su \- 사용자와 그룹 ID 를 교체하여 쉘을 실행한다
.SH 개요 .SH 개요

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "LIMITS" "5" "11/05/2005" "File Formats and Conversions" "File Formats and Conversions" .TH "LIMITS" "5" "02/06/2006" "File Formats and Conversions" "File Formats and Conversions"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -72,8 +72,12 @@ For example,
\fIL2D2048N5\fR \fIL2D2048N5\fR
is a valid is a valid
\fILIMITS_STRING \fR. For reading convenience, the following entries are equivalent: \fILIMITS_STRING \fR. For reading convenience, the following entries are equivalent:
.PP .sp
username L2D2048N5username L2 D2048 N5 .nf
username L2D2048N5
username L2 D2048 N5
.fi
.PP .PP
Be aware that after Be aware that after
\fIusername\fR \fIusername\fR

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='limits.5'> <refentry id='limits.5'>
<!-- $Id: limits.5.xml,v 1.17 2005/11/05 17:17:29 kloczek Exp $ --> <!-- $Id: limits.5.xml,v 1.18 2006/02/07 04:03:45 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>limits</refentrytitle> <refentrytitle>limits</refentrytitle>
<manvolnum>5</manvolnum> <manvolnum>5</manvolnum>
@ -74,10 +74,10 @@
following entries are equivalent: following entries are equivalent:
</para> </para>
<para>username L2D2048N5 <programlisting>
<!-- .br --> username L2D2048N5
username L2 D2048 N5 username L2 D2048 N5
</para> </programlisting>
<para> <para>
Be aware that after <emphasis remap='I'>username</emphasis> the rest Be aware that after <emphasis remap='I'>username</emphasis> the rest

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "LOGIN" "1" "12/15/2005" "User Commands" "User Commands" .TH "LOGIN" "1" "01/07/2006" "User Commands" "User Commands"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -21,7 +21,7 @@ login \- begin session on the system
\fBlogin\fR \fBlogin\fR
is used to establish a new session with the system. It is normally invoked automatically by responding to the is used to establish a new session with the system. It is normally invoked automatically by responding to the
\fIlogin:\fR \fIlogin:\fR
prompt on the user\(aas terminal. prompt on the user's terminal.
\fBlogin\fR \fBlogin\fR
may be special to the shell and may not be invoked as a sub\-process. Typically, may be special to the shell and may not be invoked as a sub\-process. Typically,
\fBlogin\fR \fBlogin\fR

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='login.1'> <refentry id='login.1'>
<!-- $Id: login.1.xml,v 1.23 2005/12/15 14:50:15 kloczek Exp $ --> <!-- $Id: login.1.xml,v 1.24 2006/01/07 19:30:45 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>login</refentrytitle> <refentrytitle>login</refentrytitle>
<manvolnum>1</manvolnum> <manvolnum>1</manvolnum>
@ -39,7 +39,7 @@
<para> <para>
<command>login</command> is used to establish a new session with the <command>login</command> is used to establish a new session with the
system. It is normally invoked automatically by responding to the system. It is normally invoked automatically by responding to the
<emphasis remap='I'>login:</emphasis> prompt on the user&acute;s <emphasis remap='I'>login:</emphasis> prompt on the user's
terminal. <command>login</command> may be special to the shell and may terminal. <command>login</command> may be special to the shell and may
not be invoked as a sub-process. Typically, <command>login</command> not be invoked as a sub-process. Typically, <command>login</command>
is treated by the shell as <emphasis remap='B'>exec login</emphasis> is treated by the shell as <emphasis remap='B'>exec login</emphasis>

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "LOGIN.DEFS" "5" "11/05/2005" "File Formats and Conversions" "File Formats and Conversions" .TH "LOGIN.DEFS" "5" "03/07/2006" "File Formats and Conversions" "File Formats and Conversions"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -74,7 +74,7 @@ Range of user IDs to choose from for the
program. program.
.TP .TP
UMASK (number) UMASK (number)
The permission mask is initialized to this value. If not specified, the permission mask will be initialized to 077. The permission mask is initialized to this value. If not specified, the permission mask will be initialized to 022.
.TP .TP
USERDEL_CMD (string) USERDEL_CMD (string)
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). 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).

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='login.defs.5'> <refentry id='login.defs.5'>
<!-- $Id: login.defs.5.xml,v 1.15 2005/11/05 17:17:29 kloczek Exp $ --> <!-- $Id: login.defs.5.xml,v 1.16 2006/03/07 15:47:32 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>login.defs</refentrytitle> <refentrytitle>login.defs</refentrytitle>
<manvolnum>5</manvolnum> <manvolnum>5</manvolnum>
@ -162,7 +162,7 @@
<listitem> <listitem>
<para> <para>
The permission mask is initialized to this value. If not The permission mask is initialized to this value. If not
specified, the permission mask will be initialized to 077. specified, the permission mask will be initialized to 022.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

30
man/nologin.8 Normal file
View File

@ -0,0 +1,30 @@
.\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "NOLOGIN" "8" "01/07/2006" "System Management Commands" "System Management Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
nologin \- politely refuse a login
.SH "SYNOPSIS"
.HP 8
\fBnologin\fR
.SH "DESCRIPTION"
.PP
\fBnologin\fR
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 "HYSTORY"
.PP
The
\fBnologin\fR
command appeared in BSD 4.4.

54
man/nologin.8.xml Normal file
View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='newusers.8'>
<!-- $Id: nologin.8.xml,v 1.1 2006/01/07 19:02:31 kloczek Exp $ -->
<refmeta>
<refentrytitle>nologin</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo class="sectdesc">System Management Commands</refmiscinfo>
</refmeta>
<refnamediv id='name'>
<refname>nologin</refname>
<refpurpose>politely refuse a login</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>nologin</command>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id='description'>
<title>DESCRIPTION</title>
<para>
<command>nologin</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.
</para>
<para>
To disable all logins, investigate
<citerefentry><refentrytitle>nologin</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>.
</para>
</refsect1>
<refsect1 id='see_also'>
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>nologin</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>.
</para>
</refsect1>
<refsect1 id='history'>
<title>HYSTORY</title>
<para>
The <command>nologin</command> command appeared in BSD 4.4.
</para>
</refsect1>
</refentry>

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "PASSWD" "1" "12/03/2005" "User Commands" "User Commands" .TH "PASSWD" "1" "02/28/2006" "User Commands" "User Commands"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -11,15 +11,13 @@
passwd \- change user password passwd \- change user password
.SH "SYNOPSIS" .SH "SYNOPSIS"
.HP 7 .HP 7
\fBpasswd\fR [\-x\ \fImax\fR] [\-n\ \fImin\fR] [\-w\ \fIwarn\fR] [\-i\ \fIinact\fR] \fIlogin\fR \fBpasswd\fR [\fIoptions\fR] \fIlogin\fR
.HP 7
\fBpasswd\fR [\-l \-u \-d \-S \-e] \fIlogin\fR
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
\fBpasswd\fR \fBpasswd\fR
changes passwords for user accounts. A normal user may only change the password for his/her own account, the super user may change the password for any account. changes passwords for user accounts. A normal user may only change the password for his/her own account, while the super user may change the password for any account.
\fBpasswd\fR \fBpasswd\fR
also changes account information, such as the full name of the user, user's login shell, or password expiry date and interval. also changes account information, such as the full name of the user, the user's login shell, or his/her password expiry date and interval.
.SS "Password Changes" .SS "Password Changes"
.PP .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 super user is permitted to bypass this step so that forgotten passwords may be changed. 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 super user is permitted to bypass this step so that forgotten passwords may be changed.
@ -54,7 +52,7 @@ System encryption method is based on the NBS DES algorithm and is very secure. T
.PP .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. 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 .PP
Your password must easily remembered so that you will not be forced to write it on a piece of paper. This can be accomplished by appending two small words together and separating each with a special character or digit. For example, Pass%word. Your password must be easily remembered so that you will not be forced to write it on a piece of paper. This can be accomplished by appending two small words together and separating each with a special character or digit. For example, Pass%word.
.PP .PP
Other methods of construction involve selecting an easily remembered phrase from literature and selecting the first or last letter from each word. An example of this is: Other methods of construction involve selecting an easily remembered phrase from literature and selecting the first or last letter from each word. An example of this is:
.TP 3 .TP 3
@ -83,7 +81,7 @@ and causes show status for all users.
Delete a user's password (make it empty). This is a quick way to disable a password for an account. It will set the named account passwordless. Delete a user's password (make it empty). This is a quick way to disable a password for an account. It will set the named account passwordless.
.TP .TP
\fB\-e\fR, \fB\-\-expire\fR \fB\-e\fR, \fB\-\-expire\fR
Immediately expire an account\(cqs password. This in effect can force a user to change his/her password at the user\(cqs next login. Immediately expire an account's password. This in effect can force a user to change his/her password at the user's next login.
.TP .TP
\fB\-h\fR, \fB\-\-help\fR \fB\-h\fR, \fB\-\-help\fR
Display help message and exit. Display help message and exit.
@ -100,7 +98,7 @@ Indicate change password should be performed only for expired authentication tok
Lock the named account. This option disables an account by changing the password to a value which matches no possible encrypted value. Lock the named account. This option disables an account by changing the password to a value which matches no possible encrypted value.
.TP .TP
\fB\-n\fR, \fB\-\-mindays\fR \fIMIN_DAYS\fR \fB\-n\fR, \fB\-\-mindays\fR \fIMIN_DAYS\fR
Set the minimum number of days between password changes. A value of zero for this field indicates that the user may change her password at any time. Set the minimum number of days between password changes. A value of zero for this field indicates that the user may change his/her password at any time.
.TP .TP
\fB\-q\fR, \fB\-\-quiet\fR \fB\-q\fR, \fB\-\-quiet\fR
Quiet mode. Quiet mode.
@ -111,7 +109,7 @@ change password in
repository repository
.TP .TP
\fB\-S\fR, \fB\-\-status\fR \fB\-S\fR, \fB\-\-status\fR
Display account status information. The status information consists of 7 fields. The first field is the user\(cqs login name. The second field indicates if the user account is locked (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. Display account status information. The status information consists of 7 fields. The first field is the user's login name. The second field indicates if the user account is locked (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.
.TP .TP
\fB\-u\fR, \fB\-\-unlock\fR \fB\-u\fR, \fB\-\-unlock\fR
Unlock the named account. This option re\-enables an account by changing the password back to its previous value (to value before using Unlock the named account. This option re\-enables an account by changing the password back to its previous value (to value before using
@ -121,14 +119,14 @@ option).
\fB\-w\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR \fB\-w\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR
Set the number of days of warning before a password change is required. The Set the number of days of warning before a password change is required. The
\fIWARN_DAYS\fR \fIWARN_DAYS\fR
option is the number of days prior to the password expiring that a user will be warned her password is about to expire. 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.
.TP .TP
\fB\-x\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR \fB\-x\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR
Set the maximum number of days a password remains valid. After Set the maximum number of days a password remains valid. After
\fIMAX_DAYS\fR, the password is required to be changed. \fIMAX_DAYS\fR, the password is required to be changed.
.SH "CAVEATS" .SH "CAVEATS"
.PP .PP
Not all options may be supported. Password complexity checking may vary from site to site. The user is urged to select a password as complex as he feels comfortable with. 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. Not all options may be supported. 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. 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 "FILES" .SH "FILES"
.TP .TP
\fI/etc/passwd\fR \fI/etc/passwd\fR

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='passwd.1'> <refentry id='passwd.1'>
<!-- $Id: passwd.1.xml,v 1.23 2005/12/03 16:07:53 kloczek Exp $ --> <!-- $Id: passwd.1.xml,v 1.27 2006/02/28 19:23:59 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>passwd</refentrytitle> <refentrytitle>passwd</refentrytitle>
<manvolnum>1</manvolnum> <manvolnum>1</manvolnum>
@ -16,22 +16,9 @@
<refsynopsisdiv id='synopsis'> <refsynopsisdiv id='synopsis'>
<cmdsynopsis> <cmdsynopsis>
<command>passwd</command> <command>passwd</command>
<arg choice='opt'>-x <replaceable>max</replaceable></arg> <arg choice='opt'>
<arg choice='opt'>-n <replaceable>min</replaceable></arg> <replaceable>options</replaceable>
<arg choice='opt'>-w <replaceable>warn</replaceable></arg>
<arg choice='opt'>-i <replaceable>inact</replaceable></arg>
<arg choice='plain'><replaceable>login</replaceable>
</arg> </arg>
</cmdsynopsis>
<cmdsynopsis>
<command>passwd</command>
<group choice='opt'>
<arg choice='plain'>-l </arg>
<arg choice='plain'>-u </arg>
<arg choice='plain'>-d </arg>
<arg choice='plain'>-S </arg>
<arg choice='plain'>-e </arg>
</group>
<arg choice='plain'><replaceable>login</replaceable></arg> <arg choice='plain'><replaceable>login</replaceable></arg>
</cmdsynopsis> </cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
@ -40,17 +27,17 @@
<title>DESCRIPTION</title> <title>DESCRIPTION</title>
<para> <para>
<command>passwd</command> changes passwords for user accounts. A <command>passwd</command> changes passwords for user accounts. A
normal user may only change the password for his/her own account, the normal user may only change the password for his/her own account, while
super user may change the password for any account. the super user may change the password for any account.
<command>passwd</command> also changes account information, such as <command>passwd</command> also changes account information, such as
the full name of the user, user's login shell, or password expiry date the full name of the user, the user's login shell, or his/her password
and interval. expiry date and interval.
</para> </para>
<refsect2 id='password_changes'> <refsect2 id='password_changes'>
<title>Password Changes</title> <title>Password Changes</title>
<para> <para>
The user is first prompted for his/her old password, if one is The user is first prompted for his/her old password, if one is
present. This password is then encrypted and compared against the present. This password is then encrypted and compared against the
stored password. The user has only one chance to enter the correct stored password. The user has only one chance to enter the correct
password. The super user is permitted to bypass this step so that password. The super user is permitted to bypass this step so that
@ -58,14 +45,14 @@
</para> </para>
<para> <para>
After the password has been entered, password aging information is After the password has been entered, password aging information is
checked to see if the user is permitted to change the password at checked to see if the user is permitted to change the password at
this time. If not, <command>passwd</command> refuses to change the this time. If not, <command>passwd</command> refuses to change the
password and exits. password and exits.
</para> </para>
<para> <para>
The user is then prompted for a replacement password. This password The user is then prompted for a replacement password. This password
is tested for complexity. As a general guideline, passwords should is tested for complexity. As a general guideline, passwords should
consist of 6 to 8 characters including one or more from each of consist of 6 to 8 characters including one or more from each of
following sets: following sets:
@ -84,22 +71,22 @@
</itemizedlist> </itemizedlist>
<para> <para>
Care must be taken not to include the system default erase or kill Care must be taken not to include the system default erase or kill
characters. <command>passwd</command> will reject any password which characters. <command>passwd</command> will reject any password which
is not suitably complex. is not suitably complex.
</para> </para>
<para>If the password is accepted, <command>passwd</command> will <para>
prompt again and compare the second entry against the first. Both If the password is accepted, <command>passwd</command> will prompt
entries are required to match in order for the password to be again and compare the second entry against the first. Both entries
changed. are required to match in order for the password to be changed.
</para> </para>
</refsect2> </refsect2>
<refsect2 id='hints_for_user_passwords'> <refsect2 id='hints_for_user_passwords'>
<title>Hints for user passwords</title> <title>Hints for user passwords</title>
<para> <para>
The security of a password depends upon the strength of the The security of a password depends upon the strength of the
encryption algorithm and the size of the key space. The encryption algorithm and the size of the key space. The
<emphasis>UNIX</emphasis> System encryption method is based on the <emphasis>UNIX</emphasis> System encryption method is based on the
NBS DES algorithm and is very secure. The size of the key space NBS DES algorithm and is very secure. The size of the key space
@ -107,7 +94,7 @@
</para> </para>
<para> <para>
Compromises in password security normally result from careless Compromises in password security normally result from careless
password selection or handling. For this reason, you should not password selection or handling. For this reason, you should not
select a password which appears in a dictionary or which must be select a password which appears in a dictionary or which must be
written down. The password should also not be a proper name, your written down. The password should also not be a proper name, your
@ -116,14 +103,14 @@
</para> </para>
<para> <para>
Your password must easily remembered so that you will not be forced Your password must be easily remembered so that you will not be forced
to write it on a piece of paper. This can be accomplished by to write it on a piece of paper. This can be accomplished by
appending two small words together and separating each with a appending two small words together and separating each with a
special character or digit. For example, Pass%word. special character or digit. For example, Pass%word.
</para> </para>
<para> <para>
Other methods of construction involve selecting an easily remembered Other methods of construction involve selecting an easily remembered
phrase from literature and selecting the first or last letter from phrase from literature and selecting the first or last letter from
each word. An example of this is: each word. An example of this is:
</para> </para>
@ -141,7 +128,7 @@
</itemizedlist> </itemizedlist>
<para> <para>
You may be reasonably sure few crackers will have included this in You may be reasonably sure few crackers will have included this in
their dictionaries. You should, however, select your own methods for their dictionaries. You should, however, select your own methods for
constructing passwords and not rely exclusively on the methods given constructing passwords and not rely exclusively on the methods given
here. here.
@ -184,8 +171,8 @@
</term> </term>
<listitem> <listitem>
<para> <para>
Immediately expire an accounts password. This in effect can Immediately expire an account's password. This in effect can
force a user to change his/her password at the users next login. force a user to change his/her password at the user's next login.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -238,7 +225,7 @@
<listitem> <listitem>
<para> <para>
Set the minimum number of days between password changes. A value Set the minimum number of days between password changes. A value
of zero for this field indicates that the user may change her of zero for this field indicates that the user may change his/her
password at any time. password at any time.
</para> </para>
</listitem> </listitem>
@ -270,7 +257,7 @@
<listitem> <listitem>
<para> <para>
Display account status information. The status information Display account status information. The status information
consists of 7 fields. The first field is the users login name. consists of 7 fields. The first field is the user's login name.
The second field indicates if the user account is locked (L), The second field indicates if the user account is locked (L),
has no password (NP), or has a usable password (P). The third has no password (NP), or has a usable password (P). The third
field gives the date of the last password change. The next four field gives the date of the last password change. The next four
@ -301,7 +288,7 @@
Set the number of days of warning before a password change is Set the number of days of warning before a password change is
required. The <replaceable>WARN_DAYS</replaceable> option is required. The <replaceable>WARN_DAYS</replaceable> option is
the number of days prior to the password expiring that a user the number of days prior to the password expiring that a user
will be warned her password is about to expire. will be warned that his/her password is about to expire.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -325,9 +312,9 @@
<para> <para>
Not all options may be supported. Password complexity checking may Not all options may be supported. Password complexity checking may
vary from site to site. The user is urged to select a password as vary from site to site. The user is urged to select a password as
complex as he feels comfortable with. Users may not be able to change complex as he or she feels comfortable with. Users may not be able to
their password on a system if NIS is enabled and they are not logged change their password on a system if NIS is enabled and they are not
into the NIS server. logged into the NIS server.
</para> </para>
</refsect1> </refsect1>

View File

@ -2,13 +2,13 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "PASSWD" "5" "11/05/2005" "File Formats and Conversions" "File Formats and Conversions" .TH "PASSWD" "5" "01/22/2006" "File Formats and Conversions" "File Formats and Conversions"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
.ad l .ad l
.SH "NAME" .SH "NAME"
passwd \- The password file passwd \- the password file
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
\fI/etc/passwd\fR \fI/etc/passwd\fR

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='passwd.5'> <refentry id='passwd.5'>
<!-- $Id: passwd.5.xml,v 1.14 2005/11/05 17:17:30 kloczek Exp $ --> <!-- $Id: passwd.5.xml,v 1.16 2006/02/20 01:05:45 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>passwd</refentrytitle> <refentrytitle>passwd</refentrytitle>
<manvolnum>5</manvolnum> <manvolnum>5</manvolnum>
@ -10,7 +10,7 @@
</refmeta> </refmeta>
<refnamediv id='name'> <refnamediv id='name'>
<refname>passwd</refname> <refname>passwd</refname>
<refpurpose>The password file</refpurpose> <refpurpose>the password file</refpurpose>
</refnamediv> </refnamediv>
<refsect1 id='description'> <refsect1 id='description'>
@ -95,7 +95,7 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><filename>/etc/shadow</filename></term> <term><filename>/etc/shadow</filename></term>
<listitem> <listitem>
<para>optional encrypted password file</para> <para>optional encrypted password file</para>
</listitem> </listitem>

View File

@ -132,6 +132,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -1,4 +1,4 @@
.\" $Id: grpck.8,v 1.10 2005/12/01 20:38:27 kloczek Exp $ .\" $Id: grpck.8,v 1.11 2006/01/25 07:34:00 kloczek Exp $
.\" Copyright 1992 - 1993, Julianne Frances Haugh .\" Copyright 1992 - 1993, Julianne Frances Haugh
.\" All rights reserved. .\" All rights reserved.
.\" .\"
@ -46,7 +46,7 @@ Kontrolowane jest czy każda pozycja posiada:
\- unikalną nazwę grupy \- unikalną nazwę grupy
.br .br
\- poprawną listę członków i administratorów \- poprawną listę członków i administratorów
.in \-.5i .in -.5i
.sp .sp
.P .P
Kontrola właściwej liczby pól i niepowtarzalnej nazwy grupy jest Kontrola właściwej liczby pól i niepowtarzalnej nazwy grupy jest

View File

@ -1,4 +1,4 @@
.\" $Id: login.defs.5,v 1.9 2005/12/01 20:38:27 kloczek Exp $ .\" $Id: login.defs.5,v 1.10 2006/01/25 07:34:00 kloczek Exp $
.\" Copyright 1991 \- 1993, Julianne Frances Haugh and Chip Rosenthal .\" Copyright 1991 \- 1993, Julianne Frances Haugh and Chip Rosenthal
.\" All rights reserved. .\" All rights reserved.
.\" .\"
@ -255,7 +255,7 @@ Tą wartością inicjowany jest terminalowy znak
Jest to obsługiwane tylko w systemach z interfejsem Jest to obsługiwane tylko w systemach z interfejsem
.IR termio, .IR termio,
np. System V. Jeżeli nie podano parametru, to znak kasowania zostanie np. System V. Jeżeli nie podano parametru, to znak kasowania zostanie
zainicjowany na \s\-2CTRL/U\s0. Informację powiązaną znajdziesz w opisie zainicjowany na \s-2CTRL/U\s0. Informację powiązaną znajdziesz w opisie
ERASECHAR. ERASECHAR.
.\" .\"
.IP "LASTLOG_ENAB (logiczna)" .IP "LASTLOG_ENAB (logiczna)"

View File

@ -1,4 +1,4 @@
.\" $Id: passwd.1,v 1.16 2005/12/01 20:38:27 kloczek Exp $ .\" $Id: passwd.1,v 1.17 2006/01/25 07:34:00 kloczek Exp $
.\" Copyright 1989 - 1994, Julianne Frances Haugh .\" Copyright 1989 - 1994, Julianne Frances Haugh
.\" All rights reserved. .\" All rights reserved.
.\" .\"
@ -130,7 +130,7 @@ następne cztery to minimalny wiek, maksymalny wiek, okres ostrzegania i okres
nieaktywności hasła. nieaktywności hasła.
.SS Podpowiedzi dotyczące haseł użytkownika .SS Podpowiedzi dotyczące haseł użytkownika
Bezpieczeństwo hasła zależy od siły algorytmu kodującego oraz rozmiaru Bezpieczeństwo hasła zależy od siły algorytmu kodującego oraz rozmiaru
przestrzeni kluczy. Metoda kodowania używana w Systemie \fB\s\-2UNIX\s+2\fR przestrzeni kluczy. Metoda kodowania używana w Systemie \fB\s-2UNIX\s+2\fR
oparta jest o algorytm NBS DES i jest bardzo bezpieczna. Rozmiar przestrzeni oparta jest o algorytm NBS DES i jest bardzo bezpieczna. Rozmiar przestrzeni
kluczy zależy od losowości wybranego hasła. kluczy zależy od losowości wybranego hasła.
.PP .PP

View File

@ -1,4 +1,4 @@
.\" $Id: pwck.8,v 1.8 2005/12/01 20:38:27 kloczek Exp $ .\" $Id: pwck.8,v 1.9 2006/01/25 07:34:00 kloczek Exp $
.\" Copyright 1992, Julianne Frances Haugh .\" Copyright 1992, Julianne Frances Haugh
.\" All rights reserved. .\" All rights reserved.
.\" .\"
@ -52,7 +52,7 @@ Kontrolowane jest czy każda pozycja posiada:
\- poprawny katalog domowy \- poprawny katalog domowy
.br .br
\- poprawną powłokę zgłoszeniową (startową) \- poprawną powłokę zgłoszeniową (startową)
.in \-.5i .in -.5i
.sp .sp
.P .P
Kontrola właściwej liczby pól i niepowtarzalnej nazwy użytkownika jest Kontrola właściwej liczby pól i niepowtarzalnej nazwy użytkownika jest

View File

@ -132,6 +132,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<refentry id='pwck.8'> <refentry id='pwck.8'>
<!-- $Id: pwck.8.xml,v 1.16 2005/12/02 22:20:23 kloczek Exp $ --> <!-- $Id: pwck.8.xml,v 1.17 2006/02/20 01:05:45 kloczek Exp $ -->
<refmeta> <refmeta>
<refentrytitle>pwck</refentrytitle> <refentrytitle>pwck</refentrytitle>
<manvolnum>8</manvolnum> <manvolnum>8</manvolnum>
@ -106,8 +106,8 @@
</term> </term>
<listitem> <listitem>
<para> <para>
Report errors only. The warnings which do not require any Report errors only. The warnings which do not require any
action from the user won't be displayed. action from the user won't be displayed.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -28,6 +28,7 @@ man_MANS = \
logoutd.8 \ logoutd.8 \
newgrp.1 \ newgrp.1 \
newusers.8 \ newusers.8 \
nologin.8 \
passwd.1 \ passwd.1 \
passwd.5 \ passwd.5 \
porttime.5 \ porttime.5 \

View File

@ -133,6 +133,8 @@ SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
U = @U@ U = @U@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@ VERSION = @VERSION@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@ XMLCATALOG = @XMLCATALOG@
@ -210,6 +212,7 @@ man_MANS = \
logoutd.8 \ logoutd.8 \
newgrp.1 \ newgrp.1 \
newusers.8 \ newusers.8 \
nologin.8 \
passwd.1 \ passwd.1 \
passwd.5 \ passwd.5 \
porttime.5 \ porttime.5 \

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "chage" "1" "11/10/2005" "Пользовательские команды" "Пользовательские команды" .TH "chage" "1" "03/11/2006" "Пользовательские команды" "Пользовательские команды"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -11,7 +11,7 @@
chage \- изменяет информацию об устаревании пароля пользователя chage \- изменяет информацию об устаревании пароля пользователя
.SH "СИНТАКСИС" .SH "СИНТАКСИС"
.HP 6 .HP 6
\fBchage\fR [\fIпараметры\fR] \fIпользователь\fR \fBchage\fR [\fIпараметры\fR] \fIuser\fR
.SH "ОПИСАНИЕ" .SH "ОПИСАНИЕ"
.PP .PP
\fBchage\fR \fBchage\fR
@ -23,7 +23,7 @@ chage \- изменяет информацию об устаревании па
: :
.TP .TP
\fB\-d\fR, \fB\-\-lastday\fR \fILAST_DAY\fR \fB\-d\fR, \fB\-\-lastday\fR \fILAST_DAY\fR
Установить дату последней смены пароля, которая задаётся числом дней прошедших с 1 января 1970 года. Дата может быть также указана в виде ГГГГ\-ММ\-ДД (или в форме согласно региональным настройкам). Установить число дней прошедших с 1 января 1970 года, когда была последняя смена пароля. Дата может быть также указана в виде ГГГГ\-ММ\-ДД (или в форме согласно региональным настройкам).
.TP .TP
\fB\-E\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR \fB\-E\fR, \fB\-\-expiredate\fR \fIEXPIRE_DATE\fR
Установить дату устаревания учётной записи пользователя, которая задаётся числом дней прошедших с 1 января 1970 года. Дата может быть также задана в виде ГГГГ\-ММ\-ДД (или в форме согласно региональным настройкам). Пользователь, чья учётная запись была заблокирована, должен обратиться к системному администратору, если хочет в дальнейшем работать с системой. Установить дату устаревания учётной записи пользователя, которая задаётся числом дней прошедших с 1 января 1970 года. Дата может быть также задана в виде ГГГГ\-ММ\-ДД (или в форме согласно региональным настройкам). Пользователь, чья учётная запись была заблокирована, должен обратиться к системному администратору, если хочет в дальнейшем работать с системой.
@ -52,7 +52,7 @@ chage \- изменяет информацию об устаревании па
Показать информацию об устаревании учётной записи. Показать информацию об устаревании учётной записи.
.TP .TP
\fB\-m\fR, \fB\-\-mindays\fR \fIMIN_DAYS\fR \fB\-m\fR, \fB\-\-mindays\fR \fIMIN_DAYS\fR
Установить минимальное число дней между сменами пароля. Значение 0 в этом поле указывает, что пользователь может сменить пароль в любое время. Задать минимальное количество дней между сменой пароля. Нулевое значение этого поля указывает на то, что пользователь может менять свой пароль когда захочет.
.TP .TP
\fB\-M\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR \fB\-M\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR
Установить максимальное число дней работоспособности пароля. Если сумма значений Установить максимальное число дней работоспособности пароля. Если сумма значений
@ -65,7 +65,7 @@ chage \- изменяет информацию об устаревании па
.sp .sp
Указание значения Указание значения
\fI\-1\fR \fI\-1\fR
в параметре как
\fIMAX_DAYS\fR \fIMAX_DAYS\fR
отменяет проверку пароля. отменяет проверку пароля.
.TP .TP
@ -74,21 +74,19 @@ chage \- изменяет информацию об устаревании па
\fIWARN_DAYS\fR \fIWARN_DAYS\fR
задаётся в днях, в течении которых пользователь будет получать предупреждение об устаревании пароля, перед тем как это случится. задаётся в днях, в течении которых пользователь будет получать предупреждение об устаревании пароля, перед тем как это случится.
.PP .PP
Если не один параметр не указан, то Если ни один параметр не указан, то
\fBchage\fR \fBchage\fR
переходит в интерактивный режим, предлагая запустившему пользователю изменить значения всех полей своей учётной записи. Вводимое значение заменяет текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение дано в скобках переходит в интерактивный режим, предлагая запустившему пользователю изменить значения всех полей своей учётной записи. Вводимое значение заменяет текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение дано в скобках
\fI[ ]\fR. \fI[ ]\fR.
.SH "ЗАМЕЧАНИЕ" .SH "ЗАМЕЧАНИЕ"
.PP .PP
Программа
\fBchage\fR \fBchage\fR
требует наличия файла теневых паролей. Если пароли хранятся в файле passwd, то вся функциональность программы становится недоступной. требует наличия файла теневых паролей. Если пароли хранятся в файле passwd, то вся функциональность программы становится недоступной.
.PP .PP
Программа
\fBchage\fR \fBchage\fR
работает только от суперпользователя, за ислючением параметра работает только от суперпользователя, за исключением параметра
\fB\-l\fR \fB\-l\fR
, который может использоваться непривелегированным пользователем для определения даты устаревания своего пароля. , который может использоваться непривилегированным пользователем для определения даты устаревания своего пароля.
.SH "ФАЙЛЫ" .SH "ФАЙЛЫ"
.TP .TP
\fI/etc/passwd\fR \fI/etc/passwd\fR
@ -98,7 +96,6 @@ chage \- изменяет информацию об устаревании па
содержит защищаемую информацию о пользователях содержит защищаемую информацию о пользователях
.SH "ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ" .SH "ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ"
.PP .PP
Программа
\fBchage\fR \fBchage\fR
завершая работу, возвращает следующие значения: завершая работу, возвращает следующие значения:
.TP .TP
@ -109,7 +106,7 @@ chage \- изменяет информацию об устаревании па
доступ запрещён доступ запрещён
.TP .TP
\fI2\fR \fI2\fR
ошибка в параметрах командной строки ошибка в параметрах команды
.TP .TP
\fI15\fR \fI15\fR
не удалось найти файл теневых паролей не удалось найти файл теневых паролей

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "chfn" "1" "11/10/2005" "Пользовательские команды" "Пользовательские команды" .TH "chfn" "1" "03/11/2006" "Пользовательские команды" "Пользовательские команды"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -11,11 +11,11 @@
chfn \- изменяет информацию о пользователе chfn \- изменяет информацию о пользователе
.SH "СИНТАКСИС" .SH "СИНТАКСИС"
.HP 5 .HP 5
\fBchfn\fR [\-f\ \fIФИО\fR] [\-r\ \fIномер\ комнаты\fR] [\-w\ \fIрабочий\ телефон\fR] [\-h\ \fIдомашний\ телефон\fR] [\-o\ \fIдругое\fR] [\fIпользователь\fR] \fBchfn\fR [\-f\ \fIФИО\fR] [\-r\ \fIномер\ комнаты\fR] [\-w\ \fIрабочий\ телефон\fR] [\-h\ \fIдомашний\ телефон\fR] [\-o\ \fIдругое\fR] [\fIuser\fR]
.SH "ОПИСАНИЕ" .SH "ОПИСАНИЕ"
.PP .PP
\fBchfn\fR \fBchfn\fR
изменяет полное имя, рабочий телефон, рабочие координаты и домашний номер телефона учётной записи пользователя. Обычно, эти данные выводятся командной изменяет ФИО, рабочий телефон, рабочие координаты и домашний номер телефона учётной записи пользователя. Обычно, эти данные выводятся командной
\fBfinger\fR(1) \fBfinger\fR(1)
и ей подобными программами. Обычный пользователь может изменить только определённые поля собственной учётной записи, разрешённые в файле и ей подобными программами. Обычный пользователь может изменить только определённые поля собственной учётной записи, разрешённые в файле
\fI/etc/login.defs\fR. (Настройкой по умолчанию пользователю не разрешается менять своё имя и фамилию.) Суперпользователь может изменять любое поле любой учётной записи. Кроме того, только суперпользователь может использовать параметр \fI/etc/login.defs\fR. (Настройкой по умолчанию пользователю не разрешается менять своё имя и фамилию.) Суперпользователь может изменять любое поле любой учётной записи. Кроме того, только суперпользователь может использовать параметр
@ -24,11 +24,11 @@ chfn \- изменяет информацию о пользователе
.PP .PP
Единственным ограничением значений полей является то, что они не должны содержать управляющих символов, запятых, двоеточий или знака равно. На поле " Единственным ограничением значений полей является то, что они не должны содержать управляющих символов, запятых, двоеточий или знака равно. На поле "
\fIдругое\fR \fIдругое\fR
" не действует это ограничение, и оно может использоваться для хранения информации об учётной записи любых приложений. " не действует это ограничение, и оно может использоваться для хранения информации об учётной записи для любых приложений.
.PP .PP
Если не один параметр не указан, то Если ни один параметр не указан, то
\fBchfn\fR \fBchfn\fR
переходит в интерактивный режим, предлагая запустившему пользователю изменить значения полей своей учётной записи. Вводимое значение заменяет текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение дано в скобках переходит в интерактивный режим, предлагая запустившему пользователю изменить значения полей своей учётной записи. Вводимое значение заменяет текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение показано в скобках
\fI[ ]\fR. Без параметров, программа chfn изменяет учётную запись запустившего пользователя. \fI[ ]\fR. Без параметров, программа chfn изменяет учётную запись запустившего пользователя.
.SH "ФАЙЛЫ" .SH "ФАЙЛЫ"
.TP .TP

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "chpasswd" "8" "11/10/2005" "Команды управления системой" "Команды управления системой" .TH "chpasswd" "8" "03/11/2006" "Команды управления системой" "Команды управления системой"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -19,7 +19,7 @@ chpasswd \- обновляет пароли в пакетном режиме
.PP .PP
\fIимя_пользователя\fR:\fIпароль\fR \fIимя_пользователя\fR:\fIпароль\fR
.PP .PP
По умолчанию, передаваемый пароль должен быть в виде обычного текста. Алгоритмом шифрования по умолчанию является DES. Также, если используется дата устаревания пароля, то она будет обновлёна. По умолчанию, передаваемый пароль должен быть в виде обычного текста. Алгоритмом шифрования по умолчанию является DES. Также, если есть срок устаревания пароля, то он будет обновлён.
.PP .PP
Данная команда предназначена для работы в крупных системных средах, где за один раз заводится несколько учётных записей. Данная команда предназначена для работы в крупных системных средах, где за один раз заводится несколько учётных записей.
.SH "ПАРАМЕТРЫ" .SH "ПАРАМЕТРЫ"
@ -32,15 +32,13 @@ chpasswd \- обновляет пароли в пакетном режиме
Передаваемые пароли заданы в шифрованном виде. Передаваемые пароли заданы в шифрованном виде.
.TP .TP
\fB\-h\fR, \fB\-\-help\fR \fB\-h\fR, \fB\-\-help\fR
Показать это сообщение и выйти. Показать краткую справку и закончить работу.
.TP .TP
\fB\-m\fR, \fB\-\-md5\fR \fB\-m\fR, \fB\-\-md5\fR
Использовать алгоритм шифрования MD5 вместо DES, если пароли передаются не шифрованными. Использовать алгоритм шифрования MD5 вместо DES, если пароли передаются не шифрованными.
.SH "ПРЕДОСТЕРЕЖЕНИЯ" .SH "ПРЕДОСТЕРЕЖЕНИЯ"
.PP .PP
Не позволяйте другим читать файл, передаваемый на стандартный ввод команды Не забудьте установить права или umask, чтобы не позволить чтение нешифрованных файлов другими пользователями.
\fBchpasswd\fR
, если в нём содержатся не шифрованные пароли.
.SH "СМОТРИТЕ ТАКЖЕ" .SH "СМОТРИТЕ ТАКЖЕ"
.PP .PP
\fBpasswd\fR(1), \fBpasswd\fR(1),

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "chsh" "1" "11/10/2005" "Пользовательские команды" "Пользовательские команды" .TH "chsh" "1" "03/11/2006" "Пользовательские команды" "Пользовательские команды"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -11,11 +11,11 @@
chsh \- изменяет регистрационную оболочку пользователя chsh \- изменяет регистрационную оболочку пользователя
.SH "СИНТАКСИС" .SH "СИНТАКСИС"
.HP 5 .HP 5
\fBchsh\fR [\-s\ \fIрегистрационная\ оболочка\ пользователя\fR] [\fIпользователь\fR] \fBchsh\fR [\-s\ \fIрегистрационная\ оболочка\ пользователя\fR] [\fIuser\fR]
.SH "ОПИСАНИЕ" .SH "ОПИСАНИЕ"
.PP .PP
\fBchsh\fR \fBchsh\fR
изменяет регистрационную оболочку пользователя. Она определяет команду, запускаемую после регистрации пользователя в системе. Обычный пользователь может изменять регистрационную оболочку только для своей учётной записи, суперпользователь может изменить регистрационную оболочку любой учётной записи. изменяет регистрационную оболочку пользователя. Она определяет какая команда будет запущена после регистрации пользователя в системе. Обычный пользователь может изменять регистрационную оболочку только для своей учётной записи, суперпользователь может изменять регистрационную оболочку любой учётной записи.
.PP .PP
Все допустимые имена регистрационных оболочек должны быть указаны в файле Все допустимые имена регистрационных оболочек должны быть указаны в файле
\fI/etc/shells\fR. На суперпользователя это ограничение не действует и поэтому ему разрешено указывать любое значение. Для учётной записи с ограниченной регистрационной оболочкой пользователь не может изменить свою регистрационную оболочку. Поэтому, команду \fI/etc/shells\fR. На суперпользователя это ограничение не действует и поэтому ему разрешено указывать любое значение. Для учётной записи с ограниченной регистрационной оболочкой пользователь не может изменить свою регистрационную оболочку. Поэтому, команду
@ -29,7 +29,7 @@ chsh \- изменяет регистрационную оболочку пол
\fB\-s\fR \fB\-s\fR
не задан, то не задан, то
\fBchsh\fR \fBchsh\fR
переходит в интерактивный режим, предлагая пользователю изменить свою регистрационную оболочку. Вводимое значение заменяет текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение регистрационной оболочки дано в скобках переходит в интерактивный режим, предлагая пользователю изменить свою регистрационную оболочку. Вводимое значение заменяет текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение регистрационной оболочки указано в скобках
\fI[ ]\fR. \fI[ ]\fR.
.SH "ФАЙЛЫ" .SH "ФАЙЛЫ"
.TP .TP

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "expiry" "1" "11/10/2005" "Пользовательские команды" "Пользовательские команды" .TH "expiry" "1" "03/11/2006" "Пользовательские команды" "Пользовательские команды"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "faillog" "5" "11/10/2005" "" "" .TH "faillog" "5" "03/11/2006" "" ""
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -12,7 +12,7 @@ faillog \- файл протокола неудачных попыток вхо
.SH "ОПИСАНИЕ" .SH "ОПИСАНИЕ"
.PP .PP
\fI/var/log/faillog\fR \fI/var/log/faillog\fR
хранит число неудачных попыток входа в систему и их предельное число для каждой учётной записи. Этот файл состоит из записей постоянной длины, упорядоченных по числовому идентификатору учётной записи. Каждая запись содержит число неудачных попыток входа с момента последнего успешного входа в систему; максимальное число неудачных попыток перед тем как учётная запись будет заблокирована; терминал, с которого осуществлялась последняя неудачная попытка входа и дата этого события. хранит число неудачных попыток входа в систему и их предельное число для каждой учётной записи. Этот файл состоит из записей постоянной длины, упорядоченных по числовому идентификатору учётной записи. Каждая запись содержит число неудачных попыток входа с момента последнего успешного входа в систему, максимальное число неудачных попыток перед тем как учётная запись будет заблокирована, терминал, с которого осуществлялась последняя неудачная попытка входа и дата этого события.
.PP .PP
Структура файла: Структура файла:
.sp .sp

View File

@ -2,13 +2,13 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "faillog" "8" "11/10/2005" "Команды управления системой" "Команды управления системой" .TH "faillog" "8" "03/11/2006" "Команды управления системой" "Команды управления системой"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
.ad l .ad l
.SH "НАЗВАНИЕ" .SH "НАЗВАНИЕ"
faillog \- показывает записи faillog или задаёт предел неудачных попыток входа в систему faillog \- показывает записи из файла faillog или задаёт предел неудачных попыток входа в систему
.SH "СИНТАКСИС" .SH "СИНТАКСИС"
.HP 8 .HP 8
\fBfaillog\fR [\fIпараметры\fR] \fBfaillog\fR [\fIпараметры\fR]
@ -18,7 +18,7 @@ faillog \- показывает записи faillog или задаёт пре
форматирует содержимое журнала неудачных попыток из файла базы данных форматирует содержимое журнала неудачных попыток из файла базы данных
\fI/var/log/faillog\fR. Также, она может быть использована для управления счётчиком неудачных попыток и его пределом. При запуске \fI/var/log/faillog\fR. Также, она может быть использована для управления счётчиком неудачных попыток и его пределом. При запуске
\fBfaillog\fR \fBfaillog\fR
без параметров выводятся записи faillog только тех пользователей, для которых имеется хотя бы одна неудачная попытка входа. без параметров выводятся записи faillog только тех пользователей, у которых имеется хотя бы одна неудачная попытка входа.
.SH "ПАРАМЕТРЫ" .SH "ПАРАМЕТРЫ"
.PP .PP
Возможные параметры команды Возможные параметры команды
@ -29,7 +29,7 @@ faillog \- показывает записи faillog или задаёт пре
Показать записи faillog для всех пользователей. Показать записи faillog для всех пользователей.
.TP .TP
\fB\-h\fR, \fB\-\-help\fR \fB\-h\fR, \fB\-\-help\fR
Показать это сообщение и выйти. Показать краткую справку и закончить работу.
.TP .TP
\fB\-l\fR, \fB\-\-lock\-time\fR \fISEC\fR \fB\-l\fR, \fB\-\-lock\-time\fR \fISEC\fR
Блокировать учётную запись на Блокировать учётную запись на
@ -47,12 +47,11 @@ faillog \- показывает записи faillog или задаёт пре
\fB\-r\fR, \fB\-\-reset\fR \fB\-r\fR, \fB\-\-reset\fR
Обнулить счётчик неудачных попыток входа для всех записей или для одного пользователя, заданного параметром \-u Обнулить счётчик неудачных попыток входа для всех записей или для одного пользователя, заданного параметром \-u
\fILOGIN\fR. Для этого требуются права на запись в файл \fILOGIN\fR. Для этого требуются права на запись в файл
\fI/var/log/faillog\fR \fI/var/log/faillog\fR.
.
.TP .TP
\fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR \fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR
Показать записи faillog новее чем Показать записи faillog новее чем (дней)
\fIDAYS\fRдней. Параметр \fIDAYS\fR.
\fB\-t\fR \fB\-t\fR
отменяет действие параметра отменяет действие параметра
\fB\-u\fR. \fB\-u\fR.

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "gpasswd" "1" "11/10/2005" "Пользовательские команды" "Пользовательские команды" .TH "gpasswd" "1" "03/11/2006" "Пользовательские команды" "Пользовательские команды"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -13,9 +13,9 @@ gpasswd \- управляет файлом /etc/group
.HP 8 .HP 8
\fBgpasswd\fR \fIgroup\fR \fBgpasswd\fR \fIgroup\fR
.HP 8 .HP 8
\fBgpasswd\fR \-a\ \fIпользователь\fR \fIgroup\fR \fBgpasswd\fR \-a\ \fIuser\fR \fIgroup\fR
.HP 8 .HP 8
\fBgpasswd\fR \-d\ \fIпользователь\fR \fIgroup\fR \fBgpasswd\fR \-d\ \fIuser\fR \fIgroup\fR
.HP 8 .HP 8
\fBgpasswd\fR \-R\ \fIgroup\fR \fBgpasswd\fR \-R\ \fIgroup\fR
.HP 8 .HP 8

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "groupadd" "8" "11/10/2005" "Команды управления системой" "Команды управления системой" .TH "groupadd" "8" "03/11/2006" "Команды управления системой" "Команды управления системой"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -11,10 +11,9 @@
groupadd \- создаёт новую группу groupadd \- создаёт новую группу
.SH "СИНТАКСИС" .SH "СИНТАКСИС"
.HP 9 .HP 9
\fBgroupadd\fR [\-g\ \fIgid\fR\ [\-o]] [\-f] [\-K\ \fIКЛЮЧ\fR=\fIЗНАЧЕНИЕ\fR] \fIгруппа\fR \fBgroupadd\fR [\-g\ \fIGID\fR\ [\-o]] [\-f] [\-K\ \fIКЛЮЧ\fR=\fIЗНАЧЕНИЕ\fR] \fIgroup\fR
.SH "ОПИСАНИЕ" .SH "ОПИСАНИЕ"
.PP .PP
Команда
\fBgroupadd\fR \fBgroupadd\fR
создаёт новую группу, согласно указанным значениям командной строки и системным значениям по умолчанию. Новая группа будет добавлена в системные файлы. создаёт новую группу, согласно указанным значениям командной строки и системным значениям по умолчанию. Новая группа будет добавлена в системные файлы.
.SH "ПАРАМЕТРЫ" .SH "ПАРАМЕТРЫ"
@ -26,28 +25,28 @@ groupadd \- создаёт новую группу
\fB\-f\fR \fB\-f\fR
Вернуть статус успешного выполнения, если группа уже существует. Если используется вместе с параметром Вернуть статус успешного выполнения, если группа уже существует. Если используется вместе с параметром
\fB\-g\fR \fB\-g\fR
и указанный gid уже существует, то выбирается другой (уникальный) gid (то есть параметр и указанный GID уже существует, то выбирается другой (уникальный) GID (то есть параметр
\fB\-g\fR \fB\-g\fR
игнорируется). игнорируется).
.TP .TP
\fB\-g\fR \fIGID\fR \fB\-g\fR \fIGID\fR
Указать числовой идентификатор группы. Если не указан параметр Числовое значение идентификатора группы. Значение должно быть уникальным, если не указан параметр
\fB\-o\fR \fB\-o\fR. Также, оно должно быть не отрицательным. По умолчанию, берётся значение больше 999 и больше идентификатора любой другой группы. Значения от 0 и до 999 обычно зарезервированы под системные группы.
, значение должно быть уникальным. Также, оно должно быть не отрицательным. По умолчанию берётся значение больше 999 и идентификатора любой другой группы. Значения от 0 и 999 обычно зарезервированы под системные группы.
.TP .TP
\fB\-h\fR, \fB\-\-help\fR \fB\-h\fR, \fB\-\-help\fR
Показать это сообщение и выйти. Показать краткую справку и закончить работу.
.TP .TP
\fB\-K \fR\fB\fIКЛЮЧ\fR\fR\fB=\fR\fB\fIЗНАЧЕНИЕ\fR\fR \fB\-K \fR\fB\fIКЛЮЧ\fR\fR\fB=\fR\fB\fIЗНАЧЕНИЕ\fR\fR
Использовать вместо значений (GID_MIN, GID_MAX и других) по умолчанию, хранимых в файле /etc/login.defs. Можно указать несколько параметров Изменить значения по умолчанию (GID_MIN, GID_MAX и другие), которые хранятся в файле /etc/login.defs. Можно указать несколько параметров
\fB\-K\fR. \fB\-K\fR.
.sp .sp
Например: Пример:
\fB\-K \fR\fIGID_MIN\fR=\fI100\fR\fB \-K \fR\fIGID_MAX\fR=\fI499\fR \fB\-K \fR\fIGID_MIN\fR=\fI100\fR\fB \-K \fR\fIGID_MAX\fR=\fI499\fR
.sp .sp
Замечание: передавать параметры в виде Замечание:
\fB\-K \fR\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR \fB\-K \fR\fIGID_MIN\fR=\fI10\fR,
пока нельзя. \fIGID_MAX\fR=\fI499\fR
такая форма пока не поддерживается.
.TP .TP
\fB\-o\fR \fB\-o\fR
Разрешить добавление группы с не уникальным GID. Разрешить добавление группы с не уникальным GID.
@ -61,7 +60,7 @@ groupadd \- создаёт новую группу
.TP .TP
\fI/etc/login.defs\fR \fI/etc/login.defs\fR
содержит конфигурацию подсистемы теневых паролей содержит конфигурацию подсистемы теневых паролей
.SH "ПРЕДУПРЕЖДЕНИЯ" .SH "ПРЕДОСТЕРЕЖЕНИЯ"
.PP .PP
Имена групп должны начинаться со строчной буквы или символа подчёркивания. Они могут содержать только строчные буквы, символ подчёркивания, тире и знак доллара. Это можно описать регулярным выражением: [a\-z_][a\-z0\-9_\-]*[$] Имена групп должны начинаться со строчной буквы или символа подчёркивания. Они могут содержать только строчные буквы, символ подчёркивания, тире и знак доллара. Это можно описать регулярным выражением: [a\-z_][a\-z0\-9_\-]*[$]
.PP .PP
@ -74,7 +73,6 @@ groupadd \- создаёт новую группу
Имена групп могут быть длиной не более 16 знаков. Имена групп могут быть длиной не более 16 знаков.
.SH "ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ" .SH "ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ"
.PP .PP
Команда
\fBgroupadd\fR \fBgroupadd\fR
завершая работу, возвращает следующие значения: завершая работу, возвращает следующие значения:
.TP .TP
@ -82,13 +80,13 @@ groupadd \- создаёт новую группу
успешное выполнение успешное выполнение
.TP .TP
\fI2\fR \fI2\fR
ошибка в параметрах командной строки ошибка в параметрах команды
.TP .TP
\fI3\fR \fI3\fR
недопустимое значение параметра недопустимое значение параметра
.TP .TP
\fI4\fR \fI4\fR
не уникальный gid (если не задан параметр не уникальный GID (если не задан параметр
\fB\-o\fR \fB\-o\fR
) )
.TP .TP

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "groupdel" "8" "11/10/2005" "Команды управления системой" "Команды управления системой" .TH "groupdel" "8" "03/11/2006" "Команды управления системой" "Команды управления системой"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -11,13 +11,12 @@
groupdel \- удаляет группу groupdel \- удаляет группу
.SH "СИНТАКСИС" .SH "СИНТАКСИС"
.HP 9 .HP 9
\fBgroupdel\fR \fIгруппа\fR \fBgroupdel\fR \fIgroup\fR
.SH "ОПИСАНИЕ" .SH "ОПИСАНИЕ"
.PP .PP
Команда
\fBgroupdel\fR \fBgroupdel\fR
изменяет системные файлы учётных записей, удаляя всё относящееся к группе, заданной параметром изменяет системные файлы учётных записей, удаляя всё относящееся к группе, заданной параметром
\fIгруппа\fR. Указанная группа должна существовать. \fIgroup\fR. Указанная группа должна существовать.
.PP .PP
Вы должны вручную проверить все файловые системы, чтобы убедиться, что не осталось файлов, принадлежащих удалённой группе. Вы должны вручную проверить все файловые системы, чтобы убедиться, что не осталось файлов, принадлежащих удалённой группе.
.SH "ПРЕДОСТЕРЕЖЕНИЯ" .SH "ПРЕДОСТЕРЕЖЕНИЯ"
@ -32,7 +31,6 @@ groupdel \- удаляет группу
содержит защищаемую информацию о группах содержит защищаемую информацию о группах
.SH "ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ" .SH "ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ"
.PP .PP
Команда
\fBgroupdel\fR \fBgroupdel\fR
завершая работу, возвращает следующие значения: завершая работу, возвращает следующие значения:
.TP .TP
@ -40,7 +38,7 @@ groupdel \- удаляет группу
успешное выполнение успешное выполнение
.TP .TP
\fI2\fR \fI2\fR
ошибка в параметрах командной строки ошибка в параметрах команды
.TP .TP
\fI8\fR \fI8\fR
не удалось удалить первичную пользовательскую группу не удалось удалить первичную пользовательскую группу

View File

@ -2,7 +2,7 @@
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). .\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML .\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. .\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "groupmems" "8" "11/10/2005" "Команды управления системой" "Команды управления системой" .TH "groupmems" "8" "03/11/2006" "Команды управления системой" "Команды управления системой"
.\" disable hyphenation .\" disable hyphenation
.nh .nh
.\" disable justification (adjust text to left margin only) .\" disable justification (adjust text to left margin only)
@ -11,16 +11,15 @@
groupmems \- управляет членами первичной группы пользователя groupmems \- управляет членами первичной группы пользователя
.SH "СИНТАКСИС" .SH "СИНТАКСИС"
.HP 10 .HP 10
\fBgroupmems\fR \-a\ \fIимя\ пользователя\fR \-d\ \fIимя\ пользователя\fR \-l \-D [\-g\ \fIимя\ группы\fR] \fBgroupmems\fR \-a\ \fIимя_пользователя\fR \-d\ \fIимя_пользователя\fR \-l \-D [\-g\ \fIимя_группы\fR]
.SH "ОПИСАНИЕ" .SH "ОПИСАНИЕ"
.PP .PP
Команда
\fBgroupmems\fR \fBgroupmems\fR
позволяет пользователю управлять списком членов своей группы не имея привелегий суперпользователя. Команда позволяет пользователю управлять списком членов своей группы не имея привилегий суперпользователя. Команда
\fBgroupmems\fR \fBgroupmems\fR
работает в системах, где в качестве первичной группы пользователя является группа с именем совпадающим с именем пользователя (то есть, guest / guest). работает в системах, где в качестве первичной группы пользователя является группа с именем совпадающим с именем пользователя (то есть, guest / guest).
.PP .PP
Только суперпользователь, как администратор, может использовать Только суперпользователь как администратор может использовать
\fBgroupmems\fR \fBgroupmems\fR
, чтобы изменить список членов не своей группы. , чтобы изменить список членов не своей группы.
.SH "ПАРАМЕТРЫ" .SH "ПАРАМЕТРЫ"
@ -29,23 +28,22 @@ groupmems \- управляет членами первичной группы
\fBgroupmems\fR \fBgroupmems\fR
: :
.TP .TP
\fB\-a\fR \fIимя пользователя\fR \fB\-a\fR \fIимя_пользователя\fR
Добавить нового пользователя в группу. Добавить нового пользователя в группу.
.TP .TP
\fB\-d\fR \fIимя пользователя\fR \fB\-d\fR \fIимя_пользователя\fR
Удалить пользователя из группы. Удалить пользователя из группы.
.TP .TP
\fB\-D\fR \fB\-D\fR
Удалить всех пользователей из группы. Удалить всех пользователей из группы.
.TP .TP
\fB\-g\fR \fIимя группы\fR \fB\-g\fR \fIимя_группы\fR
Суперпользователь может указать группу, в которой нужно изменить список членов. Суперпользователь может указать группу, в которой нужно изменить список членов.
.TP .TP
\fB\-l\fR \fB\-l\fR
Показать список членов группы. Показать список членов группы.
.SH "НАСТРОЙКА" .SH "НАСТРОЙКА"
.PP .PP
Команда
\fBgroupmems\fR \fBgroupmems\fR
должна иметь права должна иметь права
2770 2770

Some files were not shown because too many files have changed in this diff Show More