我在部署nfs的時候,共享了一個文件夾睦焕。為了讓遠程nfs客戶端掛載這個文件夾的時候都有可讀寫權限藐握,我需要把服務器上的用戶uid、gid設置成nfs服務端文件夾一樣的權限垃喊。不過因為之前新建的用戶uid猾普、gid都是系統自動生成的,幾臺服務器之前某個用戶的uid本谜、gid可能都不一樣初家,所以現在需要把這個uid、gid都設置成統一某個值乌助。
修改用戶uid和組gid的命令分別是usermod和groupmod溜在,思路很簡單。先使用usermod修改用戶的uid他托,然后使用groupmod修改組的gid掖肋,最后使用chown和chgrp命令修改原來用戶文件和目錄的屬主屬組。
例如測試用戶foo和測試組foo赏参。
foo old UID: 1005
foo new UID: 2005
foo old GID: 2000
foo new GID: 3000
命令:
1培遵、修改foo用戶的uid
# usermod -u 2005 foo
2、修改foo組的gid
# groupmod -g 3000 foo
3登刺、foo用戶的家目錄下面的文件屬主和屬組會在1籽腕、2命令執(zhí)行后自動修改成新的uid、gid對應的屬主屬組纸俭,但是其他文件目錄需要手動修改皇耗。手動修改的命令也比較簡單。
# find / -user 1005 -exec chown -h foo {} \;
# find / -group 2000 -exec chgrp -h foo {} \;
這樣用戶和組的uid揍很、gid就修改好了郎楼。可以用id命令看下是否修改的如我們所愿窒悔。
# ls -l /home/foo/
# id -u foo# id -g foo
# grep foo /etc/passwd
# grep foo /etc/group
參考連接:
http://www.cyberciti.biz/faq/linux-change-user-group-uid-gid-for-all-owned-files/