Linux用户权限管理

        每个班都有自己的独立的文件夹,只有自己班的可以打开,其他无法打开,班级里面每个教师都有自己的文件夹,教师的文件夹只能教师可以修改,其他学生只能查询,学生的文件夹,只有自己的可以修改,教师可以查询,其他不能查询。模拟两个 班,每个班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

你可能感兴趣的:(Linux用户权限管理)