Linux课题实践一
Linux课题实践一
20135318 刘浩晨
1.1应用安装
(1)掌握软件源的维护方法,配置系统使用软件源镜像
删除过期或者重复的软件包;进入”系统设置“-”软件和更新”-”ubuntu软件“-“下载自…“-”其他站点“-”选择下载服务器“(一般使用163、sohu等)然后进行认证,然后关闭,选择”重新载入“然后自动下载即可
手动配置软件源镜像:首先备份源地址列表文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.old,然后进行修改:sudo gedit /etc/apt/sources.list
gedit /etc/apt/sources.list,复制源链接:
deb http://mirrors.163.com/ubuntu/ trusty main multiverse restricted universe
deb http://mirrors.163.com/ubuntu/ trusty-security main multiverse restricted
universe
deb http://mirrors.163.com/ubuntu/ trusty-updates main multiverse restricted
universe
deb http://mirrors.163.com/ubuntu/ trusty-proposed universe restricted
multiverse main
deb http://mirrors.163.com/ubuntu/ trusty-backports main multiverse restricted
universe
将其复制进入刚刚的文件夹,可以用gedit打开文件,比vi好用。
然后继续更新数据库:sudo apt-get update
(2)掌握通过软件源来查找,安装,卸载,更新软件的方法
更新数据库sudo apt-get update
查找包含部分关键字的软件包:sudo apt-cache search <你要查找的name>
安装软件:sudo apt-get install packagename
卸载软件:sudo apt-get remove packagename
升级软件包:sudo apt-get -u install packagename
1.2用户权限管理
(1)掌握Linux权限管理的概念。掌握与权限管理相关的9bit的含义与设置方法
Linux权限管理:Linux是一个多用户多任务操作系统,即可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务。为保证互不影响,Linux进行文件权限划分与管理,每个用户在权限允许的范围内完成不同的任务。
linux有0-6个级别,其中各个级别的含义如下:
0:关机。该运行级别用于系统管理员迅速关机。不能为默认的运行级别。
1:单用户模式(维护模式)。该运行级别下网络接口、文件共享等服务不能使用。
2:多用户模式。这是debian系统的默认运行级别,字符界面。
3:多用户模式。这是redhat系统的默认运行级别,字符界面。
4:自定义。一般不使用该运行级别。
5:多用户模式。提供GUI界面。。
6:重启。该运行级别用于系统管理员重启系统。不能为默认的运行级别。
简单来看,0是关机;6是重启;1是维护模式,提供有限的功能;2是字符界面的debian系统;3是字符界面的redhat系统;4不常用;5是GUI界面的系统。ubuntu系统下,运行级别2-5提供的服务是一样的,即2-5级别没有差别,所以ubuntu系统下0表示关机,1表示维护模式,2-5表示GUI界面的系统,6表示重启系统。
init是Linux系统操作中不可缺少的程序之一。 所谓的init进程,是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。
9bit含义及设置方法:
首先,Linux中文件的拥有者可以把文件的访问属性设成3种不同的访问权限:可读(r)、可写(w)和可执行(x)。文件又有3个不同的用户级别:文件拥有者(u)、所属的用户组(g)和系统里的其他用户(o)。
第一个字符显示文件的类型。
“-”表示普通文件。
“d”表示目录文件。
“l”表示链接文件。
“c”表示字符设备。
“b”表示块设备。
“p”表示命名管道,比如FIFO文件(先进先出)。
“f”表示堆栈文件,比如LIFO(后进先出)。
“s”表示套接字。
第一个字符之后有三个三位字符组:分别为文件拥有者(u)、文件用户组(g)、系统其他用户(o)对该文件的权限。
若该用户组对此没有权限,一般显示“-”字符。
注意:目录权限和文件权限有一定的区别。对于目录权限而言,r代表允许列出该目录下的文件和子目录,w代表允许生成和删除该目录下的文件,x代表允许访问该目录。
(2)掌握chmod、chown指令的使用
新建一个文件1
①chmod:改变文件的访问权限
格式一(符号类型修改权限):chmod [who] [+ | -| =] [mode] 文件名
[Who]: u所有者 g组成员 o其他成员 a所有人
[+ |
-| =]: =重新制定权限 -:对目前的设置减少权限 +:对目前的设置增加权限
[mode]: 表示可以执行的权限,可以是“r“(只读)、“w”(可写)和“x”(可执行),以及它们的组合。
格式二(数字类型修改权限):chmod 权限数值文件名
r、w、x权限分别被赋值,r=4,w=2,x=1。每个身份的数值累加然后合并。
②chown:修改文件所有者和组别
格式:chown [参数]<用户名>(:<用户组名称>)<文件名>
参数:-R:递归改变目录的拥有者
-f:不显示拥有者的详细信息
(3)掌握用户与用户组的维护方法
更改root用户方法:sudo su
创建用户:useradd 用户名
创建组:groupadd 组名
grep 组名 存放地址(/etc/group)
删除用户:userdel 用户名
删除组:groupdel 组名
设置密码:passwd 用户名
(4)修改开机脚本或编写脚本
理解知识:
- ubuntu启动过程:
内核启动init;
init找到/etc/event.d/rc-default文件,确定默认的运行级别(X);
触发相应的runlevel事件,开始运行/etc/event.d/rcX;
rcX运行/etc/init.d/rc,传入参数X;
/etc/init.d/rc脚本进行一系列设置,最后运行相应的/etc/rcX.d/中的脚本;
/etc/rcX.d/中的脚本按事先设定的优先级依次启动,直至最后给出登录画面(启动X服务器和GDM)。
- rcN.d目录和init.d目录
每个运行级别在/etc下都对应一个rcN.d目录,N的范围是0-6。系统启动时,根据默认的运行级别执行相应rcN.d目录下的服务。为了管理方便,该目录下所有的服务实际是软链接到/etc/init.d目录下相应的脚本文件。由init.d目录下的脚本文件完成服务的启动和关闭功能。rcN.d目录下文件的格式为:[SK]NNname。S表示启动该服务,K表示关闭该服务;NN表示启动顺序号,最小的数字最先被启动,最大的数字最后被启动。name表示服务名称。
实际操作:
- 用命令runlevel查看运行级别(上次和当前),init修改运行级别:
- 设置默认运行级别
ubuntu系统在/etc/init/rc-sysinit.conf文件中指定了默认运行级别。用户可以自己创建/etc/inittab文件,并设置默认运行级别,这样系统优先使用/etc/inittab中指定的默认运行级别。
进入文件后,找到第14行,会看到 evn DEFAULT_RUNLEVEL=2,这条语句的意思是指系统当前启动后runlevel是2。所以在这里可以将数字修改一下,就可实现切换用户模式的基本操作了。
- 删除某开机自启动文件,可用指令:
sudo update-rc.d –f xxx remove(其中xxx是文件名中除了S和K以外的非数字部分)
- 添加开机自启动文件
首先要在/etc/init.d文件夹下编写一个新的脚本文件,本例中,脚本文件名为新建立的脚本文件权限为rw–r - - r - -
然后给脚本文档设置权限:sudo chmod u+x,g+x,o=rx lhcJB或sudo chmod 755 lhcJB
输入命令行:sudo update-rc.d lhcJB defaults 98( 98为启动顺序)
将脚本的路径写入/etc/init.d/rc.local中
执行成功:
l 卸载开机自启动文件:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
(5)理解并修改环境变量
方法一:直接命令行修改,重新启动后会消失。
方法二:修改~/.profile,添加export PATH=$PATH:/home/1。此方法只对该用户生效。
方法三:修改/etc/profile,添加export PATH=$PATH:/home/1。此方法对所有用户生效。
1.3 基本服务SSH
(1)正确安装SSH服务,并理解配置文件
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
安装SSH:sudo apt-get install openssh-server;输入:sudo /etc/init.d/ssh start。表示验证成功启动,如图:
进入ssh 配置文件:vi /etc/ssh/ssh_config:
注释:
Host *
选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。
“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。
“ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY
set)。
“RhostsAuthentication”设置是否使用基于rhosts的安全验证。
“RhostsRSAAuthentication”设置是否使用用RSA算法的基于rhosts的安全验证。
“RSAAuthentication”设置是否使用RSA算法进行安全验证。
“PasswordAuthentication”设置是否使用口令验证。
“FallBackToRsh”设置如果用ssh连接出现错误是否自动使用rsh。
“UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。
“BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。
“CheckHostIP”设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。
“StrictHostKeyChecking”如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密匙发生了变化,就拒绝连接。
“IdentityFile”设置从哪个文件读取用户的RSA安全验证标识。
“Port”设置连接到远程主机的端口。
“Cipher”设置加密用的密码。
“EscapeChar”设置escape字符。
(2)用命令行启动或停止相应服务,并从测试可正常从远程接入
sudo /etc/init.d/ssh start开启服务;
使用ifconfig查询linux虚拟机IP,设置虚拟机与主机在同一网段内,可以ping通:
在主机中使用ssh服务(本例中使用windows8.1 中的putty软件接入)
输入虚拟机账号和密码,接入虚拟机:
(3)利用用户名/密码与证书分别实现身份验证
用户名/密码身份认证即前面测试接入
证书实现身份验证:
运行puttygen.exe生成密钥对:
将私钥保存到本地,复制公钥内容写入远程主机内:vim ~/.ssh/authorized_keys
修改/etc/ssh/sshd_config配置文件,去掉下面两行注释:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存修改,退出连接。再次连接时,选择 连接->SSH->认证,选择保存在本地的私钥文件。成功连接:
(4)使用WinSCP客户端连接并进行文件传输
成功传输文件:
(5)Windows中的PUTTY可运行XWindows程序
下载安装Xming,后台运行。
配置putty,勾选Enable X11 forwarding
然后使用putty的ssh与linux主机建立连接
在登录的ssh的shell中输入gedit或者firefox即可在windows上看到linux上的程序运行起来: