linux修改文件权限为所有人都可以访问,Linux 笔记分享八:文件权限的设定
发布日期:2021-06-24 16:16:07 浏览次数:3 分类:技术文章

本文共 3186 字,大约阅读时间需要 10 分钟。

一、文件权限的设定

-rw-r--r--

第一个-是文件类型(-代表文件,d代表目录,|代表软链接文件)

关于后9位

rw-

r--

r--u所有者

g所属组

o其他人

r是读权限,w是写权限,x是执行权限

1、chmod

修改文件的权限

chmod [选项] 模式 文件名

选项

-R: 递归操作(赋予目录权限时,目录下所有文件都进行赋予权限)

模式

[ugoa][+-=][mode=421]

[ugo]和[+-]的方式不方便,需要知道文件的权限是什么,才能操作

a是all的意思,指所有人

文件所有者加上执行权限

chmod u+x cangls.av

文件所属组和其他人加上写权限

chmod g+w,o+w cangls.av

把上面给予的权限去掉

chmod u-x,g-w,o-w cangls.av

等于方式赋予权限

chmod u=rwx,g=rw cangls.av

以all和等于的方式赋予权限,即所有人一样的权限,不现实,不常用

chmod a=rw cangls.av

最方便的权限赋予方式

权限的数字表示

r ---- 4

w ---- 2

x ---- 1

例如:

rwx

r-x

r-x7

5

5

原因:

数字权限其实是用3位二进制表示的,其转换为十进制数对应的就是4,2,1

赋予文件最高权限

chmod 777 cangls.av

常用数字权限

777 --- 代表所有人都有最高权限

755 --- 执行文件的常用权限

644 --- 普通文件的常用权限

二、文件权限的作用

1、权限对文件的作用

r: 读取文件内容(cat more head tail)

w: 编辑、新增、修改文件内容(vi echo)

但不包括删除文件

x: 可执行

2、关于为什么有文件的写权限,却不能删除文件的问题解释

对于某个目录或文件拥有的权限,针对的是里面的内容,而不是文件本身

由此,对文件的删除是对文件所在目录的写,故必须有目录的写权限才可以

3、权限对目录的作用

r: 可以查询目录下文件名(ls)

w: 具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录,剪切(touch rm mv cp)

x: 可以进入目录(cd)

4、总结

对文件来讲: 最高权限是 x(执行)

对目录来讲: 最高权限是 w(写)

对文件要少赋执行权限,对目录要少赋写权限

对于目录的权限

对目录仅赋予读权限没有意义

对目录仅赋予执行权限没有意义

有意义的三种权限: 0(没有任何权限)、5(读和执行,基本权限)、7(读、写和执行,最高权限)

5、举个栗子哈(一步一步来看)

root下创建一个用户,并赋予密码

[root@localhost ~]# useradd user1

[root@localhost ~]# passwd user1

另外再登录一个shell,用户是user1

root下进入user1的家目录,并创建测试目录和文件

[root@localhost ~]# cd /home/user1

[root@localhost user1]# mkdir 123

[root@localhost user1]# touch 123/abc

此时目录123的权限是: drwxr-xr-x(755)

root下修改123目录的权限和abc文件的权限,使其他人的权限为0

[root@localhost user1]# chmod 750 123

[root@localhost user1]# chmod 640 123/abc

此时user1下不能进入123目录和查看123目录

root下修改123目录的权限,使其他人的权限为仅读

[root@localhost user1]# chmod 754 123

此时user1下不能进入123目录,但查看123目录乱码,不能用

root下修改123目录的权限,使其他人拥有基本权限

[root@localhost user1]# chmod 755 123

此时user1下能查能进入123目录,但是不能在里面创建、删除文件或目录,并且对abc文件没有读写执行权限

root下修改abc文件,使其他人拥有只读权限

[root@localhost user1]# chmod 644 123/abc

此时user1下可以读abc内容,但不能执行和修改

root下修改abc文件,使其他人拥有读写权限

[root@localhost user1]# chmod 646 123/abc

此时user1下可以读和修改abc内容,但不能执行,且不能删除此文件,因为123目录对于user1没开放写权限

root下修改123目录的权限,使其他人拥有最高权限

[root@localhost user1]# chmod 757 123

此时user1下可以在123目录下,创建和删除文件

6、我的总结

针对目录

755是最常用的权限设定方式,(目录所有者可以删除和创建目录下文件,其他人只能进入看看)

稍微严谨一点是750,其他人进都进不来

极端严谨一点是700,就我自己能进能看能改,其他所有拒之门外

针对普通文件

644是最常用的权限设定方式,(文件所有者能看能改,其他人只能看)

640是其他人不能看不能改

600是其他所有人不能看不能改

针对可执行文件

754是最常用的权限设定方式,(文件所有者可以看改执行,组内可以执行,其他人只能看)

750、740、700都是可以的

还有一点

文件所有者必须为7或者是6,要不就是傻逼

三、其它权限命令

1、chown

修改文件的所有者

chown 用户名 文件名

例如:

chown ds fengj.av

同时改变所属组

chown root:root fengj.av

2、chgrp

修改文件的所属组

chgrp 组名 文件名

例如:

chgrp group1 fengj.av

完全可以用chown改变所属组,因此这个命令作用就不是那么重要了

3、让用户对文件及目录拥有一定的权限

要求

拥有一个av目录

让加藤老师拥有所有的权限(7)

让本课程学员有查看的权限(5)

其他所有人不许查看这个目录(0)

4、总结

分配文件基本权限时,核心原则:

在最小权限情况下能够实现要求即可!

严谨不负责任的赋777这样的二逼权限!

四、文件默认权限

Windows在目录中创建文件是继承的目录权限,Linux则不是

1、umask

查看默认权限

umask

返回:

0022

第一位0: 文件特殊权限

022: 文件默认权限

文件默认权限

文件默认不能建立为执行文件,必须手工赋予执行权限

所以文件默认权限最大为666

默认权限需要换算成字母再相减

建立文件之后的默认权限,为666减去umask值

例如:

文件默认最大权限666,umask值022

-rw-rw-rw- 减去 -----w--w- 等于 -rw-r--r--

再例如:

文件默认最大权限666,umask值033

-rw-rw-rw- 减去 -----wx-wx 等于 -rw-r--r--

目录的默认权限

目录默认权限最大为777

默认权限需要换算成字母再相减

建立文件之后的默认权限,为777减去umask值

例如:

目录默认最大权限为777,umask值022

-rwxrwxrwx 减去 -----w--w- 等于 -rwxr-xr-x

修改默认权限

umask 0033

命令修改只是临时生效,想要永久生效需要修改/etc/profile文件

本作品采用《CC 协议》,转载必须注明作者和本文链接

我们是一群被时空压迫的孩子。 ---- 爱因斯坦

转载地址:https://blog.csdn.net/weixin_33758343/article/details/116701895 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:linux中卸载ambri-servle,Kerberos 命令使用
下一篇:linux安装时的iso文件,直接用ISO文件在linux上安装新系统

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月03日 09时03分58秒