一. Linux系统用户账号的管理
用户账号的管理工作主要涉及到用户账号的添加、修改和删除。
添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。
1、添加新的用户账号使用useradd命令 useradd 选项 用户名
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
useradd –d /home/sam -m sam(此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam /home为默认的用户主目录所在的父目录)
2.删除帐号 删除一个已有的用户账号使用userdel命令
userdel 选项 用户名
3.修改帐号
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等
4.用户口令的管理
指定和修改用户口令的Shell命令是passwd
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
二、Linux系统用户组的管理
1、增加一个新的用户组使用groupadd命令
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
2、如果要删除一个已有的用户组,使用groupdel命令
groupdel 用户组
3、修改用户组的属性使用groupmod命令。
groupmod 选项 用户组
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
newgrp root (这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成)
三、与用户账号有关的系统文件
与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group
1.Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行
1)"用户名"是代表用户账号的字符串
2)“口令”一些系统中,存放着加密后的用户口令字。
3)“用户标识号”是一个整数,系统内部用它来标识用户
4)“组标识号”字段记录的是用户所属的用户组。
5)“注释性描述”字段记录着用户的一些个人情况。
6)“主目录”,也就是用户的起始工作目录
7)用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。
8)系统中有一类用户称为伪用户(pseudo users)
伪 用 户 含 义
bin 拥有可执行的用户命令文件
sys 拥有系统文件
adm 拥有帐户文件
uucp UUCP使用
lp lp或lpd子系统使用
nobody NFS使用
四. 拥有帐户文件
1、除了上面列出的伪用户外,还有许多标准的伪用户,例如:audit, cron, mail, usenet等,它们也都各自为相关的进程和文件所需要。
2、/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生
3、用户组的所有信息都存放在/etc/group文件中。
五.四、添加批量用户
(1)先编辑一个文本用户文件。
每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号
(2)以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户
(3)执行命令/usr/sbin/pwunconv。
(4)编辑每个用户的密码对照文件。
格式为:
用户名:密码
5)以 root 身份执行命令 /usr/sbin/chpasswd。
创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏。
chpasswd < passwd.txt
(6)确定密码经编码写入/etc/passwd的密码栏后。
执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow。