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)掌握chmodchown指令的使用

新建一个文件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客户端连接并进行文件传输

 

成功传输文件:

 

5Windows中的PUTTY可运行XWindows程序

下载安装Xming,后台运行。

配置putty,勾选Enable X11 forwarding

 

然后使用putty的ssh与linux主机建立连接 

在登录的ssh的shell中输入gedit或者firefox即可在windows上看到linux上的程序运行起来:

 

posted on 2016-05-07 16:59  20135318刘浩晨  阅读(883)  评论(0编辑  收藏  举报