Linux系统chmod,chown和chgrp的区别


chmod修改第1列内容, chown修改第3、4列内容, chgrp修改第4列内容:
chown

1. 文件属性

权限的计算是除去第一位字母开始,权限都是三个符号为一组,其中-表示没有这个权限。

ls -al
得到如下列表:
drwxr-xr-x   4 oracle dba       4096 May 20 11:47 oralog1
drwxr-x---  18 root   root      4096 May 20 13:51 root
 
解释:
d :第一位表示文件类型,d是目录文件,l是链接文件,-是普通文件,p是管道
 
rwx :第2-4位表示这个文件的属主拥有的权限。r是读、w是写、x是执行
 
r-x :第5-7位表示和这个文件属主所在同一个组的用户所具有的权限
 
r-x :第8-10位表示其他用户所具有的权限

比如:
drwxr-xr-x 4 oracle dba 4096 May 20 11:47 oralog1
d表示oralog1是个目录
oracle是这个目录的所有者,oracle拥有读、写、执行的权限;
dba是所属用户组,和oracle所在同一个dba组里的用户拥有只读和执行权限;
剩下其他用户拥有只读和执行权限。

2. chown

用来更改某个目录或文件的用户名和所属用户组。
chown 用户名:组名 文件路径(可以是绝对路径也可以是相对路径)
例1:chown root:root /tmp/tmp1
就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组)。
例2:chown -R root:root /tmp/tmp1
就是把tmp下的tmp1下的所有文件的属组都改成root和root。

3. chmod

用于修改某个目录或文件的访问权限。
语法:

chmod [-cfvR] [–help] [–version] [who] [+ | - | =] [mode] 文件名

例1:chmod -R 777 /home/wl
表示给/home/wl目录赋予满权限,-R即递归(作用到该目录下的所有文件)
例2:chmod -x aaa/
表示取消目录aaa的可执行权限:
chmod例3:给文件a.txt设置写权限(w),设置对象是所有人(a):

chmod a+w a.txt

例4:给文件b.txt设置可执行权限(x),设置对象是文件拥有者(u):

chmod u+x b.txt

例5:给文件b.txt设置写权限(w),设置对象是和文件拥有者同组的所有用户(g):

chmod g+w b.txt

4. chgrp

改变文件所属用户组。
命令格式为:chgrp 用户名 文件或目录。

如:
chgrp wl test 表示将test文件的所属用户组改为wl
chgrp -R zhangsan testDir 表示将testDir目录的所属用户组改为zhangsan

其他参数有:

-c或--changes 效果类似"-v"参数,但仅回报更改的部分。
 
-f或--quiet或--silent  不显示错误信息。
 
-h或--no-dereference  只对符号连接的文件作修改,而不更动其他任何相关文件。
 
-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
 
-v或--verbose  显示指令执行过程。
 
--help  在线帮助。
 
--reference=<参考文件或目录>  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
 
--version  显示版本信息。

5. chmod|chown|chgrp和用法和区别

  1. chgrp(改变文件所属用户组)

    chgrp 用户组    文件名    ###就是这个格了。如果整个目录下的都改,则加-R参数用于递归。
    

    如:chgrp -R user smb.conf

  2. chown(改变文件拥有者)

    格式:

     A:chown 用户名  文件/目录
     B:chown 用户名:用户组:文件/目录
    

    如果整个目录下的都改,则加-R参数用于递归。
    例:

       chown -R  root /etc/config.cfg
       chown -R root:root /home
    
  3. chmod(更改文件属性)

    文件属性的设置方法有两种,分别是数字和符号。
    

    mode : 权限设定字串,格式如下 : [ugoa…][[±=][rwxX]…][,…],其中u 表示该档案的拥有者,g
    表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

    + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

    -s :在文件执行时把进程的属主或组ID置为该文件的文件属主。

    -c : 若该档案权限确实已经更改,才显示其更改动作

    -f : 若该档案权限无法被更改也不要显示错误讯息

    -v : 显示权限变更的详细资料

    -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

    –help : 显示辅助说明

    –version : 显示版本

例 :
  
将档案 file1.txt 设为所有人皆可读取 :chmod ugo+r file1.txt

将档案 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt

将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 : chmod ug+w,o-w file1.txt file2.txt

将 ex1.py 设定为只有该档案拥有者可以执行 : chmod u+x ex1.py

将目前目录下的所有档案与子目录皆设为任何人可读取 : chmod -R a+r *

当其他用户执行oracle的sqlplus这个程序时,他的身份因这个程序暂时变成oracle: chmod u+s sqlplus

此外,chmod也可以用数字来表示权限如: chmod 777 file

语法为:chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1

若要rwx属性则4+2+1=7;

若要rw-属性则4+2=6;

若要r-x属性则4+1=5。

例:

chmod a=rwx filechmod 777 file 效果相同

chmod ug=rwx,o=x filechmod 771 file 效果相同

若用chmod 4755 filename可使此程式具有root的权限

如果是管理员也就是常说的ROOT用户的话,基本上有可以查看所有文件的权力.
  


加星


点关注


谢谢

参考文献:
https://www.cnblogs.com/huxinping8800/p/7205937.html
https://blog.csdn.net/HYZX_9987/article/details/105216631

  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值