[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>
* NEWS: correct 4.0.14 release date (03-01-2006).

View File

@ -150,6 +150,8 @@ SHELL = @SHELL@
STRIP = @STRIP@
U = @U@
USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
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
@ -36,7 +110,8 @@ shadow-4.0.13 -> shadow-4.0.14 03-01-2006
http://bugs.debian.org/11189),
- su, vipw: rewrited for use getopt_long(),
- 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:
- 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),

7
README
View File

@ -22,6 +22,13 @@ Mailing lists archives:
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/
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
========================

View File

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

76
configure vendored
View File

@ -462,7 +462,7 @@ ac_includes_default="\
# include <unistd.h>
#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=''
# Initialize some variables set by options.
@ -1822,7 +1822,7 @@ fi
# Define the identity of the package.
PACKAGE=shadow
VERSION=4.0.14
VERSION=4.0.15
cat >>confdefs.h <<_ACEOF
@ -23836,6 +23836,59 @@ cat >>confdefs.h <<\_ACEOF
#define SKEY 1
_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
@ -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"
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;}
{ (exit 1); exit 1; }; }
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}
ac_clean_files_save=$ac_clean_files
@ -26512,6 +26582,8 @@ s,@INTLLIBS@,$INTLLIBS,;t t
s,@LIBINTL@,$LIBINTL,;t t
s,@LTLIBINTL@,$LTLIBINTL,;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
CEOF

View File

