linux chown命令_Linux chown命令简介

linux 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

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


   
     
     
     
     
$ 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命令一起使用,则不执行任何操作,而是出现一条消息。


   
     
     
     
     
$ 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安全命令集中最常见和最重要的命令之一。

翻译自: https://opensource.com/article/19/8/linux-chown-command

linux chown命令

你可能感兴趣的:(linux,java,python,ubuntu,数据库)