Linux建立用户和组:
每个用户都有一个userID,而非用户名.每个登陆用户拥有一个指定的shell.
用户分为三种:
root用户:---ID为0,只要ID为0,就是超级管理员账户,不一定叫root.
系统用户:---ID为1----499,作用比较单一,为一些服务用,比如打印等.
3. 普通用户:---ID为500以上.
Linux系统中的文件都有一个所属用户及所属组.
系统保存新建用户信息默认值权限文件夹: /etc/login.defs
login.defs是设置用户帐号限制的文件,在这里我们可配置密码的最大过期天数,密码的最大长度约束等内容。该文件里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs
[root@hongmao ~]# vi /etc/login.defs
MAIL_DIR /var/spool/mail (默认电子邮件目录)
PASS_MAX_DAYS 99999 (用户密码最长时间)
PASS_MIN_DAYS 0 (密码修改最短时间)
PASS_MIN_LEN 5 (密码最少多少位)
PASS_WARN_AGE 7 (密码过期前多少天给提醒)
UID_MIN 500 (UID值起)
UID_MAX 60000 (UID值终)
GID_MIN 500 (GID值起)
GID_MAX 60000 (GID值终)
CREATE_HOME yes (是不是建立用户家目录)
UMASK 077 (默认权限)
USERGROUPS_ENAByes (是不是给用户创建私有组)
ENCRYPT_METHODSHA512 (密码加密)
文件默认信息设置:
该文件主要是定义默认家目录、环境配置文件目录、登入执行首个程序等等。
[root@localhost ~]# cat /etc/default/useradd
# useradd defaults file # useradd默认文件
GROUP=100 #表示可创建普通组
HOME=/home #用户的家目录建在/home中;用户家目录的默认创建地
INACTIVE=-1 #是否启用帐号过期停权,-1表示不启用;宽限天数,0及以下数皆为无效数字
EXPIRE= #帐号终止日期,不设置表示不启用;帐号失效日期(如:20081212)
SHELL=/bin/bash #所用SHELL的类型;登录后执行的程序
SKEL=/etc/skel #用户家目录中的环境文件,默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;
CREATE_MAIL_SPOOL=yes #是否创建用户邮件缓冲,yes表示创建
创建用户复制的文件:
每创建一个用户,系统会把/etc/skel下的隐藏文件复制到新用户家目录下。
[root@hongmao ~]# ls -a /etc/skel
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
[root@hongmaodwzhang]# ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc .gnome2 .mozilla .viminfo
[root@hongmaodwzhang]#
.bash_logout:用户登出用的文件。
.bash_profile:用户登录用的文件。
这是因为用户家目录等信息默认指定文件:定义了创建相关默认的信息
[root@en default]# pwd
/etc/default
[root@en default]# ls
nss useradd
[root@en default]# less useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel (框架)
CREATE_MAIL_SPOOL=yes
[root@en default]#
用户家目录隐藏文件默认来源:
[zhang@en ~]$ ls -a
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
[zhang@en ~]$
[zhang@en skel]$ pwd (因/etc/default/useradd文件里面设置)
/etc/skel
[zhang@en skel]$ ls -a
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
[zhang@en skel]$
保存用户名和密码的三个文件:
1./etc/passwd (7段)
保存用户信息。每一行一个用户,每行不同部分用:号隔开,分为七个部分.
[root@localhost Desktop]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
如果想用户登录名存在,不让用户登录系统的方式:更改为/sbin/nologin
[root@hongmao ~]# vi /etc/passwd
zhangwu:x:505:505::/home/zhangwu:/bin/bash
改为:
zhangwu:x:505:505::/home/zhangwu:/sbin/nologin
[dwzhang@hongmao~]$ su - zhangwu
密码:
This account iscurrently not available. (这个帐户目前不可用.)
2./etc/shadow (9段)
保存用户密码(加密).
[root@localhost Desktop]# cat /etc/shadow
root:$6$VSraCuB5$PQXVywRZPi1OpfzIrgxktY18knrHf.J3imCytPq4dtiqgoeIu0:16010:0:99999:7:::
bin:*:15155:0:99999:7:::
daemon:*:15155:0:99999:7:::
adm:*:15155:0:99999:7:::
lp:*:15155:0:99999:7:::
sync:*:15155:0:99999:7:::
dbus:!!:15996::::::
第一部分为用户名,
第二部分为密码,两个!!为没有密码,
第三部分为密码最近一次的修改时间,
第四部分为密码最短使用期限,
第五部分为密码最长使用期限,
第六部分为离密码过期还有多少天开始向用户发送警告,
第七部分为用户账号的非活动期限,
第八部分为用户账号的有效期限,
第九部分为保留段,没什么用。
3./etc/group (4段)
保存组信息.
[root@localhost ~]# cat /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
第一部分为组名,
第二部分为组密码,
第三部分组ID,
第四部分为组用户.
添加用户账号:
命令:useradd,用于添加用户账号。
[root@localhost ~]# useradd zhang1
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
zhang1:x:500:500::/home/zhang1:/bin/bash
[root@localhost ~]#
-u:指定用户的UID号,要求指定的UID号未使用.
-d:指定用户的宿主目录位置。
-e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g:指定用户的基本组名,(基本组需要存在)。
-M:不建立使用者家目录。
-c:指定注释信息,如有空格需要用引号引起来。
-r:创建系统用户,UID为1-499的,不能登录系统。
-u:指定用户的UID号,要求指定的UID号未使用.
例子:创建名为st02的用户账号,并将其UID号指定为505.
[root@localhost~]# useradd -u505 st02
[root@localhost~]# tail -1/etc/passwd
st02:x:505:505::/home/st02:/bin/bash
[root@localhost~]#
-d:指定用户的宿主目录位置。
例子:指定user6的家目录位置在/tmp/user6:
[root@en ~]# useradd -d/tmp/user6 user6
[root@en ~]# ll -d /tmp/user6/
drwx------. 4user6 user6 4096 Dec 18 15:00 /tmp/user6/
[root@en ~]#
注意:用户家目录的文件夹不能存在,否则登录会:
[root@en ~]# ll -d /tmp/user7
drwxr-xr-x. 2 rootroot 4096 Dec 18 15:02 /tmp/user7
[root@en ~]# useradd -d/tmp/user7 user7
useradd: warning:the home directory already exists. (useradd:警告:主目录存在。)
Not copying anyfile from skel directory into it. (没有文件从skel目录复制。)
[root@en ~]# tail -1/etc/passwd
user7:x:510:512::/tmp/user7:/bin/bash
[root@en ~]#
用user7登录:
-bash-4.1$ pwd
/tmp/user7
-bash-4.1$
-bash-4.1$ ls -a
. ..
-bash-4.1$
-e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
例子:指定账号user8过期时间为2014-12-19:
[root@en ~]# useradd -e2014-12-19 user8
[root@en ~]# chage -l user8 (查看账户密码过期时间信息)
Last passwordchange : Dec 18, 2014
Passwordexpires : never
Passwordinactive : never
Account expires : Dec 19,2014
Minimum number ofdays between password change : 0
Maximum number ofdays between password change :99999
Number of days ofwarning before password expires : 7
[root@en ~]#
意思:
最近一次密码修改时间 : 1月 24, 2012
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 : 1月 19, 2012
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
修改用户账号过期时间的方法:
[root@en ~]# chage -E 2014-12-22user8
[root@en ~]# chage -l user8
Accountexpires : Dec 22, 2014
[root@en ~]#
或用:
[root@en ~]# usermod -e2015-12-6 user8
解除用户账号失效天数,设置永远有效:
[root@en ~]# usermod -e"" user8 (双引号)
[root@en ~]# chage -l user8
Accountexpires : never
[root@en ~]#
-g:指定用户的基本组名,(基本组需要存在)。
-G:指定用户的附加组名,(附加组需要存在)。
基本组:创建用户的时候系统会同时创建一个和这个用户名同名的组,这个组就是基本组,不可以把用户从基本组中删除。
附加组:除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。
一个用户可以属于多个附加组。但是一个用户只能有一个基本组。
比如一个孩子诞生了,他的基本组就是亲生父母;他的附加组就是其他的干爹干妈。
[root@en ~]# grep sw /etc/group (基本组必须先存在)
sw:x:513:
[root@en ~]#
[root@en ~]# useradd -g swuser10 (添加)
[root@en ~]# grep sw /etc/group (513基本组)
sw:x:513:
[root@en ~]# grep user10/etc/passwd (新建用户的基本组也是513)
user10:x:512:513::/home/user10:/bin/bash
[root@en ~]#
更改用户的基本组:
[root@en ~]# grep se /etc/group
se:x:514:
[root@en ~]# usermod -g seuser10
[root@en ~]# grep user10/etc/passwd (用户基本组为514)
user10:x:512:514::/home/user10:/bin/bash
[root@en ~]#
创建用户的附加组:
[root@en ~]# useradd -G ituser11
[root@en ~]# grep it /etc/group
it:x:505:zhang2,zhang1,user11
更改用户的附加组为sw:
[root@en ~]# grep sw /etc/group
sw:x:513:
[root@en ~]# usermod -G swuser11
[root@en ~]# grep sw/etc/group
sw:x:513:user11
[root@en ~]#
-M:不建立使用者家目录。
[root@en ~]# useradd -M wang1
[root@en ~]# ll -d /home/wang1
ls: cannot access/home/wang1: No such file or directory
[root@en ~]#
用户wang1登录:
-bash-4.1$ pwd
/
-bash-4.1$ whoami
wang1
-bash-4.1$
为用户wang1添加家目录:
[root@en home]# mkdir wang1 (建立家目录)
[root@en home]# ll -d wang1 (注意权限为root)
drwxr-xr-x. 2 rootroot 4096 Dec 18 16:08 wang1
[root@en home]#
[root@en wang2]# cp -a /etc/skel/./home/wang1 (把隐藏文件cp过来)
[root@en home]# chown -Rwang1:wang1 /home/wang1 (属主属组为wang1)
[root@en home]# ll -d wang1
drwxr-xr-x. 3wang1 wang1 4096 Dec 18 16:40 wang1
[root@en home]# chmod -R go=--/home/wang1 (权限组其他没有权限)
[root@en home]# ll -d wang1
drwx------. 3wang1 wang1 4096 Dec 18 16:40 wang1
[root@en home]# usermod -d/home/wang1/ wang1 (更改用户家目录)
[root@en home]# grep wang1/etc/passwd
wang1:x:514:516::/home/wang1/:/bin/bash
[root@en home]#
用账号wang1登录:
[wang1@en ~]$ pwd
/home/wang1/
[wang1@en ~]$ whoami
wang1
[wang1@en ~]$
-s:指定用户的登录shell.
[root@en~]# useradd -s/bin/tcsh hao1 (创建用户指定shell为/bin/tcsh)
[root@en ~]# grep hao1 /etc/passwd
hao1:x:515:517::/home/hao1:/bin/tcsh
[root@en ~]# usermod -s /bin/bash hao1 (更改用户指定shell为/bin/bash)
[root@en ~]# grep hao1 /etc/passwd
hao1:x:515:517::/home/hao1:/bin/bash
[root@en ~]#
-c:指定注释信息,如有空格需要用引号引起来。
[root@en ~]#useradd yu1 -c "this is it admin" (创建用户yu1)
[root@en ~]# grepyu1 /etc/passwd
yu1:x:516:518:thisis it admin:/home/yu1:/bin/bash
[root@en ~]#usermod -c "i‘m yu1" yu1 (更改用户注释信息)
[root@en ~]# grepyu1 /etc/passwd
yu1:x:516:518:i‘myu1:/home/yu1:/bin/bash
[root@en ~]#
-r:创建系统用户,UID为1-499的,不能登录系统。
[root@en ~]# useradd -r zhao -s/sbin/nologin
[root@en ~]# ll -d /home/zhao
ls: cannot access/home/zhao: No such file or directory
[root@en ~]# grep zhao/etc/passwd
zhao:x:495:492::/home/zhao:/sbin/nologin (注意他的UID是多少)
[root@en ~]#
登录显示:Could not chdir to home directory/home/zhao: No such file or directory
This account iscurrently not available.
(主目录/home/zhao:没有这样的文件或目录,这个帐户目前不可用。)
创建用户密码:
命令passwd:
为用户账号设置密码.root账户可是指定用户名设置密码,普通用户不能指定用户名设置密码。只能用passwd为自己设置密码.
[root@localhost~]# passwdzhang1
Changing passwordfor user zhang1.
New password:
BAD PASSWORD: itis based on a dictionary word
BAD PASSWORD: istoo simple
Retype newpassword:
passwd: allauthentication tokens updated successfully.
[root@localhost~]#
-d:清空指定的用户密码,仅使用用户名即可登录系统。
-l:锁定用户账号。
-S:查看用户账号的状态。
-u:解锁用户账号。
--stdin :标准输入,设定密码不用重复2次。
例子:
-d:清空指定的用户密码,仅使用用户名即可登录系统。
[root@en ~]# passwd -d user1
Removing passwordfor user user1.
passwd: Success
[root@en ~]#
-l:锁定用户账号。
例子:将用户账号st02的密码锁定,查看shadow文件中的变化(密码前多了“!!”号),并检查用户密码状态。
[root@localhost~]# passwd -lst02
Locking passwordfor user st02.
passwd: Success
[root@localhost~]# grep st02/etc/shadow
st02:!!:16013:0:99999:7::: (注意密码前多了两个叹号)
-S:查看用户账号的状态。
[root@localhost~]# passwd -Sst02
st02 LK 2013-11-040 99999 7 -1 (Password locked.) (锁定)
[root@localhost~]#
[root@en ~]# passwd -S dwzhang
dwzhang PS 2014-11-18 0 99999 7 -1(Password set, SHA512 crypt.) (正常)
[root@en ~]#
-u:解锁用户账号。 (从新设置密码也是解锁)
[root@en ~]# passwd -S user1
user1 LK 2014-12-18 0 99999 7 -1 (Passwordlocked.)
[root@en ~]# passwd -u user1
Unlocking password for user user1.
passwd: Success
[root@en ~]# passwd -S user1
user1 PS 2014-12-18 0 99999 7 -1 (Passwordset, SHA512 crypt.)
[root@en ~]#
--stdin :标准输入,设定密码不用重复2次。
用命令行方式为zhang2创建密码:
[root@en ~]# echo ‘1qaz2wsx!@‘ | passwd --stdin zhang2
Changing password for user zhang2.
passwd: all authentication tokens updated successfully.
[root@en ~]# (设置zhang2密码为1qaz2wsx!@)
[root@en ~]# echo ‘1qaz2wsx!@‘ | passwd --stdin zhang2 > /dev/null
[root@en ~]# (不显示信息)
修改用户信息:
命令:usermod,
修改用户账号属性.修改用户信息。
-u:修改用户的UID号。
-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间。
-g:修改用户的基本组名。
-G:修改用户的附加组名。
-m:需要和-d一起用,移动用户家目录位置。
-s:指定用户的登录shell。
-l:更改用户账号的登录名称。
-L:锁定用户账户。
-U:解锁用户账户。
-c :更改注释信息,如有空格需要用引号引起来。
-u:修改用户的UID号。
例子:把aaa的UID改为777.
[root@localhost~]# tail -1/etc/passwd
aaa:x:506:506::/home/aaa:/bin/bash
[root@localhost~]# usermod -u777 aaa
[root@localhost~]# tail -1/etc/passwd
aaa:x:777:506::/home/aaa:/bin/bash
[root@localhost~]#
-l:更改用户账号的登录名称。
例子:把aaa用户名改为bbb
格式:usermod –l 新名旧名
[root@localhost~]# usermod -lbbb aaa
[root@localhost~]# tail -1/etc/passwd
bbb:x:777:506::/home/aaa:/bin/bash
[root@localhost~]#
(注意:用户的宿主目录不会改变,需要在/home下改名.)
[root@localhost~]#mv aaa bbb
[root@en ~]# usermod -d /home/bbb bbb (还需要从新指定用户宿主目录)
[root@en ~]#
-d:修改用户的宿主目录位置。
[root@en ~]# usermod -d /home/u2 u2 (修改用户u2宿主目录位置)
[root@en ~]#
-e:修改用户的账户失效时间。
[root@en ~]# chage -l user8
Account expires : Dec22, 2014
[root@en ~]#
[root@en ~]# usermod -e 2015-12-6 user8
解除用户账号失效天数,设置永远有效:
[root@en ~]# usermod -e "" user8 (双引号)
[root@en ~]# chage -l user8
Account expires :never
[root@en ~]#
-g:修改用户的基本组名。
-G:修改用户的附加组名。
基本组:创建用户的时候系统会同时创建一个和这个用户名同名的组,这个组就是基本组,不可以把用户从基本组中删除。
附加组:除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。
一个用户可以属于多个附加组。但是一个用户只能有一个基本组。
比如一个孩子诞生了,他的基本组就是亲生父母;他的附加组就是其他的干爹干妈。
[root@en ~]# grep sw /etc/group (基本组必须先存在)
sw:x:513:
[root@en ~]#
[root@en ~]# useradd -g swuser10 (添加)
[root@en ~]# grep sw /etc/group (513基本组)
sw:x:513:
[root@en ~]# grep user10/etc/passwd (新建用户的基本组也是513)
user10:x:512:513::/home/user10:/bin/bash
[root@en ~]#
更改用户的基本组:
[root@en ~]# grep se /etc/group
se:x:514:
[root@en ~]# usermod -g seuser10
[root@en ~]# grep user10 /etc/passwd (用户基本组为514)
user10:x:512:514::/home/user10:/bin/bash
[root@en ~]#
创建用户的附加组:
[root@en ~]# useradd -G ituser11
[root@en ~]# grep it /etc/group
it:x:505:zhang2,zhang1,user11
更改用户的附加组为sw:
[root@en ~]# grep sw /etc/group
sw:x:513:
[root@en ~]# usermod -G swuser11
[root@en ~]# grep sw/etc/group
sw:x:513:user11
[root@en ~]#
-s:指定用户的登录shell。
[root@en ~]# useradd -s/bin/tcsh hao1 (创建用户指定shell为/bin/tcsh)
[root@en ~]# grep hao1/etc/passwd
hao1:x:515:517::/home/hao1:/bin/tcsh
[root@en ~]# usermod -s/bin/bash hao1 (更改用户指定shell为/bin/bash)
[root@en ~]# grep hao1/etc/passwd
hao1:x:515:517::/home/hao1:/bin/bash
[root@en ~]#
-L:锁定用户账户。
[root@en ~]# usermod -L user8
[root@en ~]#
[root@en ~]# passwd -S user8 (用passwd –S查看账户状态)
user8 LK2014-12-19 0 99999 7 -1 (Password locked.) (密码锁定)
[root@en ~]#
-U:解锁用户账户。
[root@en ~]# usermod -U user8
[root@en ~]# passwd -S user8
user8 PS 2014-12-19 0 99999 7 -1 (Passwordset, SHA512 crypt.)
[root@en ~]#
删除用户命令:
命令:userdel.
(不加参数会保留用户的宿主目录)
[root@localhost~]# cat/etc/passwd
zhang1:x:500:500::/home/zhang1:/bin/bash
st02:x:505:505::/home/st02:/bin/bash
bbb:x:777:506::/home/aaa:/bin/bash
[root@localhost~]# cd /home
[root@localhosthome]# ll
total 12
drwx------. 4 bbb aaa 4096 Nov 4 11:24 bbb
drwx------. 4 st02 st02 4096 Nov 4 11:01 st02
drwx------. 26zhang1 zhang1 4096 Nov 4 10:50 zhang1
[root@localhosthome]# userdelbbb
[root@localhosthome]# cat/etc/passwd
zhang1:x:500:500::/home/zhang1:/bin/bash
st02:x:505:505::/home/st02:/bin/bash
[root@localhosthome]# ll
total 12
drwx------. 4 777 aaa 4096 Nov 4 11:24 bbb
drwx------. 4 st02 st02 4096 Nov 4 11:01 st02
drwx------. 26zhang1 zhang1 4096 Nov 4 10:50 zhang1
[root@localhosthome]#
-r(同时删除用户宿主目录)
[root@localhosthome]# cat/etc/passwd
zhang1:x:500:500::/home/zhang1:/bin/bash
st02:x:505:505::/home/st02:/bin/bash
[root@localhosthome]# ll
total 12
drwx------. 4 777 aaa 4096 Nov 4 11:24 bbb
drwx------. 4 st02 st02 4096 Nov 4 11:01 st02
drwx------. 26zhang1 zhang1 4096 Nov 4 10:50 zhang1
[root@localhosthome]# userdel-r st02
[root@localhosthome]# ll
total 8
drwx------. 4 777 aaa 4096 Nov 4 11:24 bbb
drwx------. 26zhang1 zhang1 4096 Nov 4 10:50 zhang1
[root@localhosthome]# cat/etc/passwd
zhang1:x:500:500::/home/zhang1:/bin/bash
[root@localhosthome]#
组账号应用
创建组:
每个组都有一个组ID。
组信息保存在/etc/group中。
组账号的加密信息保存在/etc/gshadow中。
每个用户拥有一个主组,同时最多拥有31个附属组。
命令:groupadd-----创建组,添加组账号.
[root@localhost~]# groupadd it
[root@localhost~]# tail -2/etc/group
aaa:x:506:
it:x:507:
[root@localhost~]#
-g:指定GID号。
[root@en ~]# groupadd -g 678 bd
[root@en ~]# grep bd /etc/group
bd:x:678:
[root@en ~]#
-r :创建系统组1-499之间。
[root@en ~]# groupadd -r my
[root@en ~]# grep my /etc/group
my:x:491:
[root@en ~]#
添加删除组成员和设置组密码:
命令:gpasswd---
-a:将用户账号添加到组账号中去。
-M:同时添加多个用户。
-d:将用户账号从组账号中删除。
例子:-a将用户账号mike加入到组账号root中.
格式:gpasswd–a 用户名组名
[root@localhost~]# useradd mike
[root@localhost~]# grep"^root" /etc/group
root:x:0:root
[root@localhost~]# gpasswd -amike root (将mike用户加入root组中)
Adding user miketo group root
[root@localhost~]# grep"^root" /etc/group
root:x:0:root,mike
[root@localhost~]#
-d:将用户账号mast从组账号root中删除.
格式:gpasswd–d 用户名组名
[root@localhost~]# useradd mast
[root@localhost~]# gpasswd -amast root
Adding user mastto group root
[root@localhost~]# grep"^root" /etc/group
root:x:0:root,mike,mast
[root@localhost~]# gpasswd -dmast root
Removing user mastfrom group root
[root@localhost~]# grep"^root" /etc/group
root:x:0:root,mike
[root@localhost~]#
-M:将用户账号wangyi,wangerwangsan同时加入it组中.
格式:gpasswd–M 用户名1,2,3 组名
[root@localhost~]# grep"^it" /etc/group
it:x:507:
[root@localhost~]# gpasswd -Mwangyi,wanger,wangsan it (用逗号隔开)
[root@localhost~]# grep"^it" /etc/group
it:x:507:wangyi,wanger,wangsan
[root@localhost~]#
设置组账户密码(很少用)
组密码的作用:非本用户组的用户想切换到本用户组身份时,可以通过密码保证安全性。如果没有设置组密码,则只有属于本用户组的用户能够切换到本用户组的身份。
[root@en ~]# gpasswd bd
Changing thepassword for group bd
New Password:
Re-enter newpassword:
[root@en ~]# gpasswd -a user8 bd
Adding user user8to group bd
[root@en ~]# grep bd /etc/group
bd:x:678:user8
[root@en ~]#
切换基本组:
newgrp 组名
[zhang@en skel]$ newgrp it
Password:
[zhang@en skel]$
删除组账号命令
------groupdel
例子:将组账户it删除.
[root@localhost~]# grep"^it" /etc/group
it:x:507:wangyi,wanger,wangsan
[root@localhost~]# groupdel it
[root@localhost~]# grep"^it" /etc/group
[root@localhost~]#
修改组账户信息命令
-----------groupmod.
-n:修改组名。
-g:修改组ID。
例子:-n把财务组改为财务1组。
格式:groupmod–n 新组名旧组名
[root@localhost~]# tail -3/etc/group
wanger:x:504:
wangsan:x:505:
caiwu:x:507:
[root@localhost~]# groupmod -ncaiwu1 caiwu
[root@localhost~]# tail -3/etc/group
wanger:x:504:
wangsan:x:505:
caiwu1:x:507:
[root@localhost~]#
-g:修改组ID。
格式:groupmod –g新GID 要修改的组名
[root@en ~]# grep bd /etc/group
bd:x:678:user8
[root@en ~]# groupmod -g 699 bd
[root@en ~]# grep bd /etc/group
bd:x:699:user8
[root@en ~]#
用户和组账号查询:
id命令-----用于查询用户的身份标识信息.
[root@localhost~]# id
uid=0(root)gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@localhost~]#
说明:
uid=0(root)----------userID用户ID.
Gid=0(root)---------组ID,创建用户时自动创建一个自己的组.
groups命令------用于查询某个用户账号所属的组。
例子:分别查询当前用户root和mast所属的组.
[root@localhost~]# groups
root bin daemonsys adm disk wheel
[root@localhost~]# groups mast
mast : mast
马哥LINUX视频:
用户账号文件
/etc/passwd
字段意义:7段
zhang:x:502:502::/home/zhang:/bin/bash
zhang:用户名
x :密码占位符
502 :UID
502 :GID 用户基本组ID号
一般为空 :用户的finger信息,用户的注释信息,如电话,地址等
/home/zhang:家目录
/bin/bash:用户默认shell
创建用户:
[root@en ~]# useradd zhang
[root@en ~]# tail -1 /etc/group (创建用户系统自动添加用户基本组ID)
zhang:x:502:
[root@en ~]#
[root@cnyum ~]# useradd -u 666 zhang1 (-u指定UID为666)
[root@cnyum ~]# tail -1 /etc/passwd (查看)
zhang1:x:666:666::/home/zhang1:/bin/bash
[root@cnyum ~]# useradd zhang2 (注意:在新建用户的UID从最大的开始+1)
[root@cnyum ~]# tail -3 /etc/passwd
dwzhang:x:500:500::/home/dwzhang:/bin/bash
zhang1:x:666:666::/home/zhang1:/bin/bash
zhang2:x:667:667::/home/zhang2:/bin/bash (此UID为667)
[root@cnyum ~]# useradd -u 555 zhang3
[root@cnyum ~]# useradd zhang4 (从最大UID开始)
[root@cnyum ~]# tail -5 /etc/passwd
dwzhang:x:500:500::/home/dwzhang:/bin/bash
zhang1:x:666:666::/home/zhang1:/bin/bash
zhang2:x:667:667::/home/zhang2:/bin/bash
zhang3:x:555:555::/home/zhang3:/bin/bash
zhang4:x:668:668::/home/zhang4:/bin/bash
[root@cnyum ~]#
[root@cnyum home]# useradd zhang8 -d /home2/zhang7 (指定用户家目录)
[root@cnyum home]# cd /home2
[root@cnyum home2]# ls
zhang7
[root@cnyum home2]#
选项:
-u :指定UID
-g :指定GID,(基本组需要存在)
-G :指定GID,指定一个或多个附加组(附加组需要存在)
-c :指定注释信息,如有空格需要用引号引起来。
-d :指定家目录位置,这个位置目录不能有。
-s :指定用户shell。一般要求在/etc/shells里面要有这个shell。
-M :不为用户创建家目录。
-r :创建系统用户,UID为1-499的,不能登录系统。
删除用户:(不加-r默认不会删除家目录的)
userdel:
[root@en ~]# userdel zhang2
选项: -r :一起删除家目录。
用户组文件
/etc/group
字段意义:4段
zhang:x:502:
zhang:组名
x :组密码占位符
502 :组ID
默认空 :以此组为其额外组用户的用户列表
创建组:
[root@en ~]# groupadd hr
[root@en ~]# tail -1 /etc/group
hr:x:503:
[root@en ~]#
添加组:
groupadd
选项: -g :GID
-r :创建系统组1-499之间
[root@cnyum ~]# groupadd hr (创建hr组)
[root@cnyum ~]# grep hr /etc/group
hr:x:668:
[root@cnyum ~]#
修改组:
groupmod
选项: -g :改GID
-n :修改组名 (-n 新组名 旧组名)
[root@cnyum ~]# groupadd hr
[root@cnyum ~]# grep hr /etc/group
hr:x:668:
[root@cnyum ~]# groupmod -g 3003 hr (更改hr组GID为3003)
[root@cnyum ~]# grep hr /etc/group
hr:x:3003:
[root@cnyum ~]#
[root@cnyum ~]# groupmod -n se hr (修改组名hr为se)
[root@cnyum ~]# grep hr /etc/group
[root@cnyum ~]# grep se /etc/group
se:x:3003:
[root@cnyum ~]#
删除组:
groupdel 组名
給组加密码:当不属于这个组切换到该组需要密码
gpasswd 组名
[root@en ~]# groupadd it
[root@en ~]# gpasswd it
Changing the password for group it
New Password:
Re-enter new password:
[root@en ~]#
[zhang@en skel]$ newgrp it
Password:
[zhang@en skel]$
切换基本组:
newgrp 组名
[zhang@en skel]$ newgrp it
Password:
[zhang@en skel]$
密码文件:
/etc/shadow
字段意义:9段
zhang:$6$.S0KkS8y$MoPIYbgLdFywAppCSDGrXDWESYFf8RSsO3P0pRLmNrGZurvfvXuOeEPFHJmHCr8XvUHHyxhjcjbxe0uobXXSC0:16329:0:99999:7:::
zhang:用户名
$6$.S0KkS8y$MoPIYbgLdFywAppCSDGrXDWESYFf8RSsO3P0pRLmNrGZurvfvXuOeEPFHJmHCr8XvUHHyxhjcjbxe0uobXXSC0:密码,显示!!两个叹号表示禁用,需要临时禁用在密码前加!!。加密方式:单向加密,单向加密特性:定长输出,雪崩效应,明文一样,结果一样,不可逆。
16329:密码最近一次的修改时间,从1970-1-1开始
0 :密码最短使用期限,0为不限定,按天计算。
99999:密码最长使用期限,按天计算
7 :离密码过期还有多少天开始向用户发送警告(按天计算,0 = 未指定警告)
空 :用户账号的非活动期限,按天计算
空 :用户账号的有效期限,从1970-1-1开始,按天计算
空 :保留段,没什么用。
设定密码:
[root@en ~]# passwd zhang
选项:
-l :锁定用户。
-u :解锁用户。
--stdin :标准输入,设定密码不用重复2次。
[root@en ~]# echo ‘1qaz2wsx!@‘ | passwd --stdin zhang2
Changing password for user zhang2.
passwd: all authentication tokens updated successfully.
[root@en ~]# (设置zhang2密码为1qaz2wsx!@)
[root@en ~]# echo ‘1qaz2wsx!@‘ | passwd --stdin zhang2 > /dev/null
[root@en ~]# (不显示信息)
查看用户信息:
[root@en ~]# id zhang
uid=502(zhang) gid=502(zhang)groups=502(zhang)
[root@en ~]#
[root@en ~]# id -g zhang (只看GID)
502
[root@en ~]# id -u zhang (只看UID)
502
[root@en ~]# id -G zhang (查看附加组)
502
[root@en ~]# id -nG zhang (-n和他们一起用显示名称,而不是ID号)
zhang
[root@en ~]#
[root@en ~]# finger zhang (可以查看用户账号信息和用户最后登录信息)
Login: zhang Name:
Directory: /home/zhang Shell: /bin/bash
On since Wed Sep 17 10:51 (CST) on pts/1from 192.168.20.92
2hours 44 minutes idle
No mail.
No Plan.
[root@en ~]#
修改用户属性:
chsh :更改用户shell。
[root@en~]# chsh zhang2
Changing shell for zhang2.
New shell [/bin/bash]: /bin/csh
Shell changed.
[root@en ~]# grep ‘zhang2‘ /etc/passwd
zhang2:x:503:504::/home/zhang2:/bin/csh
[root@en ~]#
chfn :更改用户finger信息。
[root@en~]# chfn zhang2
Changing finger information for zhang2.
Name []: zhang2 ooo
Office []: beijing
Office Phone []: 13520341659
Home Phone []: 62660566
Finger information changed.
[root@en ~]# grep zhang2 /etc/passwd
zhang2:x:503:504:zhang2ooo,beijing,13520341659,62660566:/home/zhang2:/bin/csh
[root@en ~]#
修改用户信息:
usermod : -u :更改UID
-g :更改GID,基本组,基本组需要事先存在。
-G :更改GID,更改一个或多个附加组(附加组需要存在)
注意:如果用户有附加组,在指定附加组,之前的附加组就没有了。
如果要再加一个附加组,不删除原有附加组,需要用-a –G GID,
-G hr se不是追加,把hr组改为se组,追加是-a –G。
-c :更改注释信息,如有空格需要用引号引起来。
-d :更改家目录位置,家目录里面文件还在,一起改需用-m -d。
-s :更改用户shell。一般要求在/etc/shells里面要有这个shell。
[root@cnyum ~]# cat /etc/passwd
zhang1:x:666:666::/home/zhang1:/bin/bash
[root@cnyum ~]# usermod -u 567 zhang1 (修改用户zhang1的UID)
[root@cnyum ~]# cat /etc/passwd
zhang1:x:567:666::/home/zhang1:/bin/bash
[root@cnyum ~]#
关于su用户切换:
su和su –不同:
[root@en ~]# su dwzhang
[dwzhang@en root]$ pwd
/root
[dwzhang@en root]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[dwzhang@en root]$ exit
exit
[root@en ~]# su - dwzhang
[dwzhang@en ~]$ pwd
/home/dwzhang
[dwzhang@en ~]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dwzhang/bin
[dwzhang@en ~]$ exit
logout
[root@en ~]#
用户管理命令练习题:
1.创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003),附加组为linux:
[root@yum~]# groupadd -g3003 distro
[root@yum~]# groupaddlinux
[root@yum~]# grep‘distro‘ /etc/group
distro:x:3003:
[root@yum~]# grep ‘linux‘/etc/group
linux:x:3004:
[root@yum~]# useradd -u2002 -g distro -G linux mandriva
[root@yum~]# grepmandriva /etc/passwd
mandriva:x:2002:3003::/home/mandriva:/bin/bash
[root@yum~]#
2.创建一个用户fedora,其全名为fedora community,默认shell为tcsh:
[root@yum~]# useradd -c"fedora community" -s /bin/tcsh fedora
[root@yum~]# grep‘fedora‘ /etc/passwd
fedora:x:2003:2003:fedoracommunity:/home/fedora:/bin/tcsh
[root@yum~]#
3.修改mandriva的ID为4004,基本组为linux,附加组为distro和fedora:
[root@yum~]# usermod -u4004 -g linux -G distro,fedora mandriva
[root@yum~]# grepmandriva /etc/passwd
mandriva:x:4004:3004::/home/mandriva:/bin/bash
[root@yum~]# grepmandriva /etc/group
distro:x:3003:mandriva
fedora:x:2003:mandriva
[root@yum~]#
4.给fedora加密码,并设定其密码最短使用期限为2天,最长为50天:
[root@yum~]# passwd -n 2-x 50 fedora
Adjustingaging data for user fedora.
passwd:Success
[root@yum~]#
5.将fedora的默认shell改为/bin/bash:
[root@yum~]# grep fedora/etc/passwd
fedora:x:2003:2003:fedoracommunity:/home/fedora:/bin/tcsh
[root@yum~]# usermod -s/bin/bash fedora
[root@yum~]# grep fedora/etc/passwd
fedora:x:2003:2003:fedoracommunity:/home/fedora:/bin/bash
[root@yum~]#
6.添加系统用户hbase,其不允许其登录:
[root@yum~]# useradd -r-s /sbin/nologin hbase
[root@yum~]# grep hbase/etc/passwd
hbase:x:496:493::/home/hbase:/sbin/nologin
[root@yum~]#
7. 新建用户jerry,然后复制/etc/skel目录至/tmp,并重命名为jerry,要求为/tmp/jerry目录指定权限,
要求如下:
(1) 属主属组均为jerry,包括内部的所有文件。
(2) /tmp/jerry及其内部的所有文件的属组没有任何权限,其他用户也没有任何权限。
(3) 将jerry的家目录修改为/tmp/jerry,并通过登录验证。
[root@en ~]# useradd jerry
[root@en ~]# passwd jerry
Changing password for user jerry.
New password:
BAD PASSWORD: it is based on a dictionaryword
Retype new password:
passwd: all authentication tokens updatedsuccessfully.
[root@en ~]#
[root@en ~]# cp -r /etc/skel /tmp/jerry
[root@en ~]# ll -d /tmp/jerry/
drwxr-xr-x. 4 root root 4096 Sep 18 10:06/tmp/jerry/
[root@en ~]#
[root@en ~]# chown -R jerry:jerry /tmp/jerry/
[root@en ~]# ll -d /tmp/jerry/
drwxr-xr-x. 4 jerry jerry 4096 Sep 18 10:06/tmp/jerry/
[root@en ~]#
[root@en ~]# chmod -R go=--- /tmp/jerry/
[root@en ~]# ll /tmp/jerry/ -d
drwx------. 4 jerry jerry 4096 Sep 18 10:06/tmp/jerry/
[root@en ~]#
[root@en ~]# usermod -d /tmp/jerry/ jerry
[root@en ~]# grep jerry /etc/passwd
jerry:x:504:506::/tmp/jerry/:/bin/bash
[root@en ~]#
[jerry@en ~]$ pwd (验证)
/tmp/jerry/
[jerry@en ~]$
Linux命令-用户密码和组密码管理
用户密码和组密码分别保存在/etc/shadow和/etc/gshadow里,下面我们对这两个文件进行分析。
首先,cat/etc/shadow:
[root@en ~]# cat /etc/shadow
root:$6$ywmofjJsEJYHh7xr$fbqAyFiYzlrEeZpAnH5QXN63zuOPd3NW9ZUDzOwqalm7Mg5Fg0rStYBnoiVbuLmCAnOAYZLEhiMN.kG7IAiJj.:16324:0:99999:7:::
bin:*:15980:0:99999:7:::
。。。。。。。。。。。。。。。。。。。。。。。。。。。
[root@en ~]#
shadow里保存的内容都是分段的,每段以”:“分隔,每一段的内容如下:
用户名:加密后的密码:最近一次修改密码的日期:密码最短使用天数:密码最长使用天数:提前多少天提示用户密码即将过期:密码非活动天数:密码锁定日期:保留字段
第一段:用户名
第二段:加密后的密码
通过man 3 crypt可知:
[root@en ~]# man 3 crypt
ID | Method
---------------------------------------------------------
1 | MD5
2a | Blowfish (not in mainline glibc; added insome
| Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)
$id$salt$encrypted
id:表示加密方法
salt:是从[a-zA-Z0-9./]随机选取的2个字符,用来扰乱算法的
encrtpted:用户真正的经过加密算法计算过的密码
第三段:最近一次修改密码的日期,这项表示的是1970-01-01距离密码修改日期共经历了多少天
第四段:密码最短使用天数,0表示没有限制
第五段:密码最长使用天数,99999表示无限制
第六段:提前多少天提示用户密码即将过期
第七段:密码非活动天数,0表示密码过期立即锁定,-1表示密码永不过期
第八段:密码锁定日期,这项表示的是1970-01-01距离密码修改日期共经历了多少天
和用户密码相关的命令有passwd,usermod,chage,接下来我们一一讲解它们的用法:
1.passwd [option] USERNAME
a.新建hadoop用户,并查看shadow
[root@en ~]# useradd hadoop
[root@en ~]# grep hadoop /etc/shadow
hadoop:!!:16423:0:99999:7:::
[root@en ~]#
注意第二个字段是!!,因为还没有为hadoop设置密码,我们可以用passwd为用户设置密
格式:passwd USERNAME
[root@en ~]# passwd hadoop
Changing password for user hadoop.
New password:
BAD PASSWORD: it is based on a dictionaryword
Retype new password:
passwd: all authentication tokens updatedsuccessfully.
[root@en ~]#
b.锁定用户:
格式:passwd -l USERNAME
[root@en ~]# passwd -l hadoop
Locking password for user hadoop.
passwd: Success
[root@en ~]# passwd -S hadoop
hadoop LK 2014-12-19 0 99999 7 -1 (Passwordlocked.)
[root@en ~]#
查看shadow,密码段最前面多了!!,密码不对了,不能登录是正常的:
[root@en ~]# grep hadoop /etc/shadow
hadoop:!!$6$3u2Vlvhs$kgZf/Ykne2H5B9KcfoxLbAZg8TQHDBydy.njXBJVQZg/eNMP4ztSxkvRed60p4nEB39gDlvdCoC/FGFp/OGXC.:16423:0:99999:7:::
[root@en ~]#
c.解锁用户:
格式:passwd -u USERNAME
[root@en ~]# passwd -u hadoop
Unlocking password for user hadoop.
passwd: Success
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$3u2Vlvhs$kgZf/Ykne2H5B9KcfoxLbAZg8TQHDBydy.njXBJVQZg/eNMP4ztSxkvRed60p4nEB39gDlvdCoC/FGFp/OGXC.:16423:0:99999:7:::
[root@en ~]#
d.修改密码最短使用天数:
格式:passwd -n 天数 USERNAME
[root@en ~]# passwd -n 2 hadoop
Adjusting aging data for user hadoop.
passwd: Success
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$3u2Vlvhs$kgZf/Ykne2H5B9KcfoxLbAZg8TQHDBydy.njXBJVQZg/eNMP4ztSxkvRed60p4nEB39gDlvdCoC/FGFp/OGXC.:16423:2:99999:7:::
[root@en ~]#
e.修改密码最长使用天数
格式:passwd -x 天数 USERNAME
[root@en ~]# passwd -x 30 hadoop
Adjusting aging data for user hadoop.
passwd: Success
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$3u2Vlvhs$kgZf/Ykne2H5B9KcfoxLbAZg8TQHDBydy.njXBJVQZg/eNMP4ztSxkvRed60p4nEB39gDlvdCoC/FGFp/OGXC.:16423:2:30:7:::
[root@en ~]#
f.修改提前多少天提示用户密码即将过期:
格式:passwd -w 天数 USERNAME
[root@en ~]# passwd -w 14 hadoop
Adjusting aging data for user hadoop.
passwd: Success
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$3u2Vlvhs$kgZf/Ykne2H5B9KcfoxLbAZg8TQHDBydy.njXBJVQZg/eNMP4ztSxkvRed60p4nEB39gDlvdCoC/FGFp/OGXC.:16423:2:30:14:::
[root@en ~]#
g.修改密码非活动天数:
格式:passwd -i 天数 USERNAME
[root@en ~]# passwd -i 7 hadoop
Adjusting aging data for user hadoop.
passwd: Success
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$3u2Vlvhs$kgZf/Ykne2H5B9KcfoxLbAZg8TQHDBydy.njXBJVQZg/eNMP4ztSxkvRed60p4nEB39gDlvdCoC/FGFp/OGXC.:16423:2:30:14:7::
[root@en ~]#
h.使密码立即过期,并强制用户登录时更改密码:
格式:passwd -e USERNAME
[root@en ~]# passwd -e hadoop
Expiring password for user hadoop.
passwd: Success
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$3u2Vlvhs$kgZf/Ykne2H5B9KcfoxLbAZg8TQHDBydy.njXBJVQZg/eNMP4ztSxkvRed60p4nEB39gDlvdCoC/FGFp/OGXC.:0:2:30:14:7::
[root@en ~]#
2.chage [option] USERNAME
a.修改最后一次密码修改日期:
格式:chage -d YYYY-MM-DD USERNAME
hadoop最后一次修改密码是2014-12-19,第3个字段为16423;
通过chage更改了最后一次密码修改日期为为2014-04-29,所以第3个字段变为了16189
[root@en ~]# passwd Hadoop (为用户设置密码)
Changing password for user hadoop.
New password:
BAD PASSWORD: it is based on a dictionaryword
Retype new password:
passwd: all authentication tokens updatedsuccessfully.
[root@en ~]# grep hadoop /etc/shadow (最后一次修改密码是12-19,16423)
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16423:2:30:14:7::
[root@en ~]# chage -d 2014-12-18 hadoop (修改日期改为前一天)
[root@en ~]# grep hadoop /etc/shadow (最后一次修改密码是12-18,16422)
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:2:30:14:7::
[root@en ~]#
b.修改密码最短使用天数:
格式:chage -m 天数USERNAME
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:2:30:14:7::
[root@en ~]# chage -m 11 hadoop
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:11:30:14:7::
[root@en ~]#
c.修改密码最长使用天数
格式:chage -M 天数USERNAME
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:11:30:14:7::
[root@en ~]# chage -M 22 hadoop
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:11:22:14:7::
[root@en ~]#
d.修改提前多少天提示用户密码即将过期:
格式:chage -W 天数USERNAME
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:11:22:14:7::
[root@en ~]# chage -W 29 hadoop
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:11:22:29:7::
[root@en ~]#
e.修改密码非活动天数:
格式:chage -I 天数USERNAME (大写I)
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:11:22:29:7::
[root@en ~]# chage -I 15 hadoop
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:11:22:29:15::
[root@en ~]#
f.修改过期时间:
格式:chage -E YYYY-MM-DD USERNAME
现在是2014-12-19(距离1970-01-01是….天),我们修改密码2014-12-25过期,所以是16429
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:11:22:29:15::
[root@en ~]# chage -E 2014-12-25 hadoop
[root@en ~]# grep hadoop /etc/shadow
hadoop:$6$cvwKbYZE$NLeSlFMNKWy71WRe5EWFynOdMU.2GkN21PHSOA.kOIXMW1QOak0.gEm7dX/6alDZ5X7OyJ7L2UyuwXM2LGywG/:16422:11:22:29:15:16429:
[root@en ~]#
原文地址:http://153744.blog.51cto.com/143744/1670488