@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT
AM_INIT_AUTOMAKE(shadow, 4.0.14)
AM_INIT_AUTOMAKE(shadow, 4.0.15)
AC_CONFIG_HEADERS([config.h])
dnl Some hacks...
@ -324,10 +324,17 @@ if test "$with_skey" = "yes"; then
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_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
AM_GNU_GETTEXT_VERSION(0.12.1)
AM_GNU_GETTEXT([external], [need-ngettext])
AM_CONDITIONAL(USE_NLS, test "x$USE_NLS" = "xyes")
AC_CONFIG_FILES([
Makefile

View File

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

View File

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

View File

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

View File

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

View File

@ -6,7 +6,7 @@ DEFS =
lib_LTLIBRARIES = libshadow.la
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 = \
commonio.c \

View File

@ -58,7 +58,7 @@ LTLIBRARIES = $(lib_LTLIBRARIES)
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_libshadow_la_OBJECTS = commonio.lo encrypt.lo fputsx.lo getdef.lo \
getpass.lo groupio.lo gshadow.lo lockpw.lo nscd.lo port.lo \
pwauth.lo pwio.lo sgetgrent.lo sgetpwent.lo sgroupio.lo \
@ -157,6 +157,8 @@ SHELL = @SHELL@
STRIP = @STRIP@
U = @U@
USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
@ -209,7 +211,7 @@ target_alias = @target_alias@
AUTOMAKE_OPTIONS = 1.0 foreign
lib_LTLIBRARIES = libshadow.la
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 = \
commonio.c \
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
@ -11,3 +11,5 @@
#define E_SHADOW_NOTFOUND 15 /* not found shadow password file */
#define E_GROUP_NOTFOUND 16 /* not found 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 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 */

View File

@ -6,7 +6,7 @@
* 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
* someone ever tries to compile this with SunOS cc... --marekm
@ -82,13 +82,9 @@ extern int hushed (const struct passwd *);
/* audit_help.c */
#ifdef WITH_AUDIT
extern int audit_fd;
#endif
void audit_help_open (void);
void audit_help_log (const char *, ...)
#ifdef __GNUC__
__attribute__ ((format (printf, 1, 2)));
#else
;
extern void audit_help_open (void);
extern void audit_logger (int type, const char *pgname, const char *op,
const char *name, unsigned int id, int result);
#endif
/* limits.c */
@ -149,7 +145,7 @@ extern void setup (struct passwd *);
extern void setup_env (struct passwd *);
/* shell.c */
extern void shell (const char *, const char *);
extern int shell (const char *, const char *, char *const *);
/* strtoday.c */
extern long strtoday (const char *);

View File

@ -30,7 +30,7 @@
#include <config.h>
#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 <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.
*/
# 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)
use_skey = 1;
#endif

View File

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

View File

@ -9,7 +9,7 @@
#include <grp.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 ",:"
/*
@ -33,7 +33,7 @@ int add_groups (const char *list)
i = 16;
for (;;) {
grouplist = malloc (i * sizeof (GETGROUPS_T));
grouplist = (gid_t *) malloc (i * sizeof (GETGROUPS_T));
if (!grouplist)
return -1;
ngroups = getgroups (i, grouplist);
@ -67,7 +67,7 @@ int add_groups (const char *list)
fprintf (stderr, _("Warning: too many groups\n"));
break;
}
tmp = realloc (grouplist, (ngroups + 1) * sizeof (GETGROUPS_T));
tmp = (gid_t *) realloc (grouplist, (ngroups + 1) * sizeof (GETGROUPS_T));
if (!tmp) {
free (grouplist);
return -1;

View File

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

View File

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

View File

@ -33,7 +33,7 @@
#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/stat.h>
@ -43,6 +43,8 @@
#include "defines.h"
#include <pwd.h>
#include "getdef.h"
#ifndef USE_PAM
static void
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);
}
#ifndef USE_PAM
static void read_env_file (const char *filename)
{
FILE *fp;

View File

@ -29,7 +29,7 @@
#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 <errno.h>
@ -51,13 +51,15 @@ extern size_t newenvc;
* 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];
int err;
if (file == (char *) 0)
exit (1);
if (file == (char *) 0) {
errno = EINVAL;
return errno;
}
/*
* 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
* don't want to tell us what it is themselves.
*/
if (arg == (char *) 0) {
snprintf (arg0, sizeof arg0, "-%s", Basename ((char *) file));
arg = arg0;
}
#ifdef DEBUG
printf ("Executing shell %s\n", file);
#endif
/*
* First we try the direct approach. The system should be
* able to figure out what we are up to without too much
* grief.
*/
execle (file, arg, (char *) 0, newenvp);
execle (file, arg, (char *) 0, envp);
err = errno;
/* 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
* of the "#!" magic number.
*/
if (err == ENOEXEC) {
FILE *fp;
@ -100,7 +96,7 @@ void shell (const char *file, const char *arg)
if (getc (fp) == '#' && getc (fp) == '!') {
fclose (fp);
execle ("/bin/sh", "sh",
file, (char *) 0, newenvp);
file, (char *) 0, envp);
err = errno;
} else {
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
* up in disgust ...
*/
snprintf (arg0, sizeof arg0, _("Cannot execute %s"), file);
errno = err;
perror (arg0);
exit (1);
return err;
}

View File

@ -9,7 +9,7 @@
#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 "defines.h"
@ -17,7 +17,7 @@ char *xmalloc (size_t size)
{
char *ptr;
ptr = malloc (size);
ptr = (char *) malloc (size);
if (!ptr && size) {
fprintf (stderr, _("malloc(%d) failed\n"), (int) size);
exit (13);

581
ltmain.sh
View File

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

View File

@ -1,6 +1,11 @@
# 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 = \
chage.1.xml \
@ -26,6 +31,7 @@ man_XMANS = \
logoutd.8.xml \
newgrp.1.xml \
newusers.8.xml \
nologin.8.xml \
passwd.1.xml \
passwd.5.xml \
porttime.5.xml \
@ -67,6 +73,7 @@ man_MANS = \
logoutd.8 \
newgrp.1 \
newusers.8 \
nologin.8 \
passwd.1 \
passwd.5 \
porttime.5 \
@ -175,6 +182,9 @@ newgrp.1: newgrp.1.xml
newusers.8: newusers.8.xml
$(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
$(XSLTPROC) -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

View File

@ -63,7 +63,6 @@ NROFF = nroff
MANS = $(man_MANS)
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
@ -142,6 +141,8 @@ SHELL = @SHELL@
STRIP = @STRIP@
U = @U@
USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
@ -193,7 +194,9 @@ sysconfdir = @sysconfdir@
target_alias = @target_alias@
# 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 = \
chage.1.xml \
chfn.1.xml \
@ -218,6 +221,7 @@ man_XMANS = \
logoutd.8.xml \
newgrp.1.xml \
newusers.8.xml \
nologin.8.xml \
passwd.1.xml \
passwd.5.xml \
porttime.5.xml \
@ -259,6 +263,7 @@ man_MANS = \
logoutd.8 \
newgrp.1 \
newusers.8 \
nologin.8 \
passwd.1 \
passwd.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@ $(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@ $(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).
.\" 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 "CHAGE" "1" "11/05/2005" "User Commands" "User Commands"
.TH "CHAGE" "1" "01/22/2006" "User Commands" "User Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -14,8 +14,9 @@ chage \- change user password expiry information
\fBchage\fR [\fIoptions\fR] \fIuser\fR
.SH "DESCRIPTION"
.PP
The
\fBchage\fR
command changes the number of days between password changes and the date of the last password change. This information is used by the system to determine when a user must change 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"
.PP
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).
.TP
\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
Passing the number
\fI\-1\fR
@ -46,33 +47,33 @@ Passing the number
\fI\-1\fR
as the
\fIINACTIVE\fR
will remove an accounts inactivity.
will remove an account's inactivity.
.TP
\fB\-l\fR, \fB\-\-list\fR
Show account aging information.
.TP
\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
\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
plus
\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
option, which provides the user with advance warning.
.sp
Passing the number
\fI\-1\fR
as the
as
\fIMAX_DAYS\fR
will remove checking a password validation.
will remove checking a password's validity.
.TP
\fB\-W\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR
Set the number of days of warning before a password change is required. The
\fIWARN_DAYS\fR
option is the number of days prior to the password expiring that a user will be warned 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
If none of the options are selected,
\fBchage\fR
@ -83,13 +84,13 @@ marks.
.PP
The
\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
The
\fBchage\fR
command is restricted to the root user, except for the
\fB\-l\fR
option, which may be used by an unprivileged user to determine when 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"
.TP
\fI/etc/passwd\fR

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<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>
<refentrytitle>chage</refentrytitle>
<manvolnum>1</manvolnum>
@ -25,10 +25,10 @@
<refsect1 id='description'>
<title>DESCRIPTION</title>
<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
information is used by the system to determine when a user must change
her password.
his/her password.
</para>
</refsect1>
@ -56,7 +56,7 @@
</term>
<listitem>
<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
be expressed in the format YYYY-MM-DD (or the format more
commonly used in your area). A user whose account is locked must
@ -90,7 +90,7 @@
</para>
<para>
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.
</para>
</listitem>
@ -112,7 +112,7 @@
<listitem>
<para>
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.
</para>
</listitem>
@ -123,18 +123,18 @@
</term>
<listitem>
<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
<replaceable>LAST_DAY</replaceable> 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
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 <option>-W</option> option, which
provides the user with advance warning.
</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
password validation.
password's validity.
</para>
</listitem>
</varlistentry>
@ -147,7 +147,7 @@
Set the number of days of warning before a password change is
required. The <replaceable>WARN_DAYS</replaceable> option is the
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>
</listitem>
</varlistentry>
@ -163,13 +163,13 @@
<refsect1 id='note'>
<title>NOTE</title>
<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
stored in the passwd file.
</para>
<para>The <command>chage</command> command is restricted to the root
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.
</para>
</refsect1>

View File

@ -2,7 +2,7 @@
.\" 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 "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
.nh
.\" 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.
.SH "CAVEATS"
.PP
Remember keep protected for reading by others file passed to standard input
\fBchpasswd\fR
command if it contains unencrypted passwords.
Remember to set permissions or umask to prevent readability of unencrypted files by other users.
.SH "SEE ALSO"
.PP
\fBpasswd\fR(1),

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<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>
<refentrytitle>chpasswd</refentrytitle>
<manvolnum>8</manvolnum>
@ -78,9 +78,8 @@
<refsect1 id='caveats'>
<title>CAVEATS</title>
<para>
Remember keep protected for reading by others file passed to standard
input <command>chpasswd</command> command if it contains unencrypted
passwords.
Remember to set permissions or umask to prevent readability of
unencrypted files by other users.
</para>
</refsect1>

View File

@ -2,11 +2,20 @@
mandir = @mandir@/cs
man_MANS = \
expiry.1 \
faillog.5 \
faillog.8 \
gpasswd.1 \
groupadd.8 \
groupdel.8 \
groups.1 \
id.1 \
lastlog.8 \
nologin.8 \
passwd.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@
U = @U@
USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
@ -182,14 +184,24 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
man_MANS = \
expiry.1 \
faillog.5 \
faillog.8 \
gpasswd.1 \
groupadd.8 \
groupdel.8 \
groups.1 \
id.1 \
lastlog.8 \
nologin.8 \
passwd.5 \
shadow.5 \
su.1
su.1 \
vipw.8
EXTRA_DIST = $(man_MANS) \
logoutd.8
EXTRA_DIST = $(man_MANS)
all: all-am
.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@
U = @U@
USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
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
.\" All rights reserved.
.\"
@ -140,7 +140,7 @@ zu Ausführungen über diese Felder.
.SS Hinweise zu Nutzerpasswörtern
Die Sicherheit eines Passworts hängt von der Stärke des
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
der Zufälligkeit des gewählten Passworts ab.
.PP

View File

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

View File

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

View File

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" 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
@ -46,7 +46,7 @@
.Nm vipw
.Op -V
.Op --version
.Pp
.Nm vigr
.Op -V
.Op --version

View File

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

View File

@ -1,53 +1,49 @@
.\"
.\" chsh.1 -- change your login shell
.\" (c) 1994 by salvatore valente <svalente@athena.mit.edu>
.\"
.\" this program is free software. you can redistribute it and
.\" modify it under the terms of the gnu general public license.
.\" there is no warranty.
.\"
.\" $Author: kloczek $
.\" $Revision: 1.2 $
.\" $Date: 2005/12/01 20:38:25 $
.\" Proofread by Raimo Koski, Nov-Dec. 1999
.\" Translated into Finnish by Juha-Pekka Syrjälä (jsyrjala@iki.fi)
.\" Proofread by Raimo Koski (rkoski@pp.weppi.fi)
.\"
.TH CHSH 1 "24. Huhtikuuta 1998" "chsh" "Käyttäjän sovellusohjelmat"
.SH NIMI
chsh \- vaihtaa sisäänkirjautumisessa käytetyn komentotulkin
.SH "YLEISKATSAUS"
.B chsh
[\ \-s\ komentotulkki\ ] [\ \-l\ ] [\ \-u\ ] [\ \-v\ ] [\ käyttäjätunnus\ ]
.SH KUVAUS
.B chsh
- käytetään vaihtamaan sisäänkirjautumisessa käytetty komentotulkki.
Jos komentotulkkia ei ole annettu komentorivillä,
.B chsh
kysyy sitä.
.SS HYVÄKSYTTÄVÄT KOMENTOTULKIT
.B chsh
hyväksyy minkä tahansa ajattavan tiedoston, jolle annetaan koko tiedostonimi polkuineen.
Se kuitenkin varoittaa, jos komentotulkki ei ole määritelty
.I /etc/shells-tiedostossa.
.SH OPTIOT
.\" ** 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 "CHSH" "1" "03/07/2006" "Käyttäjän sovellukset" "Käyttäjän sovellukset"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
chsh \- vaihda sisäänkirjautumiskuorta
.SH "SYNOPSIS"
.HP 5
\fBchsh\fR [\-s\ \fIsisäänkirjautumiskuori\fR] [\fIkäyttäjä\fR]
.SH "KUVAUS"
.PP
\fBchsh\fR
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.
.PP
Ainoa rajoitus kirjautumiskuorelle on, että komennon nimen täytyy olla lueteltuna tiedostossa
\fI/etc/shells\fR
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
\fI/bin/rsh\fR
lisääminen tiedostoon
\fI/etc/shells\fR
ei ole suositeltavaa, koska käyttäjän vahingossa vaihtaessa rajoitettuun kuoreen, ei hän voi koskaan vaihtaa kirjautumiskuortaan takaisin alkuperäiseen arvoon.
.SH "VALITSIMET"
.PP
Mikäli valitsinta
\fB\-s\fR
ei ole annettu,
\fBchsh\fR
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
.I "\-s, \-\-shell"
Määrittele sisäänkirjautumisessa käytetty komentotulkki.
\fI/etc/passwd\fR
käyttäjätunnuksien tiedot
.TP
.I "\-l, \-\-list-shells"
Tulostaa listan komentotulkeista, jotka ovat määritelty
.I /etc/shells
-tiedostossa ja sulkee ohjelman.
\fI/etc/shells\fR
luettelo sallituista kirjautumiskuorista
.TP
.I "\-u, \-\-help"
Tulostaa ohjeen ja sulkee ohjelman.
.TP
.I "-v, \-\-version"
Tulostaa versiota koskevan informaation ja sulkee ohjelman.
.SH TEKIJÄ
Salvatore Valente <svalente@mit.edu>
\fI/etc/login.defs\fR
varjosalasanakaluston asetukset
.SH "KATSO MYÖS"
.BR login (1),
.BR passwd (5),
.BR shells (5),
.PP
\fBchfn\fR(1),
\fBlogin.defs\fR(5),
\fBpasswd\fR(5)

View File

@ -85,7 +85,8 @@ Ei tunnettuja virheitä.
.BR pam (8),
ja
.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ä
.BR "'Linux-PAM System Adminstarators' Guide'":sta
WWW-osoitteesta:

View File

@ -1,84 +1,119 @@
.\" Copyright 1989 - 1990, John F. Haugh II
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by John F. Haugh, II
.\" and other contributors.
.\" 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.
.\" ** 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 "SU" "1" "03/07/2006" "Käyttäjän sovellukset" "Käyttäjän sovellukset"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
su \- vaihda käyttäjätunnusta tai tule pääkäyttäjäksi
.SH "SYNOPSIS"
.HP 3
\fBsu\fR [\fIvalitsimet\fR] [\-] [\fIkäyttäjätunnus\fR\ [\ \fIparametrit\fR\ ]]
.SH "KUVAUS"
.PP
Muita optioita voidaan antaa kayttja nimen jalkeen, siina
tapauksessa jos ne ovat tuettuja kayttajan komentotulkissa.
Yksityiskohdissa, argumentti \fB-c\fR aiheuttaa sen etta
seruraavat argumentit ovat komentojen optioita.
Komento toteutetaan siina komentotulkissa joka on maaritelty
\fB$SHELL\fR, tai jos sita ei ole maaritelty niin kaytetaan
komentotulkkia joka on maaritelty \fI/etc/passwd\fR.
\fBsu\fR\-komentoa käytetään vaihtamaan toiseksi käyttäjäksi kesken istunnon. Kun komento ajetaan ilman käyttäjänimeä,
\fBsu\fR
oletuksena vaihtaa pääkäyttäjäksi. Valinnainen parametri
\fB\-\fR
voidaan antaa kun halutaan samanlainen ympäristö kuin käyttäjä odottaa kirjautuessaan suoraan sisään.
.PP
Kayttajalta voidaan kysya salasanaa jos se on takavarikoitu.
Vaara salasana tuottaa virheilmoituksen. Kaikki yritykset
menevat kuitenkin jarjestelman logitiedostoon.
Muita parametreja voidaan antaa käyttäjänimen jälkeen, jolloin ne välitetään käyttäjän sisäänkirjautumiskuorelle. Erityisesti parametri
\fB\-c\fR
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
Voimassaoleva ymparisto on myos uudessa komentotulkissa. Arvo
\fB$PATH\fR on uudelleenasetettu kohteessa \fB/bin:/usr/bin\fR
tavallisille kayttajille, tai \fB/bin:/usr/bin:/etc\fR rootille.
.SH OPTIOT
Voit käyttää parametria
\fB\-\-\fR
erottamaan
\fBsu\fR\-valitsimet kuorelle välitettävistä parametreista.
.PP
Tassa versiossa \fBsu\fR:lla on monia kaannosoptioita, vain
joitakin voi kayttaa yksityiskohtaisesti.
.SH TIEDOSTOT
/etc/passwd \- Kayttajatiedot
.br
/etc/shadow \- Kryptatut salasanat ja tunnuksen loppumispaivamaara.
.br
$HOME/.profile \- Alustustiedostot oletus komentotulkille
.SH KATSO MYOS
.BR login (1),
.BR sh (1)
.SH SUOMENNUS
.BR Mikko
.BR Hurskainen
.BR 1998
.BR hurska@dlc.fi
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.
.PP
Nykyinen ympäristö välitetään kuorelle.
\fB$PATH\fR\-muuttujan arvo tyhjätään arvoksi
\fI/bin:/usr/bin\fR
tavallisille käyttäjille taikka
\fI/sbin:/bin:/usr/sbin:/usr/bin\fR
pääkäyttäjälle. Tämän käyttäytymisen voi vaihtaa asetuksilla
\fIENV_PATH\fR
ja
\fIENV_SUPATH\fR
tiedostossa
\fI/etc/login.defs\fR.
.PP
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.
.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@
U = @U@
USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<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>
<refentrytitle>gpasswd</refentrytitle>
<manvolnum>1</manvolnum>
@ -66,7 +66,7 @@
useful tool for permitting co-operation between different users.
</para>
</refsect2>
</refsect1>
<refsect1 id='options'>

View File

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

View File

@ -28,7 +28,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" 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 \-*\-
.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
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
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.

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
.\" 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
.\" All rights reserved.
.\"
@ -47,7 +47,7 @@ Vengono fatti controlli per verificare che ogni voce abbia:
\- un nome univoco di gruppo
.br
\- una lista valida di membri e amministratori
.in \-.5i
.in -.5i
.sp
.PP
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.
.\"
.\"$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
.\" All rights reserved.
.\"
@ -53,7 +53,7 @@ Vengono fatti controlli per verificare che ogni voce abbia:
\- una home directory valida
.br
\- una shell di login valida
.in \-.5i
.in -.5i
.sp
.PP
Gli errori nelle verifiche sul corretto numero di campi e sull'univocità

View File

@ -132,6 +132,8 @@ SHELL = @SHELL@
STRIP = @STRIP@
U = @U@
USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
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
.\" All rights reserved.
.\"
@ -54,7 +54,7 @@ grpck \- グループファイルが正しいかどうか検査する
\- グループ名に重複がないか
.br
\- メンバーのリストと管理者のリストが正しいか
.in \-.5i
.in -.5i
.sp
がチェックされる。
.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
.\" All rights reserved.
.\"
@ -153,7 +153,7 @@ kill 文字を含めないように注意すること。
使用不能期間である。
.SS ユーザパスワードに対するヒント
パスワードの安全性は暗号化アルゴリズムの強力さとキー空間の大きさに依存する。
\fB\s\-2UNIX\s+2\fR のシステム暗号化の方法は
\fB\s-2UNIX\s+2\fR のシステム暗号化の方法は
NBS DES アルゴリズムに基づいており、非常に安全性が高い。
キー空間の大きさは選ばれたパスワードのランダムさに依存する。
.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
.\" All rights reserved.
.\"
@ -61,7 +61,7 @@ pwck \- パスワードファイルが正しいかどうか検査する
\- ホームディレクトリが正しいか
.br
\- ログインシェルが正しいか
.in \-.5i
.in -.5i
.sp
がチェックされる。
.P

View File

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

View File

@ -142,7 +142,7 @@ CLASSES 섹션 예제:
CLASSES
myclass1 tty1 tty2
myclass2 tty3 @.foo.com
.in \-.5
.in -.5
.fi
.PP
윗 예제는
@ -176,7 +176,7 @@ GROUPS 섹션의 예제:
GROUPS
sys tty1 @.bar.edu
stud myclass1 tty4
.in \-0.5
.in -0.5
.fi
.PP
윗 예제는
@ -202,7 +202,7 @@ USERS 섹션 예제:
USERS
zacho tty1 @130.225.16.0/255.255.255.0
blue tty3 myclass2
.in \-0.5
.in -0.5
.fi
.PP
윗 예제는 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 이름
su \- 사용자와 그룹 ID 를 교체하여 쉘을 실행한다
.SH 개요

View File

@ -2,7 +2,7 @@
.\" 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 "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
.nh
.\" disable justification (adjust text to left margin only)
@ -72,8 +72,12 @@ For example,
\fIL2D2048N5\fR
is a valid
\fILIMITS_STRING \fR. For reading convenience, the following entries are equivalent:
.PP
username L2D2048N5username L2 D2048 N5
.sp
.nf
username L2D2048N5
username L2 D2048 N5
.fi
.PP
Be aware that after
\fIusername\fR

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<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>
<refentrytitle>limits</refentrytitle>
<manvolnum>5</manvolnum>
@ -74,10 +74,10 @@
following entries are equivalent:
</para>
<para>username L2D2048N5
<!-- .br -->
<programlisting>
username L2D2048N5
username L2 D2048 N5
</para>
</programlisting>
<para>
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).
.\" 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 "LOGIN" "1" "12/15/2005" "User Commands" "User Commands"
.TH "LOGIN" "1" "01/07/2006" "User Commands" "User Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -21,7 +21,7 @@ login \- begin session on the system
\fBlogin\fR
is used to establish a new session with the system. It is normally invoked automatically by responding to the
\fIlogin:\fR
prompt on the user\(aas terminal.
prompt on the user's terminal.
\fBlogin\fR
may be special to the shell and may not be invoked as a sub\-process. Typically,
\fBlogin\fR

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<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>
<refentrytitle>login</refentrytitle>
<manvolnum>1</manvolnum>
@ -39,7 +39,7 @@
<para>
<command>login</command> is used to establish a new session with 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
not be invoked as a sub-process. Typically, <command>login</command>
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).
.\" 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 "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
.nh
.\" disable justification (adjust text to left margin only)
@ -74,7 +74,7 @@ Range of user IDs to choose from for the
program.
.TP
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
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).

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<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>
<refentrytitle>login.defs</refentrytitle>
<manvolnum>5</manvolnum>
@ -162,7 +162,7 @@
<listitem>
<para>
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>
</listitem>
</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).
.\" 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 "PASSWD" "1" "12/03/2005" "User Commands" "User Commands"
.TH "PASSWD" "1" "02/28/2006" "User Commands" "User Commands"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -11,15 +11,13 @@
passwd \- change user password
.SH "SYNOPSIS"
.HP 7
\fBpasswd\fR [\-x\ \fImax\fR] [\-n\ \fImin\fR] [\-w\ \fIwarn\fR] [\-i\ \fIinact\fR] \fIlogin\fR
.HP 7
\fBpasswd\fR [\-l \-u \-d \-S \-e] \fIlogin\fR
\fBpasswd\fR [\fIoptions\fR] \fIlogin\fR
.SH "DESCRIPTION"
.PP
\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
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"
.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.
@ -54,7 +52,7 @@ System encryption method is based on the NBS DES algorithm and is very secure. T
.PP
Compromises in password security normally result from careless password selection or handling. For this reason, you should not select a password which appears in a dictionary or which must be written down. The password should also not be a proper name, your license number, birth date, or street address. Any of these may be used as guesses to violate system security.
.PP
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
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
@ -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.
.TP
\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
\fB\-h\fR, \fB\-\-help\fR
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.
.TP
\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
\fB\-q\fR, \fB\-\-quiet\fR
Quiet mode.
@ -111,7 +109,7 @@ change password in
repository
.TP
\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
\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
@ -121,14 +119,14 @@ option).
\fB\-w\fR, \fB\-\-warndays\fR \fIWARN_DAYS\fR
Set the number of days of warning before a password change is required. The
\fIWARN_DAYS\fR
option is the number of days prior to the password expiring that a user will be warned 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
\fB\-x\fR, \fB\-\-maxdays\fR \fIMAX_DAYS\fR
Set the maximum number of days a password remains valid. After
\fIMAX_DAYS\fR, the password is required to be changed.
.SH "CAVEATS"
.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"
.TP
\fI/etc/passwd\fR

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<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>
<refentrytitle>passwd</refentrytitle>
<manvolnum>1</manvolnum>
@ -16,22 +16,9 @@
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>passwd</command>
<arg choice='opt'>-x <replaceable>max</replaceable></arg>
<arg choice='opt'>-n <replaceable>min</replaceable></arg>
<arg choice='opt'>-w <replaceable>warn</replaceable></arg>
<arg choice='opt'>-i <replaceable>inact</replaceable></arg>
<arg choice='plain'><replaceable>login</replaceable>
<arg choice='opt'>
<replaceable>options</replaceable>
</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>
</cmdsynopsis>
</refsynopsisdiv>
@ -40,17 +27,17 @@
<title>DESCRIPTION</title>
<para>
<command>passwd</command> 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.
normal user may only change the password for his/her own account, while
the super user may change the password for any account.
<command>passwd</command> also changes account information, such as
the full name of the user, user's login shell, or password expiry date
and interval.
the full name of the user, the user's login shell, or his/her password
expiry date and interval.
</para>
<refsect2 id='password_changes'>
<title>Password Changes</title>
<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
stored password. The user has only one chance to enter the correct
password. The super user is permitted to bypass this step so that
@ -58,14 +45,14 @@
</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
this time. If not, <command>passwd</command> refuses to change the
password and exits.
</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
consist of 6 to 8 characters including one or more from each of
following sets:
@ -84,22 +71,22 @@
</itemizedlist>
<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
is not suitably complex.
</para>
<para>If the password is accepted, <command>passwd</command> will
prompt again and compare the second entry against the first. Both
entries are required to match in order for the password to be
changed.
<para>
If the password is accepted, <command>passwd</command> will prompt
again and compare the second entry against the first. Both entries
are required to match in order for the password to be changed.
</para>
</refsect2>
<refsect2 id='hints_for_user_passwords'>
<title>Hints for user passwords</title>
<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
<emphasis>UNIX</emphasis> System encryption method is based on the
NBS DES algorithm and is very secure. The size of the key space
@ -107,7 +94,7 @@
</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
select a password which appears in a dictionary or which must be
written down. The password should also not be a proper name, your
@ -116,14 +103,14 @@
</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
appending two small words together and separating each with a
special character or digit. For example, Pass%word.
</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
each word. An example of this is:
</para>
@ -141,7 +128,7 @@
</itemizedlist>
<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
constructing passwords and not rely exclusively on the methods given
here.
@ -184,8 +171,8 @@
</term>
<listitem>
<para>
Immediately expire an accounts password. This in effect can
force a user to change his/her password at the users 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.
</para>
</listitem>
</varlistentry>
@ -238,7 +225,7 @@
<listitem>
<para>
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.
</para>
</listitem>
@ -270,7 +257,7 @@
<listitem>
<para>
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),
has no password (NP), or has a usable password (P). The third
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
required. The <replaceable>WARN_DAYS</replaceable> option is
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>
</listitem>
</varlistentry>
@ -325,9 +312,9 @@
<para>
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.
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.
</para>
</refsect1>

