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  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级别定义如下:

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

 – Single,单用户模式。

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

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

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

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

 – 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

出现可视化界面

Linux及安全——Linux基础实践的更多相关文章

  1. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  2. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  3. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

  4. Linux基础实践

    Linux基础实践 1.1 应用安装 要求:掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法 备份原地址列表文件:sudo cp /etc/apt/sou ...

  5. Linux中sed的用法实践

    Linux中sed的用法实践 参考资料:https://www.cnblogs.com/emanlee/archive/2013/09/07/3307642.html http://www.fn139 ...

  6. 【Linux系列】Linux基础知识整理

    Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...

  7. linux服务器开发一 基础

    注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个 ...

  8. jprofiler_监控远程linux服务器的JVM进程(实践)

    几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...

  9. linux基础-第十四单元 Linux网络原理及基础设置

    第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ...

随机推荐

  1. 关于Redis持久化

    Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件) RDB持久化方式是在一个特定的间隔保存某个时间点的一个数据快照. AOF(Append only file)持久化方式则会记 ...

  2. Jquery DataTables相关示例

    一.Jquery-DataTables DataTables 是jquery的一个开源的插件.它具有高度灵活的特性,基于渐进增强的基础,可以为任何表格添加交互.它特性如下: 提供分页,搜索和多列排序: ...

  3. oracle的增删改查语句

    创建一个表: cteate table 表名(列1 类型, 列2 类型);查看表结构 desc表名添加一个字段 alter table 表名 add(列类型);修改字段类型 alter table 表 ...

  4. hibernate一对一关系实现

    按照主键映射,按照外键映射 Address.hbm.xml: <?xml version="1.0"?><!DOCTYPE hibernate-mapping P ...

  5. c#的序列化与反序列化

    这是反序列化的代码 using System.Runtime.Serialization.Json; public static T deserialize<T>(String s) { ...

  6. 记一次Web应用CPU偏高

    LZ开发的一个公司内部应用供查询HIVE数据使用.部署上线后总是会出现CPU偏高的情况,而且本地测试很难重现.之前出现几次都是通过直接重启后继续使用,因为是内部使用,重启一下也没有很大影响(当然,每次 ...

  7. HADOOP cluster some issue for installation

    给namenode搭建了HA,然后根据网上的配置也配置了secondary namenode, 但是一直没有从日志中看到启动secondnary namenode,当然进程也没有. 找了很多资料,按照 ...

  8. Snowflake weakness and type2 fact table

    DimProduct DimSubcategory Dimcategory productpk subcategorypk categorypk sku subcategoryName categor ...

  9. 数据库配置文件 conf.properties

    #数据库配置 #mysql hibernate.dialect =org.hibernate.dialect.MySQLDialect jdbc.driverClassName =com.mysql. ...

  10. WEB安全--Google Hacking

    通常我们用Google查询一些我们测试站点的一些信息,Google提供了一系列的搜索语句,下面我为大家详细的介绍一下! 常用语法: site:指定域名 intext:正文中存在关键字的网页 intit ...