Linux-05-chown与chmod用法

1.简介

ch是change的简写 own是所有者意思,mod是修改的意思

  • chown 即: 改变文件/目录的所有者
  • chmod 即: 改变文件/目录的访问权限

2. chown用法

简单案列:

-rw-r--r--  1 root root   93 1123 10:56 du.sh
drwxr-xr-x 12 root root 4096 1123 10:39 qing1
drwxr-xr-x 12 root root 4096 1123 10:39 qing10
drwxr-xr-x 12 root root 4096 1123 10:39 qing2
drwxr-xr-x 12 root root 4096 1123 10:39 qing3
drwxr-xr-x 12 root root 4096 1123 10:39 qing4
drwxr-xr-x 12 root root 4096 1123 10:39 qing5
drwxr-xr-x 12 root root 4096 1123 10:39 qing6
drwxr-xr-x 12 root root 4096 1123 10:39 qing7
drwxr-xr-x 12 root root 4096 1123 10:39 qing8
drwxr-xr-x 12 root root 4096 1123 10:39 qing9
[wang@Centos-root473791 wang]$ rm -rf qing1
rm: 无法删除"qing1/long5": 权限不够

这是因为qing1的文件所有者是属于root用户权限,这个时候需要赋权限才能删除

查看当前用户信息 id,发现当前用户是wang,所属组也是wang

[wang@Centos-root473791 wang]$ id
uid=500(wang) gid=500(wang)=500(wang)
[wang@Centos-root473791 wang]$ 

如果直接使用wang的用户改是改不了的,因为它本身没操作权限,必须使用文件/目录的属主用户修改

[wang@Centos-root473791 wang]$ id
uid=500(wang) gid=500(wang)=500(wang)
[wang@Centos-root473791 wang]$ chown wang:wang qing1
chown: 正在更改"qing1" 的所有者: 不允许的操作
[wang@Centos-root473791 wang]$

切换到root用户,授予他权限,这里比如切换到root用户将文件夹qing2的所有者赋权限给wang用户
在这里插入图片描述
切换到wang用户之后,再对它删除,会发现还是没权限
在这里插入图片描述
这是因为,能够删除文件不是看文件的权限,是看目录的权限,是否有目录的写权限和执行权限
比如根目录下wang这个文件夹,属于wang这个用户
在这里插入图片描述
但是里面的文件全是属于root用户,没关系,照样删除
在这里插入图片描述

3. linux中目录与文件权限的意义

3.1.文件权限的意义

r:可以读这个文件的具体内容;
w:可以编辑这个文件的内容,包括增加删除文件的具体内容;
x:文件就具有了可执行的权限-------注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的,如exe、bat等,但是在linux中文件的可执行权限是通过这个x决定的,与文件名没有什么关系。

3.2. 目录权限的意义

r:read contents in directory。表示具有读取目录结构列表的权限。
w:modify contents in directory。表示具有更改该目录结构列表的权限。如:新建文件与目录;删除已经存在的文件与目录(不论该文件的权限如何),将已经存在的文件或目录进行重命名,转移该目录内的文件、目录位置
x :access directory。目录的x代表用户能否进入该目录称为工作目录的用途。

4. drwxr-xr-x代表的权限解释

linux里的drwxr-xr-x代表的权限解释,以及linux中文件和目录的类型

权限的计算是除去第一位字母开始,权限都是三个符号为一组合,其中-表示没有这个权限

d        第 1    位表示文件类型:   d是目录文件,l是链接文件,-是普通文件,p是管道
rwx      第 2-4  位表示这个文件的属主拥有的权限,r是读,w是写,x是执行。
r-x      第 5-7  位表示和这个文件属主所在同一个组的用户所具有的权限。
r-x      第 8-10 位表示其他用户所具有的权限。

举个列子:


drwxr-xr-x   10   wang wang  4096 36 12:57 wang

表示wang是个目录,wang拥有读写执行的权限,和wang所在同一个group1组里的用户拥有只读和执行权限,剩下其他用户拥有只读和执行权限。

5. 查看用户用户组

5.1 查看所有用户 sudo cat /etc/shadow

[root@Centos-root473791 ~]# sudo cat /etc/shadow
root:$6$xG9L/uapGKFJ7pgG$0OPhw7upxGvK2R.krEJunpc8fk1xVgU.iO4.fKjaFdSqso2Xv.3LkLfvZ4QSom1PulF5.8w74IF1IQ1EuR4Hg0:18495:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::

5.2 查看所有用户组 cat /etc/group

[root@Centos-root473791 ~]# cat /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon

5.3 查看这个用户属于哪个用户组 groups xxx

[root@Centos-root473791 ~]# groups root
root : root
[root@Centos-root473791 ~]# 

5.4 新建用户,然后加入某个组 sudo adduser xxx xxx

sudo adduser xxx
sudo adduser xxx  xxx 

5.5 删除用户,记得加 -r 递归 sudo userdel -r username

sudo userdel -r  username

5.6 常用的案列:

5.6.1 更改文件的所有者:

chown  wang  abc.txt

文件 abc.txt 的所有者更改为wang。作为所有者,wang 可以使用 chmod 命令允许或拒绝其他用户访问 abc.txt。

5.6.2 更改目录的所有者:

chown -R wang:wang    /tmp/abc

- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。 
- v 显示chown命令所做的工作。

将目录 /tmp/abc 中所有文件的所有者和组更改为用户wang 和组wang

6. chmod 命令

  • 用途:改变文件或目录的访问权限。
  • 该命令有两种用法:

6.1 文字设定法

chmod [who] [+ | - | =] [mode] 文件名

命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
      u 表示“用户(user)”,即文件或目录的所有者。
      g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
      o 表示“其他(others)用户”。
      a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
      + 添加某个权限。
      - 取消某个权限。
      = 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
      r 可读。
      w 可写。
      x 可执行。
      X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
      s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
      t 保存程序的文本到交换设备上。
      u 与文件属主拥有一样的权限。
      g 与和文件属主同组的用户拥有一样的权限。
      o 与其他用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example
使同组和其他用户对文件 example 有读权限。

6.2 数字设定法

chmod [mode] 文件名

数字表示的属性的含义:
      0 表示没有权限
      1 表示可执行权限  x
      2 表示可写权限    w
      4 表示可读权限    r
然后将其相加。
所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。

例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)+1(可执行)=7(读/写/执行)。

sudo chmod -R   777

rwx  =   111  =  7
rw-  =   110  =  6
r-x  =   101  =  5
r--  =   100  =  4
-wx  =   011  =  3
-w-  =   010  =  2
--x  =   001  =  1
---  =   000  =  0

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alan0517

感谢您的鼓励与支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值