Linux入门基础--RHCE考点总结选讲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RH考试总结(选讲)
目录
考试介绍 (3)
RHCSA部分 (4)
开机破解密码 (4)
添加Swap ............................................................................................... 错误!未定义书签。

通过添加分区实现) ....................................................................... 错误!未定义书签。

通过文件实现) ............................................................................... 错误!未定义书签。

网络配置以及yum仓库配置 (5)
网络配置) (5)
Yum仓库配置) (7)
打印机和NTP(Network time protocol)服务器设置 .............................. 错误!未定义书签。

打印机设置) ................................................................................... 错误!未定义书签。

NTP服务器设置) ............................................................................ 错误!未定义书签。

用户组和权限设置 (8)
用户设置) (8)
权限配置) (8)
LVM配置与ACL (9)
LVM) ................................................................................................ 错误!未定义书签。

开机自动挂载逻辑分区和添加ACL) (9)
开启本机的转发和屏蔽ping回显 (10)
计划任务crontab (11)
新建指定用户的计划任务) (11)
NFS服务配置 (12)
LDAP(轻量目录访问协议)与Autofs配置 ........................................... 错误!未定义书签。

LDAP配置) ...................................................................................... 错误!未定义书签。

Autofs配置) .................................................................................... 错误!未定义书签。

HTTP与FTP配置 (14)
iptables配置 (14)
升级内核 (14)
查找命令find使用 (15)
RHCE部分 (17)
HTTP高级应用 ....................................................................................... 错误!未定义书签。

添加CGI支持) ................................................................................ 错误!未定义书签。

虚拟主机) ....................................................................................... 错误!未定义书签。

SSL证书认证) ................................................................................. 错误!未定义书签。

Squid配置 (17)
NFS配置 ................................................................................................. 错误!未定义书签。

FTP配置.................................................................................................. 错误!未定义书签。

Samba配置 (17)
ssh配置 .................................................................................................. 错误!未定义书签。

利用密钥文件透明登陆)................................................................ 错误!未定义书签。

设置SSH不允许指定域访问) ....................................................... 错误!未定义书签。

Iptables配置........................................................................................... 错误!未定义书签。

Selinux配置 (18)
DNS转发配置......................................................................................... 错误!未定义书签。

Postfix邮件配置..................................................................................... 错误!未定义书签。

配置监听来自所有网络的请求) .................................................... 错误!未定义书签。

配置邮件转发) ............................................................................... 错误!未定义书签。

配置dovecot支持pop3) ............................................................... 错误!未定义书签。

设置SSL) ......................................................................................... 错误!未定义书签。

Quota磁盘配额 (19)
配置fstab,添加配额选项) (19)
生成配额文件) (20)
配置用户(u1)的配额) (20)
启动配额) (21)
Shell简单应用 (21)
ISCSI发现与使用.................................................................................... 错误!未定义书签。

一共有17题,本次主要是讲入门的基础。

其他的内容,有兴趣的可以自己参考完整文档去做下实验,碰到不懂的,可以问我!由于准备时间不是很充分,如果有什么错漏之处,还望各位提出。

