Linux修改文件属性

Linux2024年4月1日 pm6:49发布3个月前更新 3XCN.COM站长
0 0 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、 本站网址: 91es.com3xcn.com
3、 本站文章: 部分来源于网络,仅供站长学习和参考,若侵权请留言
广告也精彩

相关文章

广告也精彩

暂无评论

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

暂无评论...

网站升级中

公告

近期网站升级中,可能存在一些bug。欢迎反馈 https://www.91es.com/we.html

本站域名

本站域名 : 91es.com3xcn.com。本站邮箱 : 站长邮箱 i@oorr.cn,通知邮箱we@oorr.cn ,如有更新,请看公告 。