• 售前

  • 售后

热门帖子
入门百科

Linux文件权限与群组修改命令详解

[复制链接]
八神霜烈 显示全部楼层 发表于 2021-10-26 14:28:39 |阅读模式 打印 上一主题 下一主题
在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---]对应的数字是:
  1. owner = rwx = 4+2+1 = 7
  2. group = rwx = 4+2+1 = 7
  3. others= --- = 0+0+0 = 0
复制代码
只要用户对文件有写权限,那么该用户就可以更新其他用户对该文件的操纵权限,命令:
  1. chmod [-R] xyz 文件或目录
复制代码
      
  • xyz:分别对应三类用户权限值相加的和。  
  • -R : 进行递归(recursive)的连续变动,亦即连同次目次下的全部文件都会变动
比方:
  1. [root@www ~]# ls -al .bashrc
  2. -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
  3. [root@www ~]# chmod 777 .bashrc # 更改为所有用户都可以读写执行
  4. [root@www ~]# ls -al .bashrc
  5. -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可以接收这些简写字符来变动文件权限。
  1. u
  2. g +(增加) r
  3. chmod o -(除去) w 文件或目录
  4. a =(赋值) x
复制代码
比方:
  1. # 给自己读写执行权限,给用户组和其他人读和执行操作
  2. chmod u=rwx,go=rx .bashrc
  3. # 给所有用户追加写权限
  4. chmod a+w .bashrc
  5. # 给所有用户除去写权限
  6. chmod a-w .bashrc
复制代码
改变所属群组 chgrp
改变文件的群组使用chgrp命令,他是change group 的缩写,命令格式:
  1. chgrp [-R] groupname dirname/filename
复制代码
-R 递归改变目次及子目次文件,groupname 必须是存在于系统中的/etc/group文件里面的组。
  1. # 把当前目录以及子目录下所有文件的所属组更新为mysql组
  2. chgrp -R mysql .
复制代码
改变文件拥有者 chown

改变文件的所属者使用 chown 命令,他是change owner 的缩写,命令格式:
  1. chown [-R] owner dirname/filename
复制代码
大概
  1. chown [-R] owner:group dirname/filename
复制代码
chown 命令不但可以改变文件的拥有者,同时还可以改变文件的群组,只需在 owner 后面 加上 group 的名称即可
  1. # 把install.log改成mysql用户
  2. chown mysql install.log
  3. # 把 install.log 改成root用户和root组
  4. chown root:root install.log
复制代码
以上就是本文的全部内容,渴望对大家的学习有所帮助,也渴望大家多多支持草根技术分享。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作