linux实验3
实验任务1:
1) 写出实验环境中root用户的主目录和登录shell。
Linux的帐号信息存放在passwd文件中。帐号信息的内容为:1)有效的用户名和口令占位符(出于安全考虑,实际上口令本身存放在其他文件中,见后描述);2)主目录,即用户登录系统后进入的工作目录,一般对用户可写;3)shell访问。当用户试图登录时,Linux会核对passwd文件,以确定是否允许登录。而passwd文件存放在/etc目录下,即可用cat /etc/passwd命令查看root用户的主目录和登录shell,如下图所示,root用户的主目录和登录shell分别为:主目录位于/root。shell程序是/bin/bash。
2) 创建3个用户user1, user2, user3,设置他们的用户主目录都为/home/user。
用mkdir命令创建目录/home/user,用groupadd命令添加组,用useradd命令添加用户,用passwd给用户设置密码,user1和user2在usergroup中,user3在othergroup中。
实验任务2:
1) 修改/home/user目录的权限,使得:
- user1对/home/user目录可浏览文件,创建文件,创建目录;
- user2对/home/user目录不可创建文件、不可建目录,只可浏览文件;
- user3不可访问/home/user目录,包括创建和浏览;
- 测试权限设置是否正确。
设置/home/user属主为user1,所属用户组为 usergroup,设置/home/user权限为750。
安装ssh服务,先编辑/etc/resolv.conf文件 输入如下命令:
nameserver 202.115.160.33
nameserver 202.115.160.36(一个就行了)
再利用apt-get install openssh-server命令安装ssh服务。再使用service ssh start命令启动ssh服务。
①、以ssh方式,使用user1登录。其命令形式为:ssh [email protected]。
[email protected]表示使用user1用户登录远程服务器。先使用ifconfig获取ip,ip为10.42.73.240
以user1身份在/home/user下创建目录/home/user/user1,文件s,并浏览文件s,可以看到文件s是一个空文件。
②、以ssh方式,使用user2登录。发现无法在/home/user下创建目录和文件,但是可以浏览文件。
③、以ssh方式,使用user3登录。使用ls命令发现无法查看/home/user。
实验任务3:
1) 设置/notebooks/workspace/welcome.msg文件的访问时间为2005-11-7.
利用touch命令修改文件的访问时间,选项-a表示改变访问时间,
-d,—date=STRING,表示使用STRING所指定的时间而不是当前时间。系统中并不存在/notebooks/workspace/welcome.msg文件,我们使用touch命令的同时可以直接创建它。
实验任务4:
请写出实验系统中的至少3个日志文件的名称,并通过测试的方式解释这些日志文件的主要内容。
先利用apt install rsyslog命令下载日志系统。
日志文件:因为习惯上,多数rsyslog日志信息被设置为写到/var/log目录下的文件中(由rsyslog配置文件指定),如syslog, *.log等。
故先用ls /var/log查看有哪些日志文件.
再用tail命令查看日志,如tail /var/log/syslog.
1)、/var/log/syslog的每行记录的内容包括时间、主机名、生成日志的程序名字(设备)和一个文本信息(消息),如日志记录:
Oct 25 21:20:24 master rsyslogd: rsyslogd's groupid changed to104
表示产生日志的时间是Oct 25 21:20:24,主机名称为master,产生日志记录的设备(程序)是rsyslogd,日志消息是rsyslogd’s groupid changed to 104。
2)、/var/log/kern.log包含内核产生的日志,有助于在定制内核时解决问题
3)、/var/log/auth.log包含系统授权信息,包括用户登录和使用的权限机制等。
实验任务5:
根据5.4的描述,试将workspace/目录中的文件生成备份压缩包workspace.tar.gz,并试试从该备份包恢复workspace目录。
使用tar命令备份压缩,有下列选项:
-c 创建一个新的打包文件
-x 解压一个打包文件
-v 处理过程中显示文件名
-z 使用gzip方法压缩打包文件
-f 指定打包文件名称
-p 保留文件的权限和属性
打包时选项为-cpvzf,解压时是-xpvzf。
实验任务6:
1) 检查增加用户帐号操作后/etc/passwd文件的完整性变化,具体步骤包括:
- 确认/etc/passwd文件在tripwire的检查列表中
- 生成基线数据库
- 增加用户帐号操作
- 检查文件完整性
- 更新基线数据库
- 检查文件完整性
先使用apt-get install tripwire命令安装tripwire。
①、使用cat /etc/tripwire/twpol.txt命令确认/etc/passwd文件在tripwire的检查列表中。
②、使用tripwire --init命令生成基线数据库。
③、使用useradd添加用户。
④、使用 tripwire --check /etc/passwd命令进行完整性检查。
⑤、 使用tripwire --update -r /var/lib/tripwire/report/主机名-日期-编号.twr命令进行基线数据库更新。主机名是master,可以在/var/lib/tripwire/report/目录下查看“主机名-日期-编号”。
⑥、使用 tripwire --check /etc/passwd命令进行完整性检查
1)、如何设置一个用户属于多个组?
①.创建用户赋予密码。
②.创建用户组:组1/组2/组3/......
还需要使用命令:usermod -G 组1/组2/组3/... 用户名
③. 使用 su - 用户名 查看是否成功。
④.切换用户输入id命令。
2)、系统的日志文件有哪些,是什么内容?如何查看rsyslog日志?
/var/log/cron:记录与系统定时任务相关的曰志
/var/log/cups/:记录打印信息的曰志
/var/log/dmesg:记录了系统在开机时内核
自检的信总。也可以使用dmesg命令直接查看内核自检信息
/var/log/btmp:记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。
/var/log/lasllog:记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/log/mailog:记录邮件信息的曰志
/var/log/message:记录系统里要佶息的日志.这个日志文件中会记录Linux系统的绝大多数重要信息。如果系统出现问题,首先要检查的应该就是这个日志文件
/var/log/secure:记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/wtmp:永久记录所有用户的登陆、注销信息,同时记录系统的后动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看
/var/tun/ulmp:记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看
用tail命令查看rsyslog日志,如tail /var/log/message.
3)、文件系统完整性检查的基本步骤有哪些?该功能可以应用在什么场景下?
tripwire是一个非常优秀的审查文件系统完整性的工具,通过配置,tripwire能审查指定文件是否发生变化,从而为系统是否被入侵提供判断依据。tripwire主要包括4个步骤:第一个步骤“生成基线数据库”用于生成需要检查的文件的快照,
这个步骤一般在系统安全完成后,确认没有发生入侵行为之前进行;第二个步骤“完整性检查”用于将需要检查的文件的快照与保存的快照进行对比,发现文件变化,生成报告;第三个步骤“查看报告”用于显示第二个步骤的检查报告;第四个步骤“更性基线数据库”用于调整存放的文件快照,以适应系统文件的正常变化,防止误报。
因为大多数的操作系统入侵都会发生文件系统的变化,所以检查文件系统的完整性是判断操作系统是否被入侵的非常有效的手段。即可以应用在需要判断操作系统是否被入侵时
3. 实验体会
经过前两次的实验,本次实验过程自己能明显感觉到对实验清楚明白了。在安装服务出现问题时不会像第二次实验一样不知所措,而是直接修改/etc/resolv.conf文件,知道可以使用cat /etc/passwd命令查看有哪些用户及其主目录。知道通过useradd添加用户,groupadd添加组,passwd设置密码。
使用chown a(用户名).b(组名)c(目录),可以设置目录c 的属主为用户a,用户a所属的组为组b。使用chmod x(数字) 目录(b),可以修改目录b的权限为数值x。
启动一个服务可以使用命令service 服务名 start,使用ssh服务用别的用户登录远程服务器时的命令是:ssh 用户名@ip。ssh服务的安装命令为:apt-get install openssh-server。
touch命令用来改变文件的时间属性,包括访问时间、修改时间。用法:touch [选项] 文件名。如果没有这个文件将会创建一个。
选项:-a改变访问时间
-d, —date=STRING,使用STRING所指定的时间而不是当前时间。
可以使用ls -lu命令,查看文件访问时间。用法:ls -lu 文件名。(好像没写完,粘不上了了)