Linux中修改用戶UID和組GID的方法
發表時間:2016-04-20 21:30 | 分類:
Linux | 瀏覽:2,344 次
我在部署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命令執行后自動修改成新的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/