RHCE测试题

一、答题前7件事

1.破解Root的密码和设置selinux

#passwd root
#vim /etc/selinux/config
>SELINUX=permissive(上午)|enforcing(下午)
#exit
#reboot

 

2.防火墙策略清除与开启:

#iptables -F
#service iptables save

 

3配置你的本地默认YUM仓库指向http://instructor.example.com/pub/rhel6/dvd/

#cd /etc/yum.repos.d/
#vim exam.repo
>[base]
>name=rhel6
>baseurl= http://instructor.example.com/pub/rhel6/dvd/
>enabled=1
>gpgcheck=0
 
#yum clean all
#yum makecache

 

4.禁用NetManger管理组件:

#service NetworkManager stop
#chkconfig NetworkManager off

 

5.ip地址查看

vim /etc/sysconfig/network-script/ifcfg-eth0

 

6. 主机名查看

#vim /etc/hosts
>192.168.0.16 station.domain16.example.com
 
#vim /etc/sysconfig/network
>NETWORKING=yes
>HOSTNAME=station.domain16.example.com

7. nameserver查看

#vim /etc/resolv.conf
>nameserver 192.168.0.1

 

二、磁盘管理

1. 新建一个512M分区,格式化为ext4,并挂在至/data目录要求每次开机生效,修改该文件系统保留block数为10%,指定该分区的卷标为/data

# fdisk /dev/sda    +512M(/dev/sda6)
# partx -a /dev/sda
# mkfs.ext4 /dev/sda6
# mkdir /data
# vim /etc/fstab
> /dev/sda6	/data	ext4		defaults		0 0 
# mount -a	
# tune2fs -l /dev/sda6  		查看详细信息
# tune2fs -m 10 /dev/sda6 	设置系统保留块的百分比
# tune2fs -L /data /dev/sda6  设置分区卷标名

 

2./分区在线拉伸(增加)128M

# lvextend  -L +128M  /dev/mapper/vg0-root		在线拉伸文件系统
# resize2fs -p /dev/mapper/vg0-root        加载增大或收缩的文件系统大小

 

3. /home分区减小至320M,在290M~310M之间是允许的,不要损坏该系统中数据

# umount /home
# e2fsck -f /dev/mapper/vg0-home				强制检查文件系统
# resize2fs /dev/mapper/vg0-home 320M		设置文件系统为320M
# lvresize -L 320M /dev/mapper/vg0-home		指定减小逻辑卷大小为320M
# mount -a

 

4. 新建一个卷组,名称为vg1,要求卷组中每个PE大小为8M,在该卷组中创建LVlv名为lvshare,大小为50PE,格式化为ext4,开机挂载至/mnt/data目录,要求每次开机均生效,在380M~400M之间是允许的。

# fdisk /dev/sda   +500M	8e (/dev/sda8)
# partx -a /dev/sda
# pvcreate /dev/sda8           将分区初始化为物理卷
# vgcreate -s 8M vg1 /dev/sda8 创建卷组vg1,指定PE为8M,把/dev/sda8加入到卷组中
# lvcreate -l 50 -n lvshare vg1	在卷组vg1上创建逻辑卷lvshare,指定PE数为50
# mkfs.ext4 /dev/mapper/vg1-lvshare 
# mkdir /mnt/data
# vim /etc/fstab
> /dev/mapper/vg1-lvshare	/mnt/data	ext4	defaults	0 0 
# mount -a

 

5. ftp://192.168.0.254/pub/boot.iso下载至/root,并将其挂载至/media/cdroom,要求每次开机生效。

# cd /root
# wget ftp://192.168.0.254/pub/boot.iso
# mkdir /media/cdroom
# vim /etc/fstab
> /root/boot.iso	/media/cdroom	iso9660		defaults,loop	0 0 
# mount -a

 

6. swap增加100M,不影响原有的swap,要求每次开机生效。

# fdisk /dev/sda		+100M    82(/dev/sda9)
# partx -a /dev/sda
# mkswap /dev/sda9		创建签名
# vim /etc/fstab
> /dev/sda9		swap	swap	defaults		0 0 
# swapon -a				激活交换分区
# swapon -s 	

 

三、用户与权限

1. 新建admin组指定gid=600

# groupadd -g 600 admin

 

2. 新建user1用户,指定uid=601,该用户密码为redhat

# useradd -u 601 user1
# echo "redhat" |passwd --stdin user1

 

3. 新建user2user3用户,将这两个用户加入admin组,作为附加组,用户密码为redhat,要求user3用户不允许交互式登陆。

# useradd -G admin user2
# useradd -G admin user3
# usermod -s /sbin/nologin user3
# echo "redhat" |passwd --stdin user2
# echo "redhat" |passwd --stdin user3

 

