zoukankan      html  css  js  c++  java
  • 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上的程序运行起来:

     

  • 相关阅读:
    JAVA视频网盘分享
    IntelliJ IDEA 2016 完美破解+汉化补丁
    献给java求职路上的你们
    java集合类
    MyEclipse编码设置
    国内外有名的java论坛
    百度编辑器ueditor的简单使用
    工厂模式
    Java静态工厂的理解
    git clone index-pack failed
  • 原文地址:https://www.cnblogs.com/lhc-java/p/5550239.html
Copyright © 2011-2022 走看看