lesson - 1 - IP /DNS /cat !$ /putty 知识扩充

1、知识点扩充
1.嵌入式Linux 开发与运维 、安卓手机  、
    Linux真正的用武之地是蓬勃发展的信息接入设备市 场。这些新兴的设备只有有限的内存,价格也只有几百美圆,所以开发者须要新的操做 系统来代替像Windows这样昂贵、臃肿的操做系统。而Linux具备的短小、可定制、对Internet 极好的兼容性和低价特性使它成为这一领域的最佳选择。正是因为这一缘由,软件开发 商已经推出了能够在手机、Palm装置甚至汽车上运行的Linux版本。
此外,Linux还很是适合于各类专用计算机,例如收银机 和其余专用终端等。在这些应用领域,Linux是一个廉价、连网性能好且能替代Windows 等通用操做系统的替代品。
  
2.回环网址
    :IPv6的回环地址是 0:0:0:0:0:0:0:1,至关于IPv4中的127.0.0.1
    主要做用有两个:一是测试本机的网络配置,能PING通127.0.0.1说明本机的网卡和IP协议安装都没有问题;
                                另外一个做用是某些SERVER/CLIENT的应用程序在运行时需调用服务器上的资源,通常要指定SERVER的IP地址,
                                但当该程序要在同一台机器上运行而没有别的SERVER时就能够把SERVER的资源装在本机,SERVER的IP地址设为127.0.0.1一样也能够运行。
本地回环地址指的是以127开头的地址(127.0.0.1 - 127.255.255.254),一般用127.0.0.1来表示。
 
3.什么是DNS
每一个IP地址均可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就好了。这就是DNS协议所要完成的功能。
主机名到IP地址的映射有两种方式:
1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护本身的映射表,并且只供本设备使用;
2)动态映射,创建一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上须要使用主机名通讯的设备,首先须要到DNS服务器查询主机所对应的IP地址[1] 
经过主机名,最终获得该主机名对应的IP地址的过程叫作域名解析(或主机名解析)。在解析域名时,能够首先采用静态域名解析的方法,若是静态域名解析不成功,再采用动态域名解析的方法。能够将一些经常使用的域名放入静态域名解析表中,这样能够大大提升域名解析效率。
 
4.cat !$  
 最近还找到一种快速回退上一条历史的一些小技巧,暂记录之。
    一、 除了方向键上,还能够用“!!”表明上一条输入的命令,用这个的好处在于能够将这两个字符放在命令行任何位置以便于构成新的命令。
    例如:
    $./some-shell-command
    $cat !!
    则后一条命令就至关于cat ./some-shell-command,这样作比先按方向键上回退一条命令,而后定位到开始,插入cat要快捷得多。
    二、 除了!!,!$表明得是上一条命令中最后一个parameter,这是个更有用的变量,例如:
    $ls /some-path-to-a-directory
    $cat !$/some-file.txt
    若是some-path-to-a-directory不幸为一个很是长的路径的时候,使用!$刚好就能省去输入这个超长路径的麻烦,这条命令实际 上就至关于cat  /some-path-to-a-directory/some-file.txt
    三、 !str表明以历史命令中最近一条以str开头的命令。
    好比!ssh 就是最后一次执行ssh的命令
    四、 !?str?表明历史命令中最近一条包含str的命令。
    五、 !n和!-n,前者表明history命令显示出来前面的条目数为n的那条命令,后者表明当前命令条目数减去n的那条命令,例如!-3就表明3 条前的那个命令。
对比起来,1和2是至关实用的,剩下3条记得住就用,记不住也无妨了。
 $# 是传给脚本的参数个数
 $0 是脚本自己的名字
 $1 是传递给该shell脚本的第一个参数
 $2 是传递给该shell脚本的第二个参数
 $@ 是传给脚本的全部参数的列表
 $* 是以一个单字符串显示全部向脚本传递的参数,与位置变量不一样,参数可超过9个
 $$ 是脚本运行的当前进程ID号
 $? 是显示最后命令的退出状态,0表示没有错误,其余表示有错误
 
 
5.putty、secureCRT  、xshell
     设置密钥私钥
 http://www.vpser.net/security/linux-ssh-authorized-keys-login.html
    
. 配置Linux中的ssh
[root@Centos1 ~]#  mkdir /root/.ssh                                                   #建立.ssh隐藏目录
[root@Centos1 ~]#  chmod 700 /root/.ssh/                                        #将.ssh目录权限修改成700
[root@Centos1 ~]#  vim /root/.ssh/authorized_keys                            #在.ssh目录下建立公钥文件
将本地的公钥文件里的密码复制到authorized_keys内
[root@Centos1 ~]#  chmod 600 /root/.ssh/authorized_keys                #将公钥文件权限修改成600
[root@Centos1 ~]#  service sshd restart                                              #重启sshd服务
[root@Centos1 ~]#  vim /etc/selinux/config                                        #关闭selinux防火墙
………………………………/省略
SELINUX= disabled                                                                              #将enforcing修改成disabled 
………………………………/省略
    
  暂时关闭selinux:setenforce 0:  永久性关闭: vi /etc/linux/config selinux=disable   (ssh 登录,密钥登录)
  去除防火墙规则: iptables -F   保存防火墙规则: /etc/init.d/iptables save
 
6.SElinux
    SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有彻底的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC状况下没人能阻止他。SELinux提供了比传统的UNⅨ权限更好的访问控制
     
fedora core 2开始, 2.6 内核的版本都支持se linux.咱们看看 Fedora core 5 里的/etc/sysconfig/selinux标准设定吧。
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
#SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
SELINUX有「disabled」「permissive」,「enforcing」3种选择。
Disabled就不用说了,permissive就是Se linux有效,可是即便你违反了策略的话它让你继续操做,可是把你的违反的内容记录下来。在咱们开发策略的时候很是的有用。
至关于Debug模式。
Enforcing就是你违反了策略,你就没法继续操做下去。
SELINUXTYPE呢,如今主要有2大类,一类就是 红帽子开发的targeted,它只是对于,主要的 网络服务进行保护,好比 apache,sendmail,bind,postgresql等,不属于那些domain的就都让他们在unconfined_t里,可导入性高,可用性好可是不能对总体进行保护。
另外一类是Strict,是NAS开发的,能对整个系统进行保护,可是设定复杂,我认为虽然它复杂,可是一些基本的会了,仍是能够玩得动的。
咱们除了在/etc/sysconfig/se linux设它有效无效外,在启动的时候,也能够经过传递参数selinux给 内核来控制它。(Fedora 5默认是有效)
kernel /boot/vmlinuz-2.6.15-1.2054_FC5 ro  root=LABEL=/ rhgb quiet se linux=0
上面的变动可让它无效。
[ root@python sysconfig]# /usr/sbin/getenforce
Enforcing
确认有效后从新对文件系统赋予标签:
[ root@python sysconfig]# /sbin/fixfiles relabel
或者
[ root@python /]# touch /.autorelabel
而后 reboot,你就在secure的Linux环境下工做了。
相关文章
相关标签/搜索