每个班都有自己的独立的文件夹,只有自己班的可以打开,其他无法打开,班级里面每个教师都有自己的文件夹,教师的文件夹只能教师可以修改,其他学生只能查询,学生的文件夹,只有自己的可以修改,教师可以查询,其他不能查询。模拟两个 班,每个班2个学生和2个老师
根据以上作业,得到结论,必须有三个组,一个是student,一个是teacher,还有一个班级,每个班级都应该有自己组租信息
1、创建4个用户,两个学生,两个老师,分别为学生和老师分配好文件夹,并且为用户分好组,其中两个老师既要在teacher还要在班级组
##添加三个组
groupadd teacher
groupadd c1
groupadd c2
##创建所有的教师信息,t11和t12在c1班级1,t21和t22在c2
useradd t11-gc1
useradd t12-gc1
useradd t21-gc2
useradd t22-gc2
##设置所有教师的附加组是teacher
usermode t11-G teacher
usermode t12-G teacher
usermode t21-G teacher
usermode t22-G teacher
##添加4个学生
useradd s11 -g c1
useradd s12 -g c1
useradd s21 -g c2
useradd s22 -g c2
##修改所有的用户的密码
passwd xxxx
使用-G 可以通过,来分离多个组
usermod -G c1,c2 t11##表示将t11添加到c1和c2两个组中
2、创建文件夹来设定权限
mkdir /teach##创建teach的文件夹
mkdir /teach/c1##创建班级1的文件夹
mkdir /teach/c2##创建班级2的文件夹
mkdir /teach/c1/teacher##班级1的教师的文件夹
mkdir /teach/c1/s11##班级1中的s11这个学生的文件夹
mkdir /teach/c2/teacher##班级2的教师的文件夹
mkdir /teach/c2/s21##班级2中的学生s21的文件夹
##设定文件夹的归属
chgrp c1 /teach/c1
chgrp c2 /teach/c2
chgrp teacher /teach/c1/teacher##c1中的teacher文件夹应该属于teacher组
chgrp teacher /teach/c1/s11##c1中的学生的文件夹由于教师可以访问,所以应该在teacher组中
chown s11 /teach/c1/s11##设置s11文件的所有者是s11
##设定权限
chmod 750 /teach/c1 /teach/c2##设定班级文件夹的权限为750,所有者root可以写,班级成员可以读,其他无法访问
chmod 775 /teach/c1/teacher##设定教师文件夹教师组可写,其他只能访问
chmod 750 /teach/c1/s11##设定学生文件夹只有自己可以读写,教师组可以访问,其他无法访问
如果有多个教师都使用teacher的文件夹,此时不可避免的会存在互相删除的隐患,所以可以将teacher的文件的粘着位打开,此时就只有自己才能在该文件夹中进行操作,使用chmod o+t xxx来开启粘着位,开启之后会在权限的最后一位显示t
chmod o+t /teache/c1/teacher