一.查看系统中用户信息

1.查看系统中是否存在“用户名”该用户

# grep "用户名" /etc/passwd

2.查看系统中可以登录的用户

# grep bash$ /etc/passwd

3.查看系统下有多少用户

# cat  /etc/passwd | wc  -l

# cat  /etc/passwd                       ##查看系统中存在的用户详细信息

二.用户信息文件

1./etc/passwd             #用户信息文件

用户名字:用户密码:用户uid:用户gid:用户说明:用户家目录:用户使用的shell

2.更改用户密码

(1).更改用户密码(只有超级用户root可以)

[root@localhost ~]# passwd 用户名

(2).普通用户修改自己的密码

[student@localhost ~]$ passwd

注:普通用户只能修改自己的密码,并且必须知道自己原始密码,修改密码必须大

于8位,不能与原始密码字符重复

(3).冻结普通用户

[root@localhost ~]# passwd    -l    username

(4).解锁冻结帐号

[root@localhost ~]# passwd    -u    username

注:以上冻结/解锁只能在超级用户(root)的状态下设置。

# passwd    -S    用户名      ##列出用户密码相关信息

# passwd    -S      root

root   PS    2016-04-11   2   99999   7   -1   (Password set, SHA512 crypt.)

密码新建时间:最小天数:更改天数:警告天数:永久不失效

-n    天数    用户名                   ##指定用户多久不可修改密码

# passwd    -n     5     root

-x     天数     用户名                 ##指定用户多久之内必须更改密码

-w     天数     用户名                  ##指定用户密码过期前的警告天数

-i       日期     用户名                  ##指定用户密码的失效期

# passwd    -i    11    zhang               ##密码11天之后失效

echo    “密码”   |    passwd    --stdin    用户名                      ###新用户创建密码

# echo    “abcd”   |   passwd    --stdin   yangguoqiang

3./etc/shadow            #用户认证信息

用户名称:密码:密码使用天数:最短有效期:密码最长有效期:密码警告期:密码

非活跃期:密码到期日

4.密码期限更改

chage    -d  0   用户名                      ##密码使用了多久,设定为0表示用户登陆系统前必须更改密码

-m                           ##最短有效期,在最短有效期内不能更改密码

-M                          ##最长有效期,需要在最长有效期内更改密码,否则密码则期。

-W                          ##警告期,当密码即将过期时,会提前提醒用户更改密码。此处可以

设置密码过期前多长时间警告用户更改密码。

-I                            ##非活跃期,密码过期后,用户还可以登录系统,但系统会要求 用

户重新设置密码后才可以继续登录使用

-E                          ##到期时间格式yyyy-mm-dd

5./etc/group                          #用户组信息

用户组名称:用户组密码:用户组id:附加用户成员

/home/username             #用户家目录

/etc/skel/.*                           #用户的基本信息配置

 

6.用户组的查看

(1).查看系统中是否存在“用户组”该用户

grep     "用户组名"   /etc/group

(2).查看系统下有多少用户组

cat    /etc/group  |  wc -l

7./etc/gshadow                #用户组认证信息

[liuyifan@localhost Desktop]$head -4 /etc/gshadow

root:::

注:第二个字段是密码列,如果密码列上面是“!”时,表示该用户组不具有用户组管理员。

用户组名:密码列:用户组管理员的帐号:该用户组的所属帐号

三.用户组管理

有效用户组与初始用户组

1.初始用户组:用户GID所对应的组。

2.输入grous查看用户的组信息,第一个输出的用户组即为有效用户组。

例如:

[liuyifan@localhost Desktop]$groups

liuyifan yangguoqiang

注:在这个输出的信息中,可知liuyifan这个用户同时属于yangguoqiang 及liuyifan这两个组,而有效用户组为liuyifan,yangguoqiang属于初始组。 若用touch创建一个文件,那么这个文件的所有者是liuyifan,用户组是 liuyifan。

[liuyifan@localhost Desktop]$touch test

[liuyifan@localhost Desktop]$ll

-rw-rw-r-- 1 liuyifan liuyifan 0 Feb 24 17:26 test

