实验2

实验目的
1、 掌握用户管理的基本内容和原理;
2、 理解与用户管理有关的工具与命令的具体作用以及关键部分的内容;
3、 从用户管理的角度初步理解系统安全管理的具体内容。

实验要求
实验内容
1、 使用vi进行文档编辑,如何控制光标的移动、两种模式的切换、字符串的查找与替换、行号的设置、如何存盘退出。
2、 熟悉Linux用户管理各种功能,如何增加用户与用户组,并将两个用户设为同组用户
(1) 如何进行模式切换(哪两种模式)
第一次启动linux系统会进入命令行模式,会要求输入用户名,默认的管理员帐号名为root,输入“root”后回车,提示输入密码(密码是在安装系统时自己设定的),这样就以管理员身份登陆了系统。如果不想用使用命令行模式,而需要进入图形界面:在命令行模式下输入命令“startx”后回车,一般这样就能进入图形化界面。
(2) a A I i o O这些命令的功能是什么?
a A I i o O 在vim 文本编辑器的用法:
a:在光标所在字符后开始插入
A:在光标所在你行的行尾开始插入
i:在光标所在字符前开始插入
I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
o:在光标所在行的下面另起一新行插入
O:在光标所在行的上面另起一行开始插入
(3) /etc/passwd与/etc/group中的内容主要是什么?

一、/etc/passwd 是用户数据库,其中的域给出了用户名、加密口令和用户的其他信息
/etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。它的文 件格式与/etc/passwd类似,由若干个字段组成,字段之间用“:”隔开。这些字段是:

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登
录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同
的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。
期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

下面是/etc/shadow的一个例子:

cat /etc/shadow

root:Dnakfw28zf38w:8764:0:168:7:::
/etc/passwd
该目录存储的是操作系统用户信息,该文件为所有用户可见。
给linux系统添加一个帐号:
useradd -g mysql -d /home/test -m test(:新建一个用户test, 属于mysql组,开始目录是/home/test)
然后进入 /etc/passwd,可以看到如下信息,在最后一行可以看到刚加的用户的信息。如下
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dovecot:x:97:97:dovecot:/usr/libexec/dovecot:/sbin/nologin
webalizer:x:67:67:Webalizer:/var/www/usage:/sbin/nologin
squid:x:23:23::/var/spool/squid:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
hzmc:x:500:500:hzmc:/home/hzmc:/bin/bash
mysql:x:501:501::/home/mysql:/bin/bash
chenhua:x:503:501::/home/chenhua:/bin/bash
test:x:504:501::/home/test:/bin/bash
可以看出/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,解释如下
(1):用户名。
(2):密码(已经加密)
(3):UID(用户标识),操作系统自己用的
(4):GID组标识。
(5):用户全名或本地帐号
(6):开始目录
(7):登录使用的Shell,就是对登录命令进行解析的工具。

二、/etc/shadow是在安装了影子(shadow)口令软件的系统上的影子口令文件
shadow 是 passwd 的影子文件。
在linux中,口令文件在/etc/passwd中,早期的这个文件直接存放加密后的密码,前两位是”盐”值,是一个随机数,后面跟的是加密的密码。为了安全,现在的linux都提供了 /etc/shadow这个影子文件,密码放在这个文件里面,并且是只有root可读的。
/etc/passwd文件的每个条目有7个域,分别是名字:密码:用户id:组id:用户信息:主目录:shell
例如:ynguo:x:509:510::/home/ynguo:/bin/bash
在利用了shadow文件的情况下,密码用一个x表示,普通用户看不到任何密码信息。影子口令文件保存加密的口令;/etc/passwd文件中的密码全部变成x。Shadow只能是root可读,从而保证了安全。
/etc/shadow文件每一行的格式如下:用户名:加密口令:上一次修改的时间(从1970年1月1日起的天数):口令在两次修改间的最小天数:口令修改之前向用户发出警告的天数:口令终止后账号被禁用的天数:从1970年1月1日起账号被禁用的天数:保留域。
例如:root:1t4sFPHBq$JXgSGgvkgBDD/D7FVVBBm0:11037:0:99999:7:-1:-1:1075498172

下面为test用户设置密码,执行如下命令
passwd test
[[email protected] etc]# passwd test
Changing password for user test.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[[email protected] etc]#
然后进入/etc/shadow文件下面可以看到如下信息
gdm:!!:14302:0:99999:7:::
hzmc:1JZMjXqxJbvRpGQxbuRiEa86KPLhhC1:14302:0:99999:7:::mysql:!!:14315:0:99999:7:::chenhua:1YBJZNyXJBnpKFD58vSgqzsyRO0ZeO1:14316:0:99999:7:::
test:1hKjqUA40$OelB9h3UKOgnttKgmRpFr/:14316:0:99999:7:::
可以发现,共有9个栏目
(1):帐号名称
(2):密码:这里是加密过的,但高手也可以解密的。要主要安全问题(代!符号标识该帐号不能用
来登录)
(3):上次修改密码的日期
(4):密码不可被变更的天数
(5):密码需要被重新变更的天数(99999表示不需要变更)
(6):密码变更前提前几天警告
(7):帐号失效日期
(8):帐号取消日期
(9):保留条目,目前没用

Unix 系统最初是用明文保存密码的,后来由于安全的考虑,采用crypt()算法加密密码并存放在/etc/passwd文件。现在,由 于计算机处理能力的提高,使密码**变得越来越容易。/etc/passwd文件是所有合法用户都可访问的,大家都可互相看到密码的加密字符串,这给系统 带来很大的安全威胁。现代的Unix系统使用影子密码系统,它把密码从/etc/pa sswd文件中分离出来,真正的密码保存在/etc/shadow文件中,shadow文件只能由超级用户访问。这样入侵者就不能获得加密密码串,用于***。使用shadow密码文件后,/etc/passwd文件中所有帐户的password域的内容为”x”,如果password域的内容为”*”,则 该帐号被停用。使用passwd这个程序可修改用户的密码。

三、/etc/group 存储有关本地用户组的信息
1)groupname GID到名称的一种映射,组名
2)password 保存密码的位置
3)GID 组ID
4)user 组成员

输入: cat /etc/group
实验2

三、新建用户abc1(abc代表你的姓名全拼,下同),为其添加密码“123456”。查看该用户帐号密码的加密密文。
输入:useradd abc1——–新建
实验2

四、新建用户abc2,并从root用户的身份切换到该用户身份。然后再从该用户身份切换为root用户。
用上述的方法创建abc2 ,输入:su abc2进入abc2,然后再输入 su 根用户;
实验2

五、新建用户abc3,将其设置为口令为空,通过用户身份切换验证设置是否成功。 以root用户身份新建用户abc4,然后对其进行锁定,最后以root用户身份删除该用户。
实验2
输入 usermod -l 用户名——锁定
实验2
输入:userdel 用户名——-删除
实验2

六、新建组群abc5,将本次实验中新建的所有用户添加到该组群中。
新建一个组 groupadd 用户名
将用户添加到一个组里 gpasswd -a 用户名 组名
实验2