3-2 修改Linux中的文件 拥有者和所属组
chown:修改文件的拥有者
- chown 拥有者 文件/目录
-R 递归修改
chgrp:修改文件所属组
- chgrp 所属组 文件/目录
-R 递归修改
例:chown --- 修改文件的拥有者
1、新建一个测试用户 user1
useradd user1:新建一个测试用户 user1
passwd user1:为 user1 设置密码
su user1:切换用户到 user1,如能切换证明新建用户成功。user1 是
普通用户,所以它用 $ 符号表示。
可以通过 cat /etc/passwd 查看 user1 用户,/etc/passwd 这个文件记录了所有的用户信息, 通过这个文件可以知道 Linux 有哪些用户。
[root@localhost tmp]# touch test.txt:root 用户下新建一个 test.txt,test.txt 的拥有者是 root。
chown user1 test.txt:把 tset.txt 的 拥有者权限由原来的 root 改为 user1,通过 ll 查看,拥有者权限已经改变了 user1。
例:chgrp--- 修改文件所属组
cat /etc/group 可以查看 Linux 有什么组,列表里有user1 这个组
chgrp user1 test.txt:把 tset.txt 的 所属组权限由原来的 root 改为 user1,通过 ll 查看,拥有者权限已经改变了 user1。此时,test.txt 文件的拥有者是 user1,所属组是user1。
-R 选项:chown 和 chgrp 都可以加 -R 选项 进行递归修改拥有者和所属组权限。
例:root 管理者账户进行操作。
1、mkdir test:在 tmp 目录下新建一个 test 目录
2、mkdir test1:在 test 目录下再新建一个 test1 目录
3、touch demo.txt:在 test 目录下新建一个demo.txt 文件
4、touch demo1.txt:在 test 目录下新建一个demo1.txt 文件
5、cd test1:切换到 test1 目录下
6、touch demo2.txt:在 test 目录下新建一个demo2.txt 文件
此时目录的层级关系应该是:tmp 目录下有 test 目录 ---> test 目录下有 demo1.txt、 demo.txt 文件 和 test1 目录 ---> test1 目录下有demo2.txt 文件。
结构图解:
假设只用 chown user1 test 这个命令修改拥有者权限,除了 test 这个文件夹的拥有者改为了 user1之外,test目录下层的所有文件 以及 文件夹的拥有者并没有修改为user1,拥有者仍然是 root。(黄色标注为 test 下层 目录和文件 拥有者仍然是 root)
同理 ,chgrp user1 test 修改所属组效果一样
若修改拥有者权限时,打算统一把下层所有 文件与目录 的拥有者一并修改,就需要加 -R 选 项chown -R user1 test/:递归修改 test 目录(包括下层)拥有者权限。
同理,chgrp -R user1 test 递归修改效果一样