2012-11
Linux入门学习思路:
1、会安装Linux系统
2、会配置网络
3、会安装配置各种常用的服务应用
4、熟悉系统运行原理
5、熟悉绝大部分常用命令和Shell应用
讲课内容:
一、系统安装
二、系统结构讲解
三、本文档
考试介绍
1. 考试的时候手机必须上交,考官一但发现考生的手机没有上交,一律按作弊计算.
2. 考试系统改革,考试的时候不再像红帽5的考试一样,每个考生考试环境是一台安装好的红帽5的真机.
红帽6考试的时候,考试机真机安装EHEL6.0,但是考生的考试机器是一个基于KVM的虚拟机,考试所有的操作都在KVM的虚拟机中完成,考生没有真机的root权限,但是可以在真实机上按照考试题目的提示要求,来使用浏览器或者相关的命令来测试所配置的服务. 考生的虚拟机在考试中因操作失误导致系统崩溃的情况,可以要求考官重新生成一个新的虚拟机.
3. 上午RHCSA的考试时间2个半小时,满分300分,210分通过.
下午RHCE的考试时间2小时,满分300分,210分通过.
4. 考试的时候请不要小抄或等作弊工具,考官一但发现不会去抓考生,而考生的考试成绩将按0分计算.
5. RHCE
6.0的考试提供多种语言共选择,可以在考试的时候随时切换考试语言,中文语言暂时只能选择繁体中文.
相关考试知识点解析:
考试开始之前和5.0的考试一样,需要按照考题的要求更改root用户的密码,配置正确的网络环境以后,才可以访问到考题所在的网页. 网页中会有计时器,显示当前所消耗的时间.
RHCSA部分
第一题:开机破解密码(为了统一,大家修改为abc123)
重启电脑,选择对应的启动菜单(如图1),再按键盘”a”键,进入启动菜单编辑,在最后输入数字1便可以进入单用户模式(如图2)
[ 注意: 1前面有空格]
(图1)
(图2)
按回车键进入到单用户模式,进入了单用户模式首先要确定selnux不是Enforcing模式(可以用getenfoce获知当前的模式,如图3),如果是Enforcing模式可以使用命令setenforce 0暂时把selinux的限制解除[ 因为只有解除selinux的限制才可以在单用户模式给指定用户修改密码]
用户模式(/etc/inittab):
init 0(关机) 1(单用户) 2(多用户) 3(标准多用户) 4(没用到) 5(桌面) 6(重启)
SELinux(Security-Enhanced Linux)-(/etc/sysconfig/selinux):
「disabled」「permissive」,「enforcing」3种选择
分别是:
无效
Selinux有效,但是即使你违反了策略的话它让你继续操作,但是把你的违反的内容记录下来。

在我们开发策略的时候非常的有用,相当于Debug模式
Selinux有效,但如果你违反了策略,你就无法继续操作下去
其中enforcing,permissive 分别可以用1,0来设置
(图3)
修改完密码使用命令exit退出当前模式并且重启机器(如图4)
(图4)
第二题:网络配置以及yum仓库配置
网络配置)
可以通过命令system-config-network来打开网络配置的图形界面(如图5)
(图5)
具体配置不做详述,见操作过程
网络命令配置文件的路径:
/etc/hosts;——>主机名与域名对应,添加静态DNS
/etc/sysconfig/network;——> 主机名
/etc/sysconfig/network-scripts/ifcfg-eth0;——>网络配置
/etc/resolv.conf;——>域名
IP地址[静态]、子网掩码、网关、DNS域名解析、主机名;
最后重启系统网络服务:
#service network restart; (重启服务)
#chkconfig netwrok on; (重启后自动开启)
#cat eth0
TYPE=Ethernet #网卡类型
DEVICE=eth0 #网卡接口名称
ONBOOT=yes #系统启动时是否自动加载
BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议IPADDR=192.168.1.120 #网卡IP地址
NETMASK=255.255.255.0 #网卡网络地址(子网掩码)
GATEWAY=192.168.1.1 #网卡网关地址
DNS1=10.203.104.41 #网卡DNS地址
HWADDR=00:0C:29:13:5D:74 #网卡设备MAC地址
BROADCAST=192.168.1.255 #网卡广播地址
IPV6INIT= no #是否开启
USERCTL= no #用户控制列表开启与否
Yum仓库配置)
Yum仓库的配置文件位于/etc/yum.repos.d/目录下,文件名可以随便起,但是后缀必须为.repo,我们在使用中一般直接使用本地yum源即可。

