说说在 Linux 中如何修改某个文件拥有者

说说在 Linux 中如何修改某个文件拥有者,第1张

修改某个文件的拥有者,最常见的应用场景是在复制文件给其他人时 1 。

假设原来在 vagrant 账号下有一个 deniro.txt 文件:

这时我们使用 cp 命令( cp deniro.txt deniro_copy.txt ),把这个文件复制一份给其他人:

可以看到,这个新的 deniro_copy.txt 文件,它的拥有者以及拥有组名都为 vagrant。

如果我们把这个文件给其他账号,他们如果没有权限,根本无法使用。

解决这一问题的方法之一是使用 chgrp 命令修改这个新文件所在的组 2 。

这里我们采用另一种方法:修改这个新文件的拥有者。这会用到 chown 命令。Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令 3 。

chown 命令格式为: chown [-R] user[:group] file

比如我们想把新的 deniro_copy.txt 文件的拥有者改为 operator、组名修改为 tty,那么可以执行命令 chown operator:tty deniro_copy.txt (可能需要权限高的账号来执行该命令):

参考资料:

【1】鸟哥. 鸟哥的Linux私房菜 基础学习篇[M]. 第四版. 北京: 人民邮电出版社,2018:212-213.

【2】 说说在 Linux 中如何修改某个文件所属群组 .

【3】 Linux chown 命令 .

1、打开自己的linux系统。

2、接着打开“终端”命令窗口。

3、接着修改一个文件的所有者和组别,首先先看看这个文件的所属。

4、接着输入一下命令chown root music,先修改文件的所有者。注意修改文件的时候必须在root用户下。

5、再接着查看文件的所有者是否被修改成功。

6、然后输入chgrp root music命令,来修改文件的用户组。

7、最后再查看一下文件的用户组也被修改了。

修改一个文件的所有者以及所属的群组涉及的命令

chown (change owner)改变文件所有者属性

chgrp (change group) 改变文件所属群组

环境:Centos 5.5 Final

以/root/insatll.log为例

-rw-r--r-- 1 root root 34243 04-03 18:26 install.log

install.log所有者及所属群组均为root。

改变之前需要确保改变后的所有者在/etc/passwd中,所属群组在/etc/group。如不在这两个目录中,提示错误是不可避免的了。可以使用cat /etc/passwdcat /etc/group

在/etc/passwd , /etc/group 中,会发现很多不是自己建立的账号。但是请不要更改,虽然你是root账号。但是系统需要这些账号,这些账号是系统运行所需要的。

chown cike install.log

-rw-r--r-- 1 cike root 34243 04-03 18:26 install.log

install.log 这个文件的所有者变成cike这个账户的了。但是所属群组没有改动。

chgrpcike install.log

-rw-r--r-- 1 cike cike 34243 04-03 18:26 install.log

这样一来,连所属群组也属于 cike了:)

这是一步步的更改文件的所有者和所属群组。但肯定有性子急的人,想一下更改两个属性。

这个时候可以单独使用chown来更改。

一个比较麻烦的写法是这样的

chown cike install.log &&chgrp cike install.log //用&&连接两句话

想简单的话,可以这样写。

chown cike:cike install.log

如果想更改的账户中不含特别的东西(特别东西指“.” ),还可以这样写:

chown cike.cike install.log

使用chown还可以单纯的更改文件所属用户组

chown .cike install.log 或者 chown :cike install.log

这样就完成了使用chown 更改文件所属群组的目的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7569773.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存