组介绍 #
- 每个用户必定属于某个组
- 每个文件有几个概念:所有者、所在组、其他组 tom创建了hello.txt,则所有者为tom,默认所在组为tom组 除了所在组,就是其他组
- ls -ahl (h更友好,a隐藏,l列表)
所有者 #
- 使用chown root helo.java 修改,效果如下
所在组修改 #
- 组的创建 groupadd monster
- 创建一个用户并让他属于该组 useradd -g monster fox
- 注意逻辑,此时使用fox创建文件 passwd fox 给fox创建密码
- 如图,创建一个文件
- 使用chgrp fruit orange.txt
修改文件的所在组
- 改变某个用户所在组
usermod -g fruit fox
- 使用 cat /etc/group 查看所有的组
- 当一个用户属于多个组的时候,groups会出现多个组名
rwx权限 #
rwxrwxrwx 第一列有十位,第0位确认文件类型 -普通文件,l是链接;d是目录;c是字符设备文件、鼠标、键盘;b块设备 1-3表示文件所有者拥有的权限;4-6是文件所在组所拥有的权限,7-9 其他组所拥有的权限
- rwx作用到文件,r代表可读可查看,w代表可修改(如果是删除权限,则必须在该文件所在的目录有写权限,才能删除),x代表可执行
- rwx作用到目录,r表示可以读取(ls可查看目录内容),w表示可写(可以在目录内创建、删除、重命名目录),x表示可以进入该目录
- rwx分别用数字表示,4,2,1。当拥有所有权限,则为7
- 最后面的数字,代表连接数(或者子目录数)
- 1213 文件大小(字节),如果是文件夹则显示4096
- 最后abc表示文件名,蓝色表示是目录
修改权限 #
- chmod 修改权限,u:所有者,g:所有组,o:其他人,a 所有(ugo总和)
- chmod u=rwx,g=rw,o=x 文件/目录名 这里等号表示直接给权限
- chmod o+w 文件/目录名 这里加表示+权限
- chmod a-x 文件/目录名
- chmod u=rwx,g=rx,o=rx abc 给文件添加执行权限(会变成绿色的)
- 使用数字
- 将abc.txt文件权限修改成rwxr-xr-x使用数字实现 chmod 755 abc
修改所有者和所在组 #
- chown tom abc #修改文件所有者为tom
- chown -R tom abc #修改文件夹及其所有子目录所有者为tom
- chgrp -R fruit kkk #修改文件夹所在组为fruit
权限管理应用实例 #
警察和土匪的游戏
前提,有police和bandit两个组,
jack,jerry属于警察组
xh,xq属于土匪组
groupadd police groupadd bandit useradd -g police jack useradd -g police jerry useradd -g bandit xh useradd -g bandit xq
chmod 640 jack.txt
chmod o=r,g=rw jack.txt
如果要对目录内操作,那么先有改目录相应权限
- chmod 770 jack 放开jack目录权限
题目
对一个目录不能ls(没有读权限),但是是可以直接读写目录中的文件的(有权限的情况下)