linux修改文件夹属性命令,[Linux] 常用命令之修改文件属性和权限

改变文件属性和权限

68747470733a2f2f7773322e73696e61696d672e636e2f6c617267652f303036744e6252776c793166786d6674736b6233616a33307a383063756d7a772e6a7067

-rw-r--r-- 1 sherry staff 14K 11 26 15:56 package.json

档案类型权限 连接数 拥有者 群组 大小 时间 文件名

档案类型权限

d rwx rwx rwx

为了看的比较清楚,这里用空格分开了。除了第一个字符,剩下的一次三个一组。

r:可读read

w:可写write

x:可执行execute

-:改位置没有权限显示-

第一个字符:d-目录、-文件、l-链接档、b、c

第一组:文件拥有者可具备的权限

第二组:加入此群组的账号具备的权限

第三组:其他账号的权限

注意:rwx 所在的位置是不会改变的,有该权限就会显示字符,没有该权限就变成减号(-)就是了。

例子:

[ - ][rwx][r-x][r--]

[-]: 这个为文件

[rwx]: 拥有者的权限,本例中为可读、可写、可执行(rwx);

[r-x]: 同群组用户权力,本例中为可读可执行(rx);

[r--]: 其他用户权力,本例中为可读(r),就是只读之意

chgrp :改变文件所属群组(change group)

chown :改变文件拥有者(change owner )

chmod :改变文件权限, SUID, SGID, SBIT 等等的特性

chgrp

chgrp [-R] [群组名] [文件名]

// -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件、目录都更新成为这个群组之意。常常用在变更某一目录内所有的文件之情况。

chown

chown [-R] [账号名称] [文件或目录]

chown [-R] [账号名称:组名] [文件或目录]

// -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都变更

// cp会把文件文件属性和权限都复制过去

cp [来源文件] [目标文件]

chmod

权限的设定方法有两种:

数字类型改变文件权限

符号类型改变文件权限

数字类型改变文件权限

数字对照表:

r:4

w:2

x:1

小例子:

[-rwxrwx---]

分数👇

owner = rwx = 4+2+1 = 7

group = rwx = 4+2+1 = 7

others= --- = 0+0+0 = 0

chmod [-R] [xyz] [文件或目录]

// 选项与参数:

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

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

chmod 777 [文件名] // 改文件权限变为 -rwxrwxrwx

常常我们以 vim 编辑一个 shell 的文字批处理文件后,他的权限通常是 -rw-rw-r-- 也就是 664, 如果要将该文件变成可执行 文件,并且不要让其他人修改此一文件的话, 那么就需要-rwxr-xr-x 这样的权限,此时就得要下达:chmod 755 test.sh的指令啰!

如果有些文件你不希望被其他人看到,那么应该将文件的权限设定为例如:-rwxr——,那就下达 chmod 740 filename吧!

符号类型改变文件权限

权限分为user/group/others三种,可以由 u, g, o 来代表三种身份的权限。a 则代表 all 亦即全部。

68747470733a2f2f7773312e73696e61696d672e636e2f6c617267652f303036744e6252776c793166786d6e66796e6c71346a3330796b3036676d78752e6a7067

小例子:

// 题: [-rwxr-xr-x]

chmod u=rwx,go=rx [文件名]

// 题:[-rwxr-xr--]

chmod u=rwx,g=rx,o=r [文件名]

注意: u=rwx,go=rx 是连在一起的,中间并没有任何空格符!

如果我不知道原先的文件属性,而我只想要增加.bashrc 这个文件的每个人均可写入的权限,那么我就可以使用:

chmod a+w [文件名]

拿掉全部人的可执行权限

chmod a-x [文件名]

权限的意义

68747470733a2f2f7773342e73696e61696d672e636e2f6c617267652f303036744e6252776c793166786d6f386267676f6c6a3331336f303761676e362e6a7067

文件权限

r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;

w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);

x (eXecute):该文件具有可以被系统执行的权限。

注意:Windows 底下一个文件是否具有执行的能力是藉由『 扩展名 』来判断的, 例如:.exe, .bat, .com 等等,但是在 Linux 底下,我们的文件是否能被执行,则是藉由是否具有『x』这个权限来决定的!跟扩展名是没有绝对的关系的!

w 权限:你可以具有写入/编辑/新增/修改文件 的内容的权限, 但不具备有删除该文件本身的权限!!

目录权限

* r: 可以查询该目录下的文件名数据,可以利用`ls`这个指令将该目录的内容列表显示。

* w: 新建/删除/更名/更改位置【文件/目录】

* x: 用户能否进入该目录成为工作目录(目录当然不可以执行)

注意:不论有咩有具体文件是什么权限,都可以删除

小例子:

drwxr--r-- 3 root root 4096 Jun 25 08:35 .ssh

# vbird,这个账号并没有支持 root 群组,请问 vbird 对这个目录有何权限?是否可切换到此目录中?

# 答:

# vbird 对此目录仅具有 r 的权限,因此 vbird 可以查询此目录下的文件名列表。因为 vbird 不具有 x 的权限,亦即 vbird没有这个抽屉的钥匙啦! 因此 vbird 并不能切换到此目录内!(相当重要的概念!)

注意:如果你在某目录下不具有 x 的权限, 那么你就无法切换到该目录下,也就无法执 行该目录下的任何指令,即使你具有该目录的 r 或 w 的权限。

小例子:

账号:dmtsai 目录:/home/dmtsai/ 改目录权限:[rwx]

该目录下文件:-rwx------ 1 root root 4365 Sep 19 23:20 the_root.data

dmtsai 对此文件来说是『others』的身份,无法修改改文件。但是他有改文件上级目录的完整权限,所以他可以删除这个文件!

针对 /dir1, /dir1/file1, /dir2 这三个档名来说, 分别需要『哪些最小的权限』才能达成各项任务?

68747470733a2f2f7773342e73696e61696d672e636e2f6c617267652f303036744e6252776c793166786d706f786e6730336a333133653065366a75722e6a7067

注意: 上面很多动作中,你只要具有 x 即可!r 是非必备的!只是,没有 r 的话,使用 [tab] 时,他就无法自动帮你补齐档名了!

参考

鸟哥的Linux私房菜[第五章第二节]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值