Linux的一大特性:
多用户、多任务。
所谓多用户多任务就是指可以在同一时间,有多个用户登录同一个系统执行不同的任务而互不影响。
假设现在有三个用户:root、lbb、mvv,三个用户同一时间登录了同一个系统,root去修改配置文件了,lbb去创建目录了,mvv去访问数据库了,每个用户互不干扰的独立执行自己的任务,并且每个用户不能够越线去访问其他用户正在操作的目录或执行其他用户下的任务,由此可见,不同的用户是拥有各自不同的权限的,Linux通过权限的划分和管理来实现多用户、多任务的运行机制。
一、Linux中的用户及其角色划分
账户为分三类:
超级用户(管理员):享有最高权限,具备系统中的所有权限(一般为root),UID为0
系统用户 :别称“伪用户”,无法登录系统,其主要作用是支撑系统运行,方便系统管理。uid号码小于1000.
普通用户:有权限限制,只能对自己目录下的文件进行操作,可以登录系统。uid 大于1000,登陆shell是/bin/bash。
任何一个账户在创建的同时都会在系统里面创建一个同名的组。
二、用户管理
2.1、用户组
创建组
[root@xiaobai ~]# groupadd hr #创建一个用户组叫hr
[root@xiaobai ~]# groupadd it #创建一个用户组叫it
[root@xiaobai ~]# groupadd net01 -g 2000 #创建组叫net01,并指定gid为2000
[root@xiaobai ~]# grep 'net01' /etc/group #查看/etc/group中组net01信息
net01:x:2000:
删除组
[root@xiaobai ~]# groupdel net01 #删除组net01
[注意:用户的主组不能删除]
[root@xiaobai ~]# groupmod hr -g 5000 #更改组id
查看组
[root@xiaobai ~]#cat /etc/group
组名:代表组密码:gid:组员
2.2、用户
2.2.1、创建用户,未指定选项
[root@xiaobai ~]# useradd xiaoming //创建用户
/etc/passwd ---->查看账户是否存在的文件
/home/ ---->用户的家目录,每创建一个用户会在/home目录下面创建对应的家目录
/etc/shadow --->用户的密码文件,影子文件
/var/mail/ ---->系统邮箱
/etc/group ---->同名组
2.2.2、创建用户,带有选项
[root@xiaobai ~]# useradd user02 -u 503 #指定uid为503
[root@xiaobai ~]# useradd user05 -s /sbin/nologin #创建用户并指定shell
[root@xiaobai ~]# useradd user07 -G it,hr #创建用户,指定附加组
[root@xiaobai ~]# useradd user10 -u 4000 -s /sbin/nologin
2.2.3、删除用户
[root@xiaobai ~]# userdel -r user02 //删除用户user2,同时删除用户家目录
2.2.4、用户密码
[root@xiaobai ~]# passwd alice #root用户可以给任何用户设置密码
[root@xiaobai ~]# passwd #root用户给自己设置密码
[root@xiaobai ~]# su - alice
[alice@xiaobai ~]$ passwd #普通用户只能给自己修改密码,而且必须提供原密码
2.2.5、用户操作
1.修改UID
-u
[root@xiaobai ~]# usermod -u new_id jack
[root@xiaobai ~]# id jack
uid=1005(jack) gid=1004(jack) groups=1004(jack)
2.修改用户的登录shell
-s
[root@xiaobai ~]# usermod -s /sbin/nologin user07 #修改用户的登录shell
usermod -aG 添加用户到附属组
usermod -g 指定主组
usermod -G 指定附加组,会覆盖其他的附加组
三、组成员管理
注:只针对已存在的用户
1.给组添加账户
-a
[root@xiaobai ~]# gpasswd -a user10 grp2
Adding user user10 to group grp2
2.同时添加多个用户到组
-M:members成员的缩写
[root@xiaobai ~]# gpasswd -M tom,alice it
3.从组删除用户1
-d
[root@xiaobai ~]# gpasswd -d user07 hr
Removing user user07 from group hr