• linux之chmod授权


    在linux中,我们可以通过chmod命令对文件的权限进行配置。

    背景


     首先有两点需要了解:

    1. 在Unix和Linux的中,每个文件(文件夹也被看作是文件)都有三种权限运行
    2. 被授予权限的用户身份三种:当前文件的拥有者,与拥有者属于同组者(同一个group),其他人

    查看权限


    输入 ls -l 命令,可以查看当前文件夹下各个文件的权限,例如

    1. 方框中第1位字母,表示文件类型:普通文件(-)、目录文件(d)、字符设备文件(c)和块设备文件(b)、符号链接文件(s)等,此处不过多关注;

    2. r、w、x代表三种权限:r(read,读),w(write,写),x(execut,运行),- 表示没有;

    3. 在第2到第10位的这9个位置上,前三位表示文件所有者的权限,中间三位表示同组用户的权限,最后三位表示其他用户的权限,三个为一组;

    解读举例:

    上图中abrt文件夹的权限:文件夹所有者(此处是root)拥有读,写,运行的权限,与root同组的用户拥有读和运行的权限,其它用户拥有读和运行的权限。

    设置权限


    1.通过数字设置权限

    例如:

    (ps:-R 表示对当前目录下的所有文件(包含子目录进行相同的权限变更(即以递回的方式逐个变更),此处还有其它参数可选,不常用,此处不赘述)

    你可能要问了,755,777,这是无规则的特殊指令吗?类似于华安的9527?

    当然不是,对于文件的三种权限,除了上面的r,w,x的表示方式,还有一种用数字代表的方式:的权限等于4的权限等于2运行的权限等于1

    通过4、2、1的组合,得到以下几种权限:

    0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)


    以755为例:
    1-3位7等于4+2+1,rwx,所有者具有读取、写入、运行权限;
    4-6位5等于4+1+0,r-x,同组用户具有读取、运行权限但没有写入权限;
    7-9位5,同上,也是r-x,其他用户具有读取、运行权限但没有写入权限。

     

    因此也就有了常用的linux文件权限:
    444 r--r--r--
    600 rw-------
    644 rw-r--r--
    666 rw-rw-rw-
    700 rwx------
    744 rwxr--r--
    755 rwxr-xr-x
    777 rwxrwxrwx

    2.通过字母修改权限

    例如

    这种修改方式的统一格式为 chmod [ugoa...][[+-=][rwxX]...][,...]

    • 第一个位置上,u 表示该文件的拥有者g 表示与该文件的拥有者属于同组者o 表示其他人a 表示这三者所有;
    • 第二个位置上,+ 表示增加权限- 表示取消权限= 表示唯一设定权限
    • 第三个位置上,r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当  该文件是个子目录  或者  该文件已经被设定过  为可执行。

    这儿有一个突出的


    chmod 4755 filename可使此程序具有root的权限
    例如:

    root用户创建了一个上网认证程序netlogin,如果其他用户要上网也要用到这个程序,那就需要root用户运行chmod 755 netlogin命令,使其他用户也能运行netlogin。
    但是netlogin执行时可能需要访问一些只有root用户才有权访问的文件,那么其他用户执行netlogin时可能因为权限不够还是不能上网。
    这种情况下,就可以用 chmod 4755 netlogin 设置其他用户在执行netlogin也有root用户的权限,从而顺利上网。

     

    欢迎讨论,共同学习! 码字排版不易,转载请在文章明显处注明出处并附原文链接!
  • 相关阅读:
    iOS SQLite函数总结
    转-NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
    NSUserDefaults保存用户名和密码
    iOS 集成银联支付(绕过文档的坑,快速集成)-转
    iOS微信支付
    iOS生成PDF的关键代码-备忘
    python中的urlencode和urldecode
    python中%r和%s的区别
    ubuntu16.04安装wps
    二进制、八进制、十进制、十六进制之间的转换
  • 原文地址:https://www.cnblogs.com/optblogs/p/9341767.html
Copyright © 2020-2023  润新知