Linux小白实用命令--权限设置

作者: 灼灼2015 | 来源:发表于2017-03-05 12:42 被阅读137次

    写给文达,一位上进爱学习的90后IOS程序员。

    前一篇:Linux小白实用命令--修改配置

    用途:解决程序无法正常使用文件
    命令:6个 ,掌握时间:30分钟

    mkdir logs #创建logs目录
    mkdir -p cms/content/logs #创建多层目录
    ls -lh #查看执行目录下文件列表
    df -lh #查看硬盘使用情况
    chown  test:test config.properties #更换文件的用户权限
    chgrp -v test config.properties #更换文件的所属组
    chmod 757 config.properties #更换文件的使用权限
    
    1. 配置目录不存在 mkdir
      使用log4j的童鞋都知道 log4j中设置的日志目录在程序启动后是不会自动创建的,需要人为提前创建好目录。
    mkdir logs
    如想创建多层目录
    mkdir -p cms/content/logs
    #参数-p 可以帮忙一次创建多层级的目录,不用一个个创建
    
    1. 文件是否存在 ls
      查看当前目录下有什么文件
    $ ls -lh
    total 16
    -rwxr-xr-x  1 lixinran  staff   394B  3  2 22:07 config.properties
    -rwxr-xr-x  1 lixinran  staff   394B  3  5 11:28 config.properties.bak
    

    查看指定文件的信息

    $ ls -lh config.properties
    -rwxr-xr-x  1 lixinran  staff   394B  3  2 22:07 config.properties
    
    1. 无法对文件进行写操作 chown、chmod、df -lh
      代码在本地运行时一般不会遇到因权限不对而无法进行操作的问题。
      而部署到测试环境/生产环境时 因使用的用户不同,无写权限发生的可能性比较大。
      判断步骤
      3.1 判断硬盘空间是否足够
      不要问我为什么,这个已经成为习惯啦
    df -lh
    Filesystem   Size   Used  Avail Capacity iused      ifree %iused  Mounted on
    /dev/disk1  233Gi   61Gi  171Gi    27% 1203366 4293763913    0%   /
    

    Capacity 如果为100%,请先清理硬盘。
    3.2 判断文件是否有写权限

    $ ls -hl
    total 16
    -rwxr-xr-x  1 lixinran  staff   394B  3  2 22:07 config.properties
    -rwxr-xr-x  1 lixinran  staff   394B  3  5 11:28 config.properties.bak
    

    -rwxr-xr-x (-为文件,r:读、w:写、x:执行)
    代表的意思,依次如下:
    第一组:rwx,代表所属用户对该文件有读、写、执行权限
    第二组:r-x,代表所属组对该文件有读、执行的权限
    第三组:r-x,代表任何人对该文件有读、执行的权限

    3.3 判断程序用的是什么用户 whoami

    $ whoami
    lixinran
    

    结合2⃣️和3⃣️,就可以知道自己有哪些操作文件的权限啦。

    3.4 如何赋予用户操作文件的权限 chown、chmod
    第一种方式:更改文件的所属用户
    如test用户想对config.properties文件进行写操作

    chown test:test config.properties
    

    第二种方式:更改文件所属组
    test用户想对config.properties文件进行写操作
    test用户所属组test
    而config.properties文件所属组为staff

    chgrp -v test config.properties
    

    第三种方式:直接给文件赋予其他人可写的操作

    chmod 757 config.properties  #r+w+x=2+4+1=7,第一个7代表所属用户、第二个5代表所属用户组、第三个7代表任何人
    

    在测试过程中,经常出现一个现象,在测试环境点哪哪报错,而将bug报给研发,研发会说:我这是好的呀!是你环境/数据的问题吧! 曾有人做过一次调查,上面这句话,是研发最常说的理由之一,同时也是测试最不喜欢听到的理由之一。
    文达,你有对测试人员说过这样的话吗?
    望测试和研发都知道 为什么换个环境就不ok的原因,以及排查方式。

    下一篇:Linux小白实用命令--网络设置

    相关文章

      网友评论

        本文标题:Linux小白实用命令--权限设置

        本文链接:https://www.haomeiwen.com/subject/tzokgttx.html