若干概念
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)