码迷,mamicode.com
首页 > 系统相关 > 详细

Linux用户和组命令

时间:2015-07-03 16:12:52      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:用户名   文件夹   管理员   优先级   linux   

Linux建立用户和组:

     每个用户都有一个userID,而非用户名.每个登陆用户拥有一个指定的shell.

 

用户分为三种:

  1. root用户:---ID0,只要ID0,就是超级管理员账户,不一定叫root.

  2. 系统用户:---ID1----499,作用比较单一,为一些服务用,比如打印等.

  3. 3.       普通用户:---ID500以上.

   

 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:指定用户的基本组名,(基本组需要存在)。

-G:指定用户的附加组名,(附加组需要存在)。

-M:不建立使用者家目录。

-s:指定用户的登录shell.

-c:指定注释信息,如有空格需要用引号引起来。

-r:创建系统用户,UID1-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:创建系统用户,UID1-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号。

例子:aaaUID改为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 –gGID 要修改的组名

[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命令------用于查询某个用户账号所属的组。

例子:分别查询当前用户rootmast所属的组.

[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指定UID666)

[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     (UID667)

[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 :创建系统用户,UID1-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     (更改hrGID3003)

[root@cnyum ~]# grep hr /etc/group

hr:x:3003:

[root@cnyum ~]#

[root@cnyum ~]# groupmod -n se hr    (修改组名hrse)

[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     (修改用户zhang1UID)

[root@cnyum ~]# cat /etc/passwd

zhang1:x:567:666::/home/zhang1:/bin/bash

[root@cnyum ~]#

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

关于su用户切换:

susu –不同:

[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(ID3003),附加组为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,默认shelltcsh:

[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.修改mandrivaID4004,基本组为linux,附加组为distrofedora:

[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-1916423)

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-1816422)

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 ~]#

 

 

 

 

 

 

 

 

 

 

 

 

 


Linux用户和组命令

标签:用户名   文件夹   管理员   优先级   linux   

原文地址:http://153744.blog.51cto.com/143744/1670488

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!