Linux实验指导书-2014.doc
《Linux实验指导书-2014.doc》由会员分享,可在线阅读,更多相关《Linux实验指导书-2014.doc(47页珍藏版)》请在冰点文库上搜索。
![Linux实验指导书-2014.doc](https://file1.bingdoc.com/fileroot1/2023-5/7/6cac23d6-9f06-41de-84b6-4bc885341ad9/6cac23d6-9f06-41de-84b6-4bc885341ad91.gif)
Linux应用基础
实验指导书
湖南理工学院
信息与通信工程学院
2014.4
69
目录
实验一Linux基本命令 1
实验二文本编辑器 3
实验三文件权限管理 4
实验四用户和组的管理 6
实验五网络接口配置 8
实验六服务器配置与管理-FTP 10
实验七服务器配置与管理-Samba 13
实验八shell编程 17
实验九Linux系统安装与启动 20
实验十基本磁盘管理 22
实验十一进程管理 26
实验十二编译器和调试器 28
实验十三服务器配置与管理-远程访问 30
实验十四服务器配置与管理-NFS 32
实验十五服务器配置与管理-Web 34
实验十六服务器配置与管理-虚拟主机 37
实验十七服务器配置与管理-E-mail 39
实验十八服务器配置与管理-DHCP 42
实验十九服务器配置与管理-DNS 44
实验一Linux基本命令
一、实验目的
1.熟悉Linux操作环境。
2.掌握Linux一般命令格式。
3.掌握有关文件和目录操作的常用命令。
4.掌握有关进程操作的常用命令。
二、实验内容
1.熟练掌握登录和退出系统命令。
2.熟悉date,cal,who,echo,clear,passwd,man等命令。
3.在用户主目录下对文件进行如下操作:
复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除。
4.对目录进行管理:
创建和删除子目录、改变和显示工作目录、列出文件权限、建立链接文件等。
5.显示系统中的进程信息。
三、实验步骤
1.登录进入系统,打开shell环境(终端)。
2.使用date,cal,who,echo,clear等命令,了解Linux命令格式。
3.利用man命令查看date,echo等命令的帮助说明。
4.目录操作
4.1在用户默认工作目录下新建目录testdir1。
4.2在用户目录下复制testdir1为testdir2。
4.3在用户目录下删除testdir2。
5.文件操作
5.1进入用户默认工作目录。
5.2运行date>testl,然后运行cattest1,记录观察到的信息。
5.3再次运行date>testl,然后运行cattest1,记录观察到的信息。
5.4运行date>>testl,然后运行cattest1,记录观察到的信息并说明原因。
5.5复制test1为test2。
5.6查看test1和test2的文件详细信息,记录并说明其异同。
5.7统计test1文件内容的行数、字数。
5.8显示test1的内容。
5.9建立test1的链接文件test3。
5.10复制test1到上一级目录。
5.11在用户目录下删除test1,删除testdir1。
6.进程操作
6.1显示当前系统中所有进程信息。
6.2结束一个进程。
四、实验思考题
1.如何显示当前工作目录的完整路径。
2.举例说明Linux命令的常用格式。
3.举例说明如何使用Linux命令帮助。
实验二文本编辑器
一、实验目的
1.掌握vi编辑器的进入与退出方法。
2.了解文本编辑器的三种模式。
3.熟练掌握使用vi编辑器进行编辑、选择及操作文本文件的命令。
二、实验内容
1.进入和退出vi。
2.利用文件拷贝方式建立一个文件。
3.在该文件上移动光标位置。
4.对该文件内容执行删除、修改、替换等操作。
三、实验步骤
1.在当前用户默认工作目录下新建一个名为“test02”的目录。
2.将文件“/etc/rsyslog.conf”复制到“test”目录下。
3.使用vi打开“test”目录下的rsyslog.conf。
4.指出设定umask(类似于“umask0022”)的所在行号。
5.将光标移到该行,并复制该行内容。
6.将该行内容内容粘贴至最后一行。
7.撤销第6步的动作。
8.光标移到“$FileOwnersyslog”,删除该行。
9.存盘但不退出。
10.将光标移到首行,插入模式下输入“Hello,thisisviworld!
”。
11.向下查找字符串“syslog”。
12.再向上查找字符串“TCP”。
13.强制退出vi,不存盘。
四、实验思考题
1.举例说明实验中使用的命令处于何种模式下?
2.说明在vi中如何实现字符串的查找,并实现查找结果的自动换行。
3.说明在vi中如何实现行号的显示与关闭。
实验三文件权限管理
一、实验目的
1.熟悉Linux操作环境。
2.掌握Linux一般命令格式。
3.理解Linux中文件所有者和权限的概念。
4.掌握有关权限操作的常用命令。
5.掌握文件/目录的打包和压缩命令。
二、实验内容
1.普通文件与目录权限的修改。
2.改变文件属主。
3.普通文件与目录的打包和压缩。
三、实验步骤
1.文件权限操作
1.1在用户默认工作目录下创建目录test03,进入test03目录,使用touch命令创建空文件file1。
1.2显示file1详细信息,记录文件的权限信息,所属用户和组。
1.3对file1设置权限,使其他用户可以对此文件进行写操作,并查看设置结果。
1.4取消同组用户对file1的读取权限,并查看设置结果。
1.5用数字形式来为file1设置权限,使所有者可读、可写、可执行;其他用户和所属组用户只有读和执行的权限,并查看设置结果。
1.6用数字形式更改file1权限,使所有者只能读取此文件,其他任何用户都没有权限,并查看设置结果。
1.7为其他用户添加写权限,并查看设置结果。
1.8回到上层目录,查看test03的权限。
1.9为其他用户添加对此目录的写权限,查看设置结果。
1.10查看并记录目录test03及其中文件的所属用户和组。
1.11把目录test03及其下的所有文件的所有者改成bin,所属组改成daemon,并查看设置结果。
1.12删除目录test03及其下的文件。
1.13设定umask为000($umask000),创建testdir目录,并查看其权限。
2.打包压缩命令操作
2.1将/etc目录拷贝到用户默认工作目录下,重命名为etctest。
2.2用tar命令将etctest目录打包成etctest.tar.gz,查看etctest.tar.gz的权限,解压缩etctest.tar.gz。
四、实验思考题
1.列举ls命令不同选项的功能。
2.说明文件权限和文件所有者的含义。
3.举例说明umask命令的功能。
4.说明后缀名为tar.gz和tar.bz2的文件的压缩和解压命令。
实验四用户和组的管理
一、实验目的
1.熟悉Linux操作环境。
2.掌握Linux一般命令格式。
3.熟悉命令行操作方式进行用户和用户组管理。
二、实验内容
1.建立新用户账号权限测试。
2.为新用户建立账号和工作组,并进行相应配置。
3.以该用户身份登录,修改密码。
4.删除该用户。
三、实验步骤
1.创建用户(以hnist为例)
1.1创建一个新用户hnist。
1.2查看/etc/passwd文件的最后一行内容,并记录。
1.3查看/etc/shadow文件的最后一行内容,并记录。
1.4给用户hnist设置密码。
1.5查看/etc/shadow文件的最后一行内容,记录并说明变化。
1.6使用hnist用户登录系统,测试能否登录成功。
2.创建用户(以user为例)
2.1使用1的步骤创建新用户user。
2.2更改hnist所属群组为root,更改user所属附加群组为root(参考命令useradd-g/-G)。
2.3查看/etc/passwd文件,记录hnist用户和user用户的属组情况。
2.4更改用户hnist的帐户名为user。
2.5查看/etc/passwd文件的最后一行内容,记录并说明变化。
2.6删除用户user。
3.组的管理(以stuff为例)
3.1创建一个新组,组名为stuff。
3.2查看/etc/group文件的最后一行内容,并记录。
3.3创建一个新帐户test,并将其起始组和附属组都设为stuff。
3.4查看/etc/group文件中的最后一行内容,记录并说明变化。
3.5设置stuff组密码。
3.6在stuff组中删除用户test。
3.7查看/etc/group文件中的最后一行,记录并说明变化。
3.8删除组stuff。
四、实验思考题
1.说明所属群组与所属附加群组的区别。
2.如普通用户遗失密码后要求恢复用户权限,说明root用户可能采取的方式。
3.如何指定不同用户的默认工作目录。
实验五网络接口配置
一、实验目的:
1.熟练掌握IPv4地址的配置方法。
2.熟悉TCP/IP网络配置文件常见配置。
3.熟悉常用网络命令。
二、实验内容
1.配置IPv4地址。
2.修改TCP/IP网络配置文件。
3.TCP/IP网络测试。
三、实验步骤
1.TCP/IP网络配置的三种方式
1.1使用图形化界面
1.1.1在顶部面板右侧点击网络管理器→编辑连接→有线,选择“添加”。
1.1.2选择“IPv4”,取消DHCP,选择“手动”。
1.1.3配置IP地址192.168.202.xx,子网掩码255.255.255.0,网关192.168.202.1。
1.2使用命令行界面
1.2.1设置网卡eth0的IP地址和子网掩码IP
$sudoifconfigeth0192.168.203.xxnetmask255.255.255.0
1.2.2设置网关
$sudorouteadddefaultgw192.168.203.254
1.2.3设置DNS修改/etc/resolv.conf,在其末尾添加如下两行。
nameserver192.168.203.5 :
配置主DNS服务器
nameserver219.146.0.130 :
配置辅DNS服务器
1.3手工编辑网络配置文件
1.2.1设置网络配置文件:
/etc/network/interfaces
$sudovi/etc/network/interfaces
一般情况下会看到如下两行,为本地回路设置。
autolo
ifaceloinetloopback;本地回路
1.2.2配置动态IP地址时,在其后添加如下内容。
autoeth0
ifaceeth0inetdhcp;动态IP地址
1.2.3配置静态IP地址时,在其后添加如下内容。
eth0就是计算机的网卡,如果计算机有多块网卡,则还会有eth1,eth2……,均采用类似方法设置。
autoeth0;网卡
ifaceeth0inetstatic;静态IP地址
address192.168.204.xxx;ip地址
netmask255.255.255.0;子网掩码
gateway192.168.204.1;网关
1.2.4设置DNS修改/etc/resolv.conf,在其末尾添加如下两行。
nameserver192.168.204.5 :
配置主DNS服务器
nameserver219.146.0.130 :
配置辅DNS服务器
2.禁用以太网卡
$sudoifconfigeth0down
3.启用以太网卡并重新读取配置
$sudoifconfigeth0up
4.检查eth0网卡的IP地址配置
$sudoifconfig
5.重启网络服务。
$sudo/etc/init.d/networkingrestart
五、实验思考题
1.举例说明ifconfig命令的功能。
2.如何实现主操作系统与虚拟机软件中的客户操作系统之间的IP地址访问。
实验六服务器配置与管理-FTP
一、实验目的
1.掌握FTP服务vsftpd的配置过程。
2.熟悉vsftpd服务主配置文件。
3.熟悉FTP内部命令。
二、实验内容
1.设置网络环境。
2.设置vsftpd服务启动方式。
3.配置FTP服务器。
三、实验步骤
1.配置TCP/IP网络环境
1.1配置IP地址和子网掩码为192.168.202.5/255.255.255.0,网关为192.168.202.1。
1.2网络服务重启
$sudo/etc/init.d/networkingrestart
2.vsftpd服务基本信息
2.1察看vsftpd软件包是否安装
$dpkg–lvsftpd
2.2启动vsftpd服务
$sudo/etc/init.d/vsftpdstart
2.3客户端访问“ftp:
//192.168.202.5”,测试能否登录,能否进行文件的下载与上传。
3.vsftpd服务配置
3.1vsftpd服务主配置文件/etc/vsftpd.conf的部分默认配置
anonymous_enable=YES :
允许匿名用户登录
local_enable=YES :
允许本地用户登录
write_enable=YES :
允许写入(上传文件、创建目录)(包含所有用户)
#anon_upload_enable=YES :
允许匿名用户上传文件,但已被注释掉
#anon_mkdir_enable=YES :
允许匿名用户创建目录,但已被注释掉
3.2设置允许匿名用户上传
3.3vsftpd服务重启
$sudo/etc/init.d/vsftpdrestart
3.4客户端重新访问“ftp:
//192.168.202.5”,测试能否登录,能否进行文件的下载与上传。
4.vsftpd服务用户配置
4.1新建vsftpd服务用户ftp_test,其指定工作目录为/home/ftp_test,设置用户密码,并修改工作目录权限。
$sudouseradd-mftp_test
$sudopasswdftp_test
$sudochmod755/home/ftp_test
4.2vsftpd服务重启
$sudo/etc/init.d/vsftpdrestart
4.3客户端重新访问“ftp:
//192.168.202.5”,测试能否登录,能否进行文件的下载与上传。
说明
匿名用户以ftp帐号访问FTP服务器主目录/home/ftp_test,而“/home/ftp_test”目录所属用户为ftp_test,目录权限为drwxr-xr-x,即ftp作为“其他用户”,没有写入权限,所以不能在“/home/ftp_test”目录中创建新文件和新建目录。
解决办法1:
创建一个属于ftp用户的目录
$sudocd/home/ftp_test
$sudomkdirup1 :
创建一个目录
$sudoftp:
ftpup1 :
修改目录的所属用户
$ls-all :
查看目录权限
解决办法2:
创建一个属于root用户的目录,修改目录权限为允许其他用户修改目录内容
$sudocd/home/ftp_test
$sudomkdirup2 :
创建一个目录
$sudochmod777up2 :
修改目录的权限,使“其他用户”可以修改
$ls-all :
查看目录权限
4.4客户端重新访问“ftp:
//192.168.202.5”,进入up1或up2目录,上传一个文件,能否成功?
然后再下载刚上传的文件,能否成功?
说明
查看刚上传文件的权限为-rw-------,所属用户为ftp。
进入up1或up2目录,修改刚上传的文件权限为644。
客户端重新访问“ftp:
//192.168.202.5”,此时,刚上传的文件可以进行下载操作。
解决办法
修改主配置文件/etc/vsftpd.conf,设置匿名用户创建新文件的umask为022。
在local_umask=022下面一行添加如下内容。
anon_umask=022
4.5vsftpd服务重启
$sudo/etc/init.d/vsftpdrestart
4.6客户端重新访问“ftp:
//192.168.202.5”,测试能否完成文件的下载与上传。
四、实验思考题
1.说明umask的设置值与文件权限的关系。
2.考虑如何更改ftp用户的默认路径。
实验七服务器配置与管理-Samba
一、实验目的
1.掌握Samba服务的配置过程。
2.熟悉Samba服务配置文件。
3.掌握Samba客户端的使用方法。
二、实验内容
1.设置网络环境。
2.设置Samba服务配置文件。
3.Samba客户端测试。
三、实验步骤
1.配置TCP/IP网络环境
1.1配置IP地址和子网掩码为192.168.1.200/255.255.255.0,网关为192.168.1.1。
1.2网络服务重启
$sudo/etc/init.d/networkingrestart
2.Samba服务器基本信息
2.1察看samba软件包是否安装
$dpkg–lsamba
2.2启动samba服务
$sudo/etc/init.d/smbdstart
3.samba服务器配置准备
3.1在当前用户默认工作目录下新建samba共享文件夹smb_share。
$mkdirsmb_share
3.2在samba共享文件夹smb_share下新建测试目录test_dir和测试文件test.txt
$cdsmb_share
$mkdirtest_dir
$touchtest.txt
3.2修改samba共享文件夹权限,使所有用户可读可写可运行。
$sudochmod777smb_share
3.3创建samba测试用户smb_test,不给用户赋予本机登录密码。
$sudouseraddsmb_test
3.4设置samba测试用户密码,此密码不能用于开机登录,仅在访问WIN共享文件或者WIN共享文件访问时使用。
$sudosmbpasswd–asmb_test
4.samba服务器配置
4.1备份samba服务配置文件/etc/samba/smb.conf.
$sudocp/etc/samba/smb.conf/etc/samba/smb.conf_backup
4.2编辑samba服务配置文件
$sudovi/etc/samba/smb.conf
添加内容如下。
[smbshare]
path=/home/mich/ smb_share ;即设置的samba共享文件夹目录
available=yes
browseable=yes
public=yes
writable=yes
validusers= smb_test;即添加的samba测试用户
createmask=0700
directorymask=0700
forceuser=nobody
forcegroup=nogroup
5.samba服务器本地测试
5.1重启Ubuntusamba服务器
$sudo/etc/init.d/smbdrestart
$sudoservicesmbdstatus
5.2Ubuntusamba服务器本地测试,使用命令smbclient查看并访问共享目录,格式为smbclient–L//IP地址/共享名–U用户名,实例如下
$smbclient-L\\127.0.0.1-Usmb_test
6.Samba服务器Windows操作系统客户端测试
打开网上邻居,查找Samba服务器,按照系统提示输入用户名smb_test和口令,查看共享目录,验证其是否可读写,验证其是否包含测试目录test_dir和测试文件test.txt。
7.Samba服务器图形界面操作
7.1启动samba图形管理界面
$sudosystem-config-samba
也可以选择菜单:
system->Administration->Samba
7.2配置方法和命令行操作类似,需选择要共享的目录,设置读写权限,设置访问权限,添加samba用户。
四、实验思考题
1.说明useradd命令中-g与-G选项的区别。
2说明2.2中添加的每一行的作用。
实验八shell编程
一、实验目的
1.了解shell的作用和主要分类。
2.掌握shell环境变量、管道、输入输出重定向的使用方法。
3.掌握shell脚本的建立和执行方式。
4.熟悉shell脚本的基本结构。
5.掌握shell脚本的调试方法。
二、实验内容
1.使用shell变量、位置参数和环境变量。
2.建立shell脚本并执行。
3.使用shell一般控制结构编写脚本。
4.调试shell脚本。
三、实验步骤
1.了解shell变量、位置参数和环境变量
1.1输入以下命令,记录输出结果并分析。
$dir=/root
$echo$dir
$echodir
1.2输入以下命令,记录输出结果并分析。
$readabc
$wwwhnistcn
$echo"Web:
$a.$c.$b"
2.建立简单Shell脚本文件
2.1新建Shell脚本文件test_shell_0,编辑内容如下。
cd/var/log
cat/dev/null>messages
cat/dev/null>wtmp
echo"Logscleanedup."
2.2采用多种方式运行test_shell_0脚本,记录输出结果并分析功能。
3.简单shell脚本文件改良
3.1新建shell脚本test_shell_1,编辑内容如下。
#!
/bin/bash
LOG_DIR=/var/log
cd$LOG_DIR
cat/dev/null>messages
cat/dev/null>wtmp
echo"Logscleanedup."
exit
3.2运行test_shell_1脚本,与test_shell_0对比,说明各行的作用。
4.简单shell脚本文件优化
4.1新建shell脚本test_shell_2,编辑内容如下。
#!
/bin/bash
LOG_DIR=/var/log
ROOT_UID=0
LINES=50
E_XCD=66
E_NOTROOT=67
if["$UID"-ne"$ROOT_UID"]
then
echo"M