Python学习第209课文件权限变

治疗白癜风医院哪家好 http://pf.39.net/bdfyy/zjft/170416/5291113.html

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

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

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

ls-l,如下图:

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

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

怎么办呢?

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

●修改文件权限的命令

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

chmod-Ro-rDesktop/*

说明:

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

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

chmod命令字母法的语法:

chmod(ugoa)(+-=)(rwx)(文件名)

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

chmod参数说明:

[ugoa]含义

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

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

oother表示其它用户和用户组

aall表示这三者皆是

[+-=]含义

+增加权限

-撤销权限

=设定权限

[rwx]含义

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

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

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

所以,chmod-Ro-rDesktop/*这个命令的意思就是:

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

*表示所有的东西,

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

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

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

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

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

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

chmodo-rsecret.txt

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




转载请注明:http://www.aierlanlan.com/cyrz/2730.html

  • 上一篇文章:
  •   
  • 下一篇文章: