【Linux基础知识】CentOS7文件所属信息配置

发布 : Linux培训      来源:Linux干货资料

2021-02-09 15:19:49

使用wang用户在其家目录中创建一个叫wangfile的空文件,然后使用ls -l命令查看该文件的详细信息,操作步骤如下所示:

  1. [wang@jump ~]$ id
  2. uid=1001(wang) gid=1001(wang) groups=1001(wang)
  3. [wang@jump ~]$ pwd
  4. /home/wang
  5. [wang@jump ~]$ touch wangfile
  6. [wang@jump ~]$ ls -l wangfile
  7. -rw-rw-r-- 1 wang wang 0 Jan 20 17:12 wangfile

ls -l结果中的第三项和第四项表示文件的所属者和所属组(红色文字)。在创建文件或目录后,默认当前的创建者即是文件的所属者,所属者所在的私有组即是该文件的所属组。使用chown命令可以更改文件所属者和所属组,这个命令只能由root用户来操作。命令使用方法如下。

(1)更改文件所属者和所属组

格式如下:

chown 所属者:所属组 文件名

例如,chown root:root wangfile,把文件wangfile的所属者设置成root,所属组设置成root。所属者和所属组之间的“:”也可以写成“.”,例如:chown root.root wangfile。

(2)更改文件所属者

格式如下:

chown 所属者 文件名

例如,chown zhang wangfile,把文件wangfile的所属者设置成zhang,然后使用ls -l命令查看修改后的效果,操作结果如下。

  1. [wang@jump ~]$ id zhang
  2. uid=1000(zhang) gid=1000(zhang) groups=1000(zhang)
  3. [wang@jump ~]$ whoami
  4. wang
  5. [wang@jump ~]$ chown zhang wangfile
  6. chown: changing ownership of ‘wangfile’: Operation not permitted
  7. [wang@jump ~]$ exit
  8. logout
  9. [root@jump scripts]# cd /home/wang
  10. [root@jump wang]# whoami
  11. root
  12. [root@jump wang]# chown zhang wangfile
  13. [root@jump wang]# ls -l wangfile
  14. -rw-rw-r-- 1 zhang wang 0 Jan 20 17:12 wangfile
  15. [root@jump wang]#

可见如果普通用户修改文件的所有者会报错,操作失败,除非使用root用户来操作才可以。

(3)更改文件所属组

格式如下:

chown .所属组 文件名 或 chown :所属者 文件名

例如,chown .zhang wangfile或chown :zhang wangfile,不设定“.”或“:”左边的内容,表示略过所属者,把文件wangfile的所属组设置成zhang用户。

注意,还可以使用chgrp命令更改所属组,如chgrp zhang wangfile。

如果更改的是目录所属,默认目录内的子文件和子目录并未跟着一起更改,若想实现目录内容继承更改,则需要增加递归参数-R。例如,chown -R zhang.zhang dd,表示更改目录dd及其内容的所属者和所属组。

文件复制对文件所属信息的影响以下操作所示。

  1. [root@jump ~]# cd /mnt
  2. [root@jump mnt]# mkdir dd
  3. [root@jump mnt]# touch dd/rootfile
  4. [root@jump mnt]# ls -ld dd
  5. drwxr-xr-x 2 root root 22 Jan 20 17:35 dd
  6. [root@jump mnt]# ls -l dd/rootfile
  7. -rw-r--r-- 1 root root 0 Jan 20 17:35 dd/rootfile
  8. [root@jump mnt]# chown -R zhang.zhang dd
  9. [root@jump mnt]# ls -ld dd
  10. drwxr-xr-x 2 zhang zhang 22 Jan 20 17:35 dd
  11. [root@jump mnt]# ls -l dd/rootfile
  12. -rw-r--r-- 1 zhang zhang 0 Jan 20 17:35 dd/rootfile

如果使用root用户复制dd目录及其目录下的子文件,文件的所属将会发生变化,变回root属主root属组了。参见如下操作。

  1. [root@jump mnt]# cp -r dd /tmp
  2. [root@jump mnt]# ls -ld /tmp/dd
  3. drwxr-xr-x 2 root root 22 Jan 20 17:40 /tmp/dd
  4. [root@jump mnt]# ls -ld /tmp/dd/rootfile
  5. -rw-r--r-- 1 root root 0 Jan 20 17:40 /tmp/dd/rootfile

那么如果想要复制后保持原所属信息不变,可增加-p参数,参见如下操作。

  1. [root@jump mnt]# rm -rf /tmp/dd
  2. [root@jump mnt]# cp -rp dd /tmp
  3. [root@jump mnt]# ls -ld /tmp/dd
  4. drwxr-xr-x 2 zhang zhang 22 Jan 20 17:35 /tmp/dd
  5. [root@jump mnt]# ls -l /tmp/dd/rootfile
  6. -rw-r--r-- 1 zhang zhang 0 Jan 20 17:35 /tmp/dd/rootfile

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部