• Linux学习笔记(4)Linux常用命令之权限管理命令


    (1)chmod

    chmod命令用于改变文件或目录权限,英文原意为change the permissions mode of a file,所在路径为/bin/chmod,其语法格式为:

    chmod [{ugoa}{+-=}{rwx}] [文件或目录]或chmod [mode=421] [文件或目录]

    其中a表示所有的u、g、o的权限都将修改。如果加上-R选项,表示递归修改权限权限的数字表示分别为:r对应着4,w对应着2,x对应着1,因此,rwxrw-r—对应的数字权限为764。注意:只有root和所有者可以改变该文件或目录的权限

    在/tmp目录创建一个test.txt文件,并将其权限修改为所有者(u)去掉写权限,用户组(g)和其他人(o)加上写权限,且三者均具有执行权限。

     

    使用数字命令将所有者权限改为可读可写,将用户组和其他人的权限改为仅可读。

     

    在/tmp目录下创建目录a,并在a的目录下创建目录b,然后使用-R选项递归修改a与b的权限。

     

    文件目录权限总结:

    代表字符

    权限

    对文件的含义

    对目录的含义

    r

    读权限

    可查看文件内容

    可列出目录中的内容(如ls)

    w

    写权限

    可修改文件内容

    可在目录中创建、删除文件(如touch,rm)

    x

    执行权限

    可执行文件

    可进入目录(如cd)

    注意:删除一个文件的前提是用户需对该文件所在目录具有写权限,而不是对该文件具有写权限!!!

    (2)chown

    chown命令用于改变文件或目录的所有者,英文原意为change file ownership,所在路径为/bin/chown,其语法格式为:chown [用户] [文件或目录],注意只有管理员才能更改文件所属用户

    创建一个用户ws,以该用户进行登录并在/tmp目录下创建一个文件test.txt。

     

    然后在以root身份进行修改该文件的所属用户。

     

    (3)chgrp

    chgrp命令用于改变文件或目录的所属组,英文原意为change file group ownership,所在路径为/bin/chgrp,其语法格式为:chgrp [用户组] [文件或目录]

    同样在root用户下将test.txt的所属组改为root。

    (4)umask

    umask命令用于显示、设置文件的缺省权限,英文原意为the user file-creation mask,umask命令属于Shell的内置命令,其语法格式为:umask [-S]其中-s选项表示以rwx形式显示新建文件缺省权限

    [root@localhost ~]# umask
    0022

    直接输入umask命令得出的是权限掩码,其中第一个"0"表示特殊权限,后面的"022"分别对应所有者、所属组、其他人的权限,掩码对应的真正权限为:777-022=755

    在/tmp下新建一个目录test,查看其权限即为对应的默认的缺省权限。

    [root@localhost ~]# umask -S
    
    u=rwx,g=rx,o=rx
    
    [root@localhost ~]# mkdir /tmp/test
    
    [root@localhost ~]# ls -ld /tmp/test
    
    drwxr-xr-x. 2 root root 4096 1月   8 00:32 /tmp/test
    
    [root@localhost ~]#

    而新建一个文件时,出于安全的角度,默认是不具备执行权限的。例如在tmp目录下新建一个test1.txt文件,其对应的默认权限如下:

    [root@localhost ~]# touch /tmp/test1.txt
    
    [root@localhost ~]# ls -l /tmp/test1.txt
    
    -rw-r--r--. 1 root root 0 1月   8 00:34 /tmp/test1.txt
    
    [root@localhost ~]#

    将默认的权限为rwxr-xr--,首先计算相应的掩码:777-754=023,然后利用umask修改即可。则相应的命令如下:

    [root@localhost ~]# umask 023
    
    [root@localhost ~]# mkdir /tmp/test2
    
    [root@localhost ~]# ls -ld /tmp/test2
    
    drwxr-xr--. 2 root root 4096 1月   8 00:40 /tmp/test2
    
    [root@localhost ~]# 
  • 相关阅读:
    判断日期是否是法定节假日或者休息日
    linux版powershell安装教程(.net core版)
    两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍
    powershell中使用超大内存对象
    powershell脚本,命令行参数传值,并绑定变量的例子
    在docker容器中安装和使用,linux版的powershell
    powershell开源新闻及简介
    用powershell+excel行列转置三步走
    让powershell同时只能运行一个脚本(进程互斥例子)
    powershell玩转SQL SERVER所有版本
  • 原文地址:https://www.cnblogs.com/mengrennwpu/p/4218123.html
Copyright © 2020-2023  润新知