导航:首页 > 程序命令 > linux命令chown

linux命令chown

发布时间:2024-03-18 04:19:35

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

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

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

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

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

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

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

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

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

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

参考资料:
【1】鸟哥. 鸟哥的Linux私房菜 基础学习篇[M]. 第四版. 北京: 人民邮电出版社,2018:212-213.
【2】 说说在 Linux 中如何修改某个文件所属群组 .
【3】 Linux chown 命令 .

㈡ chown 命令使用方法

Linux  系统上的每个文件和目录均由某个人拥有,拥有者可以完全控制更改或删除他们拥有的文件。除了有一个拥有用户外,文件还有一个拥有组。

你可以使用 ls -l  命令 查看文件的所有权:

[pablo@workstation Downloads]$ ls -l

total 2454732

-rw-r--r--. 1 pablo pablo 1934753792 Jul 25 18:49 Fedora-Workstation-Live-x86_64-30-1.2.iso

该输出的第三和第四列是拥有用户和组,它们一起称为所有权。上面的那个 ISO 文件这两者都是 pablo。

所有权设置由 chmod 命令进行设置,控制允许谁可以执行读取、写入或运行稿激的操作。你可以使用 chown 命令更改所有权(一个或两者)。

所有权经常需要更改。文件和目录一直存在在系统中,但用户不断变来变去。当文件和目录在系统中移动时,或从一个系统移动到另一个系统时,所有权也可能需要更改。

我的主目录中的文件和目录的所有权是我的用户和我的主要组,以 user:group 的形式表示。假设 Susan 正在管理 Delta 组,该组需要编辑一个名为 mynotes 的文件。你可以使用 chown 命令将该文件的用户更改为 susan,组更改为 delta:

$ chown susan:delta mynotes

ls -l

-rw-rw-r--. 1 susan delta 0 Aug  1 12:04 mynotes

当给该文件设置好了 Delta 组时,它可以分配回给我:

$ chown alan mynotes

$ ls -l mynotes

-rw-rw-r--. 1 alan delta 0 Aug  1 12:04 mynotes

给用户后添加冒号(:),可以将用户和组都分配回给我:

$ chown alan: mynotes

$ ls -l mynotes

-rw-rw-r--. 1 alan alan 0 Aug  1 12:04 mynotes

通过在组前面加一个冒号,可以只更改组。现在,gamma 组的成员可以编辑该文件:

$ chown :gamma mynotes

$ ls -l

-rw-rw-r--. 1 alan gamma 0 Aug  1 12:04 mynotes

chown 的一些附加参数都能用在命令行和 脚本 中。就像许多其他 Linux 命令一样,chown 有一个递归参数(-R),它告诉该命令进入目录以对其中的所有文件进行操作。没有 -R 标志,你就只能亩芹更改文件夹的权限,而不会更改其中的文件。在此示例中,假定目的是更改目录及其所有内容的权限。这里我添加了 -v(详细)参数,以便 chown 报告其工作情况:

$ ls -l . conf

.:

drwxrwxr-x 2 alan alan 4096 Aug  5 15:33 conf

conf:

-rw-rw-r-- 1 alan alan 0 Aug  5 15:33 conf.xml

$ chown -vR susan:delta conf

changed ownership of 'conf/conf.xml' from alan:alan to  susan:delta

changed ownership of 'conf' from alan:alan to  susan:delta

根据你的角色,你可能需要使用 sudo 来更改文件的所有权。

在更改文件的所有权以匹配键耐袜特定配置时,或者在你不知道所有权时(例如运行 脚本 时),可以使用参考文件(--reference=RFILE)。例如,你可以复制另一个文件(RFILE,称为参考文件)的用户和组,以撤消上面所做的更改。回想一下,点(.)表示当前的工作目录。

$ chown -vR --reference=. conf

报告更改

大多数命令都有用于控制其输出的参数。最常见的是 -v(--verbose)以启用详细信息,但是 chown 还具有 -c(--changes)参数来指示 chown 仅在进行更改时报告。chown 还会报告其他情况,例如不允许进行的操作。