View File

@ -2,13 +2,13 @@
.\" 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 "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
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
passwd \- The password file
passwd \- the password file
.SH "DESCRIPTION"
.PP
\fI/etc/passwd\fR

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<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>
<refentrytitle>passwd</refentrytitle>
<manvolnum>5</manvolnum>
@ -10,7 +10,7 @@
</refmeta>
<refnamediv id='name'>
<refname>passwd</refname>
<refpurpose>The password file</refpurpose>
<refpurpose>the password file</refpurpose>
</refnamediv>
<refsect1 id='description'>
@ -95,7 +95,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><filename>/etc/shadow</filename></term>
<term><filename>/etc/shadow</filename></term>
<listitem>
<para>optional encrypted password file</para>
</listitem>

View File

@ -132,6 +132,8 @@ SHELL = @SHELL@
STRIP = @STRIP@
U = @U@
USE_NLS = @USE_NLS@
USE_NLS_FALSE = @USE_NLS_FALSE@
USE_NLS_TRUE = @USE_NLS_TRUE@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
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
.\" All rights reserved.
.\"
@ -46,7 +46,7 @@ Kontrolowane jest czy każda pozycja posiada:
\- unikalną nazwę grupy
.br
\- poprawną listę członków i administratorów
.in \-.5i
.in -.5i
.sp
.P
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
.\" All rights reserved.
.\"
@ -255,7 +255,7 @@ Tą wartością inicjowany jest terminalowy znak
Jest to obsługiwane tylko w systemach z interfejsem
.IR termio,
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.
.\"
.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
.\" All rights reserved.
.\"
@ -130,7 +130,7 @@ następne cztery to minimalny wiek, maksymalny wiek, okres ostrzegania i okres
nieaktywności hasła.
.SS Podpowiedzi dotyczące haseł użytkownika
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
kluczy zależy od losowości wybranego hasła.
.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
.\" All rights reserved.
.\"
@ -52,7 +52,7 @@ Kontrolowane jest czy każda pozycja posiada:
\- poprawny katalog domowy
.br
\- poprawną powłokę zgłoszeniową (startową)
.in \-.5i
.in -.5i
.sp
.P
Kontrola właściwej liczby pól i niepowtarzalnej nazwy użytkownika jest

