NAS用的NFS协议,用uid和gid来识别文件权限的,即如果当前test的uid 是1000,那么如果另个服务器里uid是1000的账号是test2,则test2访问时和前一个服务器上账号test同权。因此稍微整理一下这方面的常用操作。
用户uid从1000开始基本1000~60000,从linux 核心 (3.10.x 版)开始已经支持到4294967295 (2^32-1)了
一、修改已有用户用户组的uid和gid
id test;
groupmod -g 1001 test; #修改组test的gid为1001
usermod -u 1001 test; #修改test的uid为1001
id test
注意
1.修改uid和gid后原属于test的文件,属主依然是test,但用户组还是原数字,文件的用户组并没有跟随变过去,此时会显示原有gid号。
2.前提是test用户没有进程运行,登录进程也算,因此需要直接ssh登录root,而不是从test账号su root
二、创建指定用户用户组的uid和gid
方案A,使用adduser
1.创建组
groupadd -g 2000 test
2.创建用户并指定组
adduser --uid 2000 --gid 2000 test
方案B,使用useradd
1.创建组
groupadd -g 2002 test2
2.创建用户并指定组
useradd --uid 2002 --gid 2002 -s /bin/bash test2
方案C(推荐)
adduser --uid 2000 test
方案三注意事项
1.如果率先已经创建了gid为2000,则此时创建不成功,因为下面的命令此时也会创建2000的组,但发现已存在adduser: The GID 2000 is already in use.
2.在gid不存在的情况下,直接创建,默认也会创建相同的,注意此种方法不能用useradd,不然会创建uid和gid不一致的账号
三、普通操作添加、删除用户附属组
usermod -a -G GROUPNAME USERNAME #将USERNAME加入到GROUPNAME组中,且原主组不变
gpasswd -d USERNAME GROUPNAME #GROUPNAME组把USERNAME从组中移除