linux基础知识小结2

1.6

复习

 gpgcheck=1

gpgkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-legacy-release

打印机 echo 打印东西|lpr

 注意用的是0.254的printers里的printer池

utp时间同步服务

找包 yum whatprovides xxx

  rpm -qf

yum源的三种发布方式ftp http nfs

做ssh密钥

vnc-server

system-config-kickstart

autofs 自动挂载 首层目录是除了pub以外的

lsmod  列出所有模块

 modprobe -a 添加模块

modprobe -r  删除 模块管理 最大的节省资源    

cd /lib/modules  里面会有模块 可以加载 so服务级 ko内科级            

启动问题

 不管什么系统先检测BIOS

grub引导 前446个字节mbr

读取/boot/grub/grub.conf

1.7

brctl show 看网卡寄生

brctl addif br0 eth0增加寄生

 ftp 改变上传的人 默认为ftp

  增加bob到ftp组

更改vsftpd/vsftpd。conf里的设置     chown 。。。。yes

                                 。。。。。。。bob

更改配置 匿名用户可上传

更改默认发布目录 权限改成755 改组 安全上下文改成ftp形式的  

里面建一个包做上传下载用 

配置文件里加一下anon_root=/test  test为发布目录 在里面有一个haha,作为上传下载所用的

selinux boor针对服务 策略安全上下文针对目录文件

先开启boor 让本地用户可以访问 然后可以设置黑白名单,在/etc/vsftpd下有永久 临时 但都是黑名单

需要该一个配置文件,之后自己建一个白名单

拒绝浏览根的问题

550服务本身不允许

2.6

**************awk sed***

echo $PATH

sudo  

配置文件的两种打开方式

 vi /etc/sudoers

 visudo 这种更好,能检查语法错误

lee   desktop15.example.com=NOPASSWD:SOFTWARE,SERVICES

  把上边这两个开启 则可以执行以上功能

 或改成=ALL 则都可以执行命令了

%group %后面加的是组

以kerberos加密方式应用ldap

讲的是命令方式配置ldap---用共有机子去登录机子上不存在的用户,即我的用户存在于服务器上,所以得验证通过

第二步要把家目录挂载下来,随时挂完之后随时就没了

记住登录密码是kerberos

方法一 :在图形界面上配置

方法二 :

[root@demo ~]# yum groupinstall -y directory-client

[root@demo ~]# yum install -y openldap-clients

[root@demo ~]# yum install -y krb5-workstation

[root@demo ~]# authconfig --enableldap --ldapserver=instructor.example.com

--enableldaptls --ldaploadcacert=ftp://instructor.example.com/pub/example-ca.crt

--ldapbasedn="dc=example,dc=com" --disableldapauth --enablekrb5

--krb5kdc=instructor.example.com --krb5adminserver=instructor.example.com

--krb5realm=EXAMPLE.COM --enablesssd --enablesssdauth --update

则ldap配置完成 之后自动启动sssd

很关键一步是getent passwd ldapuser1

记住这个路径,比如是/home/guests/ldapuser1

启动autofs服务

则需要编制两个文件 vi /etc/auto.master

写上/home/guests   /etc/auto.home