View File

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

View File

@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<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>
<refentrytitle>pwck</refentrytitle>
<manvolnum>8</manvolnum>
@ -106,8 +106,8 @@
</term>
<listitem>
<para>
Report errors only. The warnings which do not require any
action from the user won't be displayed.
Report errors only. The warnings which do not require any
action from the user won't be displayed.
</para>
</listitem>
</varlistentry>

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
.\" 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 "chfn" "1" "11/10/2005" "Пользовательские команды" "Пользовательские команды"
.TH "chfn" "1" "03/11/2006" "Пользовательские команды" "Пользовательские команды"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -11,11 +11,11 @@
chfn \- изменяет информацию о пользователе
.SH "СИНТАКСИС"
.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 "ОПИСАНИЕ"
.PP
\fBchfn\fR
изменяет полное имя, рабочий телефон, рабочие координаты и домашний номер телефона учётной записи пользователя. Обычно, эти данные выводятся командной
изменяет ФИО, рабочий телефон, рабочие координаты и домашний номер телефона учётной записи пользователя. Обычно, эти данные выводятся командной
\fBfinger\fR(1)
и ей подобными программами. Обычный пользователь может изменить только определённые поля собственной учётной записи, разрешённые в файле
\fI/etc/login.defs\fR. (Настройкой по умолчанию пользователю не разрешается менять своё имя и фамилию.) Суперпользователь может изменять любое поле любой учётной записи. Кроме того, только суперпользователь может использовать параметр
@ -24,11 +24,11 @@ chfn \- изменяет информацию о пользователе
.PP
Единственным ограничением значений полей является то, что они не должны содержать управляющих символов, запятых, двоеточий или знака равно. На поле "
\fIдругое\fR
" не действует это ограничение, и оно может использоваться для хранения информации об учётной записи любых приложений.
" не действует это ограничение, и оно может использоваться для хранения информации об учётной записи для любых приложений.
.PP
Если не один параметр не указан, то
Если ни один параметр не указан, то
\fBchfn\fR
переходит в интерактивный режим, предлагая запустившему пользователю изменить значения полей своей учётной записи. Вводимое значение заменяет текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение дано в скобках
переходит в интерактивный режим, предлагая запустившему пользователю изменить значения полей своей учётной записи. Вводимое значение заменяет текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение показано в скобках
\fI[ ]\fR. Без параметров, программа chfn изменяет учётную запись запустившего пользователя.
.SH "ФАЙЛЫ"
.TP

