我在部署nfs的時候,共享了一個文件夾。爲了讓遠程nfs客戶端掛載這個文件夾的時候都有可讀寫權限,我須要把服務器上的用戶uid、gid設置成nfs服務端文件夾同樣的權限。不過由於以前新建的用戶uid、gid都是系統自動生成的,幾臺服務器以前某個用戶的uid、gid可能都不同,因此如今須要把這個uid、gid都設置成統一某個值。html
修改用戶uid和組gid的命令分別是usermod和groupmod,思路很簡單。先使用usermod修改用戶的uid,而後使用groupmod修改組的gid,最後使用chown和chgrp命令修改原來用戶文件和目錄的屬主屬組。linux
例如測試用戶foo和測試組foo。bash
foo old UID: 1005 foo new UID: 2005 foo old GID: 2000 foo new GID: 3000
命令:服務器
一、修改foo用戶的uid
ide
# usermod -u 2005 foo
二、修改foo組的gid測試
# groupmod -g 3000 foo
三、foo用戶的家目錄下面的文件屬主和屬組會在一、2命令執行後自動修改爲新的uid、gid對應的屬主屬組,可是其餘文件目錄須要手動修改。手動修改的命令也比較簡單。ui
# find / -user 1005 -exec chown -h foo {} \; # find / -group 2000 -exec chgrp -h foo {} \;
這樣用戶和組的uid、gid就修改好了。能夠用id命令看下是否修改的如咱們所願。htm
# ls -l /home/foo/ # id -u foo # id -g foo # grep foo /etc/passwd # grep foo /etc/group
nfs常規方法是root有全部權限。blog
參考鏈接:ci
https://blog.nbhao.org/2401.html
http://www.cyberciti.biz/faq/linux-change-user-group-uid-gid-for-all-owned-files/