千锋扣丁学堂Linux培训之文件权限与群组修改命令详解
今天千锋扣丁学堂Linux培训老师给大家分享一篇关于Linux文件权限与群组修改命令的详细介绍,在Linux中,一切皆为文件(目录也是文件),每个文件对用户具有可读(read)、可写(write)、可执行(execute)权限。目录的执行操作表示是否有权限进入该目录,文件的可执行表示是否可以运行该文件。文件都会从属于一个用户和一个用户组,每个文件针对文件的拥有者、所属组以及其他用户组具有特定的权限。
如上图,除去第一个表示文件类型的字符外,后面的字符均以三个为一组,是『rwx』的三个参数的组合。[r]代表可读(read)、[w]代表可写(write)、[x]代表可执行(execute)。同时他们也会分别对应到一个数字,[r]对应4,[w]对应2,[x]对应1,这些数字在修改文件权限的时候可以用到,如果没有[rwx]中的某个权限,就会用减号[-]替代。
第一组是文件拥有者对该文件的操作权限,第二组是文件所属组对该文件的操作权限,第三组是其他组的用户对该文件的操作权限。举例说明:有一个文件的权限数据为『rwxr-xr--』,那么前3个字符表示文件的拥有者可以对文件进行读、写、执行三个操作,中间3个字符表示该文件的所属组可以对文件进行读和执行操作,最后3个字符表示其他群组的用户只能对该文件进行读操作。
更改文件权限:chmod
更改文件权限使用命令chmod,一个文件的权限对应3种用户(自己、组、其他人)的读写执行共有9个,三个为一组,把每组的权限相加得到一个数字,例如[rwxrwx---]对应的数字是:
owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others= --- = 0+0+0 = 0
只要用户对文件有写权限,那么该用户就可以更新其他用户对该文件的操作权限,命令:
chmod [-R] xyz 文件或目录
xyz:分别对应三类用户权限值相加的和。
-R:进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
例如:
[root@www ~]# ls -al .bashrc -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc [root@www ~]# chmod 777 .bashrc # 更改为所有用户都可以读写执行 [root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
chmod除了可以使用数字的方式变更文件的权限之外,还可以使用符号来改变文件权限,u、g、o、a分别是user、group、others、all(所有用户)的简写,r、w、x分别是read、write、execute的简写,那么chmod可以接收这些简写字符来变更文件权限。
u g +(增加) r chmod o -(除去) w 文件或目录 a =(赋值) x
例如:
# 给自己读写执行权限,给用户组和其他人读和执行操作 chmod u=rwx,go=rx .bashrc # 给所有用户追加写权限 chmod a+w .bashrc # 给所有用户除去写权限 chmod a-w .bashrc
改变所属群组chgrp
改变文件的群组使用chgrp命令,他是changegroup的缩写,命令格式:
chgrp [-R] groupname dirname/filename
-R递归改变目录及子目录文件,groupname必须是存在于系统中的/etc/group文件里面的组。
# 把当前目录以及子目录下所有文件的所属组更新为mysql组 chgrp -R mysql .
改变文件拥有者chown
改变文件的所属者使用chown命令,他是changeowner的缩写,命令格式:
chown [-R] owner dirname/filename
或者
chown [-R] owner:group dirname/filename
chown命令不仅可以改变文件的拥有者,同时还可以改变文件的群组,只需在owner后面加上group的名称即可
# 把install.log改成mysql用户 chown mysql install.log # 把 install.log 改成root用户和root组 chown root:root install.log
以上就是关于千锋扣丁学堂Linux培训之文件权限与群组修改命令详解的全部内容,希望对大家的学习有所帮助,想要学好Linux开发小编给大家推荐口碑良好的扣丁学堂,扣丁学堂有专业老师制定的Linux学习路线图辅助学员学习,此外还有与时俱进的Linux课程体系和Linux视频教程供大家学习,想要学好Linux开发技术的小伙伴快快行动吧。扣丁学堂Linux技术交流群:422345477。