View File

@ -2,7 +2,7 @@
.\" 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 "chpasswd" "8" "11/10/2005" "Команды управления системой" "Команды управления системой"
.TH "chpasswd" "8" "03/11/2006" "Команды управления системой" "Команды управления системой"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -19,7 +19,7 @@ chpasswd \- обновляет пароли в пакетном режиме
.PP
\fIимя_пользователя\fR:\fIпароль\fR
.PP
По умолчанию, передаваемый пароль должен быть в виде обычного текста. Алгоритмом шифрования по умолчанию является DES. Также, если используется дата устаревания пароля, то она будет обновлёна.
По умолчанию, передаваемый пароль должен быть в виде обычного текста. Алгоритмом шифрования по умолчанию является DES. Также, если есть срок устаревания пароля, то он будет обновлён.
.PP
Данная команда предназначена для работы в крупных системных средах, где за один раз заводится несколько учётных записей.
.SH "ПАРАМЕТРЫ"
@ -32,15 +32,13 @@ chpasswd \- обновляет пароли в пакетном режиме
Передаваемые пароли заданы в шифрованном виде.
.TP
\fB\-h\fR, \fB\-\-help\fR
Показать это сообщение и выйти.
Показать краткую справку и закончить работу.
.TP
\fB\-m\fR, \fB\-\-md5\fR
Использовать алгоритм шифрования MD5 вместо DES, если пароли передаются не шифрованными.
.SH "ПРЕДОСТЕРЕЖЕНИЯ"
.PP
Не позволяйте другим читать файл, передаваемый на стандартный ввод команды
\fBchpasswd\fR
, если в нём содержатся не шифрованные пароли.
Не забудьте установить права или umask, чтобы не позволить чтение нешифрованных файлов другими пользователями.
.SH "СМОТРИТЕ ТАКЖЕ"
.PP
\fBpasswd\fR(1),

