Linux Shadow-Password-HOWTO - 7. 将 Shadow Sui( 二 )


#;to;the;Slackware;Adduser;program.;;It;could;also;be;modified;to;disallow
#;stupid;entries.;;(i.e.;better;error;checking).
#
##
#;;Defaults;for;the;useradd;command
##
GROUP=100#;Default;Group
HOME=/home;;;;;;;#;Home;directory;location;(/home/username)
SKEL=/etc/skel;;;#;Skeleton;Directory
INACTIVE=0;;;;;;;#;Days;after;password;expires;to;disable;account;(0=never)
EXPIRE=60#;Days;that;a;passwords;lasts
SHELL=/bin/bash;;#;Default;Shell;(full;path)
##
#;;Defaults;for;the;passwd;command
##
PASSMIN=0#;Days;between;password;changes
PASSWARN=14;;;;;;#;Days;before;password;expires;that;a;warning;is;given
##
#;;Ensure;that;root;is;running;the;script.
##
WHOAMI=`/usr/bin/whoami`
if;[;$WHOAMI;!=;"root";];;then
echo;"You;must;be;root;to;add;news;users!"
exit;1
fi
##
#;;Ask;for;username;and;fullname.
##
echo;""
echo;-n;"Username:;"
read;USERNAME
echo;-n;"Full;name:;"
read;FULLNAME
#
echo;"Adding;user:;$USERNAME."
#
#;Note;that;the;"";around;$FULLNAME;is;required;because;this;field;is
#;almost;always;going;to;contain;at;least;on;space,;and;without;the;""s
#;the;useradd;command;would;think;that;you;we;moving;on;to;the;next
#;parameter;when;it;reached;the;SPACE;character.
#
/usr/sbin/useradd;-c"$FULLNAME";-d$HOME/$USERNAME;-e$EXPIRE;
-f$INACTIVE;-g$GROUP;-m;-k$SKEL;-s$SHELL;$USERNAME
##
#;;Set;password;defaults
##
/bin/passwd;-n;$PASSMIN;-w;$PASSWARN;$USERNAME;>/dev/null;2>&1
##
#;;Let;the;passwd;command;actually;ask;for;password;(twice)
##
/bin/passwd;$USERNAME
##
#;;Show;what;was;done.
##
echo;""
echo;"Entry;from;/etc/passwd:"
echo;-n;";;;"
grep;"$USERNAME:";/etc/passwd
echo;"Entry;from;/etc/shadow:"
echo;-n;";;;"
grep;"$USERNAME:";/etc/shadow
echo;"Summary;output;of;the;passwd;command:"
echo;-n;";;;"
passwd;-S;$USERNAME
echo;""


--------------------------------------------------------------------------------

新增使用者是用;script;比直接编辑;/etc/passwd;/;/etc/shadow;档或使用像;Slackware;的;adduser;程式还要好 。;

需要更多;useradd;资讯请参照线上操作手册 。;


usermod
usermod;程式是用在修改使用者资讯 。它的参数使用和;useradd;程式类似 。;

如果你要更新;fred;的;shell , 你要作下列步骤:;

usermod;-s;/bin/tcsh;fred

现在;fred;的;/etc/passwd;档将变成:;

fred:*:505:100:Fred;Flintstone:/home/fred:/bin/tcsh

如果要使;fred;的帐号到期日为;09/15/97:;
usermod;-e;09/15/97;fred

现在;fred;在;/etc/shadow;的栏位变成:;
fred:J0C.WDR1amIt6:9559:0:60:0:0:10119:0

需要更多;usermod;资讯请参照线上操作手册 。;


userdel
userdel;用在删除使用者 , 使用方法为:;

userdel;-r;username

-r;参数可以将该使用者根目录全部移除 。位在期待目录的档案则需手动移除 。;
如果你只是要简单的锁住帐号而没有要删除它 , 建议你使用;passwd;指令 。;


7.2;passwd;指令和;passwd;老化;
passwd;指令很明显使用在改变密码 , 除此之外 , 可由;root;使用在:;

Lock;和;unlock;帐号;(-l;and;-u);
设定密码合法的最大天数;(-x);
设定密码改变间的最小天数;(-n);
设定密码到期的警告天数;(-w);
设定在帐号未被锁死密码到期後的警告天数;(-i);
允许查询帐号资讯;(-S);
举例说明 , 如果要锁死;fred;帐号:;

passwd;-S;fred
fred;P;03/04/96;0;60;0;0

这表示;fred;的密码是有效的 , 它在;03/04/96;被修改且任何时间都可被修改 , ;fred;将不会收到警告且帐号将不会因密码到期而关闭 。;

这表示如果;fred;在密码到期後签入 , 它将被要求用一个新密码签入 。;


如果我们决定要警告;fred;在密码过期前;14;天 , 且让它的帐号在到期後14天警告 , 我们需要作下列步骤:;

推荐阅读