用户与组的管理
1.什么是用户
用户是操作系统提供的安全机制;
用户是权限的化身
2.为什么要有用户
划分权限,增强安全性
每一个进程都会与一个用户关联
进程->用户->权限(作用在文件身上)
3.组的概念
一个用户有主组,也会有附加组
4.linuxu系统把文件的权限分为三类
1.属主 2.属组 3.其他
一个用户对文件权限扫描的优先级:
1.先看用户是否为文件的属主
2.1失败的情况,再查看用户是否为属组成员
3.在2失败的情况,该用户为其他人权限
查看用户的相关信息
id 用户名 查看用户当前信息
gid 组id
用户与组的关系:
一对一:一个用户只属于一个组,用户默认就在自己的主组下
一对多:一个用户可以属于多个组,用户只有一个主组,但是可以有多个附加组
多对多:多个用户可以属于多个组
5.创建用户
useradd 用户名
passwd 用户名 改密
ps:每创建一个用户,都会创建一个该用户的主组,主组的名字与用户名字相同
组文件 /etc/group
/etc/gshadow
uid:用户名称 gid:主组名称
手动创建用户:
1.准备用户信息
vim /etc/passwd 最后一行手动复制一行,更改名称,序列号,/home/名称
vim /etc/shadow 编辑用户密码
2.准备组信息
vim /etc/group 编辑主组
vim /etc/gshadow 编辑组密码
3.准备家目录
mkdir /home/名称
chown 名称(用户名).名称(主组) /home/名称 修改文件属主
chmod 700 /home/名称
cp -ra /etc/skel/.[!.]* /home/名称/
chown 名称.名称 /home/名称/.[!.]*
4.准备邮箱
touch /var/spool/mail/名称
chown 名称.mail /var/spool/mail/名称
chmod 660 /var/spool/mail/名称
创建用户
useradd 名称
选项:
-u 指定UID
-g 指定主组
-G 指定附加组
-d 指定家目录
-e 修改过期时间
-H 不创建家目录
-r 创建系统账户
-c 指定用户的备注信息
创建组
groupadd 名称 -g指定组的id -r创建系统组
userdel 名称 删除用户 -r 彻底删除(家目录)
(修改) usermod -a(添加到补充组) -G(指定要修改的附加组,用逗号隔离多个附加组,覆盖原有的附加组)
-l修改用户的登录名 -L锁定用户 -U解除锁定
groupmod -u 改组的名字 -n指定新的名字
一个用户必须拥有一个主组
groupdel不能删除任何一个用户的主组
往组里添加用户
gpasswd -a 用户 组名 例如usermod -a -G group egon
-M 将多个用户添加到一个组里 -A把组内的某个用户变为组长
usermod -a -G 附加组或附加组名 用户 例如gpasswd -a egon group2
将多个组添加到一个用户里
chmod 修改权限
gpasswd 修改组密码
newgrp 切换组