python 更改文件权限_Python学习第209课——文件权限变更

上节我们学习了如何查看文件权限以及文件权限代码的含义,这节我们学习如何变更文件的权限。

我们先在桌面上创建一个secret.txt文件,使用命令:touch secret.txt,如下图:

在桌面创建secret.txt这个文件后,我们看看这个文件的权限,使用命令:

ls -l,如下图:

我们看到新创建的secret.txt这个文件,它的权限代码是-rw-rw-r--。也就是对于我这个用户xiaozhi和xiaozhi用户组,具有可读可写的权限,不具有可执行权限,对于其他用户有读的权限,没有写和执行的权限。

那么我们想一想,这个secret.txt是我们自己写的一个文件,假如这个文件里面有一些秘密的东西,但是现在你创建之后,系统默认就给其他人读的权限了,这怎么行呢?这就需要改变这个文件的权限。

怎么办呢?

第一种方式:把Desktop/这个目录下面的所有文件的其他用户的可读权限都去掉(因为我们创建的secret.txt这个文件在Desktop这个目录里面)。

●修改文件权限的命令

那么我们返回到Desktop的上一级目录,然后使用命令:

chmod -R o-r Desktop/*

说明:

chmod命令用于修改或设置文件的权限。

chmod命令修改文件权限主要有2种方式:字母法和数字法。我们这里先知道字母法就行,会用就行。

chmod命令字母法的语法:

chmod (u g o a) (+ - =) (r w x) (文件名)

这个语法,每一个括号是chmod这个命令的一个参数,前三个括号在一起表示文件权限的设置模式,即整个命令就是chmod + 设置模式 + 文件名。

chmod参数说明:

[u g o a]含义

uuser 表示该文件的所有者,即用户。

ggroup 表示与该文件的所有者属于同一组( group )者,即用户组

oother 表示其它用户和用户组

aall 表示这三者皆是

[+ - =]含义

+增加权限

-撤销权限

=设定权限

[r w x]含义

rread 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。

wwrite 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。

xexcute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。对于一个文件,意味着不能执行。

所以,chmod -R o-r Desktop/*这个命令的意思就是:

去掉Desktop目录下的所有文件的可读权限。

*表示所有的东西,

o-r是参数,o代表其他的用户或用户组,-就是撤销,r就是可读权限。整体表示去掉其他用户的可去权限。

-R是chmod的option,即recursive的首字母,表示递归的,也就是说,如果一个文件里面有子文件,子文件里面又有子文件,无论有多少子文件,都一层一层往上找。在这里,就表示把Desktop目录下的所有文件以及它们的子文件全部都撤销可读取权限。

现在我们执行一下以上的操作,如下图:

然后我们看看Desktop里面的secret.txt这个文件的权限,操作如下:

我们看到,Desktop里面,包括secret.txt在内的所有文件的其他用户的权限,都没有r了,即都没有可读权限了。

上面第一种方式的命令是去掉了secret.txt这个文件所在目录下的所有文件的可读权限,所以也去掉了secret.txt的可读权限,这是一种方式,第二种方式就是直接修改去掉secret.txt这个文件的权限,还是遵循同样的语法,命令就是这样写:

chmod o-r secret.txt

不过需要当前工作目录必须在Desktop directory里面,而上一个命令的目录是在home directory里面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值