首页 > 代码库 > linux学习笔记8
linux学习笔记8
虚拟帐号的配置独立
因为了区分vip用户和普通用户的功能,所有对每个用户进行独立设置。
man5 vsftpd.conf
/config
vim /etc/vsftpd/vsftpd.conf
#anon_upload_enable=YES 将此条注释,即为拒绝所有用户
user_config_dir=/etc/vsftpd/user-conf
mkdir -p /etc/vsftpd/user-conf
vim /etc/vsftpd/user-conf/westos1
anon_upload_enable=YES
westos1是VIP!!!!!可以上传文件
westos2,为普通用户
注意~~
553:本地文件系统,selinux不允许
550 服务本身不能,配置文件未作设定,文件或目录权限不够
530 密码,没有重启服务
复制是新建:在新目录下按照新目录的属性(安全上下文,权限等)
移动是重命名:保留原目录的属性
/ftpdir/westos1 家目录不能有写权限
chmod 775 /ftpdir/westos1/pub
chgrp ftp /ftpdir/westos1/pub
别忘了关selinux!!!
selinux
查看安全上下文
ls -Z
?为没有加载,通常在selinux处于disable下,创建的文件,上下文会是这种情况。
不同目录有不同的安全上下文
ps axZ |grep vsftpd 查看vsftp进程的上下文信息:
touch /mnt/file
mv /mnt/file
lftp localhost
ls -Z /var/ftp/pub
若是强行移动/mnt 下的文件,到/var/ftp/pub下,使用lftp访问时,会因为上下文标签的不同而访问不到。
刷新上下文标签:
方法一:chcon -t public_content_t(只读)/var/ftp/pub -R(推荐)
方法二:restorecon /var/ftp/pub*
刷新文件的上下文
刷新目录的上下文
将匿名用户lftp家目录改为/ftpdir
vim /etc/vsftpd/vsftpd.conf
anon_enable=YES
anon_root=/ftpdir
chcon -t public_content_t /ftpdir/ -R
用chcon刷新的上下文标签,在重启selinux之后会失效。
要想永久改变上下文标签,用semanage!!
semanage fcontext -a -t public_content_t‘/ftpdir(./*)?‘
semanage fcontext -l | grep ftpdir
将要修改的信息,加入semanage fcontext 列表后,重启selinux即可生效,但还要去/etc/sysconfig/selinux 中,先修改为disable ,再修改为enforce,很麻烦~
所以我们用 restorecon-RvvF /ftpdir 重载列表的读取!
-R递归
vv显示目录和子目录配置详细信息
F flush
semanage fcontext -d -t public_content_t‘/ftpdir(./*)?‘ 删除
通常情况下selinux会屏蔽服务本身功能(危险),和对文件执行(读写)。
下面这张截图,说明匿名用户不能上传文件,是selinux在作怪~~~
当设置 setenforce 0时,selinux处于警告状态
只需要开启/etc/vsftpd/vsftpd.conf 中的anon_upload_enable=yes
就可以上传文件
当设置 setenforce 1时,selinux处于强制管理状态,就不能上传文件。
getseboot -a | grep ftp 查看selinux 对ftp的全部管理
其中 ,ftpd_full_access ,是对ftp的总管理
还需要设置:
getsebool -P ftpd_anon_write on
-P permanent
才可以完成文件的上传。
系统的恢复
本实验实验恢复环境为光盘模式,虚拟机和修复使用的光盘均为rhel7.0
修复模式启动时,状态如图
在使用时,需要先挂载光盘。然后进入Packages,就能得到你想要的东西啦~
1.系统启动流程
通电
||
bios(主板上的只读存储中,basic input or outputsystem)
作用,硬件检测,激活硬件
||
grup系统引导(grub引导分为两个阶段)
1)阶段1 mbr (主引导记录)主引导记录在硬盘上的0磁道,一扇区,446个字节
*)dd if=/dev/zero of=/dev/vda bs=446count=1 可以清空mbr
*)进入挽救模式,执行chroot /mnt/sysimage切换到真实环境,
并执行grub2-install /dev/vda
2)阶段2 grub文件引导阶段(/boot/grub2/grub.cfg)
找到/boot分区
读取/boot/grub2/grub.cfg
文件丢失,grub2-mkconfig > /boot/grub2/grub.cfg
手动引导流程
如果丢失的是windos的引导文件,则如下图手动引导
||
启动内核,只读挂载/设备
检测设备
对设备驱动进行初始化
进入系统初始化阶段
内核丢失,重新安装内核安装包就能解决
rpm -ivh kernel-xxx.rpm –force
现在缺少vmlinz-3.10.0.123.el7.x86_64
进入光盘的Packages
执行rpm2cpio kernel-3.10.0.123.el7.x86_64.rpm | cpio–id???????
得到一个boot目录。
执行 cp boot/vmlinz-3.10.0.123.el7.x86_64 /boot/vmlinz-3.10.0.123.el7.x86_64
修复完成~~~~
||
系统初始化阶段
系统初始化阶段加载initrd镜像
开启初始化进程systemd
开始selinux
加载内核参数
初始化系统时钟,键盘,主机名称
重新读写挂载/设备
激活raid,lvm
激活配额
启动multi-user.target.wangs中的所有服务
开启虚拟控制台
启动图形
如果initrd镜像不慎丢失
可以用mkinitrd 命令,让我们来man 一下他的用法!
执行mkinitrd /boot/initramfs-`username-r`.img ``username -r`
修复完成~~~~
删除整个boot分区,启动如图:
恢复如图
1)内核丢失,重新安装内核安装包就能解决
rpm -ivh kernel-xxx.rpm –force
安装完内核,/boot分区下出现了这么多文件,但还缺少/boot/grub2/grub.cfg!!!
恢复/boot/grub2/grub.cfg!!!!
grub2-mkconfig>/boot/grub2/grub.cfg
最后查看一下/boot分区里的东西和原来是不是都一样~~~
WOW,恢复大业完成!!!
开机服务自启是什么幺蛾子
系统初始化阶段加载initrd镜像,开启初始化进程system
加载服务!!!
开机自启服务,以sshd服务为例
开机自启是因为存在链接文件,etc/systemd/system/multi-user.target.wants/sshd.service
执行systemctl enable sshd,实际上是执行
ln -s /usr/lib/systemd/system/sshd.service/etc/systemd/system/multi-user.target.wants/sshd.service
执行systemctl disable sshd,实际上是执行
rm -rf/etc/systemd/system/multi-user.target.wants/sshd.service
defablt.target 为开机系统启动级别
系统初始化阶段加载initrd镜像,开启初始化进程systemd
加载开机系统启动级别!!!
默认情况下
/etc/systemd/system/default.target
链接/usr/lib/systemd/system/graphical.target(图形)
现在把它链接到reboot,系统就处于一直自启状态
ln -s /usr/lib/systemd/system/reboot.target /etc/systemd/system/default.target
修复方法:
在开机时,press e之后编辑如下
linux16 .....rw rd.break
press Ctrl-x 进入一个shell,载chroot /sysroot 进入真实root分区
rm -rf /etc/systemd/system/default.target
ln -s /usr/lib/systemd/system/graphical.target
/etc/systemd/system/default.target
exit *2
如果忘记了root密码怎么办?
系统初始化时,加载initrd镜像时,认证密码。
在开机时,press e之后编辑如下
linux16 .....rw rd.break
press Ctrl-x 进入一个shell,载chroot /sysroot 进入真实root分区
passwd
touch ./autorelabel重新建立认证识别,更新新的密码
exit *2
DNS高速缓存
客户端
vim /etc/resolv.conf
nameserver 172.25.254.130
服务器
yum install bind -y
若是装完立即开启服务,则会出现服务开启缓慢
这是因为系统在捕捉加密字符
动动鼠标和键盘都会产生加密字符
cat /dev/random可以查看已产生的加密字符
加密字符的key在/etc/rndc.key
未配置服务时的端口情况:只有本地的53端口开着。
回环接口(127.0.0.1):本机服务之间的通信
netstat -antulpe |grep named查看name所占的端口号
a all
n numeric????
t tcp
u udp
l listening
p progress 进程
e extend 拓展
开始配置服务器!!!!!
对防火墙的设置
firewall-cmd --permanent --add-service=dns
firewall-cmd –reload
vim /etc/named.conf
11 listen=onport 53 {any}; 设定端口开放,表示所有interface都开
17 allow-query{any;};回答所有人的提问
18 forwarders{172.25.254.250;}; 缓存谁的答案
32 dnssec-validationno; 网络上的网警。。。
检验
客户端:dig www.taobao.com
第一次访问很慢,但之后访问都特别快!!!!!!!
@qq.com:域名
mail@qq.com:主机名
域名是DNS,A记录文件
正向解析: 把域名变成ip
vim /etc/named.conf
11 listen=onport 53 {any}; 设定端口开放,表示所有interface都开
17 allow-query{any;};回答所有人的提问
32 dnssec-validationno; 网络上的网警。。。
在/etc/named.conf的末尾指引我们去下一级文件:
vim /etc/named.rfc1912.zones
cp -p /var/named/named.localhost/var/named/westos.com.zone
-p 将权限也一起复制过来
vim /var/named/westos.com.zone 蓝色的文件为A记录
文件里不以.结尾,就以@结尾,@为westos.com
轮询机制
vim /var/named/westos.com.zone
效果为172.25.254.101和172.25.254.102交替出现。
MX 用于名称的邮件交换器(向何处发送电子邮件)
vim /var/named/westos.com.zone
westos.com.MX 1 172.25.254.100.
检验:
dig-t mxwestos.com
mail root@westos.com
crtl+d 结束输入
mailq 可以查看westos.com邮件交换器的IP!!!
CHAME 名称至规范名称(包含A/AAAA记录的另一个名词)
vim /var/named/westos.com.zone
效果如图:
反向解析
vim /etc/named.conf
设置同正向解析。
vim /etc/named.rfc1912.zones
cp -p /var/named/named.loopback/var/named/westos.comNaNr
vim /var/named/westos.comNaNr
验证
双向解析:不同ip访问同一个地址,得到不同的解析
本例为:desktop:172.25.254.10, dig www.westos.com得到的解析为172.25.254.102
其他用户 dig www.westos.com 得到的解析为172.25.0.102
man 5 named.conf
/view
vim /etc/named.conf
cp –p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter
vim /etc/named.rfc1912.zones.inter
cp –p /var/named/westos.com.zone /var/named/westos.com.zone.inter
vim /var/named/westos.com.zone.inter
验证
desktop:172.25.254.10, dig www.westos.com得到的解析为172.25.254.102/101
其他用户 dig www.westos.com 得到的解析为172.25.0.102/101
本文出自 “12049878” 博客,谢绝转载!
linux学习笔记8