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主机建立连接
输入iceweasel,可以启动