[root@demo yum.repos.d]# cat 1.repo
[Server]
name=Server
baseurl=file:///media/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[LoadBalancer]
name=LoadBalancer
baseurl=file:///media/LoadBalancer
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[HighAvailability]
name=HighAvailability
baseurl=file:///media/HighAvailability
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ResilientStorage]
name=ResilientStorage
baseurl=file:///media/ResilientStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
其中字段说明:
每个仓库的第一行以中括号”[”,”]”包含仓库信息,此字段可以随意
每个仓库的第二行以name=开头,后面跟仓库名称,此字段可以随意
每个仓库的第三行以baseurl=开头,后面跟仓库路径,上面的是file:///说明仓库文件在本地[ 如果仓库是一网络协议共享出来的话,可以使用http:///和ftp:///等]
后面几行其实都可以不要.
可以使用以下命令来清空yum缓存:
[root@demo yum.repos.d]# yum clean all
Loaded plugins: refresh-packagekit, rhnplugin
Cleaning up Everything
查看当前yum的情况:
[root@demo yum.repos.d]# yum list
[ 如果yum做list操作提示错误的话,一般是因为在/etc/yum.repos.d/目录下面生成了packagekit-media.repo文件或者是yum源没有设置好的问题,把它删除或仔细修改yum源便可以成功完成配置]
第三题:用户组和权限设置
用户设置)
添加用户可以使用命令useradd【adduser】
[root@demo ~]# useradd u
[root@demo ~]# passwd u
[root@demo ~]# useradd -g g1 -G g2,g3 -u 50001 u1
[ -g指定主组,-G指定从组,-u指定用户UID ]
[root@demo ~]#groupadd -g 50001 g1
[ -g指定用户组GID ]
权限配置)
设置GID(目录)或UID(文件)可以使用chmod g+s 文件名或chmod u+s [chown u:ug]
对目录设置GID之后,任意用户在该目录新建任意文件或目录,属组都会与该目录的属组一致[root@demo tmp]# mkdir test
[root@demo tmp]# chgrp g2 test/
[root@demo tmp]# chmod g+s test/
[root@demo tmp]# ll -d test/
drwxr-sr-x. 2 root g2 4096 Aug 27 23:16 test/
[root@demo tmp]# whoami
root
[root@demo tmp]# touch test/1
[root@demo tmp]# ll test/
total 0
-rw-r--r--. 1 root g2 0 Aug 27 23:16 1
[root@demo tmp]# chmod 755 file
r-4 w-2 x-1 d-filed l-link - file
第四题:(可选内容)LVM配置与ACL
开机自动挂载逻辑分区和添加ACL)
可以看看:/sbaicl/archive/2012/10/26/2741787.html
[root@demo ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Jul 17 08:32:42 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_demo-lv_root / ext4 defaults 1 1 UUID=95e68b04-3823-42f1-bf27-17c9ef985ca7 /boot ext4 defaults 1 2
/dev/mapper/vg_demo-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb1 none swap defaults 0 0
/opt/swap_file none swap defaults 0 0
/dev/myvg1/mylv1 /lvm ext4 defaults,acl 0 0:
[ 同样的,要先使用mount –a 查看通过fstab挂载所有分区是否会出现问题,再去reboot]
设置ACL:
[root@demo lvm]# touch acl
[root@demo lvm]# getfacl acl
# file: acl
# owner: root
# group: root
user::rw-
group::r--
other::r—
这里可以通过命令getfacl查看到acl这个文件的一些访问控制信息
只有root用户才有读写权限
[root@demo lvm]# su - u1
[u1@demo ~]$ echo u1 > /lvm/acl
-bash: /lvm/acl: Permission denied
提示u1无权写入
[u1@demo ~]$ exit
可以通过setfacl命令来给u1读写的权限
[root@demo lvm]# setfacl -m u:u1:rw acl
[root@demo lvm]# getfacl acl
# file: acl
# owner: root
# group: root
user::rw-
user:u1:rw-
group::r--
mask::rw-
other::r—
[root@demo lvm]# su - u1
[u1@demo ~]$ echo u1 >/lvm/acl
[u1@demo ~]$ cat /lvm/acl
u1
这样就实现了ACL访问控制的功能
setfacl命令格式如下:
用户设置
setfacl -m u:[username]:permission files
用户组设置
setfacl -m g:[groupname]:permission files
第五题:开启本机的转发和屏蔽ping回显
开启转发功能:
[u1@demo ~]$ vim /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
....
把0改成1便可
屏蔽ping回显
[u1@demo ~]$ vim /etc/sysctl.conf
...
...
net.ipv4.icmp_echo_ignore_all = 1
在最后添加便可
如果忘记完整填写可以按照下面方式查找
[u1@demo ~]$ sysctl -a|grep icmp
error: permission denied on key 'kernel.cad_pid'
filter.nf_conntrack_icmpv6_timeout = 30
net.ipv4.icmp_echo_ignore_all = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.icmp_errors_use_inbound_ifaddr = 0
net.ipv4.icmp_ratelimit = 1000
net.ipv4.icmp_ratemask = 6168
net.ipv6.icmp.ratelimit = 1000
使上面配置马上生效可以使用命令sysctl –p
第六题:计划任务crontab
新建指定用户的计划任务)
[root@demo lvm]# crontab -e -u u1 ——u1必须是已经存在的用户
no crontab for u1 - using an empty one
*/1 * * * * echo "I am u1"
*/1表示每分钟,后面四位分别表示时、日、月、周,而且echo的内容自会在该用户的邮箱中
出现
重启服务使之生效:
[root@demo lvm]# service crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
查看相关信息:
[root@demo lvm]# mail -u u1
Heirloom Mail version 12.4 7/29/08.Type ?for help.
"/var/mail/u1": 5 messages 4 new
1 u1@ Fri Aug 26 08:35 17/567
>N 2 Cron Daemon Sun Aug 28 00:13 21/641 "Cron <u1@demo> echo "I am u1""
N 3 Cron Daemon Sun Aug 28 00:14 21/641 "Cron <u1@demo> echo "I am u1""
N 4 Cron Daemon Sun Aug 28 00:15 21/641 "Cron <u1@demo> echo "I am u1""
N 5 Cron Daemon Sun Aug 28 00:16 21/641 "Cron <u1@demo> echo "I am u1""
&
实现取决某个用户制定任务计划:
[root@demo lvm]# vim /etc/cron.deny
u1
~
~
~
~
~
~
~
~
"/etc/cron.deny" 1L, 3C
直接键入用户名便可
[root@demo lvm]# su - u1
[u1@demo ~]$ crontab -e
You (u1) are not allowed to use this program (crontab)
See crontab(1) for more information
第七题:NFS服务配置
配置指定网段(192.168.0.0/24)可以访问:
[root@demo ~]# mkdir /test_nfs
[root@demo ~]# vim /etc/exports
输入以下行
/test_nfs 192.168.0.0/24(rw,sync)
[ 要是有多个网段,而且权限不同,可以空格在后面再添加网段和对应的访问权限,如下面例子:
/test_nfs 192.168.0.0/24(rw,sync) (rw,sync) *(ro,sync)
共享目录网段/(权限) 主机名(权限) 其他机器(权限)
]
重启nfs服务
[root@demo ~]# service nfs restart
Shutting down NFS mountd: [FAILED]
Shutting down NFS daemon: [FAILED]
Shutting down NFS quotas: [FAILED]
Shutting down NFS services: [ OK ]
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
查看共享:
[root@demo ~]# showmount -e 192.168.1.10
Export list for 192.168.1.10:
/test_nfs 192.168.0.0/24
[ 如果重新修改了共享配置,可以使用命令exportfs –rv来重新输出共享]
挂载共享:
[root@demo ~]# mount -t nfs 192.168.1.10:/test_nfs /mnt/
mount.nfs: access denied by server while mounting 192.168.1.10:/test_nfs
上面的报错是因为exports中只是允许了192.168.0.0/24这个网段,而本机是192.168.1.0/24这个网段的,所以拒绝了
[ 注意: 上面共享出来的权限是读写,那么本地的目录权限也必须给777 ]
开启Iptables时,必须指定端口:#/etc/sysconfig/nfs
RQUOTAD_PORT=8001
LOCKD_TCPPORT=8002
LOCKD_UDPPORT=8003
MOUNTD_PORT=8003
STATD_PORT=8004
#service nfs restart
#rpcinfo -p
#/etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8001:8004 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p udp --dport 8001:8004 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p udp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p udp --dport 2049 -j ACCEPT
第八题:HTTP与FTP安装配置
#yum–y install httpd vsftpd mod_ssl lftp
#service httpd start
#service vsftpd start
#chkconfig httpd on
#chkconfig vsftpd on(详解见操作)
第九题:iptables配置
[root@demo ~]# iptables -F (清空所选链,这等于把所有规则一个个的删除)
[root@demo ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
[root@demo ~]# iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j DROP
[root@demo ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
[root@demo ~]# cat /etc/sysconfig/iptables # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter
:INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
配置文件说明:*filter ——默认过滤表为filter , 包含了内建的链INPUT(处理进入的包)、FORWORD(处理通过的包)和OUTPUT(处理本地生成的包)。

(其他表为nat,mangle)
:INPUT ACCEPT [0:0] ——如果没有规则匹配,则所有进入的包都将接收:FORWARD ACCEPT [0:0] ——如果没有规则匹配,则所有包都将转发:OUTPUT ACCEPT [0:0] ——如果没有规则匹配,则所有从本地生产的包都将发出-A INPUT -i lo -j ACCEPT ——接收所有进入到接口lo的数据包-A INPUT -p icmp -j ACCEPT ——接收所有进入的icmp数据包(允许ping本机) -A INPUT -j REJECT --reject-with icmp-host-prohibited ——拒绝所有进入的包,并返回提示信息
第十题:升级内核
下载好内核后:
# rpm -ivh kernel.XXX.rpm
# vim /boot/grub/grub.conf
添加一下4行
title xxx
root(hd0,0)
kernel /vmlinuz-xxx.xxx.xxx ro root=/dev/mapper/vol0-root
rd_LVM_LV=vol0/root rhgb quiet
initrd /initramfs-xxx.xxx.xxx.img
第十一题:查找命令find使用
根据文件名来查找
#find /etc -name xinetd.conf
查找某个用户的文件并
[root@localhost ~]# find /var/ -user mysql
/var/log/mysqld.log
/var/lib/mysql
/var/lib/mysql/mysql.sock
/var/lib/mysql/ib_logfile1

查找某个用户的文件并且拷贝到制定的目录:
find /var/ -user mysql -exec cp {} /tmp/ \;
查找某个目录下面权限为777的文件
[root@localhost ~]# find /var/ -perm 777
/var/lib/gdm/.pulse/d9ef8f9f1e9100a05b7d705d00000019-runtime
/var/lib/mysql/mysql.sock
/var/mail

查找某个目录下面权限为777的文件拷贝到制定的目录:
[root@localhost ~]# find /var/ -perm 777 –exec cp {} /tmp \;
相关说明
-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 #找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2 #查更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查更改时间比f1新但比f2旧的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune #忽略某个目录
RHCE部分
第十二题:Squid配置
[root@demo ~]# yum install squid
[root@demo certs]# vim /etc/squid/squid.conf
/sbaicl/archive/2012/09/18/2690010.html
第十三题:Samba配置
建立共享目录
[root@demo ~]# mkdir /test_smb
[root@demo ~]# chmod 777 /test_smb/
[root@demo ~]# chcon -t samba_share_t /test_smb/
[root@demo ~]# vim /etc/samba/smb.conf
在最后添加以下行
[test_smb]
comment = Test Smb
path = /test_smb
browseable = yes
guest ok = yes
public = yes
writable = yes
write list = u1 @g1
[root@demo ~]# service smb restart
Shutting down SMB services: [FAILED]
Starting SMB services: [ OK ]
查看共享
[root@demo ~]# smbclient -L localhost
挂载共享
[root@demo ~]# mount -t cifs //192.168.1.10/test_smb /mnt -o username=u1,password=1 [root@demo ~]# mount
/dev/mapper/vg_demo-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/myvg1-mylv1 on /lvm type ext4 (rw,acl)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
/dev/sr0 on /media type iso9660 (ro)
//192.168.1.10/test_smb/ on /mnt type cifs (rw,mand)
第十四题:Selinux配置(可参考第一题)
查看当前状态
[root@demo ~]# getenforce
Enforcing
查看服务文件的context
[root@demo ~]# ls -Z /var/www/html/index.html
-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 /var/www/html/index.html 很明显上面这个index.html的context值有问题,当访问该网页是会报错(如图21)
(图21)
查看原来的context值
[root@demo ~]#semanage fcontext -l | grep '/var/www'
/var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0
修改context值
[root@demo ~]# chcon -t httpd_sys_content_t /var/www/html/index.html
修改对应值之后便可以访问该网页(如图22)
(图23)
也可以直接用命令restorecon来修复
[root@demo ~]# restorecon -R /var/www/html/*
通过man来获取selinux的相关帮助
[root@demo ~]# man selinux

SEE ALSO
booleans(8), setsebool(8), selinuxenabled(8), togglesebool(8), restorecon(8), setfiles(8), ftpd_selinux(8),
named_selinux(8), rsync_selinux(8), httpd_selinux(8), nfs_selinux(8), samba_selinux(8), kerberos_selinux(8),
nis_selinux(8), ypbind_selinux(8)

第十五题:(选学)Quota磁盘配额
配置fstab,添加配额选项)
[root@demo ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon May 30 11:26:05 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
/dev/sdb1 /test ext3 defaults,usrquota 0 0
UUID=b25f6adb-8f0e-49f4-a31e-0bc4a6516d3d /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
生成配额文件)
[root@demo ~]# quotacheck -cvu /test
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown. quotacheck: Scanning /dev/sdb1 [/test] done
quotacheck: Old group file not found. Usage will not be substracted.
quotacheck: Checked 3 directories and 4 files
配置用户(u1)的配额)
[root@demo ~]# edquota -u u1
Filesystem blocks soft hard inodes soft hard /dev/sdb1 82004 80000 102400 1 0 0 [ 注意:
blocks: 表示当前u1这个用户在/dev/sdb1这个分区所使用的容量
soft: 这是最低限制容量的意思,使用者在宽限期间之内,他的容量可以超过soft ,但必需要宽限时间之内将磁盘容量降低到soft 的容量限制之下;
hard: 这是『绝对不能超过』的容量! 跟soft 相比的意思为何呢? 通常hard limit 会比soft limit 为高,例如网络磁盘空间为30 MB ,那么hard limit 就设定为30MB ,但
是为了让使用者有一定的警戒心,所以当使用空间超过25 MB 时,例如使用者使
用了27 MB 的空间时,那么系统就会警告使用者,让使用者可以在『宽限时间内』
将他的档案量降低至25 MB ( 亦即是soft limit )之内. 也就是说, soft 到hard 之
间的容量其实就是宽限的容量啦. 可以达到针对使用者的『警示』作用.
宽限时间: 那么宽限时间就可以很清楚的知道含意是什么了. 也就是当您的使用者使用的空间超过了soft limit ,却还没有到达hard limit 时,那么在这个『宽限时间』
之内,就必需要请使用者将使用的磁盘容量降低到soft limit 之下. 而当使用
者将磁盘容量使用情况超过soft limit 时,『宽限时间』就会自动被启动,而在
使用者将容量降低到soft limit 之下,那么宽限时间就会自动的取消.
单位: Kbytes
inodes: 是目前使用掉inode 的状态,也是quota 自己计算出来而得到的,所以不要去变更他. 一般而言, inode 不容易控制,所以可以不必去限制inode.
]
启动配额)
[root@demo ~]# quotaon /test/
查看详细的配额情况
[root@demo ~]# quota -v -u u1
Disk quotas for user u1 (uid 501):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 82004* 80000 102400 6days 1 0 0
或者用
[root@demo ~]# repquota -a
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------

