一、Linux的特性
多任务,多用户:可以在同一时间,有多个用户同时登陆一个系统执行不同的任务而不互相影响
假设现在有三个用户:root、lbb、mvv,三个用户同一时间登录了同一个系统,root去修改配置文件了,lbb去创建目录了,mvv去访问数据库了,每个用户互不干扰的独立执行自己的任务,并且每个用户不能够越线去访问其他用户正在操作的目录或执行其他用户下的任务,由此可见,不同的用户是拥有各自不同的权限的,Linux通过权限的划分和管理来实现多用户、多任务的运行机制。
二、linux 的用户分类
超级用户: 具用系统中的所有权限,享有最高权限(一般为root,uid为0)
系统用户: 支持系统运行,方便系统管理,uid小于1000
普通用户:有权限设置,只能对自己目录下的文件进行操作,uid大于100
三、用户管理
2.1 用户组
创建组
groupadd 组名
[root@localhost home]# groupadd it
[root@localhost home]# groupadd hr
创建组并指定组的gid
groupadd 组名 -g gid
[root@localhost home]# groupadd wc -g 3200
删除组
groupdel 组名
[root@localhost ~]# groupdel wc
改gid
groupmod -g 4000
[root@localhost ~]# groupmod jack -g 4000
查看组的文件
vim /etc/group
[root@localhost ~]# vim /etc/group
root:x:0:
bin:x:1:
daemon:x:2
mail:x:12:postfix
组名:密码:gid :组员
2.2 用户
创建用户
创建用户 :创建一个用户同时会创建5个信息
cd /var/mail 邮箱信息
/etc/passwd
/etc/group
/etc/shadow
/home
useradd 用户名
-s 不能登录用户
-M 不创建用户的家目录
-s -M 不登陆用户也不能创建家目录-
-u 指定用户的uid
-G 添加附属组
-g 添加主组
案例
1. 创建用户user01
[root@localhost ~]# groupadd user01
2. 创建用户tom但不能登录
[root@localhost ~]# useradd tom -s /sbin/nologin
3.创建用户jack但不创建用户的家目录
[root@localhost ~]# useradd jack -M
4.创建用户user02 但不能登录也不创建用户的家目录
[root@localhost opt]# useradd user02 -M -s /sbin/nologin
5.创建用户user03 并指定用户的uid为2000
[root@localhost opt]# useradd user03 -u 2000
6.创建用户user04 ,并添加用户的附属组为hr
[root@localhost opt]# useradd user04 -G hr
[root@localhost opt]# id user04
uid=2001(user04) gid=2001(user04) 组=2001(user04),2000(hr)
7.创建用户user05,并指定用户的主组为hr
[root@localhost opt]# useradd user05 -g hr
[root@localhost opt]# id user05
uid=2002(user05) gid=2000(hr) 组=2000(hr)
删除用户
userdel -r 用户名
[root@localhost opt]# userdel -r tom
[root@localhost opt]# userdel -r jack
修改用户密码
passwd 用户名
echo '密码' | passwd --stdin 用户名
案例
1、用passwd为用户密码
[root@localhost opt]# passwd user03
更改用户 user03 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
2.用echo为用户改密码
[root@localhost opt]# echo '1' | passwd --stdin user04
更改用户 user04 的密码 。
passwd:所有的身份验证令牌已经成功更新。
普通用户只能给自己改密码,且必须提供原密码
查看用户文件
vim /etc/passwd
user02:x:1001:2004::/home/user02:/sbin/nologin
user03:x:2000:2005::/home/user03:/bin/bash
root:x:0:0:root:/root:/bin/bash
用户名:密码:uid:gid:描述信息 家目录 shell命令
用户操作usermod
usermod
-u 修改用户的uid
-s 将用户的登录shell 修改为不能登录
-aG 给用户添加附属组,不会覆盖之前附属组
-G 给用户添加附属组,会覆盖其他的附属组
-g 给用户修改主组
-d 更改用户家目录 -d 新目标路径 用户名
案例:
1.将用户user03的uid修改为2500
[root@localhost opt]# usermod user03 -u 2500
[root@localhost opt]# id user03
uid=2500(user03) gid=2005(user03) 组=2005(user03)
2.将用户user04修改为不能登录
[root@localhost opt]# usermod user04 -s /sbin/nologin
3.给user04添加附属组,不覆盖之前的附加组
[root@localhost opt]# usermod user04 -aG it
[root@localhost opt]# id user04
uid=2001(user04) gid=2001(user04) 组=2001(user04),1002(it),2000(hr)
4.给user04添加附属族,覆盖之前的附加组
[root@localhost opt]# usermod user04 -G root
[root@localhost opt]# id user04
uid=2001(user04) gid=2001(user04) 组=2001(user04),0(root)
2.3组成员管理gpasswd
gpasswd :
-a 给组添加一个用户
-M 同时给组添加多个用户
- d 删除组用户
案例
1.给wc组添加一个用户user02
gpasswd -a 用户 组
[root@localhost opt]# gpasswd -a user02 wc
正在将用户“user02”加入到“wc”组中
2.同时给wc组添加user03 user04,user05用户
gpasswd -M 用户群 组
[root@localhost opt]# gpasswd -M user03,user04,user05 wc
wc:x:2006:user03,user04,user05
3.从wc组删除用户user03
gpasswd -d 用户 组
[root@localhost opt]# gpasswd -d user03 wc
正在将用户“user03”从“wc”组中删除