linux基础权限管理命令

本文详细介绍了Linux系统中的chmod命令,用于更改文件和目录权限,包括权限位的含义和操作方式。同时讲解了chown命令,用于修改文件的所属者和所属组。通过实例演示了如何运用这两个命令进行权限管理和所有权转移。
摘要由CSDN通过智能技术生成

1. chmod命令

命令说明

        chmod命令的作用是改变文件或目录权限,但是只有文件的所属者和超级用户root才能够执行这个命令。chmod命令来自英文 change file mode bits的缩写。

        介绍chmod命令的用法之前,先介绍一下linux下文件的权限是怎样的。首先使用ll 命令查看的文件的详细信息,其中第一列就记录了该文件权限相关的内容

[root@localhost dir1]# ll总用量 4-rwxr--r--. 1 bossZhang employees 3 4月   7 01:44 A公司

        从示例文件A公司可以看到,第一列一共有十一位,其中第二位到第十位(rwxr--r--)记录该文件的权限,九个权限位三个为一组,分别代表所属者,所属组,其他人拥有的权限,在文件A公司中,所属者张老板(bossZhang)拥有rwx的权限,所属组全体雇员(employees)拥有r--的权限,其他人拥有r--的权限。

        r,w,x,-代表什么意思呢?r代表可读(read),对于文件而言,可读意味着可以使用head,cat,tail,more.less等命令读取文件的内容,对于目录而言,可读意味着可以看到该目录下的文件;w代表可写(write),对于文件而言,可写意味着可以使用vim,echo等命令修改文件内容,对于目录而言,可写意味着,可以在该目录下新增删除文件;x代表可执行(execute)的权限,对于文件而言 ,可执行意味着可以作为linux脚本执行,对于目录而言,意味着可以进入该目录,也就是可以对该目录执行cd命令。-表示没有权限,类似占位的作用。

命令格式

chmod  [选项]  权限模式  文件名

        其中权限模式的格式为[ugoa][+-=][perms],也就是[用户身份][赋予方式][权限]的格式。

        ugoa表示是用户身份,u表示所属者(user),g表示所属组(group),o表示其他人(other),a代表包含前面三种身份(all)

        +表示是添加某种权限 ,-表示减去某种权限,=表示直接赋予某种权限。   

实例

     以上面的A公司文件为例,假如A公司文件的所属者张老板(bossZhang)为了便于公司的管理,给A公司文件的所属组公司全体员工(employees)添加可写的权限

给所属组添加可写权限

[root@localhost dir1]# chmod g+w A公司 

  查看操作后的权限

[root@localhost dir1]# ll总用量 4-rwxrw-r--. 1 bossZhang employees 3 4月   7 01:44 A公司

    同时A公司文件的所属者张老板(bossZhang)发现除了自己和公司的员工之外,其他人居然也有可读的权限,这可不得了,万一被竞争对手看到公司的秘密可不是什么什么好事,于是张老板马上操作,去掉其他人的可读权限

去掉其他人的可读权限

[root@localhost dir1]# chmod o-r A公司

查看操作后的权限

[root@localhost dir1]# ll总用量 8-rwxrw----. 1 bossZhang employees 3 4月   7 01:44 A公司

    除了上面使用+-操作权限的方式也可以通过=直接赋予权限,下面的命令和上面两条控制权限的命令具有相同的效果。

# 给所属组设置可写可读的权限[root@localhost dir1]# chmod g=rw- A公司
# 给其他人设置不可写不可读不可执行的权限[root@localhost dir1]# chmod o=--- A公司

    两条命令也可以合并成一条命令操作

# 同时操作所属组和其他人[root@localhost dir1]# chmod g=rw-,o=---  A公司

    如果想要同时操作所属组和其他人的权限,还有一种更简单的写法 ,通过数字直接指定权限,下面的命令和上面的命令具有同样的效果

[root@localhost dir1]# chmod 760 A公司

    这种赋予权限的方式虽然没有[用户身份][赋予方式][权限]操作权限的方式可读性好,但是更加简洁,也是经常使用。

    760,其中每一个数字对应一个用户身份的权限,7表示所属者的权限,6表示所属组的权限,0表示其他人的权限。解释760之前,先看看下面的对应关系表。

权限表示对应二进制数字对应十进制数字
---0000
--x0011
-w-0102
-wx0113
r--1004
r-x1015
rw-1106
rwx1117

    每一个用户身份都有三个权限位,第一个权限位是可读权限的权限位,如果有可读的权限,那么值是r,如果没有可读权限,那么值是-,第二位是可写权限的权限位,如果有可写的权限,那么值是w,如果没有可读权限,那么值是-,第三个权限位是可执行权限的权限位,如果拥有可执行的权限,那么值是x,如果没有权限,那么值是-。这三个权限位都只会存在有权限和没权限两种情况,如果有权限用二进制的1表示,没有权限用二进制的0表示,那么权限都会得到一个对应的二进制数字(表格中第二列),这些二进制数字转换成十进制数字后,就是上面使用的760们。

    备注:上面的8个权限并不是都有实际意义,只是为了便于观察对应关系一一列出

2. chown命令

命令说明

       chown命令的作用是修改文件的所属者和所属组的权限。来自英文change file owner and group的缩写。

命令格式

chown [选项] 所属者:所属组 文件或目录

参数说明

参数作用助记
-R递归设置权限recursive

实例

     还是以张老板经营A公司举例,假设A公司此时出现了经营不善的情况,张老板决定将A公司转手给李老板(bossLi)。说干就干,张老板大手一挥,马上就把公司所属者的权限换成了李老板

[root@localhost dir1]# chown bossLi A公司

    ll命令查看一下操作后的A公司的权限,所属者已经变成了李老板,所属组仍然是之前的张老板留下的员工(employees)。

[root@localhost dir1]# ll总用量 8-rwxrw----. 1 bossLi employees 3 4月   7 01:44 A公司

    如果李老板不仅想把A公司的所属者换成自己,还要把A公司的员工也换成自己的团队(otherEmployees ),则需要执行下面的权限

[root@localhost dir1]#  chown bossLi:otherEmployees  A公司

    ll查看执行命令后的权限,所属者不仅换成了李老板(bossLi),所属组也换成了李老板的团队(otherEmployees)

[root@localhost dir1]# ll总用量 8-rwxrw----. 1 bossLi otherEmployees 3 4月   7 01:44 A公司

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值