View File

@ -2,7 +2,7 @@
.\" 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 "chsh" "1" "11/10/2005" "Пользовательские команды" "Пользовательские команды"
.TH "chsh" "1" "03/11/2006" "Пользовательские команды" "Пользовательские команды"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -11,11 +11,11 @@
chsh \- изменяет регистрационную оболочку пользователя
.SH "СИНТАКСИС"
.HP 5
\fBchsh\fR [\-s\ \fIрегистрационная\ оболочка\ пользователя\fR] [\fIпользователь\fR]
\fBchsh\fR [\-s\ \fIрегистрационная\ оболочка\ пользователя\fR] [\fIuser\fR]
.SH "ОПИСАНИЕ"
.PP
\fBchsh\fR
изменяет регистрационную оболочку пользователя. Она определяет команду, запускаемую после регистрации пользователя в системе. Обычный пользователь может изменять регистрационную оболочку только для своей учётной записи, суперпользователь может изменить регистрационную оболочку любой учётной записи.
изменяет регистрационную оболочку пользователя. Она определяет какая команда будет запущена после регистрации пользователя в системе. Обычный пользователь может изменять регистрационную оболочку только для своей учётной записи, суперпользователь может изменять регистрационную оболочку любой учётной записи.
.PP
Все допустимые имена регистрационных оболочек должны быть указаны в файле
\fI/etc/shells\fR. На суперпользователя это ограничение не действует и поэтому ему разрешено указывать любое значение. Для учётной записи с ограниченной регистрационной оболочкой пользователь не может изменить свою регистрационную оболочку. Поэтому, команду
@ -29,7 +29,7 @@ chsh \- изменяет регистрационную оболочку пол
\fB\-s\fR
не задан, то
\fBchsh\fR
переходит в интерактивный режим, предлагая пользователю изменить свою регистрационную оболочку. Вводимое значение заменяет текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение регистрационной оболочки дано в скобках
переходит в интерактивный режим, предлагая пользователю изменить свою регистрационную оболочку. Вводимое значение заменяет текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение регистрационной оболочки указано в скобках
\fI[ ]\fR.
.SH "ФАЙЛЫ"
.TP

