1、删除用户userdel


  userdel UserName : 删除用户,默认会保留用户的家目录

  userdel -r UserName : 删除用户,删除用户家目录,删除/var/mail/下的用户名文件


2、设定/修改用户密码


  passwd UserName


3、设定/修改用户组密码


  gpasswd GroupName


修改用户的属性


4、修改用户的默认shell,chsh(changeshell)


  chsh UserName


root@c:~# chsh cluster 
Changing the login shell for cluster
Enter the new value, or press ENTER for the default
	Login Shell [/usr/bin/zsh]:                #输入想设定的默认shell	


5、修改用户备注信息,chfn(changefinger)


  chfn UserName


root@c:~# chfn cluster 
Changing the user information for cluster
Enter the new value, or press ENTER for the default
	Full Name []:                               填写信息信息
	Room Number []:                             等等,下面还有一些信息


6、修改属性的命令,chmod(usermodify)。chsh和chfn只能修改单一属性,chmod[option]

  跟useradd的用法基本相同。

 chmod

    -u 注: 修改用户的UID,

    -g 注: 修改基本GID,即指定用户的基本组ID

    -G 注: 默认覆盖原有附加组。若要添加,则同时使用-a选项

    -d 注: 修改用户的家目录,只是修改属性,并没有新创建目录,默认不会迁移。若迁移,则同时使用-m选项

    -c 注: 备注信息

    -s 注: 修改shell

     -l New_login_name :修改账号名称(用户名)

    -L 锁定用户账号

    -U 解锁

  passwd

    -l 锁定用户账号

    -u 解锁


7、修改组的属性,groupmod


  groupmod

    

    -g 修改GID

    -n New_Group_Name 修改新的组名


8、修改账号日期属性,chage  (passwd也能定义)


  chage [EIMWm]

    修改shadow中的各个时间属性,


9、查看用户相关信息 id


  id UserName 显示用户名,UID,基本组,GID,所有的组,所有的组的GID

          如果后边不跟用户名,则显示当前用户的信息


root@c:~# id cluster 
uid=1000(cluster) gid=1000(cluster) groups=1000(cluster),999(docker)


  id

    -u 显示UID

    -g 显示基本组的GID

    -G 显示所有组的GID,包括附加组和基本组


root@c:~# id -u cluster 
1000
root@c:~# id -g cluster 
1000
root@c:~# id -G cluster 
1000 999


  id 

    -u -n 显示用户名

    -g -n 显示基本组名

    -G -n 显示所有的组名,包括附加组和基本组

root@c:~# id -un cluster 
cluster
root@c:~# id -gn cluster 
cluster
root@c:~# id -Gn cluster 
cluster docker


10、组管理相关命令


  groupadd

  groupmod

  groupdel

  gpasswd


组密码,如果一个组是cluster用户的附加组,用newgrp切换这个组,不需要密码。如果不是cluster用户的附加组,则newgrp切换基本组时,需要输入密码。这就是组密码的作用。


11、su switch user 切换用户


  su UserName 直接切换某用户,非登录式切换(non-login shell)

  su -l UserName (l可以省略),su - UserName 登入式切换(login shell)

  两者的区别很大,因为背后读的许多配置文件不相同。学习shell配置时详细介绍

  下列只是表面的区别。

  

root@c:~# su dayun
dayun@c:/root$ 
dayun@c:/root$ exit
exit
root@c:~# su - dayun
dayun@c:~$ 
dayun@c:~$


 su [-l] -c 'command' UserName    临时使用其他用户执行一些命令


root@c:~# su -c "ls ~" dayun
examples.desktop