linux中权限管理命令详解(chmod/chown/chgrp/unmask)

 更新时间:2020年02月28日 16:36:45   作者:未月廿三  
这篇文章主要介绍了linux中权限管理命令详解(chmod/chown/chgrp/unmask)的相关知识,通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户。本文给大家介绍linux中权限管理命令详解(chmod/chown/chgrp/unmask),具体内容如下:

chmod

解释

命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户功能描述:改变文件或目录权限

语法

chmod [{ugoa}{+-=}{rwx}] [文件或目录] 
chmod [mode=421] [文件或目录]
 -R 递归修改
 
# 第一种修改方式 chmod [{ugoa}{+-=}{rwx}] [文件或目录]
ugoa:
 u:所有者
 g:所属组
 o:其他人
 a:所有人
+-=:
 +:针对文件或目录增加某个权限
 -:针对文件或目录减少某个权限
 =:赋予文件或目录全新的权限,以此刻的权限为准
 
# 第二种修改方式 chmod [mode=421] [文件或目录]
rwx:
 r:4
 w:2
 x:1
rwxrw-r--
 权限:764(4+2+1=7/4+2=6/4)

示例

# 第一种增加权限
 chmod g+x test.txt
 
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r--r-- 1 root root 11 Nov 28 15:39 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod g+x test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r-xr-- 1 root root 11 Nov 28 15:39 test.txt

# 第二种增加权限
chmod 777 test.txt

