|
本节介绍内容:
1、账户和组的概念
2、账户和组文件阐述与解析
3、管理账户和组(创建删除和修改)
4、案例分析-用户管理和组管理
5、暴力破解RHEL5 shadow
1、账户和组的概念
用户和组的管理在linux中是通过UID和GID这种ID号来实现的,在登陆系统时用已知的系统中账号名称来登陆系统将默认转换为ID号码,如同上述所说的UID就是用户的ID,而GID就是组ID,例如UID为0时,则系统为认为此用户为root账户,为超级管理员账户,GID为0时也就是超级管理员组,而用户可以加入到组中,在RHEL或者centos中创建用户的时候也就意味着系统会默认创建一个同样名称的组,组分为基本组合附加组。创建用户和组时需要有管理员权限,否则不会成功。
用户的分类:
根据帐号的位置:本地帐号、远程(域)帐号。 LDAP,NIS,
根据帐号的功能:超级用户(root) UID:0
普通用户
系统用户 UID:1-499
本地用户 UID:500+ #这就意味着你所创建的用户的UID从500开始
组分类:
根据帐号的位置:本地组、远程(域)组。 LDAP,NIS,
根据帐号的功能:超级用户组(root) UID:0
普通用户组
系统用户组 UID:1-499
本地用户 组 UID:500+
2、账户和组文件阐述与解析
关于系统用户和组的相关配置文件
账号信息密码信息
用户/etc/passwd/etc/shadow
组/etc/group/etc/gshadow
文件解析:
[iyunv@pan-S ~]# cat /etc/passwd | grep root #以root用户为例
root:x:0:0:shudaipiaoling,beijing,88888888:/root:/bin/bash
字段作用从左到右依次为:
用户名:密码占位符:UID:GID:用户描述:主目录:登陆后的shell
[iyunv@pan-S ~]# cat /etc/shadow | grep root
root:$1$42CKJVPe$kgayM5c0duo8z8V/4x35s.:16589:0:99999:7:::
字段作用从左到右依次为:
第一位:用户名
第二位:密码被加密
第三位:最近更改密码的日期:从19700101开始计算
第四位:密码不能更改的天数,最近被改过之后,过多少天才能再次修改 此处是0表示随时可以修改
第五位:密码过期时间,即多少天之后必须再次修改
第六位:密码需要到更改期限到来前7天发出警告
第七位:宽限天数,密码过了多少天后还能改密码
第八位:账号过期时间
第九位:保留
[iyunv@pan-S ~]# grep root /etc/group
root:x:0:root
字段从左到右依次为:用户名:密码占位符:GID:组成员
3、管理账户和组(创建删除和修改)
账户管理:
(1)、useradd或者 adduser #用户的创建命令
用法:useradd /adduser 【option】用户名称
Option:比较常用的有下列几个
-u#自定义UID
-c #设置账户的昵称
-d#设置home目录#<登入目录>#
-M#不设置home目录
-g#缺省基本组设置
-G#缺省附加组设置
-e#设置用户的实效时间例如:2015-07-15
-s#指定用户登录后使用的shell
-r#建立系统账户
案例分析1:创建一个系统用户为shudaipiaoling 指定UID为105 昵称为system_user 登入目录为/home/shudaipiaoling 并查看是否创建成功。
[iyunv@pan-S ~]# adduser -r shudaipiaoling -u 105 -c system_user -d /home/shudaipiaoling
[iyunv@pan-S ~]# cat /etc/passwd | grep shudaipiaoling --color
shudaipiaoling:x:105:105:system_user:/home/shudaipiaoling:/bin/bash
[iyunv@pan-S ~]# id shudaipiaoling #显示账户及其所属组的ID号
uid=105(shudaipiaoling) gid=105(shudaipiaoling) groups=105(shudaipiaoling)
[iyunv@pan-S ~]#
(2)、id 命令# 不指定用户则显示当前用户
用法:id [参数] [用户名]
参数 :
-g 用户所属组的ID
-G 用户附加组的ID
-u 用户的ID
(3)、chfn 命令 #修改账户的信息保存到/etc/passwd中
用法:chfn [参数] [账户名称]
参数:
-f 设置真实姓名
-p 设置phone
-o 设置办公地址完全可以定义部门
(4)、finger命令 #用来查看chfn修改的账户信息的
[iyunv@pan-S ~]# chfn -o beijing
案例分析2:结合上面的(3)(4)所做的例子
[iyunv@pan-S ~]# chfn -p 88888888
Changing finger information for root.
Finger information changed.
[iyunv@pan-S ~]# finger root
Login: root Name: shudaipiaoling
Directory: /root Shell: /bin/bash
Office: beijing, 88888888
On since Wed Jul 15 13:11 (CST) on tty1 from :0
On since Wed Jul 15 13:12 (CST) on pts/0 from :0.0
No mail.
No Plan.
[iyunv@pan-S ~]# finger -s root
Login Name Tty Idle Login Time Office Office Phone
root shudaipiaoling tty1 Jul 15 13:11 (:0)
root shudaipiaoling pts/0 Jul 15 13:12 (:0.0)
(5)、passwd 命令 #为新添加的账户设置密码##如果不设置密码无法登陆用户
参数:S查看密码状态
-l 锁定用户使其失效
-u解锁用户
-d删除密码
-k密码过期后才能更新
--stdin从文件或者管道读取密码
-
root@pan-S ~]# passwd shudaipiaoling
Changing password for user shudaipiaoling.
New password:
BAD PASSWORD: it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.
[iyunv@pan-S ~]# passwd -S shudaipiaoling
shudaipiaoling PS 2015-07-15 0 99999 7 -1 (Password set, SHA512 crypt.)
[iyunv@pan-S ~]# passwd -l shudaipiaoling
Locking password for user shudaipiaoling.
passwd: Success
[iyunv@pan-S ~]# passwd -u shudaipiaoling
Unlocking password for user shudaipiaoling.
passwd: Success
(6)、usermod #修改用户账户信息
Usermod 命令语法:
Usermod [参数][用户账户]
-u#修改用户的UID
-c#修改用户的昵称
-d#修改用户的登入目录
-g#修改基本组设置
-G#修改附加组设置
-e#修改用户的实效时间例如:07/15/2015
-s#修改用户登录后使用的shell
-U#解除密码锁定
-p#修改用户账户密码
-l#修改用户账户名称
案例分析3、修改用户shudaipiaoling的有效期限为2015年09月10日
[iyunv@pan-S ~]# usermod -e 09/10/2015 shudaipiaoling
(7)、userdel #删除用户
命令语法
Userdel [参数][用户账户]
-r 删除用户账户的登录目录以及子目录
(8)、w #显示当前用户信息 w命令解析:
[iyunv@pan-S ~]# w
15:24:32 up 2:14, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 :0 13:11 ? 23.81s 23.81s /usr/bin/Xorg :0 -nr -verbose -audit 4 -auth /var
root pts/0 :0.0 13:12 1.00s 0.32s 0.04s w
第一行依次显示 当前时间、系统持续运行时间 、登录用户数、最近1、5、15分钟的系统平均负载
第二行依次显示 每个用户的用户名、tty名、远程主机、登录时间、空闲时间、和终端连接的所有进程占用的时间(包括当前后台作业所占用时间)、当前进程占用的时间、当前进程命令
(9)、who命令#同样是显示当前用户的详细信息
-H 显示栏目标题信息
-u 或-I 显示闲置时间 登陆进程ID。 old为超过24小时没有任何动作了,之前1分钟有则为.
-q 仅显示用户名称和用户总数
-m 显示本地主机主机和本地账户相关信息
案例分析:
[iyunv@pan-S ~]# who -q
root root
# users=2
[iyunv@pan-S ~]# who -m
root pts/0 2015-07-15 13:12 (:0.0)
[iyunv@pan-S ~]# who -w
root + tty1 2015-07-15 13:11 (:0)
root + pts/0 2015-07-15 13:12 (:0.0)
[iyunv@pan-S ~]# who -Hu
NAME LINE TIME IDLE PID COMMENT
root tty1 2015-07-15 13:11 old 12431 (:0)
root pts/0 2015-07-15 13:12 . 12906 (:0.0)
扩展命令:
(10)、ac 命令 #显示用户在线时间的统计信息。它是根据/var/log/wtmp文件中的用户登陆和退出的时间推算出来的总的在线时间。
ac 命令语法:
ac [参数]
-d #显示每天的在线时间是总时间,单位为小时。
--f <filename>#指定从哪个文件中读取信息,默认从wtmp读取
--p <username>#指定用户名的登陆时间,如果用户名为空显示所有
案例分析:找到wtmp文件同时查看ac命令的格式如下所示:
[iyunv@pan-S pan]# find / -iname wtmp
/var/log/wtmp
[iyunv@pan-S pan]# ac -p
root 1889.49
total 1889.49
[iyunv@pan-S pan]# ac
total 1889.50
[iyunv@pan-S pan]# ac -d
Jun 3total 0.02
Jun 6total 35.35
Jun 12total 419.20
(11)、last命令 显示最近登陆的用户列表,这个命令同上一个ac命令的读
|
|