Linux修改文件属性

Linux 91es.com站长2024年4月1日 pm6:49发布1个月前更新
0
导航号,我的单页导航
目录

前言

经常用,但还是会忘记,因此这里又整理一下。记录全一定,方便自己回顾。

这里主要介绍chownchmodchgrp

正文

Linux中通过ls -l可以看文件的属性。

Linux修改文件属性

chgrp

chgrp:更改文件属组。

chgrp [-R] 属组名 文件名
  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。

这个我不常用,一般用下面那个替代即可。

# 修改前
ls -l
-rw-r--r--  1 root root 68495 Jun 1 11:00 daohanghao.txt
# 如果需要权限,可以加sudo
chgrp water daohanghao.txt
# 修改后
ls -l
-rw-r--r--  1 root water 68495 Jun 1 11:01 daohanghao.txt

chown

chown (change owner) 更改文件所有者(owner),也可以同时更改文件所属组。

chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名
  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。

下面简单展示一下

案例一
# 修改前
ls -l
-rw-r--r--  1 root root 68495 Jun 1 11:00 daohanghao.txt
# 如果需要权限,可以加sudo
chown water daohanghao.txt
# 修改后
ls -l
-rw-r--r--  1 water root 68495 Jun 1 11:01 daohanghao.txt
案例二
# 修改前
ls -l
-rw-r--r--  1 root root 68495 Jun 1 11:10 daohanghao.txt
# 如果需要权限,可以加sudo
chown water:water daohanghao.txt
# 修改后
ls -l
-rw-r--r--  1 water water 68495 Jun 1 11:10 daohanghao.txt

chmod

chmod (change mode) 修改用户的权限

 chmod [-R] xyz 文件或目录

选项与参数:

  • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。

  • -R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

Linux文件属性有两种设置方法,一种是数字,一种是符号。

通过数字改变文件权限

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

文件的权限字符为: -rwxrwxrwx , 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

  • r:4

  • w:2

  • x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,

-rwxrwxrwx

ps:第一个[-]是文件类型这里表示文件,如果是文件夹[d]表示

  • owner = rwx = 4+2+1 = 7

  • group = rwx = 4+2+1 = 7

  • others= rwx = 4+2+1 = 7

该文件的权限数字就是 777

# 修改前
ls -l
-rw-r--r--  1 water water 68495 Jun 1 11:12 daohanghao.txt
chmod 777 daohanghao.txt
# 修改前
ls -l
-rwxrwxrwx  1 water water 68495 Jun 1 11:12 daohanghao.txt
-rwxr-xr--
  • owner = rwx = 4+2+1 = 7

  • group = r-x = 4+0+1 = 5

  • others= r-- = 4+0+0 = 4

该文件的权限数字就是 754

通过符号改变文件权限

我们可以发现,基本上就九个权限分别是:

  • user:用户

  • group:组

  • others:其他

那么我们就可以使用 u, g, o 来代表三种身份的权限

此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

chmod  u/g/o/a    +(加)/-(减)/=(设定)   r/w/x     文件夹/文件

如果需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:

#  touch test1    // 创建 test1 文件
# ls -al test1    // 查看 test1 默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r  test1    // 修改 test1 权限
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:

#  chmod  a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1

参考文章

  1. Linux 文件基本属性

版权声明 1、 本站名称 91易搜
2、 本站网址 https://www.91es.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权请留言
4、 本站禁止发布或转载任何违法的相关信息,如有发现请向站长举报
导航号,我的单页导航

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

暂无评论...