chown?Chown是什么意思
在这个信息爆炸的时代,了解chown和Chown是什么意思的重要性不言而喻。本文将为您带来全面的解读,助您在这个领域中游刃有余。
linux命令chown怎么用
chown [-cfhvR] [--help] [--version] user[:group] file...
user:新的档案拥有者的使用者 ID group:新的档案拥有者的使用者群体(group)-c:若该档案拥有者确实已经更改,才显示其更改动作-f:若该档案拥有者无法被更改也不要显示错误讯息-h:只对于连结(link)进行变更,而非该 link真正指向的档案-v:显示拥有者变更的详细资料-R:对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help:显示辅助说明--version:显示版本
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安全命令集中最常见和最重要的命令之一。
chmod 和 chown的作用与区别
[-cfvR]的解释:
-c:若该档案权限确实已经更改,才显示其更改动作
-f:若该档案权限无法被更改也不要显示错误讯息
-v:显示权限变更的详细资料
-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help:显示辅助说明
--version:显示版本
命令的用法:
语法格式:chmod [who] [opt] [mode]文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其他用户
a:表示所有用户
opt则代表操作,可以为:+:添加某个权限-:取消某个权限=:赋予给定的权限,并取消原有的权限
mode则代表权限: r:可读 w:可写 x:可执行
例如:为同组用户增加对文件a.txt的读写权限:chmod g+rw a.txt
语法格式:chmod [mode]文件名 或者 chmod UPO file 分别表示User、Group、other的权限
-rw-------(600)--只有属主有读写权限
-rw-r--r--(644)--只有属主有读写权限;而属组用户和其他用户只有读权限
-rwx------(700)--只有属主有读写执行权限
-rwxrwxrwx(777)--所有用户都有读、写、执行权限
-rwxrwx---(770)--只有属主和属组用户有读、写、执行权限
例如:1.把hh.c文件修改为可写可读可执行
chmod 777 hh.c
2.要修改某目录下所有的文件属性为可写可读可执行, 把文件夹名称与后缀名用*来代替就可以
chmod 777*.*
3.同理若是要修改所有htm文件的属性
chmod 777*.htm
4.把目录/tmp/sco修改为可写可读可执行
chmod 777/tmp/sco
5.要修改某目录下所有的文件夹属性为可写可读可执行, 把文件夹名称用*来代替就可以了
chmod 777*
6.要修改/tmp/sco下所有的文件和文件夹及其子文件夹属性为可写可读可执行
chmod-R 777/tmp/sco
根据需要可以自由组合用户和组的权限
使用方式: chown [-cfhvR] [--help] [--version] user[:group] file...
chown修改文件的用户权限修改文件和文件夹的用户和用户组属性
[-cfvR]诠释:----
-c:若该档案权限确实已经更改,才显示其更改动作
-f:若该档案权限无法被更改也不要显示错误讯息
-v:显示权限变更的详细资料
-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help:显示辅助说明
--version:显示版本
user:新的档案拥有者的使用者的 ID
group:新的档案拥有者的使用者群体(group)
例1:chown root:root/tmp/tmp1
就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组)。
例2:chown-R root:root/tmp/tmp1
就是把tmp下的tmp1下的所有文件的属组都改成root和root
Chown是什么意思
chown [-cfhvR] [--help] [--version] user[:group] file...
user:新的档案拥有者的使用者 ID group:新的档案拥有者的使用者群体(group)-c:若该档案拥有者确实已经更改,才显示其更改动作-f:若该档案拥有者无法被更改也不要显示错误讯息-h:只对于连结(link)进行变更,而非该 link真正指向的档案-v:显示拥有者变更的详细资料-R:对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help:显示辅助说明--version:显示版本
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!