[802]linux修改文件或目录的所有者(chown)和用户组(chgrp)

文件或目录的用户组更改,注意:要更改的用户组,必须存在于“/etc/group”下

chgrp -R 用户名 文件名

chown更改文件或目录的所有者,注意:所有者,必须存在于(/etc/passwd)下。

chown -R 用户名 文件名

-R表示递归目录下所有文件

同时更改文件或目录的所有者和用户组

chown -R 所有者名:用户组名 文件名

注意,在 chown 命令中,所有者和所属组中间也可以使用点(.),但会产生一个问题,如果用户在设定账号时加入了小数点(例如 zhangsan.temp),就会造成系统误判。因此,建议大家使用冒号连接所有者和所属组。

修改文件所属组群——chgrp

修改文件所属组群很简单chgrp命令,就是change group的缩写

语法:chgrp 组群 文件名/目录

修改文件拥有者——chown

修改组群的命令使chgrp,即change group,那么修改文件拥有者的命令自然就是chown,即change owner。chown功能很多,不仅仅能更改文件拥有者,还可以修改文件所属组群。如果需要将某一目录下的所有文件都改变其拥有者,可以使用-R参数。

语法如下:

chown -R 账号名称 文件/目录
chown -R 账号名称:组群 文件/目录

改变文件权限——chmod

文件权限

ls -l中显示的内容如下:

-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
  • 第一个字符代表文件(-)、目录(d),链接(l)
  • 10个字符确定不同用户能对文件干什么
  • 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
  • 第一组rwx:文件所有者的权限是读、写和执行
  • 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
  • 第三组r–:不与文件所有者同组的其他用户的权限是读不能写和执行

也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7

  • 1 表示连接的文件数
  • root 表示用户
  • root表示用户所在的组
  • 1213 表示文件大小(字节)
  • Feb 2 09:39 表示最后修改日期
  • abc 表示文件名
用数字来改变文件权限

我们已经了解了-rw-r--r--所表示含义,linux为每一个权限分配一个固定的数字:

r: 4(读权限)
w: 2(写权限)
x: 1(执行权限)

我们再将这些数字相加,就得到每一组的权限值,例如

-rw-r--r--  1 myy groupa 0 Sep 26 06:07 filed

第一组(user):rw- = 4+2+0 = 6
第二组(group):r-- = 4+0+0 = 4
第三组(others):r-- = 4+0+0 = 4
那么644就是fileb权限的数字表示值。

如果我们想改变某一个文件的权限,首先需要将权限转化为数字组合,例如我们想得到-rwxrw-r--,那么就应该得到数字组合:[4+2+1][4+2+0][4+0+0]=764,然后再用chmod命令去修改

chmod语法:

chmod xyz 文件/目录

例子:chmod 777 文件/目录

用字符来改变文件权限

还有一种改变权限的方法,我们已经了解到,文件权限分为三组,分别是user,group,others,那么我们可以用u,g,o分别代表三组,另外,a(all)代表全部,而权限属性即可用r,w,x三个字符来表示,那么请看下面的语法:

chmod u/g/o/a +(加入)/-(除去)/=(设定) r/w/x 文件或者目录

chmod u=rwx 文件或者目录
chmod u+rwx 文件或者目录
chmod u-rwx 文件或者目录
chmod u=rwx,go=rx 文件或者目录
chmod u=rwx,g=rx,o=rx 文件或者目录

例:
我们想使filed文件得到:
u:可读,可写,可执行
g,o:可读,可执行

[root@redhat zgzdir]# ls -l
total 8
-rwxrwxrwx  1 myy groupa 0 Sep 26 06:07 filec
-rwxr-x---  1 myy groupa 0 Sep 26 06:07 filed

#--修改filed的文件属性
[root@redhat zgzdir]# chmod u=rwx,go=rx filed
[root@redhat zgzdir]# ls -l
total 8
-rwxrwxrwx  1 myy groupa 0 Sep 26 06:07 filec
-rwxr-xr-x  1 myy groupa 0 Sep 26 06:07 filed

其中g和o也可以用“,”分开来分别设定。

假设目前我不知道各组权限如何,只是想让所有组都增加“x”权限,那么我们可以用chmod a+x filename来实现,

例:

[root@redhat zgz]# ls -l
total 24
-rw-r--r--  1 myy groupa    0 Sep 26 05:48 filea
drwxr-xr-x  2 myy groupa 4096 Sep 26 06:07 zgzdir
# --修改filea的文件属性,所有组都增加“x”权限
[root@redhat zgz]# chmod a+x filea
[root@redhat zgz]# ls -l
total 24
-rwxr-xr-x  1 myy groupa    0 Sep 26 05:48 filea
drwxr-xr-x  2 myy groupa 4096 Sep 26 06:07 zgzdir

如果想除去某一权限,可以用“-”来操作,
例:

[root@redhat zgz]# ls -l
total 24
-rwxr-xr-x  1 myy groupa    0 Sep 26 05:48 filea
drwxr-xr-x  2 myy groupa 4096 Sep 26 06:07 zgzdir
# 修改filea文件属性所有组都除去“x”权限
[root@redhat zgz]# chmod a-x filea
[root@redhat zgz]# ls -l
total 24
-rw-r--r--  1 myy groupa    0 Sep 26 05:48 filea
drwxr-xr-x  2 myy groupa 4096 Sep 26 06:07 zgzdir
[root@redhat zgz]#

注意
chgrp,chown,chmod这些命令默认的情况下只有root有权限执行,大家有时可能会用普通账户去修改文件权限,linux会提示你没有这个权限。因此大家一定要注意当前用户,例如:

[zgz@redhat ~]$ chgrp group filea
chgrp: changing group of `filea': Operation not permitted

zgz没有权限来改变‘filea’的组群

参考:https://www.cnblogs.com/DawaTech/p/7249734.html
https://jingyan.baidu.com/article/b87fe19e9ae09b5219356848.html
https://www.cnblogs.com/herocan/p/11247957.html
http://c.biancheng.net/view/761.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周小董

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值