网站建设资讯

NEWS

网站建设资讯

chown命令Linux,chown命令用于变更文件及目录

linux命令chown怎么用?

在Linux下chown用来改变文件或目录的拥有者,简单的使用方法如下:chmod -R user[:group] file1 file2 ;其中-R选项用作目录,代表递归修改目录下所有文件的所有者,实例如下:chown linuxer:linuxer 123.txt //将123.txt这个文件的所有人和所有组修改为linuxer;如果有什么不懂的话可以看看《Linux就该这么学》这本书的第二章,详细介绍了chown的用法和常用的选项。

兴县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

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操作命令

一、cd命令(切换目录 )

(1)切换到目录 /usr/local

cd /usr/local

(2)去到目前的上层目录

cd ..

(3)回到自己的主文件夹

cd ~

二、ls命令(查看文件与目录)

(4)查看目录/usr下所有的文件

cd /usr ls -al

三、mkdir命令(新建新目录 )

(5)进入/tmp目录,创建一个名为a的目录,并查看有多少目录存在

cd /tmp

mkdir a ls -al

(6)创建目录a1/a2/a3/a4

mkdir -p a1/a2/a3/a4

四、 rmdir命令(删除空的目录)

(7)将上例创建的目录a(/tmp下面)删除

rmdir a

(8)删除目录a1/a2/a3/a4,查看有多少目录存在

rmdir -p a1/a2/a3/a4

ls -al

五、cp命令(复制文件或目录 )

(9)将主文件夹下的.bashrc复制到/usr下,命名为bashrc1

sudo cp ~/.bashrc /usr/bashrc1

(10)在/tmp下新建目录test,再复制这个目录内容到/usr

cd /tmp

mkdir test

sudo cp -r /tmp/test /usr

六、mv命令(移动文件与目录,或更名)

(11)将上例文件bashrc1移动到目录/usr/test

sudo mv /usr/bashrc1 /usr/test

(12)将上例test目录重命名为test2

sudo mv /usr/test /usr/test2

七、rm命令:移除文件或目录

(13)将上例复制的bashrc1文件删除

sudo rm /usr/test2/bashrc1

(14)将上例的test2目录删除

sudo rm -r /usr/test2

八、cat命令:查看文件内容

(15)查看主文件夹下的.bashrc文件内容

cat ~/.bashrc

九、tac命令:反向列示

(16)反向查看主文件夹下.bashrc文件内容

tac ~/.bashrc

十、more命令:一页一页翻动查看

(17)翻页查看主文件夹下.bashrc文件内容

more ~/.bashrc

十一、head命令:取出前面几行

(18)查看主文件夹下.bashrc文件内容前20行

head -n 20 ~/.bashrc

(19)查看主文件夹下.bashrc文件内容,后面50行不显示,只显示前面几行

head -n -50 ~/.bashrc

十二、tail命令:取出后面几行

(20)查看主文件夹下.bashrc文件内容最后20行

tail -n 20 ~/.bashrc

(21) 查看主文件夹下.bashrc文件内容,只列出50行以后的数据

tail -n +50 ~/.bashrc

十三、touch命令:修改文件时间或创建新文件

(22)在/tmp下创建一个空文件hello并查看时间

cd /tmp

touch hello ls -l hello

(23)修改hello文件,将日期调整为5天前

touch -d “5 days ago” hello

十四、chown命令:修改文件所有者权限

(24)将hello文件所有者改为root帐号,并查看属性

sudo chown root /tmp/hello

ls -l /tmp/hello

十五、find命令:文件查找

(25)找出主文件夹下文件名为.bashrc的文件

find ~ -name .bashrc

十六、tar命令:压缩命令

(26)在/目录下新建文件夹test,然后在/目录下打包成test.tar.gz

sudo mkdir /test

sudo tar -zcv -f /test.tar.gz test

(27)解压缩到/tmp目录

sudo tar -zxv -f /test.tar.gz -C /tmp

十七、grep命令:查找字符串

(28)从~/.bashrc文件中查找字符串'examples'

grep -n 'examples' ~/.bashrc

chown在linux下是什么命令?

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。

1.命令格式:

chown [选项]... [所有者][:[组]] 文件...

2.命令功能:

通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。

3.命令参数:

必要参数:

-c 显示更改的部分的信息

-f 忽略错误信息

-h 修复符号链接

-R 处理指定目录以及其子目录下的所有文件

-v 显示详细的处理信息

-deference 作用于符号链接的指向,而不是链接文件本身

选择参数:

--reference=目录或文件 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组

--from=当前用户:当前群组 只有当前用户和群组跟指定的用户和群组相同时才进行改变

--help 显示帮助信息

--version 显示版本信息

4.示例:

chown -R www:www /home/wwwroot/*

解释:-R递归处理所有文件和文件夹,第一个www代表文件的拥有者名称,第二个www代表所属群组名称。

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

修改某个文件的拥有者,最常见的应用场景是在复制文件给其他人时 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 命令 .


当前题目:chown命令Linux,chown命令用于变更文件及目录
当前路径:http://cdweb.net/article/hshdoo.html