Linux及安全——Linux基础实践

Linux及安全——Linux基础实践

一、实践一:掌握软件源的维护方法,配置系统使用教育网内的软件源镜像。掌握通过软件源来查找,安装,卸载,更新软件的方法。

1.软件源的维护方法

Ubuntu的软件源列表存放在/etc/apt/sourcers.list,为了安全起见,我们在对源文件进行操作之前,先将软件源备份。

打开终端,输入命令

sudo cp /etc/apt/sources.list/ etc/apt/backup_sources.list

即把软件源备份的文件backup_sources.list存放在apt文件夹中

接下来,我们升级软件源,输入命令

sudo apt-get update

该命令用于对软件源进行更新,系统将自动从网上寻找资源并且下载。

升级软件版本,输入命令

sudo apt-get update &&sudo apt-get upgrade

查看源列表,输入命令

sudo gedit /etc/apt/sources.list

从上图可以看出,这个文件由注释和软源地址两部分组成。软件源的作用就是让系统自动在这些网址搜索所需软件,我们可以理解为使用apt-get命令就是linux平台下的一个软件商店,而软件源就是我们要下载的软件,其下载文件所在的目录。

2.配置系统使用教育网内的软件源镜像

 常用的校内更新源

#电子科技大学

deb http://ubuntu.uestc.edu.cn/ubuntu/ natty main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu/ natty-backports main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu/ natty-proposed main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu/ natty-security main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu/ natty-updates main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu/ natty main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu/ natty-backports main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu/ natty-proposed main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu/ natty-security main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu/ natty-updates main restricted universe multiverse

#中国科技大学

deb http://debian.ustc.edu.cn/ubuntu/ natty main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ natty-backports restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ natty-proposed main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ natty-security main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ natty-updates main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ natty main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ natty-backports main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ natty-proposed main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ natty-security main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ natty-updates main restricted universe multiverse

#北京理工大学

deb http://mirror.bjtu.edu.cn/ubuntu/ natty main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ natty-backports main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ natty-proposed main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ natty-security main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ natty-updates main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ natty main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ natty-backports main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ natty-proposed main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ natty-security main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ natty-updates main multiverse restricted universe

#兰州大学

deb ftp://mirror.lzu.edu.cn/ubuntu/ natty main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ natty-backports main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ natty-proposed main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ natty-security main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ natty-updates main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu-cn/ natty main multiverse restricted universe

#上海交通大学

deb http://ftp.sjtu.edu.cn/ubuntu/ natty main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ natty-backports main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ natty-proposed main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ natty-security main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ natty-updates main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu-cn/ natty main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ natty main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ natty-backports main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ natty-proposed main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ natty-security main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ natty-updates main multiverse restricted universe

其中第一部分DebType表示Deb软件包类型

  • deb表示二进制软件包
  • deb-src表示源码包

第二部分Address Type表示访问地址类型,常用类型有:http,ftp,file,cdrom等等

第三部分Distribution表示Ubuntu的各个发行版本,例如dapper,feisty。

第四部分Compomet表示软件包组件类别,是由技术支持程度不同而划分的类型,可选择main,restricted,universe和multisive中的一种或多种,一般使用main。

 (1)方法一:自动配置

点击Ubuntu系统右上角的菜单

单击软件更新,出现“更新管理器”界面,单击左下方的设置,出现“软件源”菜单,选择后两个选项

单击“添加”按钮,在新窗口的输入框中添加软件源,如下图添加:

deb http://debian.ustc.edu.cn/ubuntu/ natty main restricted universe multiverse

(2)方法二:手动配置

在终端中输入以下命令打开软件源文件sources.list并编辑

sudo gedit /etc/apt/sources.list

在文件中粘贴新的源地址

保存退出,在终端中输入以下命令,更新源信息

sudo apt-get update

3.掌握通过软件源来查找,安装,卸载,更新软件的方法

(1)查找包含部分关键字的软件包

sudo apt-cache search packagename

以skype软件为例

(2)安装软件

sudo apt-get install packagename

(3)卸载软件

sudo apt-get remove packagename

(4)升级软件包

sudo apt-get -u install packagename

因为是最新安装的软件包,尚且无法升级。

 

二、实践二:掌握Linux权限管理的概念。掌握与权限管理相关的9bit的含义与设置方法。掌握chmod,chown指令的使用。掌握用户与用户组的维护方法。修改开机脚本或编写脚本。理解并修改PATH环境变量。

1.Linux权限管理的概念

Linux相比于Windows是一个多用户多任务操作系统,即可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务。为保证互不影响,Linux进行文件权限划分与管理,每个用户在权限允许的范围内完成不同的任务。用户权限分为读,写和执行三种。一般文件只有读写权限,可执行文件增加了执行权限。

2.与权限管理相关的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代表允许访问该目录。

3.chmod,chown指令的使用

(1)chmod

作用:改变一个或多个文件的存取模式

<1>用包含字母和操作符表达式的文字设定法 

格式:chmod [who] [opt] [mode] 文件/目录名 

其中who表示对象,是以下字母中的一个或组合:

u:表示文件所有者 
g:表示同组用户 
o:表示其它用户 
a:表示所有用户 
opt则是代表操作,可以为: 
+:添加某个权限 
-:取消某个权限 
=:赋予给定的权限,并取消原有的权限 

