① 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。如下圖所示: