1.什么是权限? 用于约束用户能对系统所做的操作 3.权限与用户之间的关系? 在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others), 每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。 -rwxrw-r-x. 1 test tt 895 Apr 10 19:08 test.txt test 单纯的用户 rwx tt 单纯的用户,它的私有组是tt rw oldboy 是一个用户,但他属于tt组 rw py 单纯的用户 r 用户对文件资源,有三种角色ugo,当一个用户访问文件流程如下 1) 判断用户是否为文件所有者,如果是则按所有者的权限进行访问 2) 判断用户是否为文件所有组成员,如果是则按组的权限进行访问 3) 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问 F1: 如果一个用户属于组拥有rw权限,匿名访问拥有rx,最后应该是什么身份? UGO方式: [root@bgx ~]# touch file #创建文件 [root@bgx ~]# chmod a=rwx file #给所有人添加读写执行权限 [root@bgx ~]# chmod a=-rwx file #取消所有的权限 [root@bgx ~]# chmod u=rwx,g=rw,o=- file #属主读写执行,属组读写,其他人无权限 [root@bgx ~]# chmod ug=rwx,o=r file #属主属组读写执行,其他人读权限 [root@bgx ~]# ll file -rwxrw-r-- 1 root root 0 Apr 13 03:29 file 方式二、number #选项: -R递归修改 [root@bgx ~]# touch file [root@bgx ~]# chmod 644 file 6-rw->user 4-r->group 4-r->other [root@bgx ~]# chmod 600 file [root@bgx ~]# ll file -rw------- 1 root root 0 Apr 13 03:29 file #针对目录设定权限 [root@bgx ~]# mkdir dir [root@bgx ~]# chmod 777 dir/ #修改目录允许所有人访问 [root@bgx ~]# chmod -R 755 dir/ #修改目录及子目录权限 [root@bgx ~]# ll -d dir/ drwxr-xr-x 2 root root 6 Apr 13 03:34 dir/ 3.权限设置案例 针对 hr 部门的访问目录/home/hr 设置权限,要求如下: 1.root 用户和 hr 组的员工可以读、写、执行 2.其他用户没有任何权限 [root@www.oldboyedu.com ~]# mkdir /home/hr [root@www.oldboyedu.com ~]# groupadd hr [root@www.oldboyedu.com ~]# useradd hr01 -g hr [root@www.oldboyedu.com ~]# useradd hr02 -g hr [root@www.oldboyedu.com ~]# chgrp hr /home/hr [root@www.oldboyedu.com ~]# chmod 770 /home/hr [root@www.oldboyedu.com ~]# ll -d /home/hr drwxrwx---. 2 root hr 6 Apr 15 18:10 /home/hr rwx对文件来说: r: 只读 w: 只写,会覆盖之前的内容 x: 什么也没有办法操作 文件 rw: 读写,---->不支持删除\移动等操作 rx: 读执行--->不支持删除\移动等操作 rwx 读写执行-->??? PS: 总结rwx对文件的影响 读取权限(r)具有读取\阅读文件内容权限 1.只能使用查看类命令cat、head、tail、less、more 写入权限(w)具有新增、修改文件内容的权限 1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容 2.使用echo命令重定向的方式可以往文件内写入数据,>>可以进行追加 3.不能删除文件,因为删除文件看的不是文件的属性,需要看上级目录是否有w的权限 执行权限(x)具有执行文件的权限 1.执行权限什么用都没有 2.如果普通用户需要执行文件,需要配合r权限 rwx对目录来说: r: 不能进入目录,可以通过ls看到目录里面的文件名,如果使用ls -l只能看到目录里面的文件 属性全部都是??? w: 单纯的w没有任何的意义 x: 进入目录,什么都做不了 目录权限的组合 rx: 可以进入到一个目录,能查看里面的文件,但是不能删除文件,如果要修改文件需要看文件的权限 PS: 总结rwx对目录的影响 读取权限(r),如果目录只有r权限: 具有浏览目录及子目录权限 1.可以使用ls命令浏览目录及子目录, 但同时也会提示权限拒绝 b.使用ls -l命令浏览目录及子目录,文件属性会带问号,并且只能看到文件名 总结: 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限 写入权限(w),如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x权限配合) PS: 如果目录有w权限, 可以在目录内创建文件, 删除文件(跟文件本身权限无关) 不能进入目录、不能复制目录、不能删除目录、不能移动目录 执行权限(x),如果目录只有x权限 1.只能进入目录 2.不能浏览、复制、移动、删除 Linux权限总结与注意事项 文件r权限, 只给用户查看,无其他操作 文件rw权限, 可以查看和编辑文件内容(通常的一种设定方式) 文件rx权限, 允许查看和执行文件、但不能修改文件----->PASS 文件rwx权限, 能读,能写,能执行,但不能删除,因为删除需要看上级目录的权限有没有w----->PASS 目录rx权限, 允许浏览目录内文件以及子目录、并允许在目录内新建文件, 不允许创建、删除文件和目录 目录wx权限, 能进入目录,能删除内容,能写入内容,但就是无法使用ls cat这样的命令----->PASS 目录rw权限, 能看,能写,但无法进入目录----->PASS PS: 文件的 x权限小心给予,建议赋予r或rw即可。 PS: 目录的 w权限小心给予,建议无特殊需求赋予rx即可。 PS: 文件通常设定的权限是644,目录设定的权限是755 -------------控制目录的权限为755, 如果要操作目录里面的文件,就看文件的权限. [root@www.oldboyedu.com ~]# chown bin dir/ #变更属主的信息 [root@www.oldboyedu.com ~]# ll -d dir/ drwxr-xr-x. 3 bin root 31 Apr 15 19:34 dir/ [root@www.oldboyedu.com ~]# chown bin.oldboy dir/ #变更属主和属组的信息 [root@www.oldboyedu.com ~]# ll -d dir/ drwxr-xr-x. 3 bin oldboy 31 Apr 15 19:34 dir/ [root@www.oldboyedu.com ~]# chown .root dir/ #仅变更属组的信息 [root@www.oldboyedu.com ~]# ll -d dir/ drwxr-xr-x. 3 bin root 31 Apr 15 19:34 dir/ [root@www.oldboyedu.com ~]# chgrp oldboy dir/ #仅变更属组的信息 [root@www.oldboyedu.com ~]# ll -d dir/ drwxr-xr-x. 3 bin oldboy 31 Apr 15 19:34 dir/ 权限: -R chmod命令用来变更文件或目录的权限 -R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理; chown命令改变某个文件或目录的所有者和所属的组 例如:将目录/usr/meng及其下面的所有文件、子目录的文件主改成 liu: chown -R liu /usr/meng chgrp命令用来改变文件或目录所属的用户组。 实例 将/usr/meng及其子目录下的所有文件的用户组改为mengxin chgrp -R mengxin /usr/meng 基本权限: 9位 每3位为一列 1.什么是权限: 用户能够以什么样的方式访问这个文件. 2.权限有什么用: 限制每个用户能做什么不能做什么, 3.如何限制: 由rwx来控制,r读\w写\x执行 4.权限与用户之间的关系 5.rwx分别对应的数值:ugo方式比较的麻烦,--->r=4 w=2 x=1 6.如何去设定权限: chmod number file_name 7.如何变更文件的属主和属组: 1.能够让指定的用户对文件拥有所有的操作权 2.进程能够以什么样的方式去访问一个文件,取决于进程运行的用户对文件有什么权限 chmod -R 7777 /code #不要用. 标准权限: 目录755 文件 644 属主 root 属组 root 特殊权限: suid sugid sbit umask chattr lsattr