Linux命令(19)用户权限管理:chown

时间:2022-03-19 16:42:49

linux用户权限:

Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。

一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。

只有系统管理者(root)才有这样的权限。

查看文件夹的归属:ls -l

Linux命令(19)用户权限管理:chown

 

 Linux命令(19)用户权限管理:chown

注:档案类型‘d’:表示文件夹,‘-’:表示文件

chown命令:

语法:chown [选项] [所有者][:用户组] 文件

选项:

短选项 长选项 含义
-c --changes 当发生改变时输出调试信息。仅显示更改的信息。
-f --quite或--silen 不显示错误信息
-R --recursive 递归处理,将指定目录下的所有文件及子目录一并处理
-v --verbose 显示指令执行过程
-h --no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件
  --dereference 指明对符号链接所指的文件进行操作,而不是符号链接本身
  --reference=<文件或者目录> 参考文件或目录。
把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
  --from=<当前用户:当前群组> 有当前用户和群组跟指定的用户和群组相同时才进行改变

 

 
 
 
 
 
 
 
 
 
 
 
 
改变拥有者和群组:
[root@localhost test6]# ll 
总计 604 
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log 
---xr--r-- 1 mail mail  302108 11-30 08:39 log2012.log 
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log  
[root@localhost test6]# chown root: log2012.log 
[root@localhost test6]# ll 
总计 604 
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log 
---xr--r-- 1 root root  302108 11-30 08:39 log2012.log 
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log 
[root@localhost test6]# 

改变文件群组:

[root@localhost test6]# ll 
总计 604 
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log 
---xr--r-- 1 root root  302108 11-30 08:39 log2012.log 
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log 
[root@localhost test6]# chown :mail log2012.log 
[root@localhost test6]# ll 
总计 604 
---xr--r-- 1 root users 302108 11-30 08:39 linklog.log 
---xr--r-- 1 root mail  302108 11-30 08:39 log2012.log 
-rw-r--r-- 1 root users     61 11-30 08:39 log2013.log 

当把文件复制给别人的时候,需要改变下归属:

liujl@liujl-Rev-1-0:/usr$ ls -l|grep mytest2.txt 
-rw-r--r--   1 root root     0 2012-06-20 13:50 mytest2.txt
liujl@liujl-Rev-1-0:/usr$ sudo mv mytest2.txt  /home/liujl/mycode/TEST/
liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l
总用量 0
-rw-r--r-- 1 root root  0 2012-06-20 13:50 mytest2.txt
现在mytest2.txt已经mv到liujl用户下了,但是当修改的时候是不允许的,从上句可以看出,还是属于root root ,这就需要chown命令了。
liujl@liujl-Rev-1-0:~/mycode/TEST$  sudo chown liujl:liujl mytest2.txt 
[sudo] password for liujl:  
liujl@liujl-Rev-1-0:~/mycode/TEST$ ls -l 
总用量 0 
-rw-r--r-- 1 liujl liujl  0 2012-06-20 13:50 mytest2.txt

 

整合来源:http://www.lampweb.org/linux/2/7.html