首先开机破解主机root密码
然后进入系统,修改网络配置,添加ip地址等。
然后排错
root过期
网络不通
1、创建一个500M的分区,然后格式化成为ext4文件系统,并且挂在到/test目录,要求开机生效,并且使用uuid挂在
#fdisk /dev/vda 建立一个500M的分区 vda1
#partprobe /dev/vda1
#partx -a /dev/vda
#mkfs.ext4 /dev/vda1
#mkdir /test
#mount /dev/vda1 /test
#blkid /dev/vda1
#vim /etc/fstab
UUID=\"\" /test ext4 defaults 0 0
#mount -o remount,rw /dev/vda1
2、将/home分区在下扩充到300M,误差在290-310M之间
#df -h /home 确定其lv 比如/dev/vol1/home
#lvextend
#lvresize -L 304M /dev/vo11/home
#resize2fs /dev/vol1/home
3、将/home分区缩减至200M 在190-210M之间,不能损坏系统中的数据
#df -h /home
#umount /home
#e2fsck -f /dev/vol1/home
#resize2fs -f /dev/vol1/home 204M
#lvreduce
#lvresize -L 204M /dev/vol1/home
#mount /dev/vol1/home /home
4、新建卷组,每个PE大小为16M,在该卷组中创建lv,名为lvtest,大小为25PE,格式化为ext4,开机挂在到/mnt/richedu ,要求每次开机均生效,在380-400M之间是允许的,要求使用UUID挂在
#fdisk /dev/vda,分别创建vda2并将id改为8e
#partprobe /dev/vda2
或者partx -a /dev/vda2,然后对这个盘写入分区表
# pvcreate /dev/vda2
#vgcreate vgtest /dev/vda2
#lvcreate -n lvtest -l 25 vgtest
#mkfs.ext4 /dev/vgtest/lvtest
#mkdir /mnt/richedu
#blkid /dev/vgtest/lvtest
#vim /etc/fstab
UUID=\"\" /mnt/richedu ext4 defaults 0 0
#mount -O remount /mnt/richedu
5、将ftp://ftp.example.com/pub/boot.iso 下载到 /root下,然后将其挂在到/mnt/media下,要求每次开机生效
#cd /root/
#wget ftp://ftp.example.com/pub/boot.iso
#mkdir /mnt/media
#vim /etc/fstab
/root/boot.iso /mnt/media iso9660 defaults,loop 0 0
#mount -O remount /root/boot.iso
或者
#which mount
#vim /etc/rc.local
/bin/mount -o loop /root/boot.iso /mnt/media
#source /etc/rc.local
6、新建一个swap分区,大小300M,影响现有的swap,要求每次开机生效
#fdisk /dev/vda
新建vda3
#partprobe /dev/vda3,将其id改为82
#mkswap /dev/vda3
#swapon /dev/vda3
#vim /etc/rc.local
/sbin/swapon /dev/vda3
#swapon -s
或者
#vim /etc/fstab
/dev/vda3 swap swap defaults 0 0
7、创建一个用户admin,指定gid=700
创建用户user1,test1 将其加入到admin中,且admin为第二宿组
创建用户user2 且使用非登陆shell,其三个用户的密码都为redhat
新建文件夹/share,输入admin组。要求组成员有读写访问的许可权,其他成员没有任何的权限,要求组成员不能删除属于其他成员的文件
#groupadd -g 700 admin
#useradd -G admin user1
#useradd -G admin test1
#useradd user2 -s /sbin/nologin
#mkdir /share
#ls -ld /share
#chgrp admin /share/
#ls -ld /share
#chmod g+ws /share
#chmod o+t /share
#chmod o-rx /share
#echo \"redhat\" |passwd --stdin user1
# echo \"redhat\" |passwd --stdin user2
#echo \"redhat\" |passwd --stdin test1
8、复制/etc/fstab到/var/tmp目录,设置文件的拥有组为admin,拥有者为root,要求user1 对该文件有读写得权限,user2对该文件无权限
#cp /etc/fstab /var/tmp
#chgrp admin /var/tmp/fstab
#vim /etc/fstab在/var/文件系统中的第四个字段添加defaults,acl选项
#mount -o remount /var
#setfacl -m u:user1:rw- /var/tmp/fstab
#setfacl -m u:user2:--- /var/tmp/fstab
9、使用者user1创建任务,要求在每天22:50执/bin/echo hello ,仅能root和user1可以执行用创建计划任务
#crontab -e -u user1
50 22 * * * /bin/echo hello
#vim /etc/cron.allow
root
user1
10、将内核升级到2.6.32-71.7.1确认使用新内核作为默认启动项,新内核在http://instructor.example.com/pub/rhel6/errdata/rhel6
#wget
http://instructor.example.com/pub/rhel6/errdata/rhel6/kernel-2.6.32-71.7.1.rpm
#rpm -ivh kernel
或者
#yum install kernel-2.6.32-71.7.1
#vi /boot/grub/grub.conf
11、修改root密码,为test123
#echo \"test123\"|passwd --stdin root
12、开启ip转发功能,同时忽略icmp消息
#vim /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.icmp_echo_ignore_all=1
#sysctl -p
13、开启sysctl=1 并在/proc/cmdline中进行验证
#vim /boot/grub/grub.conf在vmlinuz最后添加sysctl=1
#source /boot/grub/grub.conf
14、设置时间使用ntp,选择适当的时区,NTP SERVER instructor.example.com
#system-config-date来配置
15、查找/home目录下拥有人是user2,但是拥有的组不是user2的文件复制到/root/backup下
find . -user oracle ! -group oracle -exec cp {} /opt/ \\;
16创建一个用户hello 要求uid=1111,表示1111
#useradd -u 1111 -c 1111 hello
17、下载http://instructor.example.com/pub/vsftpd.conf文件到/opt下,将该文件中包含有YES/yes的进行过滤(但是不包括空行和#)导出到/opt/findfs.txt中,不要改变文件中的内容输出顺序
#wget http://nstructor.example.com/pub/vsftpd.conf
#grep -i -v 'yes' /opt/vsftpd.conf >/opt/findfs.txt
18、配置网络
设置静态网络信息ip:192.168.0.x,子网掩码255.255.255.0 网关:192.168.0.254 DNS:192.168.0.254,第二网关192.168.1.254 要求开机自动激活
#system-config-network-gui
19、编写一个脚本test.sh,判断A 显示B,判断 B显示A,否则显示fail
#!/bin/bash
case $1 in
A)
echo B
;;
case $1 in
B)
echo A
;;
*)
echo \"fail\"
;;
esac
或者
#!/bin/bash
if [ $1 == A ]; then
echo B
elif [ $1 == B ];then
echo A
else
echo fail
fi
20、配置本地的yum库,yum服务器在instructor.example.com/pub/rhel6/dvd,使用yum安装x3270-x11软件包
#vim /etc/yum.repos.d/rhel.repo
[base]
name=base
baseurl=ftp://instructor.example.com/pub/rhel6/dvd
enabled=1
gpgcheck=0
#yum -y install x3270-x11
21、安装vsftpd服务器,要求匿名用户可以上传和下载文件
#yum install -y vsftpd
#vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anonymous_enable=YES
#mkdir -p /var/ftp/upload;chmod 777 /var/ftp/upload
#setsebool -P allow_ftpd_anon_write=1
#setsebool -P allow_ftpd_full_access=1
#service vsftpd on
#chkconfig vsftpd on
要求192.168.0.0/24 可以访问ftp,拒绝192.168.1.0/24
#vim /etc/hosts.allow
vsftpd: 192.168.0.0/255.255.255.0
#vim /etc/hosts.deny
vsftpd:192.168.1.0/255.255.255.0
22、开启你的主机使用ldap认证,并使用tls认证证书在
http://instrcutor.example.com/pub/EXAMPLE-CA-CERT,
ldap服务器为instuctor.example.com
dn:dc=example,dc=com
身份验证方法为ldap
#system-config-authentication
#getent passwd ldapuser100
使用su 切用户看能否登陆
#su - ldapuse100
23、使用ldapuser100登陆到用户家目录,家目录以通过nfs共享了,NFS:192.168.0.254:/home/guests 使用autofs
#showmout -e 192.168.0.254
#mkdir /home/guests
#chmod 775 /home/guests
#vim /etc/auto.master
/home/guests /etc/auto.ldap
#vim /etc/auto.ldap
ldapuser100 --fstype=nfs,rw 192.168.0.254:/home/guests/ldapuser100
#service autofs restart
#chkconfig autofs on
#su - ldapuser100
24、访问iscsi存储,iscsi存储在192.168.0.254上,分配了1G的存储区域,格式化成为ext4,挂在到/mnt/share上,要求开机生效
#iscsiadm -m discovery -t sendtargets -p 192.168.72.40
#iscsiadm -m node -T LUNNAME -p 192.168.0.254:3260 -l
#service iscsi restart
#chkconfig iscsi on
#fdisk -l
#fdisk /dev/iscsi11
#mkfs.ext4 /dev/iscsi111
25、建立http要求servername为serverx.example.com 下载
index.html,放到
ftp://ftp.example.com/pub/stationxx.html,然后重命名为DocumentRoot下
注释掉默认页
#yum -y install httpd
#vim /etc/httpd/conf/httpd.conf
ServerName serverx.example.com
#wget ftp://ftp.example.com/pub/stationxx.html
#mv stationxx.html index.html
#restorecon -R /var/www/html/index.html
#service httpd restart
#chkconfig httpd on
#elinks http://serverx.example.com
26、配置打印机,使用cups开启打印服务,新建本地打印机名字为stationx,将描述为remote printer on server1 ,选择ipp打印协议,远程打印服务器在server1.example.com上,名字为stationx,要求选择generic,text-only模式,要求设置为默认共享打印机
#system-config-printer
#lpr /etc/passwd
#http://server1.example.com/stationx/
27、创建一个加密分区
#fdisk /dev/vda
#cryptsetup luksFormat /dev/vda5
#cryptsetup luksOpen /dev/vda5 secret
#mkdir /mnt/secret
#mkfs.ext4 /dev/mapper/secret
#mount /dev/mapper/secret /mnt/secret
28、设置用户磁盘配额。给用户student的home目录做磁盘配额,软512k,应2048k,测试命令dd if=/dev/zero of=bigfile bs=1k count=1024
#mount -o remount,grpquota,usrquota /home
#vim /etc/fstab
/dev/vda1 /home/ ext4 defaults,grpquoa,usrquota 1 2
#mount -o remount ,usrquota,grpquota,rw /home
#quotacheck -uvg /home
#edquota -u student
#quotaon -auvg
#dd if=/dev/zero of=bigfile bs=1k count=512,在student下测试
29、要求使用dig server1.cracker.org成功解析出地址
#dig server1.cracker.org
RHCE部分
1、设置防火墙,拒绝172.26.0.0/255.255.255.0
#iptables -F
#iptables -Z
#iptables -A INPUT -s 172.26.0.0/255.255.255.0 -j REJECT
#service iptables save
2、设置selinux 为enforcing
#vim /etc/sysconfig/selinux
SELINUX=enforcing
3、配置nfs服务,将/store 目录以只读方式共享给.example.com域用户,当客户端以root用户身分同时拥有root权限,以只读方式共享cracker.org域用户
#yum install nfs
#yum install rpcinfo*
#service rpcidmapd restart
#vim /etc/exports
/store *.example.com(ro,sync,no_root_squash)
/store *.example.com(ro,sync)
#service nfs restart
#exportfs -a
4、仅允许.example.com 访问本地ssh
#vim /etc/hosts.allow
sshd: .example.com
#vim /etc/hosts.deny
sshd: ALL
5、配置samba服务器要求如下
工作组为rhce
认证类型user
共享/store 共享名为share
该共享目录允许user1和user2用户有写权限其他用户均为只读,如果需要密码为redhat
仅允许在example.com域访问该目录
#yum install samba
#chcon -t samba_share_t /store
#chmod 777 /store
#vim /etc/samba/smb.conf
[global]
workgroup=rhce
security=user
[share]
path=/store
write list=user1 user2
hosts allow= .example.com
#chkconfig smb on
#smbpasswd -a user1
#smbpasswd -a user1
#smbclient //stationx.example.com/share -U user1
#
6、建立http服务器下载http://192.168.0.254/pub/tools/server.html 文件到/var/www/virt1目录中,当用户输入http://serverx.example.com可以访问该文件中内容,该站点仅允许本机可以访问
下载http://192.168.0.254/pub/tools/www.html文件到http目录中,用户输入http://wwwx.example.com 可以访问该文件,该站点需要身份验证,是本机所有用户均可以访问,不要更该用户密码
#yum install httpd*
#cd /var/www/virt1
#wget http://192.168.0.254/pub/tools/server.html
#mv server.html indxe.html
#cd /var/www/html
#wget http://192.168.0.254/pub/tools/www.html
#mv www.html index.html
#chcon -R --reference /var/www/html /var/www/virt1/
#vim /etc/httpd/conf/httpd.conf
ServerAdmin webmaster@example.com DocumentRoot /var/www/html ServerName station40.example.com AuthType basic AuthName \"Input users and password\" AuthUserFile /etc/httpd/.passwd Require valid-user order allow,deny allow from all
ServerAdmin webmaster@example.com ServerName www40.example.com DocumentRoot /var/www/virt1 order deny,allow allow from localhost allow from 127.0.0.1 allow from station40.example.com allow from www40.example.com deny from all
#cut -d':' -f1-2 /etc/shadow >/etc/httpd/.passwd
#service httpd restart
#elinks 测试
7、建立vsftpd服务器,仅允许user1用户访问,且不能跳出自己的家目录,仅允许example域用户上传和下载,其他的域的不可以访问
#yum install vsftpd*
#setsebool -P allow_ftpd_anon_write=1
#setsebool -P allow_ftpd_full_access=1
#setsebool -P ftp_home_dir 1
#mkdir /var/ftp/incoming;chmod 777 /var/ftp/incoming
#chcon -t public_content _rw_t /var/ftp/incoming
#vim /etc/vsftpd/vsftpd.conf
userlist_deny=NO
userlist_file=/etc/vsftpd/vsftpd.user_list
chroot_list_enable=YES
chroot_list_file= /etc/vsftpd/vsftpd.chroot_list
anon_upload_enable=YES
anonymous_enable=YES
#vim /etc/vsftpd/vsftpd.user_list
user1
#vim /etc/vsftpd/vsftpd.chroot_list
user1
#service vsftpd restart;chkconfig vsftpd on
#vim /etc/hosts.deny
vsftpd: ALL EXCEPT .example.com
8、新建邮件服务器postfix,要求如下:
1、允许localhost 远程主机能够访问
2、允许example.com 的用户可以中继,拒绝remote.test
3、所有发送给user3的邮件会发送给user2
4、确认/var/spool/mail/user1存在
5、仅允许用户在.example.com 域通过pop3接受邮件
#yum install postfix* -y
#service postfix restart;chkconfig postfix on
#cd /etc/postfix
#vim main.cf
myhostname = stationX.example.com
mynetworks_style = subnet
mydestination = $ myhostname,$mydomain,localhost
myorigin = $ myhostname
relay_domains = example.com
inet_interfaces = all
smtpd_client_restrictions =
check_client_access hash:/etc/postfix/access,
#vim /etc/postfix/access
remote.test REJECT
#vim /etc/aliases
user3: user2
#postalias /etc/aliases
#postmap hash: /etc/postfix/access
#touch /var/spool/mail/user1
#chown user1:mail /var/spool/mail/user1
#chcon --reference=/var/spool/mail/root #chmod 660 /var/www/mail/user1
#service postfix restart
/var/spool/mail/user1
#yum install dovecot
protocols=pop3
#service dovecot restart;chkconfig dovecot on
#iptables -A INPUT -p tcp --dport 110 -s 192.168.0.0/24 -j ACCEPT
#iptables -A INPUT -p tcp --dport 110 -j REJECT
#service iptables save
#chkconfig iptables on
使用mutt测试
证书的认证
生成证书
[root@server100 certs]# make -C /etc/pki/tls/certs dovecot.pem
make: Entering directory `/etc/pki/tls/certs'
umask 77 ; \\
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \\
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \\
/usr/bin/openssl req -utf8 -newkey rsa:2048 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2 -set_serial 0 ; \\
cat $PEM1 > dovecot.pem ; \\
echo \"\" >> dovecot.pem ; \\
cat $PEM2 >> dovecot.pem ; \\
rm -f $PEM1 $PEM2
Generating a 2048 bit RSA private key
.......................+++
.................................................................................+++
writing new private key to '/tmp/openssl.3bR14k'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:RICHEDU
Locality Name (eg, city) [Default City]:HENAN
Organization Name (eg, company) [Default Company Ltd]:RHCE
Organizational Unit Name (eg, section) []:RHECE
Common Name (eg, your name or your server's hostname) []:mail.example.com
Email Address []:root@mail.example.com
make: Leaving directory `/etc/pki/tls/certs'
[root@server100 certs]# ls -la
创建证书配置路径
[root@server100 certs]# vim /etc/dovecot/conf.d/10-ssl.conf
##
## SSL settings
##
# SSL/TLS support: yes, no, required. #ssl = yes # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before # dropping root privileges, so keep the key file unreadable by anyone but # root. Included doc/mkcert.sh can be used to easily generate self-signed # certificate, just make sure to update the domains in dovecot-openssl.cnf ssl_cert = ssl_key =
因篇幅问题不能全部显示,请点此查看更多更全内容