View File

@ -2,7 +2,7 @@
.\" 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 "expiry" "1" "11/10/2005" "Пользовательские команды" "Пользовательские команды"
.TH "expiry" "1" "03/11/2006" "Пользовательские команды" "Пользовательские команды"
.\" disable hyphenation
.nh
.\" 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).
.\" 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 "faillog" "5" "11/10/2005" "" ""
.TH "faillog" "5" "03/11/2006" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -12,7 +12,7 @@ faillog \- файл протокола неудачных попыток вхо
.SH "ОПИСАНИЕ"
.PP
\fI/var/log/faillog\fR
хранит число неудачных попыток входа в систему и их предельное число для каждой учётной записи. Этот файл состоит из записей постоянной длины, упорядоченных по числовому идентификатору учётной записи. Каждая запись содержит число неудачных попыток входа с момента последнего успешного входа в систему; максимальное число неудачных попыток перед тем как учётная запись будет заблокирована; терминал, с которого осуществлялась последняя неудачная попытка входа и дата этого события.
хранит число неудачных попыток входа в систему и их предельное число для каждой учётной записи. Этот файл состоит из записей постоянной длины, упорядоченных по числовому идентификатору учётной записи. Каждая запись содержит число неудачных попыток входа с момента последнего успешного входа в систему, максимальное число неудачных попыток перед тем как учётная запись будет заблокирована, терминал, с которого осуществлялась последняя неудачная попытка входа и дата этого события.
.PP
Структура файла:
.sp

View File

@ -2,13 +2,13 @@
.\" 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 "faillog" "8" "11/10/2005" "Команды управления системой" "Команды управления системой"
.TH "faillog" "8" "03/11/2006" "Команды управления системой" "Команды управления системой"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "НАЗВАНИЕ"
faillog \- показывает записи faillog или задаёт предел неудачных попыток входа в систему
faillog \- показывает записи из файла faillog или задаёт предел неудачных попыток входа в систему
.SH "СИНТАКСИС"
.HP 8
\fBfaillog\fR [\fIпараметры\fR]
@ -18,7 +18,7 @@ faillog \- показывает записи faillog или задаёт пре
форматирует содержимое журнала неудачных попыток из файла базы данных
\fI/var/log/faillog\fR. Также, она может быть использована для управления счётчиком неудачных попыток и его пределом. При запуске
\fBfaillog\fR
без параметров выводятся записи faillog только тех пользователей, для которых имеется хотя бы одна неудачная попытка входа.
без параметров выводятся записи faillog только тех пользователей, у которых имеется хотя бы одна неудачная попытка входа.
.SH "ПАРАМЕТРЫ"
.PP
Возможные параметры команды
@ -29,7 +29,7 @@ faillog \- показывает записи faillog или задаёт пре
Показать записи faillog для всех пользователей.
.TP
\fB\-h\fR, \fB\-\-help\fR
Показать это сообщение и выйти.
Показать краткую справку и закончить работу.
.TP
\fB\-l\fR, \fB\-\-lock\-time\fR \fISEC\fR
Блокировать учётную запись на
@ -47,12 +47,11 @@ faillog \- показывает записи faillog или задаёт пре
\fB\-r\fR, \fB\-\-reset\fR
Обнулить счётчик неудачных попыток входа для всех записей или для одного пользователя, заданного параметром \-u
\fILOGIN\fR. Для этого требуются права на запись в файл
\fI/var/log/faillog\fR
.
\fI/var/log/faillog\fR.
.TP
\fB\-t\fR, \fB\-\-time\fR \fIDAYS\fR
Показать записи faillog новее чем
\fIDAYS\fRдней. Параметр
Показать записи faillog новее чем (дней)
\fIDAYS\fR.
\fB\-t\fR
отменяет действие параметра
\fB\-u\fR.

View File

@ -2,7 +2,7 @@
.\" 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 "gpasswd" "1" "11/10/2005" "Пользовательские команды" "Пользовательские команды"
.TH "gpasswd" "1" "03/11/2006" "Пользовательские команды" "Пользовательские команды"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -13,9 +13,9 @@ gpasswd \- управляет файлом /etc/group
.HP 8
\fBgpasswd\fR \fIgroup\fR
.HP 8
\fBgpasswd\fR \-a\ \fIпользователь\fR \fIgroup\fR
\fBgpasswd\fR \-a\ \fIuser\fR \fIgroup\fR
.HP 8
\fBgpasswd\fR \-d\ \fIпользователь\fR \fIgroup\fR
\fBgpasswd\fR \-d\ \fIuser\fR \fIgroup\fR
.HP 8
\fBgpasswd\fR \-R\ \fIgroup\fR
.HP 8

View File

