Linux账户和组管理
个人学习笔记!!有图有真相!!
一步步教你学习linux!
超详细实验记录!
**************************************
四个主要文件:
/etc/passwd /etc/shadow /etc/group /etc/gshadow
控制文件:
#vim /etc/login.defs
用户帐号 /etc/passwd /etc/shadow
uid 0--500(系统帐号)500---60000 普通账号
组帐号 /etc/group /etc/gshadow
gid 0---60000
图形化工具
• system-config-users
监控登录
• 连接了的用户:w
• 最近的登录:last、lastb,lastlog
last 用户登录详细信息
lastb 尝试登录失败信息
lastlog 用户真实登录情况
用户管理:/etc/passwd /etc/shadow
创建用户:useradd
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。
语法格式:
useradd [options] LOGIN
useradd –u uid –o 允许重复 -d 家目录 -s shell -g gid –r 系统帐号 -m创建家目录 -M不创建家目录 username
示例如下:
#useradd u1 //创建普通用户
#passwd u1
#useradd –u 0 –o u2 //-u uid –o允许uid重复
#passwd u2 //创建超级管理员
#通过网络测试,可以成功登录,并且为超级管理员
#useradd –d /tmp/u3 u3 //-d指定家目录
#grep “u3” /etc/passwd
#ll /tmp|grep u3
#grep “u3” /etc/passwd
#grep “u3”/etc/group
#grep –g 503 u4 //注:503为已经存在的组的gid
#id u4 //创建用户时指定所属组
#useradd –s /bin/sh u5 //-s指定新建用户所使用的shell
#grep u5 /etc/passwd
#passwd u5 //系统提示输入密码太短,输入长密码即可
#通过一终端登录,显示已经改变shell
#useradd –r u6 //-r创建系统账户
#ll /home //默认情况下:系统不为系统账户创建家目录
#useradd –r –m u7 //-m 创建家目录
#ll /home //使用-m为系统账户创建家目录
批量创建账户:
示例如下:
[root@junjie ~]# vim useradd.sh
#!/bin/bash
for I in {1..10};do
useradd user$I
done
[root@junjie ~]# chmod a+x useradd.sh
[root@junjie ~]# ll useradd.sh
-rwxr-xr-x 1 root root 52 Sep 26 23:46 useradd.sh
[root@junjie ~]# ./useradd.sh
[root@junjie ~]# tail /etc/passwd
user1:x:505:505::/home/user1:/bin/bash
[root@junjie ~]# ll /home |tail
drwx------ 3 user1 user1 4096 Sep 26 23:48 user1
************************************************************
修改用户:usermod
Usage: usermod [options] LOGIN
-u uid –g gid –o 允许重复 –d 家目录 –s shell
-l 新名字 旧名字 –L 锁定 –U 解锁 –G 组名称
示例如下:
[root@junjie ~]# grep u1 /etc/passwd
u1:x:501:501::/home/u1:/bin/bash
[root@junjie ~]# usermod -l qq u1 //修改用户名
[root@junjie ~]# grep u1 /etc/passwd
qq:x:501:501::/home/u1:/bin/bash
[root@junjie ~]#usermod –G test user1
[root@junjie ~]#usermod –G test user2 //修改用户所属组
[root@junjie ~]#groups user1
删除用户:userdel
Usage: userdel [options] LOGIN
Options:
-f, --force强制 -r, --remove删除关联文件
示例如下:
[root@junjie ~]# ll /home |grep user3
drwx------ 3 user3 user3 4096 Sep 26 23:48 user3
[root@junjie ~]# userdel user3
[root@junjie ~]# ll /home |grep user3
drwx------ 3 507 507 4096 Sep 26 23:48 user3
[root@junjie ~]#
[root@junjie ~]# ll /home |grep user4
drwx------ 3 user4 user4 4096 Sep 26 23:48 user4
[root@junjie ~]# userdel -r user4 //-r同时删除账户关联的文件
[root@junjie ~]# ll /home |grep user4
[root@junjie ~]#
口令:passwd
Usage: passwd [OPTION...] -S, --status -d, --delete -l, --lock -u, --unlock
--stdin read new tokens from stdin (root only)
示例如下:
[root@junjie ~]# useradd yy
[root@junjie ~]# grep yy /etc/shadow
yy:!!:15243:0:99999:7:::
[root@junjie ~]# passwd -S yy
yy LK 2011-09-26 0 99999 7 -1 (Password locked.)
[root@junjie ~]# passwd yy
Changing password for user yy.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@junjie ~]# grep yy /etc/shadow
yy:$1$65RxuUJg$YgSzBSSe1T4CFflIYftoV0:15243:0:99999:7:::
[root@junjie ~]# passwd -S yy //-S显示账户密码的状态
yy PS 2011-09-26 0 99999 7 -1 (Password set, MD5 crypt.)
[root@junjie ~]# passwd -d yy //-d删除账户密码
Removing password for user yy.
passwd: Success
[root@junjie ~]# grep yy /etc/shadow
yy::15243:0:99999:7:::
[root@junjie ~]# passwd -S yy
yy NP 2011-09-26 0 99999 7 -1 (Empty password.)
[root@junjie ~]#
[root@junjie ~]# echo "123456" |passwd --stdin qq
Changing password for user qq. //标准输入缓存(称为STDIN)
passwd: all authentication tokens updated successfully.
锁定账户:
示例如下:
① passwd –l & -u 锁定&解锁
[root@junjie ~]# grep ww /etc/shadow
ww:$1$XSn2.KMx$kxLe1ELD2.Zu0Vvg29s7f/:15380:0:99999:7::
[root@junjie ~]# passwd -S ww
ww PS 2012-02-10 0 99999 7 -1 (Password set, MD5 crypt.)
[root@junjie ~]# passwd -l ww //-u锁定账户
Locking password for user ww.
passwd: Success
[root@junjie ~]# grep ww /etc/shadow
ww:!!$1$XSn2.KMx$kxLe1ELD2.Zu0Vvg29s7f/:15380:0:99999:7: //!!表示该账户已被锁定,此时无法登录系统
[root@junjie ~]# passwd -S ww
ww LK 2012-02-10 0 99999 7 -1 (Password locked.)
[root@junjie ~]# passwd -u ww //-u解锁账户
Unlocking password for user ww.
passwd: Success.
[root@junjie ~]# grep ww /etc/shadow
ww:$1$XSn2.KMx$kxLe1ELD2.Zu0Vvg29s7f/:15380:0:99999:7::
: //使用-u解锁账户,此时可以登录系统
[root@junjie ~]# passwd -S ww
ww PS 2012-02-10 0 99999 7 -1 (Password set, MD5 crypt.)
② usermod –L & -U 锁定&解锁
[root@junjie ~]# grep qq /etc/shadow
qq:$1$ukgilOOD$i9wNeSG92yY/PXqiWSZ7x1:15380:0:99999:7:::
[root@junjie ~]# passwd -S qq
qq PS 2012-02-10 0 99999 7 -1 (Password set, MD5 crypt.)
[root@junjie ~]# usermod -L qq
[root@junjie ~]# grep qq /etc/shadow
qq:!$1$ukgilOOD$i9wNeSG92yY/PXqiWSZ7x1:15380:0:99999:7:::
[root@junjie ~]# passwd -S qq
qq LK 2012-02-10 0 99999 7 -1 (Password locked.)
[root@junjie ~]# usermod -U qq
[root@junjie ~]# grep qq /etc/shadow
qq:$1$ukgilOOD$i9wNeSG92yY/PXqiWSZ7x1:15380:0:99999:7:::
[root@junjie ~]# passwd -S qq
qq PS 2012-02-10 0 99999 7 -1 (Password set, MD5 crypt.)
③ usermod -L锁定 & passwd -u解锁
[root@junjie ~]# grep qq /etc/shadow
qq:$1$ukgilOOD$i9wNeSG92yY/PXqiWSZ7x1:15380:0:99999:7:::
[root@junjie ~]# passwd -S qq
qq PS 2012-02-10 0 99999 7 -1 (Password set, MD5 crypt.)
[root@junjie ~]# usermod -L qq
[root@junjie ~]# grep qq /etc/shadow
qq:!$1$ukgilOOD$i9wNeSG92yY/PXqiWSZ7x1:15380:0:99999:7:::
[root@junjie ~]# passwd -S qq
qq LK 2012-02-10 0 99999 7 -1 (Password locked.)
[root@junjie ~]# passwd -u qq
Unlocking password for user qq.
passwd: Success.
[root@junjie ~]# grep qq /etc/shadow
qq:$1$ukgilOOD$i9wNeSG92yY/PXqiWSZ7x1:15380:0:99999:7:::
[root@junjie ~]# passwd -S qq
qq PS 2012-02-10 0 99999 7 -1 (Password set, MD5 crypt.)
④ passwd -l锁定 & usermod -U解锁
此时需要用usermod –U 解锁两次,才能解锁。
[root@junjie ~]# grep qq /etc/shadow
qq:$1$ukgilOOD$i9wNeSG92yY/PXqiWSZ7x1:15380:0:99999:7:::
[root@junjie ~]# passwd -S qq
qq PS 2012-02-10 0 99999 7 -1 (Password set, MD5 crypt.)
[root@junjie ~]# passwd -l qq
Locking password for user qq.
passwd: Success
[root@junjie ~]# grep qq /etc/shadow
qq:!!$1$ukgilOOD$i9wNeSG92yY/PXqiWSZ7x1:15380:0:99999:7:::
[root@junjie ~]# passwd -S qq
qq LK 2012-02-10 0 99999 7 -1 (Password locked.)
[root@junjie ~]# usermod -U qq
[root@junjie ~]# grep qq /etc/shadow
qq:!$1$ukgilOOD$i9wNeSG92yY/PXqiWSZ7x1:15380:0:99999:7:::
[root@junjie ~]# passwd -S qq
qq LK 2012-02-10 0 99999 7 -1 (Password locked.)
[root@junjie ~]# usermod -U qq
[root@junjie ~]# grep qq /etc/shadow
qq:$1$ukgilOOD$i9wNeSG92yY/PXqiWSZ7x1:15380:0:99999:7:::
[root@junjie ~]# passwd -S qq
qq PS 2012-02-10 0 99999 7 -1 (Password set, MD5 crypt.)
useradd –D查看创建账户的默认值
useradd -D
useradd -D [options]
-b HOME_DIR -g, --gid GROUP
-s, --shell SHELL
-D, --defaults print or save modified default useradd configuration
示例如下:
[root@junjie f1]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@junjie f1]#
[root@junjie f1]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@junjie f1]# useradd -D -b /tmp
[root@junjie f1]# useradd -D -s /bin/sh
[root@junjie f1]# useradd -D
GROUP=100
HOME=/tmp
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@junjie f1]# useradd user_qq
[root@junjie f1]# grep user_qq /etc/passwd
user_qq:x:517:517::/tmp/user_qq:/bin/sh
finger 查看账号备注信息
chfn 修改账号备注信息
示例如下:
[root@junjie f1]# finger qq
Login: qq Name: (null)
Directory: /home/u1 Shell: /bin/bash
Never logged in.
No mail.
No Plan.
[root@junjie f1]# grep qq /etc/passwd
qq:x:501:501:: /home/u1:/bin/bash
[root@junjie f1]# chfn qq
Changing finger information for qq.
Name []: xjzhujunjie
Office []:china_henan_zhengzhou
Office Phone []: 0371-66668888
Home Phone []: 1523875****
Finger information changed
[root@junjie f1]# finger qq
Login: qq Name: xjzhujunjie
Directory: /home/u1 Shell: /bin/bash
Office: china_henan_zhengzhou Office Phone: 0371-66668888
Home Phone: 1523875****
Never logged in.
No mail.
No Plan.
[root@junjie f1]# grep qq /etc/passwd
qq:x:501:501:xjzhujunjie,china_henan_zhengzhou,0371-66668888,1523875****:/home/u1:/bin/bash
/etc/shadow文件详解:
/etc/shadow文件是只有系统管理员才有权利进行查看和修改的文件,管理员进行用户管理。由若干个字段组成,字段之间用“:”隔开。这些字段分别是:
登录名:加密口令:最后一次修改时间(距19700101的天数):最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
通过chage修改/etsc/shadow中的密码时效:
Usage: chage [options] user
示例如下:
[root@junjie f1]# chage -l qq
[root@junjie f1]# grep qq /etc/shadow
qq:$1$dSj3rn4h$8fBNoYhOonBQcVizGLCrz1:15380:0: 99999:7:::
[root@junjie f1]# chage -M 10 –W 3 qq
[root@junjie f1]# chage -l qq
[root@junjie f1]# grep qq /etc/shadow
qq:$1$dSj3rn4h$8fBNoYhOonBQcVizGLCrz1:15380:0:10:3:::
[root@junjie f1]#
群组管理:/etc/group /etc/gshadow
用户组的所有信息都存放在/etc/group文件中。字段有:
组名:口令:组标识号:组内用户列表
/etc/gshadow是用户组/etc/group的密码管理文件,字段有:
用户组名:用户组密码:用户组管理员的名称:支持的账号名称
groups查看所属组:
增加组:groupadd
Usage: groupadd [options] group
-f, --force -g, --gid GID -o, --non-unique -r,系统组
示例如下:
[root@junjie ~]#groupadd test
[root@junjie ~]#usermod –G test user1
修改组:groupmod
Usage: groupmod [-g gid [-o]] [-n name] group
示例如下:
[root@junjie ~]#groupmod –n qq test1
[root@junjie ~]# //修改组名
删除组:groupdel
Usage: groupdel group
示例如下:
[root@junjie ~]#groupdel qq
gpasswd组管理:
Usage: gpasswd [-r|-R] group
gpasswd [-a user] group
gpasswd [-d user] group
gpasswd [-A user,...] [-M user,...] group
示例如下:
[root@junjie ~]#gpasswd –a user5 test
[root@junjie ~]#gpasswd –a user6 test
[root@junjie ~]#gpasswd –d user5 test
[root@junjie ~]#gpasswd –d user6 test
[root@junjie ~]#grep test /etc/group
[root@junjie ~]#
[root@junjie ~]#gpasswd –A user7 –M user7,user8,user9 test1
[root@junjie ~]#grep test1 /etc/gshadow
[root@junjie ~]# //-A管理员,-M组员列表
//切换user8身份,没有权限删除组员
//切换user7身份,可以删除组员
--xjzhujunjie
--2012/02/10
--华软国际培训_学习笔记
************************************************************