用户管理su useradd userdel finger usermod passwd chsh chfn pwck id chage chage


影子口令: 

用户:/etc/shadow

组:/etc/gshadow


用户类别

管理员 :id  0

普通用户 id  1-65535

    系统用户 1-499

    一般用户 500-60000


用户组类别

管理员组

普通组

    系统组

    一般组


用户组类别:

私有组:系统自动创建一个和用户名同名的组

用户基本组:默认组

附加组:默认组以为的组


加密方法:

 对称加密

 公钥加密

 单向加密:雪崩效应 定长输出(md5,sha1)


详细了解一下文件内容

[root@Jameszhan t]# /etc/passwd 

[root@Jameszhan t]# /etc/shadow

[root@Jameszhan t]# cat  /etc/default/useradd 

# useradd defaults file

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=ye


################################################

su:切换用户

useradd:添加用户

userdel:删除用户

usermod:修改用户信息

passwd: 修改用户密码

chsh:   修改用户shell

chfn:

finger

id:查看用户信息

chage:


################################################


su:switch user 切换用户

[root@Jameszhan etc]# su jameszhan

sh-4.1$ 



################################################


useradd

 -u:设置uid

 -g:基本组

 -G.,.,.,:附加组(可用有多个)

 -c:注释

 -d:设定家目录

 -s:指定shell的路径  sbin/nologin 禁止用户登录

 -m:强制为用户添加家目录和-k一起用(复制skel目录至家目录)

    [root@Jameszhan t]# ls -al /etc/skel/ 

 -M:不给用户添加家目录


登录的配置全局配置信息 

[root@Jameszhan ~]# cat /etc/login.defs 


################################################


userdel

userdel [option] USERNAME 

默认不删除家目录

 -r 同时删除用户家目录


################################################


finger:查看用户帐户信息

finger USERNAME


################################################ 


id:print real and effective user and group IDs 显示用户id和组id 


 -u uid

 -g gid(基本组)

 -G 附加组


[root@Jameszhan ~]# id

uid=0(root) gid=0(root) 组=0(root),500(test) 环境=unconfined_u:unconfined_r:unconfined_t:s0-

s0:c0.c1023


[root@Jameszhan ~]# id -u

0


[root@Jameszhan ~]# id -g

0


[root@Jameszhan ~]# id -G

0 500



################################################


usermod


参考资料:usermod manpage 

 usermod -modify a user account 修改用户帐户信息 

usermod [options] username

usermod 命令修改系统帐户文件来反映通过命令行指定的变化

选项(options)

-a|--append      ##把用户追加到某些组中,仅与-G选项一起使用 

-c|--comment     ##修改/etc/passwd文件第五段comment 

-d|--home        ##修改用户的家目录通常和-m选项一起使用 

-e|--expiredate  ##指定用户帐号禁用的日期,格式YY-MM-DD 

-f|--inactive    ##用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此

功能,默认值是-1 

-g|--gid         ##修改用户的gid,改组一定存在

-G|--groups      ##把用户追加到某些组中,仅与-a选项一起使用 

-l|--login       ##修改用户的登录名称 

-L|--lock        ##锁定用户的密码 

-m|--move-home   ##修改用户的家目录通常和-d选项一起使用 

-s|--shell       ##修改用户的shell 

-u|--uid         ##修改用户的uid,该uid必须唯一 

-U|--unlock      ##解锁用户的密码 

 

示例(Examples):

1,新建用户test,密码test,另外添加root组

[root@Jameszhan ~]# useradd test

[root@Jameszhan ~]# echo "test" | passwd --stdin test

更改用户 test 的密码 。

passwd: 所有的身份验证令牌已经成功更新。


2,把test用户加入newtest组


##多个组之间用空格隔开 

[root@Jameszhan ~]# usermod -aG  newtest test

[root@Jameszhan ~]# id test

uid=500(test) gid=500(test) 组=500(test),501(newtest)


3,修改test用户的家目录

[root@Jameszhan ~]# usermod -md /home/jameszhan test



4,修改用户名test>jameszhan

#usermod -l jameszhan(新用户名称)  test(原来用户名称) 

[root@Jameszhan ~]# usermod -l jameszhan test


5,锁定用户-L

[root@Jameszhan ~]# usermod -L jameszhan


6,解锁户-U 

[root@Jameszhan ~]# usermod -U Jameszhan 


7,修改用户的shell

[root@Jameszhan ~]# usermod -s /bin/sh Jameszhan 

 

8,修改用户的UID

[root@Jameszhan ~]# usermod -u 578 Jameszhan (UID必须唯一) 

[root@Jameszhan ~]# id Jameszhan 

uid=578(Jameszhan) gid=500(test) groups=500(test),501(usertest) 


9,修改用户的GID

[root@Jameszhan ~]# groupadd -g 578 test1

[root@Jameszhan ~]# usermod -g 578 Jameszhan (578组一定要存在) 

[root@Jameszhan ~]# id Jameszhan 

uid=578(Jameszhan) gid=578(test1) groups=578(test1),501(usertest) 


10,指定帐号过期日期

[root@Jameszhan ~]# usermod -e 2012-09-11 Jameszhan 


11,指定用户帐号密码过期多少天后,禁用该帐号

[root@Jameszhan ~]# usermod -f 0 Jameszhan 



注意(caution):

usermod不允许你改变正在线上的使用者帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执

行任何程序

 

/etc/passwd

user_name:x:uid:gid:commnet:home:shell

/etc/shadow

username:passwd:lastchg:min:max:warn:inactive:expire:flag

--用户名

--密码

--从1970年1月1日起到上次修改密码所经过的天数

--密码再过几天可以被变更(0表示随时可以改变)

--密码再过几天必须被变更(99999表示永不过期)

--密码过期前几天提醒用户(默认为一周)

--密码过期几天后帐号被禁用

--从1970年1月1日算起,多少天后账号失效



################################################


passwd:update user’s authentication tokens 更新用户密码

  --stdin:接收标准输入内容

  -l:锁定用户

  -u:解锁用户

  -d:清空用户密码


修改newtest用户密码

[root@Jameszhan ~]# passwd newtest

更改用户 newtest 的密码 。

新的 密码:

无效的密码: WAY 过短

无效的密码: 过于简单

重新输入新的 密码:

passwd: 所有的身份验证令牌已经成功更新。


脚本修改密码

[root@Jameszhan ~]# echo "newtest" | passwd --stdin newtest

更改用户 newtest 的密码 。

passwd: 所有的身份验证令牌已经成功更新。


################################################


chsh:修改用户的shell

chsh USERNAME



################################################


chfn:change finger 修改注释信息

chfn USERNAME


################################################


pwck:检查用户完整性

[root@Jameszhan ~]# pwk

-bash: pwk: command not found

[root@Jameszhan ~]# pwck

user 'adm': directory '/var/adm' does not exist

user 'uucp': directory '/var/spool/uucp' does not exist

user 'gopher': directory '/var/gopher' does not exist


################################################



chage:change user password expiry information 修改用户密码信息

  -d:最近一次的修改时间

  -E:过期时间

  -I:非活动时间

  -m:最短使用期限

  -M:最长使用期限

  -W:警告时间


################################################