Linux中用户和组的管理
了解用户和组群配置文件。
熟练掌握Linux下用户账户与密码的创建与管理。
熟悉掌握Linux下组群的创建、管理和维护
一 : 对用户账户的理解
1.系统中为什么要定义用户账户?
“人”登陆计算机过程:人在登陆窗口输入用户名和密码,被登陆计算机验证输入的用户信息与数据库存在的用户信息是否一致:
一致:允许登陆
不一致:拒绝登陆
1)通过用户账户允许和拒绝某个人访问计算机和网络中的资源
登陆成功以后,计算机给此用户分配一个访问令牌,该令牌定义了用户在该计算机上或网络上的访问资源权限;而资源所在的计算机对令牌进行鉴别,保证用户只能在管理员定义的权限范围内使用资源。
2)通用户账户限制人使用计算机或网络资源的权限(管理权限、修改权限、读取权限)
3) 所以“人”必须以一个用户账户登陆计算机,此用户在系统中的权限决定 “人”使用系统的权限。系统都是多用户的,以不同用户登录系统,人的操作权限是不一样的
2.用户和组的分类
用户 | UID范围 | 权限 | 所属家目录 |
---|---|---|---|
普通用户 | 500~6000 | 只能访问有限权限 | /home |
管理员用户 | 0 | 权限高 | /root |
系统用户账户 | 1~499 | 不能用来登录系统 |
注意区别不同:权限不同 ; UID不同 ; 所属家目录不同 ; 主组不同
组 | 特征 |
---|---|
主组 | 每个用户必须属于一个主组且用户只能有一个主组,当新建一个用户时,自动产生一个与用户名相同的主组(也称为主组群或私有群) |
附属组 | 一个也可以加入其它的附属组,不是必须的,一个用户可以加入多个附属组 |
注意:一个组是主组还是附属组是相对用户而言的
二 :保存用户和组信息文件
1./etc/passwd 保存用户账户信息文件
1)记录系统中所有用户账户的信息,但该文件不保存用户口令,所有用户都对 passwd 有读权限 ,root有修改权限
2)查看/etc/passwd文件
less /etc/passwd
3)root 用户可通过编辑该文件来建立新用户。
vim /etc/passwd
4)passwd文件中各字段的对应关系及其含义
名称 | 作用 |
---|---|
用户名 | 用来标识用户的名称,在系统内用户名应该具有唯一性 |
用户密码 | 用x位代表,加密的口令被保存到/etc/shadow文件中 |
用户ID | 在系统内用一个整数标识用户的ID号,每个用户的UID都唯一 |
主组群ID | 在系统内用一个整数标识用户所属主组的ID号,每个组群的GID都唯一 |
用户名全称 | 对用户名的描述,可以不设置 |
主目录 | 用户默认的家目录 |
用户登录Shell | 用户使用的Shell类型 |
2、/etc/shadow 保存用户口令信息文件
1) 为进一步提高安全性,shadow 文件中保存的是已加密的口令,只有root用户可以读取该文件内容。
查看/etc/shadow文件
less /etc/shadow
2)shadow文件的字段及其含义
名称 | 作用 |
---|---|
登录名 | 与/etc/passwd文件中的登录名相一致的用户账号 |
加密口令 | 加密后的用户口令字 |
最后一次修改时间 | 表示的是从1970年1月1日起,到用户最后一次修改口令时的天数 |
最小时间间隔 | 两次修改口令之间所需的最小天数 |
最大时间间隔 | 口令保持有效的最大天数 |
警告时间 | 从系统开始警告用户到用户密码正式失效之间的天数 |
不活动时间 | 用户没有登录活动但账号仍能保持有效的最大天数 |
失效时间 | 给出相应账号的生存期 |
3、 etc/group 保存用户组信息文件
1)组的信息文件保存在/etc/group 中,任何用户都可以读取文件内容,root用户可以修改该文件
2)查看该文件信息:作为附属组的用户列出组中成员
less /etc/group
3)编辑该文件信息:
vim /etc/group
三 管理用户账户
1.查看系统当前用户
whoami
finger root 显示用户详细信息
2.改变当前用户
通过**su**命令从root切换到普通aftvc。-表示同时改变用户当前目录。
su - aftvc
3 .useradd
创建用户账户:以root管理员来新建用户
useradd dong 新建用户同时设置密码
useradd -u 555 dong 创建用户,uid设置为555
4.passwd
设置用户密码。root可以为自己和其它用户设置密码。但一般用户只能为自己改密码,密码必须满足复杂性要求。
passwd (root为自己修改密码)
passwd dong //root为dong 用户改密码
或echo “123456”| passwd --stdin dong 设置密码,密码为123456
注意
管理员可以设置简单密码,普通用户必须设置复杂密码。
要求 :三种不同字符组合
密码长度至少6位
不能包含用户名
5.usermod
来修改用户名和主目录,其命令用法为
usermod [option] username
1 ) 修改用户名dong更名为d
usermod–l d dong
2 ) 改变用户dong主组为aftvc组
usermod -g aftvc dong
id charles 查看用户所属组
3 ) 改变用户dong的附属组为wei,将原来的附属组删除
usermod –G wei dong
id charles
4 ) 将用户dong加到另外一个附属组root,不会删除原来的附属组,一个用户可以属于多个附属组
usermod -aG root charles
d charles
6.userdel
删除用户账户
userdel [-r] 账户名 -r表示同时删除用户家目录
练习:
[root@RHEL5 ~]#userdel -r dong
7. 禁用和恢复用户账户。
1)usermod
#usermod -L charles 禁用账户charles
#tail -n 5 /etc/shadow 密码字段前加!此用户被禁用
#usermod –U charles 对被锁定的账户charles进行解锁
2)passwd
#passwd -l charles 锁定账户charles
#passwd -u charles 解锁账户charles密码
3)vim /etc/shadow
直接修改用户口令信息文件,在密码前加!来实现
四 用户组账号的管理
1 .groupadd
创建组
[root@RHEL5 ~]# groupadd baidu 建立组baidu和sohu。
[root@RHEL5 ~]# groupadd -g 701 sohu
[root@RHEL5 ~]# less /etc/group 查看组信息
2 . groupmod
改变用户组名称
[root@RHEL5 ~] # groupmod -n bai baidu 此命令将baidu的组名修改为bai
3 . groupdel
删除用户组
[root@RHEL5 ~] # groupdel bai 删除bai用户组
4 . gpasswd
将用户添加到用户组
[root@RHEL5 ~]# gpasswd -a charles sohu
[root@RHEL5 ~]# gpasswd -a w sohu 将charles和w用户添加到sohu用户组
[root@RHEL5 ~]# groups charles 查看用户所属附属组
5 . gpasswd
从用户组中移除用户
[root@RHEL5 ~]# gpasswd -d charles sohu 从sohu用户组中移除charles用户
[root@RHEL5 ~]# groups charles 查看用户所属附属组