@ -2,7 +2,7 @@
.\" 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 "groupadd" "8" "11/10/2005" "Команды управления системой" "Команды управления системой"
.TH "groupadd" "8" "03/11/2006" "Команды управления системой" "Команды управления системой"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -11,10 +11,9 @@
groupadd \- создаёт новую группу
.SH "СИНТАКСИС"
.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 "ОПИСАНИЕ"
.PP
Команда
\fBgroupadd\fR
создаёт новую группу, согласно указанным значениям командной строки и системным значениям по умолчанию. Новая группа будет добавлена в системные файлы.
.SH "ПАРАМЕТРЫ"
@ -26,28 +25,28 @@ groupadd \- создаёт новую группу
\fB\-f\fR
Вернуть статус успешного выполнения, если группа уже существует. Если используется вместе с параметром
\fB\-g\fR
и указанный gid уже существует, то выбирается другой (уникальный) gid (то есть параметр
и указанный GID уже существует, то выбирается другой (уникальный) GID (то есть параметр
\fB\-g\fR
игнорируется).
.TP
\fB\-g\fR \fIGID\fR
Указать числовой идентификатор группы. Если не указан параметр
\fB\-o\fR
, значение должно быть уникальным. Также, оно должно быть не отрицательным. По умолчанию берётся значение больше 999 и идентификатора любой другой группы. Значения от 0 и 999 обычно зарезервированы под системные группы.
Числовое значение идентификатора группы. Значение должно быть уникальным, если не указан параметр
\fB\-o\fR. Также, оно должно быть не отрицательным. По умолчанию, берётся значение больше 999 и больше идентификатора любой другой группы. Значения от 0 и до 999 обычно зарезервированы под системные группы.
.TP
\fB\-h\fR, \fB\-\-help\fR
Показать это сообщение и выйти.
Показать краткую справку и закончить работу.
.TP
\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.
.sp
Например:
Пример:
\fB\-K \fR\fIGID_MIN\fR=\fI100\fR\fB \-K \fR\fIGID_MAX\fR=\fI499\fR
.sp
Замечание: передавать параметры в виде
\fB\-K \fR\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR
пока нельзя.
Замечание:
\fB\-K \fR\fIGID_MIN\fR=\fI10\fR,
\fIGID_MAX\fR=\fI499\fR
такая форма пока не поддерживается.
.TP
\fB\-o\fR
Разрешить добавление группы с не уникальным GID.
@ -61,7 +60,7 @@ groupadd \- создаёт новую группу
.TP
\fI/etc/login.defs\fR
содержит конфигурацию подсистемы теневых паролей
.SH "ПРЕДУПРЕЖДЕНИЯ"
.SH "ПРЕДОСТЕРЕЖЕНИЯ"
.PP
Имена групп должны начинаться со строчной буквы или символа подчёркивания. Они могут содержать только строчные буквы, символ подчёркивания, тире и знак доллара. Это можно описать регулярным выражением: [a\-z_][a\-z0\-9_\-]*[$]
.PP
@ -74,7 +73,6 @@ groupadd \- создаёт новую группу
Имена групп могут быть длиной не более 16 знаков.
.SH "ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ"
.PP
Команда
\fBgroupadd\fR
завершая работу, возвращает следующие значения:
.TP
@ -82,13 +80,13 @@ groupadd \- создаёт новую группу
успешное выполнение
.TP
\fI2\fR
ошибка в параметрах командной строки
ошибка в параметрах команды
.TP
\fI3\fR
недопустимое значение параметра
.TP
\fI4\fR
не уникальный gid (если не задан параметр
не уникальный GID (если не задан параметр
\fB\-o\fR
)
.TP

View File

@ -2,7 +2,7 @@
.\" 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 "groupdel" "8" "11/10/2005" "Команды управления системой" "Команды управления системой"
.TH "groupdel" "8" "03/11/2006" "Команды управления системой" "Команды управления системой"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -11,13 +11,12 @@
groupdel \- удаляет группу
.SH "СИНТАКСИС"
.HP 9
\fBgroupdel\fR \fIгруппа\fR
\fBgroupdel\fR \fIgroup\fR
.SH "ОПИСАНИЕ"
.PP
Команда
\fBgroupdel\fR
изменяет системные файлы учётных записей, удаляя всё относящееся к группе, заданной параметром
\fIгруппа\fR. Указанная группа должна существовать.
\fIgroup\fR. Указанная группа должна существовать.
.PP
Вы должны вручную проверить все файловые системы, чтобы убедиться, что не осталось файлов, принадлежащих удалённой группе.
.SH "ПРЕДОСТЕРЕЖЕНИЯ"
@ -32,7 +31,6 @@ groupdel \- удаляет группу
содержит защищаемую информацию о группах
.SH "ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ"
.PP
Команда
\fBgroupdel\fR
завершая работу, возвращает следующие значения:
.TP
@ -40,7 +38,7 @@ groupdel \- удаляет группу
успешное выполнение
.TP
\fI2\fR
ошибка в параметрах командной строки
ошибка в параметрах команды
.TP
\fI8\fR
не удалось удалить первичную пользовательскую группу

View File

@ -2,7 +2,7 @@
.\" 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 "groupmems" "8" "11/10/2005" "Команды управления системой" "Команды управления системой"
.TH "groupmems" "8" "03/11/2006" "Команды управления системой" "Команды управления системой"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@ -11,16 +11,15 @@
groupmems \- управляет членами первичной группы пользователя
.SH "СИНТАКСИС"
.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 "ОПИСАНИЕ"
.PP
Команда
\fBgroupmems\fR
позволяет пользователю управлять списком членов своей группы не имея привелегий суперпользователя. Команда
позволяет пользователю управлять списком членов своей группы не имея привилегий суперпользователя. Команда
\fBgroupmems\fR
работает в системах, где в качестве первичной группы пользователя является группа с именем совпадающим с именем пользователя (то есть, guest / guest).
.PP
Только суперпользователь, как администратор, может использовать
Только суперпользователь как администратор может использовать
\fBgroupmems\fR
, чтобы изменить список членов не своей группы.
.SH "ПАРАМЕТРЫ"
@ -29,23 +28,22 @@ groupmems \- управляет членами первичной группы
\fBgroupmems\fR
:
.TP
\fB\-a\fR \fIимя пользователя\fR
\fB\-a\fR \fIимя_пользователя\fR
Добавить нового пользователя в группу.
.TP
\fB\-d\fR \fIимя пользователя\fR
\fB\-d\fR \fIимя_пользователя\fR
Удалить пользователя из группы.
.TP
\fB\-D\fR
Удалить всех пользователей из группы.
.TP
\fB\-g\fR \fIимя группы\fR
\fB\-g\fR \fIимя_группы\fR
Суперпользователь может указать группу, в которой нужно изменить список членов.
.TP
\fB\-l\fR
Показать список членов группы.
.SH "НАСТРОЙКА"
.PP
Команда
\fBgroupmems\fR
должна иметь права
2770

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