linux命令学习之:chown详解程序员

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

  只有文件主和超级用户才可以便用该命令。

语法

  chown(选项)(参数)

选项

-c或——changes:效果类似“-v”参数,但仅回报更改的部分;

-f或–quite或——silent:不显示错误信息;

-h或–no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件;

-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;

-v或——version:显示指令执行过程;

–dereference:效果和“-h”参数相同;

–help:在线帮助;

–reference=<参考文件或目录>:把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同;

–version:显示版本信息。

参数

用户:组:指定所有者和所属工作组。当省略“:组”,仅改变文件所有者;

文件:指定要改变所有者和工作组的文件列表。支持多个文件和目标,支持shell通配符。

常用示例

1、新增用户以及用户组

[[email protected] ~]# groupadd test    #新增用户组test           
[[email protected] ~]# useradd -m -g test temptest  #新增用户组test下的用户temptest 
[[email protected] ~]# passwd temptest    #给用户temptest设置密码,然后就可以使用了 
Changing password for user temptest. 
New password:  
Retype new password:  
passwd: all authentication tokens updated successfully.

2.修改文件的用户以及用户组

  命令:chown  用户:用户组  文件   

[[email protected] test]# ll -lR 
.: 
total 136 
-rw-r--r--. 1 root      root 26323 Dec  1 15:18 test1.xlsx 
-rw-r--r--. 1 root      root 41035 Dec  1 15:18 test2.xlsx 
-rw-r--r--. 1 root      root 22974 Dec  1 15:18 test3.xlsx 
-rw-r--r--. 1 root      root 33698 Dec  1 15:18 test4.xlsx 
drwxr-xr-x. 2 devdeploy root  4096 Dec  1 15:20 testsub 
 
./testsub: 
total 28 
-rw-r--r--. 1 devdeploy root 26323 Dec  1 15:20 test5.xlsx 
[[email protected] test]# chown temptest:test test1.xlsx  
[[email protected] test]# ll -lR 
.: 
total 136 
-rw-r--r--. 1 temptest  test 26323 Dec  1 15:18 test1.xlsx 
-rw-r--r--. 1 root      root 41035 Dec  1 15:18 test2.xlsx 
-rw-r--r--. 1 root      root 22974 Dec  1 15:18 test3.xlsx 
-rw-r--r--. 1 root      root 33698 Dec  1 15:18 test4.xlsx 
drwxr-xr-x. 2 devdeploy root  4096 Dec  1 15:20 testsub 
 
./testsub: 
total 28 
-rw-r--r--. 1 devdeploy root 26323 Dec  1 15:20 test5.xlsx

  如果用户是唯一的标识,那么也可以用:chown  用户:  文件

drwxr-xr-x. 2 devdeploy root  4096 Dec  1 15:20 testsub 
[[email protected] test]# ll -lR 
.: 
total 136 
-rw-r--r--. 1 temptest  test 26323 Dec  1 15:18 test1.xlsx 
-rw-r--r--. 1 root      root 41035 Dec  1 15:18 test2.xlsx 
-rw-r--r--. 1 root      root 22974 Dec  1 15:18 test3.xlsx 
-rw-r--r--. 1 root      root 33698 Dec  1 15:18 test4.xlsx 
drwxr-xr-x. 2 devdeploy root  4096 Dec  1 15:20 testsub 
 
./testsub: 
total 28 
-rw-r--r--. 1 devdeploy root 26323 Dec  1 15:20 test5.xlsx 
[[email protected] test]# chown temptest: test3.xlsx 
[[email protected] test]# ll -lR 
.: 
total 136 
-rw-r--r--. 1 temptest  test 26323 Dec  1 15:18 test1.xlsx 
-rw-r--r--. 1 root      root 41035 Dec  1 15:18 test2.xlsx 
-rw-r--r--. 1 temptest  test 22974 Dec  1 15:18 test3.xlsx 
-rw-r--r--. 1 root      root 33698 Dec  1 15:18 test4.xlsx 
drwxr-xr-x. 2 devdeploy root  4096 Dec  1 15:20 testsub 
 
./testsub: 
total 28 
-rw-r--r--. 1 devdeploy root 26323 Dec  1 15:20 test5.xlsx

3、修改文件的用户为当前用户组下的用户(即使当前用户组没有该用户) 

  命令:chown  用户  文件    

