Linux-权限和指令

  • 进入目录需要哪些权限?在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限?
  1. 权限位的含义

  目前Llinux的权限位有10位(新版本中有些文件的权限位最后会有个.,表示该文件是受SELinux的保护的),每一位都代表着不同的含义

r --read 读  w --write 写 x --execute 执行 - --没权限

第2-4位:表示文件所有者(用u表示)的权限,有字母则由该权限,-则表示没有该权限

第5-7位代表文件所属组(用g表示)的权限,同样用rwx表示

第8-10位代表其他人(用o表示)的权限,也用rwx表示

可见,权限有四种:一种是执行权限,一种是读权限,一种是写权限,另一种是无权限

  1. 进入目录需要有可执行权限

初始时刻,file1具有可执行权限

此时可以,cd进入file1目录,没有报错

  1. 在目录中执行增删改查动作需要有执行权限

总结一下:

目录的可执行权限代表了你可否在目录下执行命令。

如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录。即使此时目录仍然有读写权限也无法进入。

而如果目录具有-x权限,但没有读写权限,则用户仍然可以执行命令,可以cd进入目录。不过。由于此时目录没有读权限,所以在该目录下虽然可以执行ls命令,但无法读出目录下的文档。

  • 基本权限命令
  1. chmod:修改文件的权限模式,命令所在路径为/bin/chmod,所有用户可执行

格式:chmod 【选项】权限模式 文件

    选项: -R:递归设置权限,也就是给子目录中的所有文件设定权限

   权限模式的格式:[ugoa][+ - =][perms],即[用户身份][赋予方式][权限]。

   用户身份:u——所有者(user)

             g——所属组(group)

             o——其他人(other)

             a——代表全部(all)

   赋予方式: + 加入权限

              -  减去权限

                  =  设置权限

eg:chmod u+x file 表示针对file这个文件给文件所有者(u)添加执行权限(x)

chmod g+w,o+w file 同时给多个身份添加相应权限,中间用逗号隔开

chmod u-x,g-w,o-w file 去除权限,使用减号

  • 数字权限

4:同r,读

2:同w,写

1:同x,执行

   eg:chmod 755 file

       755中的第一位7表示给文件所有者赋的权限为4+2+1,即读写执行,同理第二位5表示给所属组赋的权限为4+1,即读和执行,最后一位则是给其他人赋予的权限

数字权限

使用场景

描述

644

文件的基本权限

所有者拥有读、写权限,所属组和其他只读

755

文件的执行权限和目录的基本权限

拥有者读、写和执行,所属组和其他人可读写

777

最大权限

所有人都对该文件拥有读写和执行权限

  • 修改所有者和所属组

chown:修改文件和目录的所有者和所属组,命令所在目录为/bin/chown,所有用户可执行

    命令格式:chown [选项] 所有者:所属组 文件或目录

选项-R:递归设置权限

注:普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行;普通用户只可以修改所有者是自己的文件的权限(rwx)

添加用户的时候会创建一个同名的该用户的初始组,即同时会添加一个名为user1的group

useradd user1

给新加用户设置密码:只有root用户可以在设置密码时忽略Linux的提示

passwd user1

chgrp:改变文件或目录所属的组

语法:chgrp [选项] group filename

-c或–changes 效果类似”-v”参数,但仅回报更改的部分。

-f或–quiet或–silent  不显示错误信息。

-h或–no-dereference  只对符号连接的文件作修改,而不更动其他任何相关文件。

-R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

-v或–verbose  显示指令执行过程。

–help  在线帮助。

–reference=<参考文件或目录>  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。

–version  显示版本信息。

该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

该命令的各选项含义为:– R 递归式地改变指定目录及其下的所有子目录和文件的属组

 eg:chgrp – R book/opt/local /book

改变/opt/local /book/及其子目录下的所有文件的属组为book。

  • 权限含义的解释

首先,读、写、执行权限对文件和目录的作用是不同的。

权限对文件的作用:

  读(r):对文件有读权限,代表可以读取文件中的数据;如果把权限对应到命令上,那么一旦对文件有读权限,就可以对文件执行cat、more、less、head、tail等文件查看命令。

  写(w):对文件有写权限,代表可以修改文件中的数据。如果把权限对应到命令上,那么一旦对文件有写权限,就可以对文件执行vim、echo等修改文件数据的命令。

注意:对文件有写权限并不能删除文件本身,只能修改文件中的数据;如果想删除文件,则需要对文件的上级目录拥有写权限。

  执行(x):对文件有执行权限,代表文件可以运行。在Linux中,只要文件有执行权限,这个文件就是执行文件了。只是这个文件到底能不能正确执行,不仅需要执行权限,还要看文件中的代码是不是正确。对文件来说,执行权限是最高权限。

权限对目录的作用:

   读(r):对目录有读权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些文件和子目录。如果把权限对应到命令上,那么一旦对目录有了读权限,就可以在目录下执行ls命令,查看目录下的内容。

   写(w):对目录有写权限,代表可以修改目录下的数据,也就是可以在目录中新建、删除、复制、剪切子文件或子目录。对应到命令上,就可以在目录下执行touch、rm、cp、mv命令。对目录来说,写权限是最高权限。

   执行(x):目录是不能运行的,那么对目录拥有执行权限,代表可以进入目录。对应到命令上就是可以对目录执行cd命令,进入目录。

   目录的可用权限只有以下3个:

     0:任何权限都不赋予

      5:基本的目录浏览和进入权限

     7:完全权限(读+写+进人)

  • umask默认权限

即新建文件时赋予文件的权限,在/etc/profile中定义。

查看系统的umask权限

用八进制数值显示umask权限

说明:上图表示root用户新建的文件对于root用户有rwx权限,对于所属组的其他用户有rx权限,对于其他用户有rx权限。

根据umask值计算新建文件或文件夹的初始权限的算法如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值