注:通常有效用户组的作用是新建文件。

有效用户组的切换

newgrp                       ##更改有效用户组

注:使用newgrp是有限制的,想要切换的用户组必须是已经有支持的用户组。

[liuyifan@localhost Desktop]$newgrp yangguoqiang

[liuyifan@localhost Desktop]$groups

yangguoqiang liuyifan                                   ##有效用户组已经切换

[liuyifan@localhost Desktop]$touch test1    ###建立文件

[liuyifan@localhost Desktop]$ll

-rw-rw-r-- 1 liuyifan liuyifan 0 Feb 24 17:26 test    ###liuyifan的有效用户组是

liuyifan

-rw-r--r-- 1 liuyifan yangguoqiang 0 Feb 24 17:33 test1 ###liuyifan的有效用户组是yangguoqiang

注:newgrp用来更改目前用户的有效用户组,而且是另外以一个shell身份来提供这个功能的。以上例来说,liuyifan这个用户是以另外一个shell登录的,而且新 的shell给予liuyifan有效GID为yangguoqiang。虽然用户的环境设置不会受影响,但是用户的“用户组权限”将会重新被计算。如果要返回原本的环境,请输入exit 回到原本的shell。

四.用户操作命令

1.id        查看用户信息

#  id root

uid=0(root) gid=0(root) groups=0(root)

id     -u   用户名         ###用户uid

-g   用户名           ###用户gid

-a   用户名           ###用户所有信息

-G   用户名           ###用户所在所有的id

-un  id号/用户名      ###用户名字

-gn  用户名           ###用户初始组名称

-Gn  用户名           ###用户所在所有组名称

2.用户环境

echo $PATH      ###查看当前用户的用户环境

# echo $PATH   /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/

root/bin

echo $USER        ###显示当前用户的信息

# echo $USER

root

3. useradd            ###新建用户

-e  YY-MM-DD    用户名      ###创建一个账号,设定帐号失效日

-f     -1/0      用户名           ###创建一个账号,指定密码是否会失效,0为立即失效,-1为永远不会失效(密码只会过期而强制于登录时重新设置而已)

-u  uid号  用户名              ###指定用户的uid

-g  gid号  用户名               ###指定用户初始组,这个组一定要存在

-G  附加组名  用户名                ###指定附加组,组同样要存在

-c  用户说明  用户名      ###用户说明

-d  指定目录名 用户名     ###指定用户加目录

-r     用户名     ###创建一个系统的帐号,这个账号的UID会有限制

-s  shell指令   用户名    ###指定用户使用的shell,shell种类参看/etc/shells

useradd参考文件

# useradd -D    ##用来更改预设值

GROUP=100                 ####默认的用户组

HOME=/home                ####默认的主文件夹所在目录

INACTIVE=-1               ####密码失效日,在/etc/shadow文件的第七列,-1代表永远

不会失效,0表示立即失效

EXPIRE=                    ####帐号失效的日期,一般不设置,除过会员制系统

SHELL=/bin/bash          ####shell环境

SKEL=/etc/skel            ####用户主文件夹参考目录

CREATE_MAIL_SPOOL=yes    ####创建新用户的mailbox,即邮件箱

userdel  用户名     ####删除用户,不删除用户相关文件

-r    用户名   ##将用户及用户文件一并删除

groupadd    -g       gid   ###新建组,-g表示指定组的id

-r        组名   ##新建系统用户组

groupmod      ##修改用户组

-g    gid     ##更改gid

-n       组名    用户名    ##更改用户的初始组

groupdel      组名      ###删除用户组

usermod    -u   用户名    ##改变用户uid

-g        ##改变用户初始组

-G        ##改变用户附加组

-aG        ##增加用户附加组

-d        ##改变用户家目录信息

-md        ##改变用户家目录信息和家目录名称

-s        ##改变用户的shell

-c        ##改变用户的说明

-L        ##冻结用户

-U        ##解锁用户

chfn     ##设置用户详细信息,一般不常用

# chfn

Changing finger information for root.

Name [root]: root

Office []: westos

Office Phone []: 13572549874

Home Phone []: 8828383834

Finger information changed.