权限介绍
Linux权限分为三大类,读取、写入、执行,分别用r、w、x代表,可以通过ls -l 查看文件的所有权限信息
文件的权限信息有10段,分别有不同的含义
-rw-r--r-- 共10段
1代表文件类型,-表示是文件,d表示是目录,l代表链接,s代表进程sock文件,b代表快设备
2,3,4代表文件所有者的权限
5,6,7代表文件所属用户组的权限
8,9,10代表其他用户的权限
文件权限通常也会用数字表示,读取权限r为4,写入权限w为2,执行权限x为1;然后我们可以根据数值相加得出文件权限值,例如文件最大权限777,即代表文件属主、文件属组、其他用户均可读、可写、可执行,当然了,一般不会配置这种权限,不安全。
在系统中创建的文件、文件夹都有默认的权限,文件默认权限为644,即 -rw-r--r--;而目录的默认权限为755,即 drwxr-xr-x,因为访问目录是需要有对其的执行权限的。
权限修改
修改文件权限的命令是 chmod
chmod +x 22.sh 给所有人添加对文件的执行权限,+号代表添加权限
chmod -x 22.sh 删除所有人对文件的执行权限,-号代表删除权限
chmod u=rwx 22.sh 将文件所有者的权限更改为可读、可写、可执行,u代表文件的所有者
chmod g=rw 22.sh 将文件属组的权限更改为可读、可写,g代表文件属组
chmod o=r 22.sh 将文件其他人的权限更改为只读,o代表其他人
chmod ug+x,o-x 22.sh 将文件属主和属组加上执行的权限,其他人删除执行的权限
chmod ug=rwx,o=r 22.sh 将文件属主和属组的权限更改为可读、可写、可执行,其他人的权限改为只读
chmod 777 22.sh 将文件设置为777的权限,即属主、属组、其他人均可读、可写、可执行,-rwxrwxrwx,r+w+x=7,三个权限分段均是7,所以文件权限也可以用777表示
chmod 644 22.sh 将文件权限设置为-rw-r--r--,属主可读、可写,属组以及其他人可读
属主、属组管理
chown tom 123 将123的属主更改为tom,但是要确保tom用户是已经存在的
chown -R tom 123 将123以及其所有的子目录、子文件的属主更改为tom, -R 表示递归更改
chgrp tom 123 将123属组更改为tom
chgrp -R tom 123 将123以及其所有的子目录、子文件的属组更改为tom
chown -R root:root 123 将123以及其所有的子目录、子文件的属主、属组都更改为root