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上的程序运行起来:

Linux课题实践一的更多相关文章

  1. Linux课题实践五——字符集总结与分析

    Linux课题实践三——字符集总结与分析 20135318  刘浩晨 字符是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等.字符集是多个字符的集合,字符集种类较多,每个字符集包含的字 ...

  2. Linux课题实践三——程序破解

    2.3   程序破解 20135318 刘浩晨 1.     掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即“空指令”.执行到NOP指令时,CPU什么也不做,仅仅当做一 ...

  3. Linux课题实践四——ELF文件格式分析

    2.4   ELF文件格式分析 20135318 刘浩晨 ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文件(目 ...

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

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

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

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

  6. 实践一:Linux基础实践

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

  7. Linux及安全——Linux基础实践

    Linux及安全——Linux基础实践 一.实践一:掌握软件源的维护方法,配置系统使用教育网内的软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 1.软件源的维护方法 Ubuntu的软件 ...

  8. Linux基础实践

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

  9. [转帖]Linux 下实践 VxLAN:虚拟机和 Docker 场景

    Linux 下实践 VxLAN:虚拟机和 Docker 场景 https://www.cnblogs.com/bakari/p/11264520.html 实践了下 没问题 作者写的很perfect ...

随机推荐

  1. 实验吧web解题记录

    自以为sql注入掌握的还是比较系统的,然而,做了这些题之后才发现,大千世界无奇不有,真是各种猥琐的思路...还是要多学习学习姿势跟上节奏 登录一下好吗?? http://ctf5.shiyanbar. ...

  2. SQL 加载

    首先新建表 第一张表 order_info 第二张表 user_info 登录mysql mysql -u root -p 在开始加载数据之前配置编码 查看默认编码 show variables li ...

  3. 【Java多线程】ReentrantReadWriteLock

    概述 ReentrantReadWriteLock是Lock的另一种实现方式,ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWriteLock允许多个 ...

  4. luogu P4146 序列终结者

    嘟嘟嘟 这是一道splay基础题. 最坑的一点是,因为有些节点可能没有左儿子或右儿子,所以必须把t[0].Max赋成-INF! 因为这个调了半天,看来回头复习复习splay是对的-- #include ...

  5. Recurrences UVA - 10870 (斐波拉契的一般形式推广)

    题意:f(n) = a1f(n−1) + a2f(n−2) + a3f(n−3) + ... + adf(n−d), 计算这个f(n) 最重要的是推出矩阵. #include<cstdio> ...

  6. gitlab 使用流程

    gitlab 使用流程 1. 开发人员写代码,开发产品. 2. 测试人员进行测试,如果发现bug, 填写 Issues - List - new issus 3. 开发人员修复bug, 从master ...

  7. 1.9 Android程序签名打包

    本节引言: 本节给大家介绍的是如何将我们的程序打包成Apk文件,并且为我们的Apk签名! 1.什么是签名,有什么用: Android APP都需要我们用一个证书对应用进行数字签名,不然的话是无法安装到 ...

  8. esp8266(2) 智能配置

    http://www.arduino.cn/thread-46594-1-1.html http://blog.csdn.net/sadshen/article/details/47049129 ht ...

  9. PCB (5) 创建自己的原件库

    创建如何创建 创建原理图元器件库 创建器件原理图 创建器件PCB 如何创建器件PCB 1自己画 2修改现有 3联合PCB和原理图 1创建原理图元器件库 2创建器件原理图 画图形 从其他复制修改原理图 ...

  10. PAT A1124 Raffle for Weibo Followers (20 分)——数学题

    John got a full mark on PAT. He was so happy that he decided to hold a raffle(抽奖) for his followers ...