[[email protected] test]# ll -lR 
.: 
total 136 
-rw-r--r--. 1 root      root 26323 Dec  1 15:18 test1.xlsx 
-rw-r--r--. 1 root      root 41035 Dec  1 15:18 test2.xlsx 
-rw-r--r--. 1 root      root 22974 Dec  1 15:18 test3.xlsx 
-rw-r--r--. 1 root      root 33698 Dec  1 15:18 test4.xlsx 
drwxr-xr-x. 2 devdeploy root  4096 Dec  1 15:20 testsub 
 
./testsub: 
total 28 
-rw-r--r--. 1 devdeploy root 26323 Dec  1 15:20 test5.xlsx 
[[email protected] test]# chown temptest test1.xlsx      #事实上root用户组并没有temptest用户 
[[email protected] test]# ll -lR 
.: 
total 136 
-rw-r--r--. 1 temptest  root 26323 Dec  1 15:18 test1.xlsx 
-rw-r--r--. 1 root      root 41035 Dec  1 15:18 test2.xlsx 
-rw-r--r--. 1 root      root 22974 Dec  1 15:18 test3.xlsx 
-rw-r--r--. 1 root      root 33698 Dec  1 15:18 test4.xlsx 
drwxr-xr-x. 2 devdeploy root  4096 Dec  1 15:20 testsub 
 
./testsub: 
total 28 
-rw-r--r--. 1 devdeploy root 26323 Dec  1 15:20 test5.xlsx

4、修改文件所属的用户组

[[email protected] test]# ll -lR 
.: 
total 136 
-rw-r--r--. 1 temptest  test 26323 Dec  1 15:18 test1.xlsx 
-rw-r--r--. 1 temptest  test 41035 Dec  1 15:18 test2.xlsx 
-rw-r--r--. 1 temptest  test 22974 Dec  1 15:18 test3.xlsx 
-rw-r--r--. 1 root      root 33698 Dec  1 15:18 test4.xlsx 
drwxr-xr-x. 2 devdeploy root  4096 Dec  1 15:20 testsub 
 
./testsub: 
total 28 
-rw-r--r--. 1 devdeploy root 26323 Dec  1 15:20 test5.xlsx 
[[email protected] test]# chown :test test4.xlsx 
[[email protected] test]# ll -lR 
.: 
total 136 
-rw-r--r--. 1 temptest  test 26323 Dec  1 15:18 test1.xlsx 
-rw-r--r--. 1 temptest  test 41035 Dec  1 15:18 test2.xlsx 
-rw-r--r--. 1 temptest  test 22974 Dec  1 15:18 test3.xlsx 
-rw-r--r--. 1 root      test 33698 Dec  1 15:18 test4.xlsx 
drwxr-xr-x. 2 devdeploy root  4096 Dec  1 15:20 testsub 
 
./testsub: 
total 28 
-rw-r--r--. 1 devdeploy root 26323 Dec  1 15:20 test5.xlsx

5、修改目录及其下面的所有文件、子目录的文件主

  命令:chown -R  -v  拥有者:群组 文件目录(除了-R外与单文件修改没啥不同)

[[email protected] attachment]# chown -R -v temptest:test ./test 
changed ownership of `./test/test4.xlsx' to temptest:test 
ownership of `./test/test1.xlsx' retained as temptest:test 
ownership of `./test/test2.xlsx' retained as temptest:test 
changed ownership of `./test/testsub/test5.xlsx' to temptest:test 
changed ownership of `./test/testsub' to temptest:test 
ownership of `./test/test3.xlsx' retained as temptest:test 
changed ownership of `./test' to temptest:test 
[[email protected] attachment]# cd test 
[[email protected] test]# ll -lR 
.: 
total 136 
-rw-r--r--. 1 temptest test 26323 Dec  1 15:18 test1.xlsx 
-rw-r--r--. 1 temptest test 41035 Dec  1 15:18 test2.xlsx 
-rw-r--r--. 1 temptest test 22974 Dec  1 15:18 test3.xlsx 
-rw-r--r--. 1 temptest test 33698 Dec  1 15:18 test4.xlsx 
drwxr-xr-x. 2 temptest test  4096 Dec  1 15:20 testsub 
 
./testsub: 
total 28 
-rw-r--r--. 1 temptest test 26323 Dec  1 15:20 test5.xlsx

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/1196.html

(0)
上一篇 2021年7月15日
下一篇 2021年7月15日

相关推荐

发表回复

登录后才能评论