4. /home目录创建admin目录,要求该目录的拥有组为admin,要求该组中成员成该目录有读写权限。

# mkdir -m 770 /home/admin
# chgrp admin /home/admin/

 

5. /etc/fstab复制到/data中,要求user1对该文件有完整的权限,user2对该文件无任何权限

# cp -p /etc/fstab /data/
# tune2fs /dev/sda6 -o acl			激活文件系统acl
# mount -o remount,acl /data		使用acl重新安装/data目录
# setfacl -m u:user1:rwx /data/fstab
# setfacl -m u:user2:--- /data/fstab
# getfacl /data/fstab

 

6. 设置/mnt/data目录的拥有组为admin,要求任何人在该目录中创建的文件拥有组自动属于admin

# chgrp admin /mnt/data/
# chmod g+s /mnt/data/

 

7. 要求系统中所有新建的用户的密码在30天后需要强制重设密码。chage

# vim /etc/login.defs
>PASS_MAX_DAYS	30

 

8. 要求user2有添加/删除用户的权限,且可以修改其他用户的密码。

# which useradd/userdel/passwd
# vim /etc/sudoers
> user2   ALL=(ALL)      /usr/sbin/useradd,/usr/sbin/useradel,/usr/bin/passwd

 

9. 设置用户user2的默认权限为:目录r-x-w-rwx 文件r---w-rw-

# vim /home/user2/.bashrc
> umask 250

 

10. 创建计划任务,要求在每月13514:30分执行/bin/echo hello,仅允许rootuser2用户能创建计划任务。

# service crond status
# service crond start
# chkconfig crond on
# crontab -e
> 30 14 1,3,5 * * /bin/echo hello
# vim /etc/cron.allow
> root
> user2

 

11.限制user2用户使用CPU时间为2分钟。

# vim /etc/security/limits.conf
> user2   soft    cpu     2

 

四、内核

1. 将内核升级到2.6.32-279.1.1,确认新内核作为默认启动项,新内核在http://192.168.0.254/pub/rhel6/Errata目录中。

1)配置好yum仓库执行yum kernel update

2)

# cd /tmp
# wget http://192.168.0.254/pub/rhel6/Errata/kernel-2.6.32-279.el6.i686.rpm
# wget http://192.168.0.254/pub/rhel6/Errata/kernel-firmware-2.6.32-279.el6.noarch.rpm
# rpm -ivh kernel-*.rpm --force 
# vim /boot/grub/grub.conf (查看默认启动项)

 

2. 破解root密码,将其修改为redhat2014

 

3.开启ip转发,并在每次启动均生效。

# vim /etc/sysctl.conf
> net.ipv4.ip_forward = 1
# sysctl -p  (加载内核参数设置)

 

4. 开启kmctl的值为5,并在/proc/cmdline中可以进行验证。

# vim /boot/grub/grub.conf
> kernel 行最后加上 kmctl=5

 

5. 设置时间使用NTP,选择合适的时区,NTP server instructor.example.com

# system-config-date
# service ntpd start
# chkconfig ntpd on
# ntpq -p

 

6. 查找/home目录下文件拥有人是user2,拥有组是user2的文件复制到/root/backups文件夹中,并保留权限。

# mkdir /root/backups
# find /home  -user user2 -group user2 -type f  -exec cp -a {} /root/backups/ \;

 

7. 查找/lib64目录下有特殊权限的文件,并将结果保存到/root/backups目录中,并保留权限。

# find /lib 64  -perm +7000 -type f -exec cp -a {} /root/backups/ \;

 

8. 下载http://192.168.0.254/pub/vsftp.conf文中至/root目录将该文中包含yes/YES的行过滤(但不包含空行和以#开始的行)导出至/root/findfs.txt文中,不要改变文中内容输出。

# grep -i yes  /root/vsftpd.conf | grep -v ^$ |grep -v ^# > /root/findfs.txt

 

五、网络

1. 设置静态网络信息ip192.168.0.x ,子网掩码:255.255.255.0,网关:192.168.0.254,    DNS192.168.0.254,第二DNS192.168.1.254,要求网卡开机均自动激活。

# service NetworkManager stop
# chkconfig NetworkManager off
# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
> DEVICE=eth0
> BOOTPROTO=static
> ONBOOT=yes
> TYPE=Ethernet
> IPADDR=192.168.0.110
> NETMASK=255.255.255.0
> GATEWAY=192.168.0.154
> DNS1=192.168.0.254
> DNS2=192.168.1.254

 

六、脚本

1. 写一个脚本/root/myscipts.sh,当用户输入/root/myscipts.sh all显示noneroot/myscipts.sh none显示all,当用户执行root/myscipts.sh或非allnone是,将“errorplease usage root/myscipts.sh none/all”使用标准错误输出。

