17用户身份管理

一. 用户身份概述

设计Linux系统的初衷之一就是为了满足多个用户同事工作的需求,因此LInux系统必须具备很好的安全性。

1.用户ID——UID

在RHEL7系统中,用户身份有如下这些:

管理员UID为0:系统的管理员用户。
系统用户UID为1——999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。
普通用户UID从1000开始:由管理员创建的用于日常工作的用户。

需要注意的是,UID是不能冲突的,而且管理员创建普通用户的UID默认是从1000开始的(即使前面有闲置的号码)。

2.组ID——GID

为了方便管理属于同一组的用户,Linux系统中还引入了用户组的概念。通过使用用户组号码(GID,Group IDentification),我们可以把多个用户加入到同一组中,从而方便为组中的用户统一规划权限或指定任务。

另外,在Linux系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳人其他用户组,则这个其他用户组称为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满足日常的工作需要。

二. 常用命令

1. useradd命令

useadd 命令用于创建新的用户,格式为“useradd [选项] 用户名”。

使用该命令创建用户账号时,默认的用户家目录会被放在/home目录中;默认的Shell解释器为/bin/bash,而且默认会创建一个与该用户名同名的基本用户组。
-d			指定用户的家目录(默认为/home/username)
-e			账户的到期时间,格式为 YYYY-MM-DD
-u			指定该用户的默认UID
-g			指定一个初始的用户基本组(必须已存在)
-G			指定一个或多个扩展用户组
-N			不创建与用户同名的基本用户组
-s			指定该用户的默认Shell解释器
[root@rockman home]# ls
hk  workdir
[root@rockman home]# useradd bob
[root@rockman home]# ls
bob  hk  workdir
2. groupadd 命令

garoupadd命令用于创建用户组,格式为“groupadd [选项] 群组名”。

[root@rockman home]# groupadd ronny
3. usermod 命令

usermod 命令用户修改用户的属性,格式为“usermod [选项] 用户名”。

Linux系统中一切都是文件,因此在系统中创建用户也就是修改配置文件的过程。用户的信息保存在/etc/passwd文件中,可以直接用文本编辑器修改其中的用户参数项目,也可以用usermod命令修改已经创建的用户信息。

4. passwd 命令

passwd命令用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项][用户名]”。

普通用户只能使用passwd命令修改自身的系统密码,而root管理员则有权修改其他所有人的密码。更酷的是,root管理员在Linux系统中修改自己或他人的密码时不需要验证旧密码,这一点特别方便。

既然root管理员可以修改其他用户的密码,就表示完全拥有该用户的管理权限。passwd命令中可用的参数以及作用如下。

-l			锁定用户,禁止其登录
-u			解除锁定,允许用户登录
--stdin		允许通过标准输入修改用户密码,如echo"NewPassWord" | passwd --stdin 	Username
-d			试该用户可以空密码登录系统
-e			强制用户在下次登录时修改密码
-S			显示用户的密码是否被锁定,以及密码所采用的加密算法名称
#修改当前用户密码(root)
[root@rockman /]# passwd
Changing password for user root.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
#修改bob用户密码
[root@rockman /]# passwd bob
Changing password for user bob.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
#通过标准输入修改用户密码
[root@rockman /]# echo "123456" | passwd --stdin bob
Changing password for user bob.
passwd: all authentication tokens updated successfully.
5. userdel 命令

userdel命令用于删除用户,格式为“userdel [选项] 用户名”。

[root@rockman /]# id bob
uid=1001(bob) gid=1001(bob) groups=1001(bob)
#-f 强制删除用户   -r  同时删除用户及用户家目录
[root@rockman /]# userdel -rf bob
[root@rockman /]# id bob
id: bob: no such user
#bob文件夹已经被删除
[root@rockman home]# ls
hk  workdir
posted @ 2018-06-20 17:15  洛克十年  阅读(701)  评论(0编辑  收藏  举报