在/etc/auto.home(新建的>xieru

 /ldapuser1   192.168.0.254:/home/guests/ldapuser1(这个路径不一定,要看具体服务器共享在哪里了)

若要是所有用户则写入 * 192.168.0.254:/home/guests/&

**要保证/home/guests/ldapuser1 组成一个与 gentent passwd ldapuser1 显示的相同的路径**

shell编程

#!/bin/bash

for ip in 1 2 3 4 5 6 15

do

ping -c1 desktop$ip > /dev/null

if [ $? -eq 0 ] ; then

echo desktop$ip is up

else echo desktop$ip is down

fi

done

~

加可执行权限

./或放到/bin下

awk sed 重视重视

交互式的程序

#!/bin/bash

read -p "input your ipaddress: " ip

ping -c1 $ip  &> /dev/null

if [ $? -eq 0 ] ; then

echo $ip is up

else echo $ip is down

fi

[ *** ]里面的内容是测试用的 $?这个是上面刚输过的

非交互式的 就是输的时候用test.sh 192.168.0.254

#!/bin/bash

read -p "input your ipaddress: " ip

ping -c1 $ip  &> /dev/null

if [ $? -eq 0 ] ; then

echo $ip is up

else echo $ip is down

fi重点解释一下$1, 意思是这个脚本后面接的第一个东西

ssh链接后可以进行一个操作

diff讲解

sed 修改后重定向到一个文件,之后覆盖源文件

比如有一个lee 还有一个leel 过滤时 用grep '^lee:' /etc/passwd 则做到只过滤lee

chage可以修改用户的帐号时间 -d -E挺重要的 

2.7

gpg加密过程

gpg --gen-key

之后会有输入一个口令的图形界面,所以一定要用图形界面去做

然后晃鼠标

 gpg --list-keys

可以列出公钥XXXXXX

导出公钥: 

gpg -a -o ~/pub.key --export CA83F5AF

这个公钥叫做pub.key

将导出的公钥传给别人 scp pub.key server2.example.com:~

在别人机子上导入公钥

gpg --import pub.key

写下自己需要加密的文件echo www.westos.org! > encrypt.txt

列出公钥CA83F5F下个命令要用

加密gpg --encrypt --armor -r CA83F5AF encrypt.txt

生成一个.asc结尾的文件

发送加密文件scp encrypt.txt.asc server1.example.com:~

回到本人机子上

进行解密gpg --decrypt encrypt.txt.asc

此时会用到口令

OK 搞定

rpm包的制作过程

mkdir hello-1.0

mv hello.sh hello-1.0

tar zcf hello-1.0.tar.gz hello-1.0

mv hello-1.0.tar.gz rpmbuild/SOURCES

cd rpmbuild/SPECS

cp redhat-release.spec hello.spec

vi hello.spec

Name:           hello

Version:        1.0

Release:        1%{?dist}

Summary:        testing

Group:          testing

License:        GPL

Obsoletes:      hello

Source0:        hello-1.0.tar.gz

%description

testing

%prep

%setup -q

%build

echo OK

%install

rm -rf $RPM_BUILD_ROOT

mkdir -p $RPM_BUILD_ROOT/usr/local/bin

cp hello.sh $RPM_BUILD_ROOT/usr/local/bin

%clean

rm -rf $RPM_BUILD_ROOT

%files

%defattr(-,root,root,-)

%attr(0755,root,root)/usr/local/bin/hello.sh

%changelog

* Mon Jul 4 2011 yakexi007  <[email protected]> - 1.0-1

- Initial RPM

- Added /usr/local/bin/hello.sh

#----------------------------------------------------------------

rpmbuild -ba hello.spec--------建好包了

cd ../RPMS/x86_64

ll hello-1.0-1.el6.x86_64.rpm

做签名

gpg --gen-key 按提示填写

gpg --fingerprint

/home/student/.gnupg/pubring.gpg

--------------------------------

pub   2048R/8F3A8316 2011-07-04

      Key fingerprint = F358 0CC1 6A08 166E EEE2  FFA2 158A CCAC 8F3A 8316

uid                  yakexi007 <[email protected]>

sub   2048R/FF7B6F5B 2011-07-04

2.gpg -a -o ~/RPM-GPG-KEY-student --export 8F3A8316

3.echo "%_gpg_name 28B4B4EA" > ~/.rpmmacros

4.rpm --addsign hello-1.0-1.el6.x86_64.rpm

发布出去

yum install createrepo -y

mkdir -p /var/ftp/pub/repo/Packeages

cp hello-1.0-1.el6.x86_64.rpm /var/ftp/pub/repo/Packages

createrepo -v /var/ftp/pub/repo

cd /etc/yum.repo.d

vi test.repo

[test]

name=test

baseurl=file:///var/ftp/pub/repo

enable=1

gpgcheck=1

gpgkey=file:///home/student/RPM-GPG-KEY-student

yum install hello

3.6

上午 讲了网络监控  有一个wireshark工具 设定好监听端口 port:21就可监控ftp的

dhcp设定网络时会自动修改/etc/resolv.conf 学生考试会时要想办法锁定它

在网卡配置文件中加入 "PEERDNS=no" 或 chattr +i /etc/resolv.conf

#------------------------------------------------------------------

cd /etc/sysconfig/network-scripts

vi ifcfg-bond0

DEVICE="bond0"

BOOTPROTO="none"

IPADDR="192.168.0.119"

NETMASK="255.255.255.0"

NM_CONTROLLED="yes"

ONBOOT="yes"

BONDING_OPTS="mode=1 miimon=100"

查看mac地址&&cat /etc/udev/rules.d/70-persistent-net.rules 

vi ifcfg-eth0

DEVICE="eth0"

BOOTPROTO="none"

HWADDR="52:54:00:00:00:19" 

NM_CONTROLLED="yes"

ONBOOT="yes"

MASTER="bond0"

SLAVE="yes"

vi ifcfg-eth1

DEVICE="eth1"

BOOTPROTO="none"

HWADDR="52:54:00:75:E7:72"

NM_CONTROLLED="yes"

ONBOOT="yes"

MASTER="bond0"

SLAVE="yes"

vi /etc/modprobe.d/bonding.conf

alias bond0 bonding

vi /etc/rc.local  启动脚本都放在这里,让其开机生效

ifenslave bond0 eth0

ifenslave bond0 eth1

reboot应该不用重启

cat /proc/net/bonding/bond0 

Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: fault-tolerance (active-backup)

Primary Slave: None

Currently Active Slave: eth0

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eth0

MII Status: up

Link Failure Count: 0

Permanent HW addr: 52:54:00:00:00:19

Slave Interface: eth1

MII Status: up

Link Failure Count: 0

Permanent HW addr: 52:54:00:75:e7:72

检测方法:另一个窗口一直ping着 ifdown eth0 用cat /proc/net/bonding/bond0查看

/proc/下都是linux内存数据,以数字命名的是进程,都是直接返回的,不能修改,只有sys可以修改,

里面不用vim 要用echo>> 去追加

 sysctl -a 可以查看可以更改的内核参数

[root@serverX ~]# sysctl -w net.ipv4.icmp_echo_ignore_all=1 临时ping不同

 echo "net.ipv4.icmp_echo_ignore_all=1">>/etc/sysctl.conf

 

本文出自 “漠北” 博客,谢绝转载!

你可能感兴趣的:(linux,入门,基础,小结)