用户和组
1.新建用户组:cs se
//新建文件夹
mkdir pub
mkdir cs
mkdir se
//新建组
groupadd cs
groupadd se
//此时,root创建好需要的目录和组,所以目录属主和组都标记为root
//chown(change owner)命令用于设置文件所有者和文件关联组的命令
//chown需要超级用户root的权限才能执行此命令
//chown -R:可递归设置指定目录下的全部文件(包括子目录和子目录中的文件)的所属关系
//格式:chown [-选项] 新属主[:[新属组]] 被改变归属的文件或目录
chown -R root:cs cs //因为没有创建同名的cs用户,所以属主保留还是root
chown -R root:se se
//用命令chmod改变目录的读写执行权限
chmod 777 pub //pub的属主是root,其他本地用户的权限看other
chmod o+t pub //设置sticky bit,s位只对目录有效,使目录下的文件,只有文件属主才能删除
chmod 770 cs //目录cs只有同组人员能读写,其他组用户不能访问
chmod g+s cs //用户创建的文档,默认所属组位基本组
chmod 770 se
chmod g+s se
ll |grep -E ‘cs|se|pub’ //创建本地用户后,家目录下内容太多,可使用grep过滤文本
//创建新用户,指定他们的附属组。注意:一个用户可以归属于多个组,其中一个是和用户名同名的基本组,其他是附属组。只有一个组是当前组。默认的当前组是基本组。
useradd -G cs -p 123456 zhao
useradd -G cs -p 123456 qian
useradd -G se -p 123456 zhou
useradd -G se -p 123456 wu
tail -14 /etc/passwd
tail -17 /etc/group
//用用户zhao测试
su zhao
cd /home
id //zhao当前组是自己的基本组
touch pub/zhao1 //zhao可在pub文件夹中新建文件
newpro cs //zhao切换到另一附属组
id //zhao当前组是cs
touch pub/zhao2
ll pub //会发现zhao1和zhao2两个文件都是用户zhao创建的,但他们的所属组不一样
//用用户qian测试
su qian
cd /home
id
touch pub/qian1
rm pub/zhao1 //没有权限删除别人的文件
rm pub/zhao2 //qian不能删除这两个文件 是因为都不同组,看other权限(r–)
newgrp cs
id
touch pub/qian2
ll pub
rm pub/* //删除pub下的所有文件
ll pub //此时qian不能删除文件zhao1,是因为不同组,看other权限(r–),不能删除文件zhao2,是因为即使同组,但group权限(r–)不允许删
//用户zhou测试,se组
su zhou
cd /home
id
touch pub/zhou1
rm pub/zhao1 //zhou不能删除其他组成员创建的文件
newgrp se
id
touch pub/zhou2
ll pub
rm pub/*
ll pub //se组的zhou,可以删除属主为zhou的所有文件,不管这个文件属于哪个组,但zhou没有权限删除其他组用户创建在同一个目录下的文件