参数 -f(--silent、--quiet)用于禁止显示大多数错误消息。在下一节中,我将使用 -f 和 -c,以便仅显示实际更改。

保持根目录

Linux 文件系统的根目录(/)应该受到高度重视。如果命令在此层级上犯了一个错误,则后果可能会使系统完全无用。尤其是在运行一个会递归修改甚至删除的命令时。chown 命令具有一个可用于保护和保持根目录的参数,它是 --preserve-root。如果在根目录中将此参数和递归一起使用,那么什么也不会发生,而是会出现一条消息:

$ chown -cfR --preserve-root alan /

chown: it is dangerous to operate recursively on '/'

chown: use --no-preserve-root to override this failsafe

如果不与 --recursive 结合使用,则该选项无效。但是,如果该命令由 root 用户运行,则 / 本身的权限将被更改,但其下的其他文件或目录的权限则不会更改:

$ chown -c --preserve-root alan /

chown: changing ownership of '/': Operation not permitted

[root@localhost /]# chown -c --preserve-root alan /

changed ownership of '/' from root to alan

所有权即安全

文件和目录所有权是良好的信息安全性的一部分,因此,偶尔检查和维护文件所有权以防止不必要的访问非常重要。chown 命令是 Linux 安全命令集中最常见和最重要的命令之一。

㈢ linux系统下怎么修改文件所属用户和组

linux怎么修改文件所属用户和组

在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者及用户组别;或者在root用户下,这样可以修改任何文件的拥有者及用户组。

而修改文件所属用户和组,需要用到chown命令。

chown 命令,可以认为是 "change owner" 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。

当只需要修改所有者时,可使用如下 chown 命令的基本格式:

-R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。

当只需要修改所属组时,可使用如下 chown 命令的基本格式:

如果需要同时更改所有者和所属组,chown 命令的基本格式为:

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

当然,chown 命令也支持单纯的修改文件或目录的所属组,例如 chown :group install.log 就表示修改 install.log 文件的所属组,但修改所属组通常使用 chgrp 命令,因此并不推荐大家使用 chown 命令。

另外需要注意的一点是,使用 chown 命令修改文件或目录的所有者(或所属者)时,要保证使用者用户(或用户组)存在,否则该命令无法正确执行,会提示 "invalid user" 或者 "invaild group"。

chown命令的使用示例

1、更改文件的所属者

首先我们使用ls -l命令来查看一下文件的所属,例:

下面我们使用chown命令来更改该tmpfile文件的所属者

然后再使用ls -l命令来查看一下该tmpfile文件的所属

可以看出:该tmpfile文件的所属者从“himanshu”变为了“root”

2、更改文件组

通过chown命令,也可以更改组(文件所属的组别)。

使用以下命令来更改文件所属的组别:

然后使用ls -l命令来查看一下该tmpfile文件的所属

也可以直接一次性更改文件的所属者和组别为root,需要使用以下命令:

阅读全文

与linux命令chown相关的资料

热点内容
pdf转换成word免费版在线转换 浏览:460
荒废了三年还能做程序员吗 浏览:654
阿里云内网vpn服务器 浏览:101
l命令第一个点对第二个点对不上 浏览:827
oracle导出表命令 浏览:909
怎么写域名加密 浏览:1003
手机文件压缩出错 浏览:522
如何登录毒app 浏览:836
汽车中控台加密 浏览:862
海南农村信用社app如何开通短信 浏览:809
phpdns缓存 浏览:415
ipad腾讯视频app如何播放本地视频 浏览:990
虾米服务器关闭如何找到以前的歌 浏览:18
php自动建站 浏览:475
命令与征服3游侠网 浏览:970
腾讯云买哪个地区服务器 浏览:249
香港哪里有app卖内地零食 浏览:683
编译内核找不到工具链 浏览:453
java常见模式 浏览:504
典欣空调压缩机 浏览:425