# vim /root/myscripts.sh
> #!/bin/bash
> if [ "$1" == "all" ];then
>        echo "none"
> elif [ "$1" == "none" ];then
>        echo "all"
> else
>        echo "error,please usage /root/myscripts.sh none/all"
> 	     exit 2
> fi
# chmod u+x /root/myscripts.sh

 

七、FTP

1. 新建FTP服务,允许匿名用户下载文件。

# yum -y install vsftpd*
# service vsftpd start
# chkconfig vsftpd on

 

2. 允许192.168.0.0/24访问该FTP,拒绝192.168.1.0/24

# iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 21 -j REJECT

 

八、LADP

1. 配置你的主机使用LADP认证,并使用TLS认证,证书在ftp://192.168.0.254/pub/EXAMPLE-CA-CERTLADP信息如下:

LADP server : instructor.example.com

base DN : dc=example,dc=com 你将可以使用ldapuserX登陆,密码为password

#ntpdate -u instructor.example.com	时间同步
# yum -y install sssd sssd-client
# system-config-authentication

 

spacer.gifspacer.gif

 

#getent passwd ldapuserX  测试

 

2. 当使用ldapuserX用户登录时用户需要家目录,家目录已通过NFS共享,使用autofs自动将用户家目录挂载。

# yum -y install autofs
# service autofs start
# chkconfig autofs on
# cp /etc/auto.misc /etc/auto.ldap
# vim /etc/auto.master
> /home/guests    /etc/auto.ldap
# vim /etc/auto.ldap
> ldapuser10      -fstype=nfs,rw  192.168.0.254:/home/guests/ldapuser10
>*		-fstype=nfs,rw	192.168.0.254:/home/guests/&  (所以用户)
# service autofs reload

 

九、ISCSI

1. 访问iscsi存储,iscsi存储地址为192.168.0.254,分配30M的存储分区,格式化为ext4,挂载至/mnt/storage目录,要求每次开机生效。

# yum -y install iscsi-initiator-utils
# service iscsi start
# service iscsid start
# chkconfig iscsi on
# chkconfig iscsid on
# iscsiadm -m discovery -t sendtargets -p 192.168.0.254:3260
# iscsiadm -m node -T iqn......		-p  192.168.0.254:3260  -l
# fdisk /dev/sdb
# partx -a
# mkfs.ext4 /dev/sdb1
# mkdir /mnt/storage
# vim /etc/fstab
> /dev/sdb1		/mnt/storage		ext4		defaults,_netdev		0 0 
# mount -a

 

十、RHCE

1. 配置NFS服务,将/mnt/storage目录以读写方式共享给example.con域用户,当客户端以root用户身份访问时也拥有该目录的root权限,以只读方式共享给remote.test域用户。

# yum -y install nfs-utils
# yum -y install rpcbind
# chkconfig nfs on
# chkconfig rpcbind on
# mkdir /mnt/storage
# vim /etc/exports
> /mnt/storage    *.example.com(sync,rw,no_root_squash)
> /mnt/stotage    *.remote.test(sync,ro)
# service rpcbind restart
# service nfs restart

 

2. 仅允许example.com访问本地ssh,且该ssh服务器不允许root用户登录。

# iptables -A INPUT -s '!' 192.168.0.0/24 -p tcp --dport 22 -j REJECT
# vim /etc/ssh/sshd_config
> PermitRootLogin  no
# service sshd restart

 

3.确保SELINUX的状态为Enforcing状态。

# getenforce
# setenforce 1
# vim /etc/selinux/config
> SELINUX=enforcing
# reboot

 

4. 配置samba要求如下:

1)工作组名为RHCE

2)认证类型为user

3)共享/mnt/data目录,共享名为share

4)该共享目录允许user1user2用户有写权限其他用户均为只读,如果需要密码为redhat

5)仅允许用户在example.com域访问该共享目录

6)允许所有人浏览,拒绝匿名访问

# yum -y install samba
# service smb start
# service nmb start
#chkconfig smb on
#chkconfig nmb	on
# chmod 777 /mnt/data
# vim /etc/samba/smb.conf
> [RHCE]
> path = /mnt/data
> browseable = yes	浏览
> public = no		匿名访问
> writelist = user1,user2
> hosts allow = 192.168.0.0/24
# smbpasswd -a user1
# smbpasswd -a user2
# chcon -R -t samba_share_t /mnt/data
#service smb restart
# yum -y install samba-client   #客户端测试
# smbclient -L //192.168.0.110

 

 

5. 搭建HTTP服务器,要求如下:

