① 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@localhosthome]#touchtestfile//由root用户创建文件
[root@localhosthome]#lstestfile–l
-rw--w--w-1rootroot0Jun719:35testfile//文件的拥有者及拥有者级均为root
[root@localhosthome]#chownyangzongdetestfile//修改文件拥有者为yangzongde
[root@localhosthome]#lstestfile-l
-rw--w--w-1yangzongderoot0Jun719:35testfile//查看文件拥有者为yangzongde,但组仍为root
三、使用chgrp命令更改文件所属用户组
在shell中,可以使用chgrp命令来改变文件所属用户组,该命令就是change group(改变用户组)的缩写。需要注意的是要改变成为的用户组名称,必须在 /etc/group里存在,否则就会显示错误。
基本语法:
chgrp [-R] 用户组名称 dirname/filename ...
参数:
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录
都更新成为这个用户组。常常用在更改某一目录的情况。
示例3
[root@localhosthome]#lstestfile-l
-rw--w--w-1yangzongderoot0Jun719:35testfile//查看文件拥有者为yangzongde,但组为root
[root@localhosthome]#chgrpyangzongdetestfile//修改拥有者组为yangzongde
[root@localhosthome]#lstestfile-l
-rw--w--w-1yangzongdeyangzongde0Jun719:35testfile
[root@localhosthome]#chownroot:roottestfile//使用chown一次性修改拥有者及组
[root@localhosthome]#lstestfile-l
-rw--w--w-1rootroot0Jun719:35testfile
② linux修改用户所属组及其文件所属组
1、打开自己的linux系统。
③ 如何更改linux文件的拥有者及用户组
使用命令chown
基本格式
chown user:[group] file
其中user为用户名,group为用户组名,file为文件或者文件夹,[]中的内容表示可选。
简单例子与说明:
chown user1:group1 file1
把当前文件夹下的file1的所有者改为user1,所有者用户组改为group1
下面为chown命令的详细,请参考:
Linux chown命令详解使用格式和方法
指令名称 : chown 使用权限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file…
利用 chown 可以将档案的拥有者加以改变。这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
参数:
-c或-change:作用与-v相似,但只传回修改的部分
-f或–quiet或–silent:不显示错误信息
-h或–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件
-R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-v或–verbose:显示指令执行过程
–dereference:作用和-h刚好相反
–help:显示在线说明
–reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同
–version:显示版本信息
chown命令使用举例:(像我用的vps,就要先ssh登录)
# chown [-R] [用户名称] [文件或目录]
# chown[-R] [用户名称:组名称] [文件或目录]
范例1:将test3.txt文件的属主改为test用户。
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown test:root test3.txt
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59
范例2:chown所接的新的属主和新的属组之间可以使用:连接,属主和属组之一可以为空。如果属主为空,应该是“:属组”;如果属组为空,“:”可以不用带上。
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown :test test3.txt <==把文件test3.txt的属组改为test
# ls -l test3.txt
-rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt
范例3:chown也提供了-R参数,这个参数对目录改变属主和属组极为有用,可以通过加 -R参数来改变某个目录下的所有文件到新的属主或属组。
# ls -l testdir <== 查看testdir目录属性
drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件属主是usr用户,属组是 root用户
# ls -lr testdir <==查看testdir目录下所有文件及其属性
total 0
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt
# chown -R test:test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组
# ls -l testdir
drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/
# ls -lr testdir
total 0
-rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt
④ 如何更改linux文件目录拥有者及用户组
更改linux文件目录拥有者及用户组及用户组方法如下:
首先利用[root@linux ~]# chown把fail2ban的所属者修改为nginx。如下图所示: