Linux:修改文件权限及所有者
1、导入
相关的东西:(文件的操作常用命令:列出目录ls
)
ls命令参数 | 说明 |
---|---|
-a | 列出所有文件及目录(包括以. 开头的隐藏文件) |
-d | 列出目录名 |
-l | 长格式列表 |
-S (此处是大写) | 按文件大小排序 ,小写的s是显示文件大小 |
文件的三种权限和三类人
Linux中的文件的普通权限分三种:r(只读权限read)、w(只写权限write)、x(执行权限)
分别作用于三类人:u(用户主user)、g(同组人group)、o(其他人other)
2、chown(改变文件所有者)
ps:只有超级用户有权使用这个命令,可用sudo使用
用法:chown [owner] [file]
$ sudo chown [csdn] [myfile]
#将myfile文件的所有者改为csdn
3、chmod (改变文件或目录的访问权限)
ps:同样只有超级用户有权使用这个命令,可用sudo使用
用法:chmod [augo] [+ - =] [rwx] file
a表示所有人,u是用户主,g和o表示同组人和其他人,+ - =分别表示增添加,去掉和设置权限,rwx表示上面已经说过,不在赘述。
$ sudo chmod a+rwx myfile
#将myfile我文件的权限变为所有人可读可写可执行
权限的另一种表示方法:数字表示法,采用二进制表示rwx
分别对应ugo
例如777表示对ugo
都有rwx
权限,666表示对ugo
都有rw
权限,这样写更加简洁。
ps:这两个命令很容易混淆,长得太像了,所以可以简单用一下联想记忆法,chown
-change owner(更改所有者)chmod
-change mode(改变模式)
4、应用
task:有一个非常重要的文件(sources.list)但是你忘了它在哪了,你依稀记得它在 /etc/ 目录下,现在要你把这个文件找出来,然后设置成自己(csdn 用户)可以访问,但是其他用户并不能访问。
分析:这里采用find
命令,查找sources.list文件,同样find
命令只能超级用户用,然后使用chown
更改文件所属者,chmod
更改文件权限。
$ sudo find /etc/ -name sources.list
# find [path] [option] [action]
#这里如果找到目录,假设为/etc/apt/sources.list 。
$ sudo chown csdn /etc/apt/sources.list
#也可以去apt的目录下修改,就可以不用写绝对路径。
$ sudo chmod 600 /etc/apt/sources.list
#表用户自己对sources.list有rwx权限,00代表同组人和其他人都没有任何权限。