usermod
命令语法
usermod [选项] [username]命令描述
- usermod命令用于修改用户的基本信息。
- usermod命令不允许你改变正在线上的使用者帐号名称。
- 当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。
- 命令选项:
-u:更改用户uid
-g:更改所属组(跟组名)
-d:更改用户家目录
-s:更改用户shell
-G: 让一个用户同时属于多个组
注:一个用户可以属于多个组,但是gid只有一个,除了gid之外的组叫做扩展组
组包括了gid还可以包括其他扩展组,一个用户可以属于多个组
[root@cham2 ~]# usermod chmod usermod ^C
[root@cham2 ~]# usermod -u 111 username ^C 改用户的uid
[root@cham2 ~]# usermod -g 123 username ^C 改用户的gid
[root@cham2 ~]# usermod -g grp2 username ^C -g后面也可以跟组名
[root@cham2 ~]# usermod -d /home/asdfdsf username ^C 指定家目录
[root@cham2 ~]# usermod -s /sbin/nologin username ^C指定shell
[root@cham2 ~]# id cham 用#id name可以查看用户信息
uid=1000(cham) gid=1000(cham) 组=1000(cham)
[root@cham2 ~]# user -G grp2 cham 组包括了gid还可以包括其他扩展组,一个用户可以属于多
个组
-bash: user: 未找到命令
[root@cham2 ~]# usermod -G grp2 cham 把cham用户定义扩展组,
[root@cham2 ~]# id cham
uid=1000(cham) gid=1000(cham) 组=1000(cham),1005(grp2) 不仅仅属于cham组,还属于grp2组,这就是扩展组
[root@cham2 ~]# usermod -G user5 cham 继续加就会替换之前的扩展组
[root@cham2 ~]# id cham
uid=1000(cham) gid=1000(cham) 组=1000(cham),1007(user5)
[root@cham2 ~]# usermod -G grp2,user5 cham 同时给cham用户加扩展组
[root@cham2 ~]# id cham
uid=1000(cham) gid=1000(cham) 组=1000(cham),1005(grp2),1007(user5)
[root@cham2 ~]# usermod -g grp2,user5 cham -g是不行的
usermod:“grp2,user5”组不存在
用户密码管理
两个"!!"号说明用户的密码是空的。意味着用户不能登录" *"号表示用户密码是锁定的。说明用户不能登录
cham用户是有密码的。
#passwd -l 锁定用户的密码 查看密码文件多来两个"!!"号说明被锁定了
#passwd -u 解锁用户密码 密码文件"!!"消失
#usermod -L也是一样,锁定用户密码,用一个"!"号表示,只要有“!”就表示用户密码被锁定了
#usermod -U 解锁
以后会接触到一种用法
# passwd --stdin user5,给user5设定密码 而且是明文显示的,以后写shell脚本的时候可能会使用到。
通常是这样用的,后面学习脚本的时候可能会用到
echo "111222" |passwd --stdin user5
#echo -e "111\nssss" *-e* *\n*是换行符 ,这个用的比较多
不加换行符 #echo "111\n222"
也可以#echo "111\t222" t是Tab的意思
刚使用了 --stdin ,现在不使用它,用
#echo -e "123111\n123111" |passwd user3 虽然说密码无效,但最终是生效了