改变文件所有权chown
例如
sudo chown username myfile
- 1
myfile
文件的所有权变为username
。
chown -R username /files/work
- 1
加入参数-R
,work
文件夹以及文件夹里的所有文件和子目录所有权都变为username
。
改变文件权限chmod
chmod 修改文件或者目录的权限码
语法:
chmod [ 选项 ] [ 数字或者字符权限表示 ] filename
选项:
-c:类似于-v,仅显示更改部分
-f:不显示错误信息
-R:递归处理
-v:显示指令执行过程
--reference=参考文件或目录
权限码表示:
权限分为拥有者u,群组g,其他o,权限码读权限r值为4,写权限w值为2,执行权限x值为1
例如: 777代表ugo三个权限的rwx权限都具有。
754代表u是rwx都有,g是rx,o是r。
也可以用符号给权限赋值:
u=rwx,g=rx,o=r
u=rwx,go=rx
增加或者删除某权限:
g-w,o-x
go-w
对ugo全部操作用a来代表:
a=rwx
a-w
注:chmod在修改链接文件的权限后,链接文件的权限不会被改变,链接指向的文件会被改成修改的权限。
rwx权限对文件和目录的意义:
对于文件来说:r:可读取文件的内容
w:可编辑或修改该文件的内容,不包括删除文件
x:该档案具有可以被系统执行的权限,与文件后缀无关,能不能执行看x。能不能执行成功看档案本身。
对于目录来说:r:可读取该目录下的文件名,ls。
w:在该目录下新建文件或目录,删除文件或目录,修改文件或目录名,搬移文件或目录位置(cp和mv都不允许)。路径w的权限是关于该目录下的文件信息 表。比如在一个你有rwx的目录下有一个你完全没有权限的一个文件或者目录,那么你既不能读,也不能执行,但是你在该目录下有w权限,所以你可以删除这个你完全没有权限的文件或者目录。
x:进入该目录的权限。如果该目录没有x权限,但是有r权限,cd 该目录会提示权限不允许。但是可以用ls 该目录来查看里面的文件。
Linux系统中,每个用户的角色和权限划分的很细致也很严格,每个文件(目录)都设有访问许可权限,利用这种机制来决定某个用户通过某种方式对文件(目录)进行读、写、执行等操作。
操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值,所以,chmod 777中,三个数字7分别对应上面三种用户,权限值都为7。
文件或目录的权限又分为3种:只读、只写、可执行。
权限 | 权限数值 | 二进制 | 具体作用 |
---|---|---|---|
r | 4 | 00000100 | read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。 |
w | 2 | 00000010 | write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。 |
x | 1 | 00000001 | execute,执行。当前用户可以执行文件,当前用户可以进入目录。 |
依照上面的表格,权限组合就是对应权限值求和,如下:
7 = 4 + 2 + 1 读写运行权限
5 = 4 + 1 读和运行权限
4 = 4 只读权限
因此,大家也就明白了 chmod 754 filename 命令的含义了。
这句命令的意思是将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户。
来源:https://www.cnblogs.com/klb561/p/9080122.html