下载http://192.168.0.254/pub/tools/server.html文件至/var/www/virt1目录中,当用户输入http://serverX.example.com可以访问该文中内容该站点,在该目录中创建data目录,要求data目录仅允许本机可以访问,且允许user1用户有读写权限。

下载http://192.168.0.254/pub/tools/www.html文件至http的默认目录中,用户输入http://wwwX.example.com可以访问到该文件,该站点需要身份验证,要求仅允许用户user1user2可以访问,密码为redhat

# yum -y install httpd
# service httpd start
# chkconfig httpd on
# mkdir /var/www/virt1
# mkdir /var/www/virt1/data
# setfacl -m u:user1:rwx /var/www/virt1/data
# cd /var/www/virt1
# wget http://192.168.0.254/pub/tools/server.html(改名为index.html)
# cd /var/www/html
# wget http://192.168.0.254/pub/tools/www.html
# vim /etc/httpd/conf/httpd.conf
> NameVirtualHost *:80
> <VirtualHost *:80>
>    DocumentRoot /var/www/virt1
>    ServerName server10.example.com
> <Directory "/var/www/virt1/data">
>        Options Indexes
>        Order deny,allow
>        Allow from 127.0.0.1  locahost  rhcetest(主机名) 192.168.0.110
>			Deny from all
>    </Directory>
> </VirtualHost>
> <VirtualHost *:80>
>    DocumentRoot /var/www/html
>    ServerName www10.example.com
>   <Directory "/var/www/html">
>        Options Indexes
>        AuthName "test"
>        AuthType basic
>        AuthUserFile /etc/httpd/.password
>        require valid-user
>    </Directory>
> </VirtualHost>
# htpasswd -cm /etc/httpd/.password user1
# htpasswd -m /etc/httpd/.password user2
# service httpd restart

 

6. 建立vsftp server,要求如下: 

1)不允许匿名访问

2)仅允许user1user2用户可以访问该FTP Server,且不能跳出自己家目录

3)仅允许example域的可以访问

# yum -y install vsftpd
# vim /etc/vsftpd/vsftpd.conf
> userlist_deny=NO				仅允许user_list中的用户访问ftp
> userlist_file=/etc/vsftpd/user_list
> chroot_list_enable=YES			不能跳出自己家目录
> chroot_list_file= /etc/vsftpd/chroot_list
> anonymous_enable=NO    		不允许匿名访问
# setsebool -P ftp_home_dir 1
# vim /etc/vsftpd/user_list
> user1
> user2
# vim /etc/vsftpd/chroot_list
> user1
> user2
# service vsftpd start; chkconfig vsftpd on
# iptables -A INPUT -s '!' 192.168.0.0/24 -p tcp --dport 21 -j REJECT

 

7. 新建邮件服务器,要求如下:

1)允许localhost和远程主机均能访问

2)允许example.com的用户可以中继,拒绝remote.test

3)所有发送给user3的邮件会发送给user2

4)确认/var/spool/mail/user1存在且有内容

5)仅允许用户在example.com域通过pop3接受邮件

# yum install postfix �Cy
# /usr/sbin/alternatives --config mta	查看邮箱服务是否为postfix
# /usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix 	选择postfix
# service sendmail stop; chkconfig sendmail off
# service postfix start; chkconfig postfix on
# vim /etc/postfix/main.cf
> myhostname = desktop110.example.com
> mydomain = example.com
> mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain
> myorigin = $ mydomain
> inet_interfaces = all			监听所有
> inet_protocols = all
> relay_domain = example.com, $mydestination   中继
> mynetworks = 192.168.0.0/24, 127.0.0.0/8 
> mail_spool_directory = /var/spool/mail
 
# vim /etc/aliases		别名
> user3:user2,user3
# newaliases
 
# touch /var/spool/mail/user1(一般默认会存在)
# chown user1:mail /var/spool/mail/user1
# chcon --reference=/var/spool/mail/root  /var/spool/mail/user1
# chmod 660 /var/spool/mail/user1
 
# iptables -A INPUT -s remote.test(写成ip段) -p tcp --dport 25 -j REJECT   封SMTP服务端口
# service postfix restart
 
# yum -y install dovecot
# vim /etc/dovecot/dovecot.conf
> protocols = imap pop3 lmtp
# service dovecot start; chkconfig dovecot on
# # iptables -A INPUT -s '!' 192.168.0.0/24 -p tcp --dport 110 -j REJECT   封pop3端口
# service iptables save; chkconfig iptables on

附:

1. 拒绝别的主机访问本机服务

#vim /etc/hosts.deny /etc/hosts.allow

>vsftpd: all

2. getsebool -a 查看所有bool

 

你可能感兴趣的:(service,测试题,enabled)