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
本文出自 “漠北” 博客,谢绝转载!