[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r-xr-- 1 root root 11 Nov 28 15:39 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod 777 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rwxrwxrwx 1 root root 11 Nov 28 15:39 test.txt

权限特别注意

# 在/tmp下新建文件夹test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# mkdir test

# 在/tmp/test文件夹下新建test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# touch test/test.txt

# 查看test文件下的文件
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test
total 0
-rw-r--r-- 1 root root 0 Nov 28 17:54 test.txt

# 查看/tmp/test文件夹的权限
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -ld test
drwxr-xr-x 2 root root 4096 Nov 28 17:54 test

# 赋予/tmp/test文件夹全部的权限
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod 777 test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -ld test
drwxrwxrwx 2 root root 4096 Nov 28 17:54 test

[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test/test.txt
-rw-r--r-- 1 root root 0 Nov 28 17:54 test/test.txt

# 新增加一个普通用户并修改密码
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# useradd eternity
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# passwd eternity

# 使用eternity帐号,密码123456,登录服务器
# 查看当前目录
[eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ pwd
/home/eternity

# 进入/tmp目录
[eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ cd /tmp

# 查看/tmp/test目录的权限,拥有全部权限
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -ld test
drwxrwxrwx 2 root root 4096 Nov 28 17:54 test

# /tmp/test目录下存在test.txt,拥有读权限
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -l test/test.txt
-rw-r--r-- 1 root root 0 Nov 28 17:54 test/test.txt

# 删除/tmp/test下的test.txt文件
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ rm test/test.txt
rm: remove write-protected regular empty file ‘test/test.txt'? y

# 删除成功,此时/tmp/test目录下test.txt已经没有了
[eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -l test/test.txt
ls: cannot access test/test.txt: No such file or directory

只有管理员拥有rw读写权限,所属组和其他人只有读权限,但是此时普通用户却删除了只有r读权限的文件,为什么???? 文件目录权限总结

代表字符 权限 对文件的含义 对目录的含义
r 读权限 可以查看文件内容 可以列出目录中的内容
w 写权限 可以修改文件内容 可以在目录中创建和删除文件
x 执行权限 可以执行文件 可以进入目录

分析

对于文件有写权限,仅仅代表可以修改文件的内容,而没有删除文件的权限

对于目录有写权限,可以在目录中创建和删除文件

因为上面的/tmp/test目录的权限为777 所以普通用户对于/tmp/test目录也具有创建文件和删除文件的权限所以,普通用户也能删除/tmp/test/test.txt文件但是普通用户无法编辑/tmp/test/test.txt文件,使用vim编辑文件的时候,会提示Waring: Changing a readonly file

chown

解释

命令名称:chown 命令英文原意:change file ownership 命令所在路径:/bin/chown 执行权限:所有用户功能描述:改变文件或目录的所有者

语法

chown [用户] [文件或目录]

在linux中只有root能改变文件所有者,即便是创建者都不可以

示例

# 改变文件所有者(将test.txt的所有者由eternity更改为root)
chown root /tmp/test/test.txt

[root@izm5e2q95pbpe1hh0kkwoiz ~]# pwd
/root
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 eternity eternity 7 Nov 28 18:15 /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# chown root /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 root eternity 7 Nov 28 18:15 /tmp/test/test.txt

chgrp

解释

命令名称:chgrp
命令英文原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
功能描述:改变文件或目录的所属组

语法

chgrp [用户组] [文件或目录]

示例

# 改变文件所属组(将test.txt的所属组由eternity更改为eternityz)
chgrp eternityz /tmp/test/test.txt

# 当前目录
[root@izm5e2q95pbpe1hh0kkwoiz ~]# pwd
/root
# 查看详细信息
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 root eternity 7 Nov 28 18:15 /tmp/test/test.txt
# 增加eternityz组
[root@izm5e2q95pbpe1hh0kkwoiz ~]# groupadd eternityz
# 改变所属组
[root@izm5e2q95pbpe1hh0kkwoiz ~]# chgrp eternityz /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 root eternityz 7 Nov 28 18:15 /tmp/test/test.txt

umask

解释

命令名称:umask 命令英文原意the user file-creation mask 命令所在路径:shell内置命令执行权限:所有用户功能描述:显示/设置文件的缺省权限

语法

umask [-S] -S 以rwx形式显示新建文件缺省权限(大写的S)

示例

# 查看文件的缺省权限
umask -S

# 查看umask
umask

[root@izm5e2q95pbpe1hh0kkwoiz ~]# umask
0022

0022中
0 特殊权限
022 ----w--w-

# 通过所有权限777和022权限进行异或操作,得到缺省权限
777 rwx rwx rwx
022 --- -w- -w-
================
目录 rwx r-x r-x
文件 rwx r-- r--


# 更改umask值,进而改变缺省权限
umask 077

# 更改umask值之后,缺省权限变为
777 rwx rwx rwx
077 --- rwx rwx
================
目录 rwx --- ---
文件 rw- --- ---

# 以下实验符合更改缺省权限的设置
[root@izm5e2q95pbpe1hh0kkwoiz ~]# umask 077
[root@izm5e2q95pbpe1hh0kkwoiz ~]# mkdir /tmp/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -ld /tmp/lyf
drwx------ 2 root root 4096 Nov 29 10:55 /tmp/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]# touch /tmp/lyf/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/lyf/lyf
-rw------- 1 root root 0 Nov 29 10:56 /tmp/lyf/lyf

在linux中只有root能改变文件所有者,即便是创建者都不可以文件的创建者为默认的所有者,此时默认的所属组也是文件创建者 linux中文件夹的缺省权限时rwxr-xr-x,文件的缺省权限是rw-r--r--,新建文件不具备可执行权限

到此这篇关于linux中权限管理命令详解(chmod/chown/chgrp/unmask)的文章就介绍到这了,更多相关linux 权限管理命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 分享Linux 系统生成随机密码的10种方法

    分享Linux 系统生成随机密码的10种方法

    利用Linux系统生成随机密码的10种方法 Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它。例如,你可以通过数十种方法来生成随机密码。本文将介绍生成随机密码的十种方法,感兴趣的朋友一起学习吧
    2015-12-12
  • 详述Linux中Firewalld高级配置的使用

    详述Linux中Firewalld高级配置的使用

    这篇文章主要介绍了详述Linux中Firewalld高级配置的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Linux系统交换空间介绍

    Linux系统交换空间介绍

    今天小编就为大家分享一篇关于Linux系统交换空间介绍的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • deepin linux 手动升级内核的方法

    deepin linux 手动升级内核的方法

    这篇文章主要介绍了deepin linux 手动升级内核的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Linux中使用NTP保持精确时间的方法详解

    Linux中使用NTP保持精确时间的方法详解

    Linux系统下,一般使用ntp服务来同步不同机器的时间,NTP 是网络时间协议(Network Time Protocol)的简称,下面这篇文章主要给大家介绍了关于Linux中使用NTP保持精确的时间的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2018-03-03
  • Centos7.3服务器搭建LNMP环境的方法

    Centos7.3服务器搭建LNMP环境的方法

    这篇文章主要介绍了Centos7.3服务器搭建LNMP环境的方法,结合实例形式分析了Centos7.3搭建LNMP环境的相关步骤、命令、使用方法及注意事项,需要的朋友可以参考下
    2018-04-04
  • Linux中Netcat命令整理

    Linux中Netcat命令整理

    本篇文章给大家整理了Linux中Netcat的命令以及命令的功能详解,一起学习下。
    2018-02-02
  • 详解Ubuntu20.04用Xshell通过SSH连接报错的服务问题

    详解Ubuntu20.04用Xshell通过SSH连接报错的服务问题

    这篇文章主要介绍了详解Ubuntu20.04用Xshell通过SSH连接报错的服务问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • CentOS7环境搭建python3以及与python2实现共存的方法

    CentOS7环境搭建python3以及与python2实现共存的方法

    这篇文章主要介绍了CentOS7环境搭建python3以及与python2实现共存的方法,结合实例形式简单分析了CentOS7环境下安装Python3的步骤、命令及测试代码示例,非常简单易懂,需要的朋友可以参考下
    2018-06-06
  • #实践笔记#Ubuntu配置Apache+PHP+MySQL

    #实践笔记#Ubuntu配置Apache+PHP+MySQL

    在我早先的一篇文章《#实践笔记#本地配置PHPnow与WordPress》,已经讨论过PHPnow的本地安装教程。但是PHPnow套件是Windows平台下的软件,不适用我现在使用的平台
    2012-03-03

最新评论