u1 +- 82004 80000 102400 6days 1 0 0

从上面信息看一看出u1已经在/dev/sdb1/使用了80M的的空间,而且比soft的限制大比hard 的限制小,所以出现了过期时间的提示6days
当配额超过hard的大小时候就会出现下面提示:
[root@demo test]# su - u1
[u1@demo ~]$ ll -h /test/
total 161M
-rw-rw-r--. 1 li li 80M Aug 23 13:01 aa
-rw-------. 1 root root 7.0K Aug 29 11:30 er
-rw-rw-r--. 1 u1 u1 80M Aug 29 11:07 bb
drwxrwxrwx. 2 root root 16K Aug 23 12:43 lost+found
[u1@demo ~]$ cp /test/aa /test/cc
cp: writing `/test/cc': Disk quota exceeded
第十七题:Shell简单应用
编写一个简单脚本,当运行时输入A,显示结果B,输入B时显示结果A,输入的不是A也不是B 就报错.
[root@demo ~]# vim /usr/local/bin/test_shell1.sh
#!/bin/bash
read -p "Enter your choose [A / B]: " answer
if [ $answer = "A" ];then
echo "B"
elif [ $answer = "B" ];then
echo "A"
else
echo "your choose is wrong"
fi
[root@demo ~]# chmod 755 /usr/local/bin/test_shell1.sh [root@demo ~]# test_shell1.sh
Enter your choose [A / B]: A
B
[root@demo ~]# test_shell1.sh
Enter your choose [A / B]: B
A
[root@demo ~]# test_shell1.sh
Enter your choose [A / B]: C
your choose is wrong。

相关文档
最新文档