在学习linux系统中,最重要的莫过于对系统账户的管理以及如何恰当的分配用户组权限。在我们登陆linux系统的时候,输入的账号,其实并不是linux所能识别的。由于计算机仅能够识别0与1,所以它仅能认识ID(一组号码)用户标示符UID、GID。相应的你所输入的账号与ID的对应关系就保存在/etc/passwd当中。
对于每一个文件来说都具有”所有者与所属用户组“的属性,每个登陆的用户都会有一个用户ID(UID),一个用户组ID(GID),在用户输入账号密码后,系统首先寻找/etc/passwd里是否有保存当前输入的账号密码信息,如果有的就将该账号对应的UID与GID(/etc/group)中读取出来,然后再核对(/etc/shadow)里对应的账号密码是否相符。
由此可以看出用户账号有关的/etc/passwd,/etc/shadow这两个文件是非常重要的,所以我们要备份linux的系统账号的话,这两个文件就一定需要单独备份才行。
新增用户与删除用户
在linux如何新增用户,我们可以使用useradd命令来新建用户,密码设定则使用passwd这个命令,删除用户则是userdel。
useradd(选项)(参数)
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s:指定用户登入后所使用的shell;
-u:指定用户id。
passwd(选项)(参数)
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
userdel(选项)(参数)
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
新增与删除用户组
了解账号的的新增、删除后,我们来看看如何创建用户组,groupadd创建用户组,gpasswd创建用户组管理员,groupdel自然就是删除用户组。
groupadd(选项)(参数)
-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;
-o:允许添加组ID号不唯一的工作组。
gpasswd(选项)(参数)
-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
groupdel(参数)