而mode则代表权限:

r:可读 
w:可写 
x:可执行

例如:编写一个简单地脚本文件test.sh,因为脚本文件不能直接执行,只能dash test.sh来执行指令,因为test.sh没有执行权限而dash有。这里我们可以测试chmod指令,为test.sh增加执行权限之后,就可以直接执行test.sh了。

直接执行./test.sh,权限不够

使用chmod命令,输入如下命令,再输入./test.sh,可以执行

chmod u+rwx test.sh

<2>用数字设定法 

格式:chmod [mode] 文件名 

mode的取值:

我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:

111 101 100

再将其每三位转换成为一个十进制数,就是754。

如上图所例,输入命令ls -l查看其9bit时,为:

rwx rw- r--

就可以表示为111 110 100

转换成十进制数就是764

所以我们执行命令:

chmod 764 test.sh

4.用户与用户组的维护方法

更改root用户方法

sudo su

创建用户

useradd 用户名

cat /etc/passwd(在 /etc/passwd 文件中增添了一行记录)

创建组

groupadd 组名

grep 组名 存放地址(/etc/group)

删除用户

userdel 用户名

删除组

groupdel 组名

设置密码

passwd 用户名

5.修改开机脚本或编写脚本

 (1)进入/etc/init文件夹,在其中找到rc-sysinit.conf文件,用root权限打开(此处如果不用root权限,则为只读模式,无法进行编辑)

 

输入如下命令:

 

打开文件后,找到第14行,会看到env DEFAULT_RUNLEVEL=2

这条语句的意思是指系统当前启动后runlevel是2,在这里可以将数字修改一下,就可实现切换用户模式的基本操作了。

Ubuntu的runlevel级别定义如下:

0 – Halt,关机模式。不能将系统缺省运行级别设置为0,否则无法启动。

1 – Single,单用户模式。

2 - Full multi-user with display manager (GUI)。

3 - Full multi-user with display manager (GUI)。

4 - Full multi-user with display manager (GUI)。

5 - Full multi-user with display manager (GUI)。

6 – Reboot,重启。不能将系统缺省运行级别设置为6,否则会一直重启。

可以发现2~5级是没有任何区别的。他们为多用户模式

(2)修改/etc/rc2.d/Sxxgdm 为 /etc/rcx.d/Kxxgdm

可用命令:

sudo mv Sxxgdm Kxxgdm

 (3)删除某开机自启动文件,可用指令

sudo update-rc.d –f xxx remove(其中xxx是文件名中除了S和K以外的非数字部分)

6.理解并修改PATH环境变量

环境变量是提供给系统及用户应用程序使用的一些值,比如系统目录位置、临时文件目录等。

这里把/etc/apache/bin目录添加到PATH中为例,方法如下: 

(1)#PATH=$PATH:/etc/apache/bin

使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效 

(2)#vi /etc/profile

在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)


这种方法最好,除非手动强制修改PATH的值,否则将不会被改变 

三、实践三:正确安装SSH服务,并理解配置文件。用命令行启动或停止相应服务,并从测试可正常从远程接入

 1.安装SSH服务,并理解配置文件

使用apt-get命令安装SSH服务器

sudo apt-get install openssh-server

开启SSH服务

2.用命令行启动或停止相应服务,并从测试可正常从远程接入

输入命令,启动服务

service ssh status

输入命令,终止服务

service ssh stop

更改允许root登录权限:

在主机或其他终端中使用ssh服务(本例中使用windows中的putty软件接入)

连接成功:

四、实践四:利用用户名/密码 与 证书 分别实现身份验证

将之前使用putty登陆的IP地址保存,再次点击登录是失败的,我们安装证书之后就可以不用输入密码,登陆成功了。

首先,在终端中输入命令:

ssh-keygen –t rsa

然后直接回车-回车-回车

然后,再~.ssh/就会生成id_rsa,id_rsa.pub这个两个文件

使用cat指令,将公钥信息拷贝至.ssh/authorized_keys 内,使其在WinSCP中可见

COPY出来这两个文件,在WIN下面生成PPK文件,便可以用来认证登陆;

打开WinSCP,打开左下角的工具,运行PuTTYgen

打开file-Load Private Key,选择所有文件,选择id_rsa文件,

选择Save private key

填写文件名,保存私钥

在WinSCP的登录界面,点击编辑,高级,验证

密钥文件中选择刚刚生成的私钥文件

点击保存,然后登录,这回就可以自动登录

五、实践五:使用WinSCP客户端连接并进行文件传输;Windows中的PUTTY可运行XWindows程序

1.使用WinSCP客户端连接并进行文件传输

使用WinSCP传输文件,将我编写的test.sh拷贝到windows桌面

2.Windows中的PUTTY可运行XWindows程序

安装Xming-6-9-0-31-setup.exe,双击图标打开软件,在后台运行。

然后配置putty,勾选Enable X11 forwarding

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

在登录的ssh的shell中输入iceweasel=即可在windows上看到linux主机上的浏览器在windows上运行了

 输入ls,运行加密文件gedit id_rsa

 

出现可视化界面

 

 

 

 

 

 

 

posted @ 2016-04-25 23:53  bonjourvivi  阅读(1058)  评论(0编辑  收藏  举报