若干概念

1、初始群组(initial group) :当用户一登入系统,立刻就拥有这个群组的相关权限。

2、有效群组(effective group):当用户创建文件或者目录时权限归属的群组。

3、支持群组:使用groups命令得到的就是该用户拥有的所有的群组的权限,输出的第一个群组是当前的有效群组

4、系统账号:主要是用来进行运作系统所需朋务的权限设定,所以系统账号默认都不会主动建立主目录!

5、群组管理员:让某个群组具有一个管理员,这个群组管理员可以管理哪些账号可以加入/移出该群组。

备注:有效群组切换可以使用newgrp,由于该命令的实现是获取一个新的shell,所以可以使用exit返回原本的环境。


账号文件结构

1、/etc/passwd文件结构

例子: root:x:0:0:root:/root:/bin/bash 

bin:x:1:1:bin:/bin:/sbin/nologin

名称:口令:UID:GID:用户信息说明栏:主目录:shell

备注:uid范围和对应的账号类型:0 为root账号1~499系统账号一般账号

口令字段:早期密码是存在passwd文件的,但是由于passwd文件任何程序都可以读取,所以现在密码存放在shadow文件中,原来的位置以[x]取代。

2、/etc/shadow 文件结构

:  root:$1$/30QpE5e$y9N/D0bh6rAACBEz.hqo00:14126:0:99999:7::: 

bin:*:14126:0:99999:7:::

名称:口令:最近更改日期:口令不许变更时限:口令需要重新变更的期限: 口令需要重新变更前的警告天数:口令过期后的账号宽限时间:账号失效日期:保留字段

备注: root 密码忘让:由于密码在/etc/shadow中,因此你可以使用各种可行的方法开机进入Linux 再去修改。例如重新启动进入单人维护模式后,系统会主动的给予root权限的bash接口,此时再以passwd修改密码即可;或,以Live CD开机后挂载根目录去修改/etc/shadow,将里面的root的密码字段清空,再重新启动后root将不用密码卲可登入!登入后再以passwd命令重新设定root密码

3、 /etc/group 文件结构

:  root:x:0:root

bin:x:1:root,bin,daemon

         组名:口令:GID:属于该群组的账号

4、/etc/gshadow 文件结构

例子:beinan:!::linuxsir

linuxsir:oUS/q7NH75RhQ::linuxsir

:组口令:群组管理员:组成员


熟悉了账号文件的结构,熟悉了命令的负责的文件,就很容易记住这些命令提供的选项与功能。


账号管理

1、添加账号(useradd——/etc/shadow  /etc/passwd  /etc/group  /etc/gshadow)

 useradd [-g 初始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 主目录绝对路径] [-s shell] 账号名

选项与参数:

-g  :initial group当用户一登入系统,立刻就拥有这个群组的相关权限

-G  :其他的群组。该选项与参数会修改 /etc/group 

-M  :强制!不要建立用户主目录!(系统账号默认值)

-m  :强制!建立用户主目录!(一般账号默认值)

-c  :/etc/passwd 的第五栏的说明内容

-d  :指定某个目录成为主目录,而不要使用默认值。务必使用绝对路径!

-r  :建立一个系统账号

-s  :后面接一个 shell ,若没有指定则预设是 /bin/bash 

-e  :后面接一个日期,格式为『YYYY-MM-DD』,亦即账号失效日的设定

-f  :指定密码是否会失效。0 为立刻失效,-1 为永不失效(密码叧会过期而强制登入时重新设定而已。)

2、 口令管理(passwd——/etc/shadow):管理关于口令的所有设置

3、 修改账号设置(usermod——/etc/passwd  /etc/shadow):管理除口令之外的账号信息

4、删除账号(userdel——/etc/shadow  /etc/passwd  /etc/group  /etc/gshadow)

   userdel [-r] username

选项不参数:

-r  :连同用户主目录一起删除。

群组管理

1、 增加群组(groupadd——/etc/group /etc/gshadow)

2、 群组口令管理(gpasswd——/etc/gshadow)

3、 修改群组设置(groupmod——/etc/group /etc/gshadow )

4、 删除群组(groupdel——/etc/group /etc/gshadow)