linux下面如何更改用户名,使得所有原所属文件夹的拥有者和所属组名称也一并更改过来?

如题所述

  一、《Linux的chmod命令》。在 shell 中,可以使用chown命令来改变文件所有者及用户组,chgrp命令来改变文件所在用户组。在 Linux的C程序中,可以使用chown函数来改变文件所有者,及所在用户组。

  另外,在shell中,要修改文件当前的用户必须具有管理员root的权限。可以通过su命令切换到root用户,也可以通过sudo获得root的权限。

  二、使用chown命令更改文件拥有者

  在 shell 中,可以使用chown命令来改变文件所有者。chown命令是change owner(改变拥有者)的缩写。需要要注意的是,用户必须是已经存在系统中的,也就是只能改变为在 /etc/passwd这个文件中有记录的用户名称才可以。

  chown命令的用途很多,还可以顺便直接修改用户组的名称。此外,如果要连目录下的所有子目录或文件同时更改文件拥有者的话,直接加上 -R的参数即可。

  基本语法:

  chown [-R] 账号名称 文件或目录

  chown [-R] 账号名称:用户组名称 文件或目录

  参数:

  -R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录

  都更新成为这个用户组。常常用在更改某一目录的情况。

  示例1:

[root@localhost home]# touch testfile //由 root ç”¨æˆ·åˆ›å»ºæ–‡ä»¶ 
[root@localhost home]# ls testfile â€“l 
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile //文件的拥有者及拥有者级均为 root 
[root@localhost home]# chown yangzongde testfile //修改文件拥有者为 yangzongde 
[root@localhost home]# ls testfile -l 
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde,但组仍为 root

  三、使用chgrp命令更改文件所属用户组

  在shell中,可以使用chgrp命令来改变文件所属用户组,该命令就是change group(改变用户组)的缩写。需要注意的是要改变成为的用户组名称,必须在 /etc/group里存在,否则就会显示错误。

  基本语法:

  chgrp [-R] 用户组名称 dirname/filename ...

  参数:

  -R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录

  都更新成为这个用户组。常常用在更改某一目录的情况。

  示例3

[root@localhost home]# ls testfile -l 
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde,但组为 root 
[root@localhost home]# chgrp yangzongde testfile //修改拥有者组为 yangzongde 
[root@localhost home]# ls testfile -l 
-rw--w--w- 1 yangzongde yangzongde 0 Jun 7 19:35 testfile 
[root@localhost home]# chown root:root testfile // ä½¿ç”¨ chown ä¸€æ¬¡æ€§ä¿®æ”¹æ‹¥æœ‰è€…及组 
[root@localhost home]# ls testfile -l 
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-12-05
chown -hR username:groupname ./目录名
其中:h表示对符号链接也起作用;
R表示对所有子文件也起作用;
后面的用户名和组名用冒号分割;
最后是要修改的目标文件夹
如有疑惑,在终端 man chown本回答被网友采纳
第2个回答  2014-04-03
#usermod -l urchin(新用户名称) test(原来用户名称)
改完以后所属不影响,会一起跟着变过来,因为UID没有变化,你可以做个试验确认下追问

注销了在runlwvel 3下面root登录,用这个命令还是提示用户已登录,怎么回事?

追答

运行 w
然后使用命令pkill -kill -t 用户的tty

把他踢了你再弄

相似回答