用户的分类
①超级用户: 用户名为 root ,它具有一切权限,只有进行系统维护 ( 例如:建立用户等 ) 或其他必要
情形下才用超级用户登录,以避免系统出现安全问题。
②系统用户(伪用户): 是 Linux 系统正常工作所必需的用户。主要是为了满足相应的系统进程对
文件属主的要求而建立的,例如: bin 、 daemon 、 adm 、 lp 等用户。系统用户不能用来登录。
③普通用户: 是为了让使用者能够使用 Linux 系统资源而建立的,我们的大多数用户属于此类。
组的分类
①基本组 ( 私有组 ) :建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。
②附加组 ( 公有组 ) :可以容纳多个用户,组中的用户都具有组所拥有的权利。
Linux中用户和组的配置文件
文件目录 | 功能 |
/etc/passwd | 用户的账号 |
/etc/shadow | 用户的密码 |
/etc/group | 用户组帐号文件 |
/etc/gshadow | 用户组密码文件 |
用户账号文件
[root@dd ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
账号:密码:UID:GID:备注:家目录:shell
密码:以前是以加密格式保存密码的位置,现在密码保存在/etc/shadow文件中,此处只是密码占 位符“x”或“*”。若为“x”,说明密码经过了shadow的保护。
UID:用户的标识,是一个数值,用它来区分不同的用户,每个用户都有一个UID数值:
超级用户的UID——0
系统用户的UID——1~999
普通用户的UID——≥1000
GID:用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的GID。
备注:可以记录任何东西。
家目录:类似Windows 的个人目录,通常是/home/username,这里username是用户名,用户
执行“cd~”命令时当前目录会切换到个人主目录。
shell: 定义用户登录后激活的Shell,默认是Bash Shell
用户密码文件
[root@dd ~]# head -1 /etc/shadow
root:$6$0N97DbSZieueq670$JeR.oNq51CORVAe.KShtUP7WxfzMU3XD3xm29rvsy6R8.Cj/487Cc.vPT7lalQ6iYw4qMUuDueM6NfNZV8CYe.::0:99999:7:::
用户名:密码(加密):最后一次修改时间:可修改密码的最小天数:密码在多少天之后必须修改:警告时间:密码过期多久之后禁用:失效时间:标志
密码:此为加密后的密码,若为空可直接登录;若为*表示账号不可登录;若为!!表示该账号已被锁定。
最后一次修改时间:距离1970年1月1日的天数。
可修改密码的最小天数:密码在多少天之内不能被修改。默认为0,表示不限制。
密码在多少天之后必须被修改:默认值99999,表示不限制。
警告时间:提前多少天警告用户密码快过期了。
密码过期多久之后禁用:也就是必须进行修改。
失效时间:密码失效时间,以距离1970年1月1日的天数表示,默认为空,表示永久使用。
标志:保留未用。
用户组账号文件
[root@dd ~]# head -1 /etc/group
root:x:0:redhat,test,root
组名:密码(加密):GID:附加组成员
用户管理
添加新用户
语法:
useradd [选项] <username>
useradd redhat #添加用户redhat
选项 | 作用 |
-c 注释信息 |
注释信息
|
-d 目录 | 设定家目录 |
-e YYYY-MM-DD | 设置用户的失效日期 |
-f 天数 |
指定密码到期后多少天禁用账户 |
-g 组名或GID号 | 为用户指定基本组 |
-G 组名或GID号列表 | 为用户指定所属的附加组 |
-M | 不创建家目录 |
-N | 不创建与用户同名的基本组 |
-p 密码 | 设置用户密码 |
-s shell名 | 设定使用的shell |
-u 用户号 | 设置账号的UID |
修改用户信息
命令格式:
usermod [选项] username
常用选项与useradd基本相似,还有
选项 | 作用 |
-l 新用户名 | 更改账户的名称 |
-L | 锁定用户 |
-U | 解锁用户 |
为用户设置密码
passwd [账户名]
echo 密码 | passwd --stdin 用户
passwd [用户] -d #删除密码
切换用户
命令:
su [用户名]
或
su - [用户名]
两者区别在于,加载的配置文件不同:
su 切换方式加载的文件: ~/.bashrc , /etc/bashrc
su - 切换方式加载的文件: /etc/bashrc , /etc/profile , ~/.bashrc , ~/.bash_profile
用户组管理
创建用户组
groupadd [-r] 用户组名
修改用户组属性
groupmod 选项 用户组
选项 | 作用 |
-g GID | 为用户组指定新的组标识号 |
-n 新用户组 | 将用户组的名字改为新名字 |
添加/删除组成员
命令:
gpasswd [选项] [用户] [组]
选项 | 作用 |
-r | 删除组密码 |
-a | 把用户加入组 |
-d | 把用户从组中删除 |
-M | 可同时添加多个用户 |
-A | 给组指派管理员 |
删除组账户
命令:
groupdel 用户组名
查询用户和组信息
id 用户名
group 用户名
查看用户登陆系统的情况
users #查看当前登录系统的用户
last #列出目前与过去登入系统的用户相关信息
lastlog #查看最近登录时间
w #显示登录到系统的用户信息。
who #显示目前登录到系统的用户