RHCE考点归纳

来源:互联网 发布:windows pyqt5 编辑:程序博客网 时间:2024/05/16 12:00

 

RHCE考试:

 

1 判定给出root用户密码是否可用(一组复杂的字母加数字,一定要安要求输入否则考试后有可能主机收不到你的配置),

 不可用进入闭眼第一斧单用户模式重起进入Grub菜单后,press a 修改内核参数为 1, 再修改密码,

 顺便改为运行模式5;重起

2 第二斧,根据要求静态配置网络参数,可用图形化工具,system--admin--network完成配置,

 包括ip,netmask,gateway,DNS,hostname 也可用手动修改分别在/etc/sysconfig/network-script/ifcfg-eth0;

 /etc/reslv.conf;

 /etc/sysconfig/network修改,修改完应用

3 第三斧,配置YUM库客户端,详见置顶文章

4 最后一斧,打开system-admin-firewall and security. disable firewall以及enforce selinux.

  顺便yum一下setroubelshoottd包

 yum install  setr*,帮助提供警告信息

 

 

 

1.fdisk

2.磁盘逻辑卷

一, 创建逻辑卷:

第一步: 创建分区, 并将分区类型设为8e, 执行以下命令:

fdisk /dev/hda      #进入磁盘分区操作, 并将分区类型设为8e

  partprobe             #进行内核初始化

第二步: 创建物理卷:

  pvcreate /dev/hda{5,6,7}   #5,6,7指/dev/hda5, /dev/hda6, /dev/hda7分区

第三步: 创建卷组:

 vgcreate vgname /dev/hda{5,6,7}

第四步: 创建逻辑卷:

 lvcreate -L 1.5 -n lvname vgname

第五步: 格式化逻辑卷:

  mkfs.ext3  /dev/vgname/lvname

第六步: 挂载文件系统:

 mount /dev/gvname/lvname   /mnt/xxx

 

二, 逻辑卷扩展:

 

1, 查看卷组容量:

vgdisplay /dev/vgname   #查看有多少PE块未用

  2, 增加逻辑卷:

lvextend  -l  +255  /dev/vgname/lvname

3, 执行扩展;

resize2fs  /dev/vgname/lvname

4, 使用 df -h 命令检查

 

三, 逻辑卷减少: 

 

1, 卸载逻辑卷:

umount /dev/vgname/lvname

 2, 执行文件系统检查:

e2fsck -f /dev/vgname/lvname

 3, 文件系统减少:

 resize2fs /dev/vgname/lvname 1024M   # 这里指减少到1024M

 4, 执行逻辑卷减少:

 lvreduce -L 1024M /dev/vgname/lvname

 5, 挂载文件系统, 并检查分区容量:

 mount /dev/vgname/lvname /mnt/xxx

 df -h

3.磁盘配额

 

1)修改/etc/fstab 参数

/dev/vg-test/lv-test    /u01                    ext3    defaults,usrquota       0 0

mount -o remount /u01

2)quotacheck /u01

3)edquota -u wanggang

4)quotaon /u01

 

实例针对quser1和quser2两个用户进行磁盘配额的设置,且这两个用户都在qgruop用户组里,

每个用户共用50M的磁盘空间,并且最低限制为45M,

1、准备好测试环境,建立用户与用户组

#groupadd qgroup

#useradd –m –g qgroup quser1

#useradd –m –g qgroup quser1

#passwd quser1

#passwd quser2

 

2、建立文件系统的磁盘配额支持。

#vim /etc/fstab

/dev/hda2         /home                 ext3  defaults,usrquota,grpouota

注意由于我们真正的磁盘配额读取进是读取/etc/mtab文件,所以要重新启动reboot.或者mount  -o remount  /dev/hda2

#grep ‘/dev/hda2’ /etc/mtab  /*完成后检查mtab*/

 

3、扫描磁盘的用户使用状况,并产生重要的aquota.group和aquota.user

#quotacheck –acvug

 

4、启动磁盘配额的限额

#quotaon –avug

 

5、编辑用户的可使用空间

#edquota –u quser1  

Filesystem                   blocks       soft       hard     inodes     soft     hard

 /dev/sda2                         0       45000      50000          0        0        0

 

#edquota –p quser1 quser2  /*quser1与quser2配额相同,直接复制即可*/

 

6,设置启动时启动磁盘配额,此步在redhat5.1可省略

#vim /etc/rc.d/rc.local

/sbin/quotaon –vug

 

7、#repquota  -aug  /*检查磁盘配额*/

 

4.raid

mdadm --create /dev/md0 -l 5 -n 2 -x 1 /dev/sdb{7,8,9}

 

mdadm --detail

 

5.vsftpd配置

FTP和NFS服务都是用来搭建文件服务器的. 一般来说FTP是用来搭建互联网上的文件服务器, NFS用来搭建企业内部网的文件服务器.

FTP服务器的安装过程如下:

        首先安装vsftpd组件, 执行:

           yum install vsftpd

vsftpd的默认目录是/var/ftp/pub (最好能为此目录创建独立的分区),将要通过ftp共享的文件和目录放在此目录下.

     其次vsftpd的访问控制由以下几部份组成:

          1. 要在/etc/hosts.allow文件中加入以下行:

              vsftpd:ALL

          2.在/etc/vsftpd目录下有两个用户名列表文件,在这些文件中的指定用户是不可以访问ftp服务器的:

              /etc/vsftp/ftpusers #此文件是由PAM管理的用户

 /etc/vsftpd/user_list

          3.在防火墙上打开20,21端口.

          4.如果要使系统用户能够通过ftp访问自已的主目录,必须执行以下命令:

             setsebool -P ftp_home_dir=1

       最后,用户可以通过任何ftp客户端工具访问此ftp服务器. 在RedHat Enterprise Linux中我们使用以下命令来验证ftp服务器的可访问性:

             lftp servername     #这里的servername可是IP地址和FQDN.

 

顶,顺便说一下.访问控制

1 vim /etc/hosts.deny

vsftpd:ALL EXCEPT .example.com         //ftp只接受来自example域的访问

2 ftpuser: 中的账户将不能访问

 user_list 中的账户 if 配置文件中 userlist_deny=no 则只有文件中的账户可以访问

 userlist_deny=yes 则文件中的账户被拒绝访问

 

补充一点:

防止用户访问到根目录:

  - 在/etc/vsftpd/vsftpd.conf 中找到chroot一行。

  - 写入:

  chroot_local_user=YES

  chroot_list_enable=YES

  chroot_list_file=/etc/vsftpd/chroot_list

  - #touch /etc/vsftpd/chroot_list

  该文件为空,代表不让任何登录到ftp server的用户访问根

  如果该文件含有:user1

  则: 用lftp -u user1 station10 登录后,user1可以访问根。

 

-  如果出现用户user1还不能访问跟目录

  则:setsebool ftpd_disable_trans 1

 

需要修改Selinux设置的相关服务

 

1, 通过FTP服务访问用户主目录需要修改Selinux如下:

setsebool -P ftp_home_dir=1

 

2, SMB服务的共享目录:

chcon -R -t samba_share_t  /共享目录

3, WEB服务器的主页文件所在的目录

 chcon -R --reference=/var/www/html  /自已的web主页所在的目录

如果做的下确的话只需要修改以上三项就可以了. 如果你的配置步骤与我们平常上课不一样的话, 就有可能需要修改一些其它项目, 这样你只能依赖setroubleshootd工具了, 所以最好先安装此工具. 使用以下命令:

yum install setroubleshootd

 

6.yum配置

 

YUM 服务器的配置

 

第一步:将系统光盘的/Server目录和/VT目录完全拷贝到/var/ftp/pub目录下;

第二步:从光盘上直接安装createrepo RPM包,执行以下命令:

 rpm -ivh /光盘挂载点/Server/createrepo*

第三步:创建RPM包列表, 执行以下命令:

1、 createrepo -g /var/ftp/pub/Server/repodata/comps*.xml /var/ftp/pub/Server

  可能会报错:根据出错信息,删除已存在的目录,再执行以上命令。

 2、createrepo -g /var/ftp/pub/VT/repodata/comps*.xml /var/ftp/pub/VT

第四步:创建软连接:

 在/var/www/html目录下创建软连接:执行以下命令:

  ln -s /var/ftp/pub  pub

第五步:重启http和vsftp服务,执行以下命令:

1、service httpd restart

2、service vsftpd restart

保证计算机重启后服务能自动启动,执行以下命令:

1、chkconfig httpd on

2、chkconfig vsftpd on

客户端配置:

在/etc/yum.repo.d/目录下创建以下文件(文件扩展名必须是.repo)

vim myserver.repo

[base] #方括号内的名称为自定义

name=自定义名称

baseurl=http://servername/pub/Server 或:

# baseurl=ftp://servername/pub/Server 或:

# baseurl=file:///var/ftp/pub/Server  指本地yum服务器

# 以上内容重写一次去定义 VT 库

[base] #方括号内的名称为自定义, 与上一个定义不能相同

name=自定义名称, 与前面的定义不能相同

baseurl=http://servername/pub/VT 或:

# baseurl=ftp://servername/pub/VT 或:

# baseurl=file:///var/ftp/pub/VT  指本地yum服务器

# 以上内容重写一次去定义 VT 库

验证:

在客房端执行以下命令:

yum list available

 

7.https(证书)

 

cd /etc/pki/tls/certs

make server.key

make server.crt

cp server.key /etc/pki/tls/private

vi /etc/httpd/conf.d/ssl.conf

修改 SSLCertificatekeyFile

 

8.log日志服务器

 

服务器:

vi /etc/sysconfig/syslog

SYSLOGD_OPTIONS="-r -m 0"

vi /etc/syslog.conf

mail.info/var/log/maillog1

service syslog restart

客户端:

vi /etc/syslog.conf

mail.info@remote(ip)

service syslog restart

chkconfig syslog on

chkconfig --list syslog

测试:

客户端:logger -p mail.info abcd

服务器查看:/var/log/maillog1

 

9.apache服务器虚拟主机

vi /etc/httpd/conf/httpd.conf

NameVirtualHost *:80

 

<VirtualHost *:80>

ServerAdmin test@example.com

DocumentRoot /var/www/html/1

ServerName test.example.com

</VirtualHost>

关闭 DocumentRoot  "/var/www/html"

主页认证

<Directory "/var/www/html/1">

AuthType Basic 

AuthName "Hello"

AuthUserFile /etc/httpd/my123

Require user abc

</Directory>

 

htpasswd -cm /etc/httpd/my123 abc

echo 123123 > /var/www/html/1/test.html

service httpd restart

 

修改默认端口号:Listen 80

修改代理服务器:

vi /etc/squid/squid.conf

http_port 8080

acl deny-lan 192.168.1.0/255.255.255.0

http_access deny deny-lan

http_access allow all

service squid restart

chkconfig squid  on

 

 

在apache server 中允许使用 .htaccess 做目录安全保护, 欲读受保护目录需要进行用户验证. 

可用此技术在 Web 服务器上设置会员专区. 详细配置如下描述:

  首先在要保护的目录下创建文件名 .htaccess 的文件, 内容如下:

           AuthName   "会员专区"

           AuthType     Basic

           AuthUserFile   /etc/httpd/.htpasswd

           Require Valid-user

      第二, 创建 Apache 的用户帐户文件 .htpasswd 文件, 使用以下命令:

              htpasswd -cm /etc/httpd/.htpasswd user1

              创建第二个以后的用户就不要使用 -c 参数了, 如下:

              htpasswd -m /etc/httpd/.htpasswd user2

     最后重启 httpd 服务, 当你访问被保护目录时,会提示你输入用户名和口令.

 

10.安装打印机

#system-config-printer

 

11.NIS客户端

 

Server配置:

1.#vi /etc/sysonfig/network //修改主机名为nis(修改完需重启生效)

2.# netconfig        //配置Server的IP地址为192.168.1.1

   # service network start

3.# useradd ddd

 # passwd ddd     //在Server上新建用户ddd并设置口令

4.# rpm -qa | grep ^yp  

 # mount /dev/cdrom   //挂载光盘

 # rpm -ivh ypserv-2.13-5.i386.rpm   //安装NIS服务器软件包

5.

 # chkconfig --list  time 

 # chkconfig --list  time-udp

 # chkconfig time on

 # chkconfig time-udp on    //启动time服务和time-udp服务

 或者使用方法# vi /etc/xinetd/time找到底下有一行内容为disable=yes把它改成no

 # vi /etc/xinetd/time-udp找到有一行内容为disable=yes把它改成no

 # /etc/rc.d/init.d/xinetd restart  //启动这两个服务

6.# nisdomainname com   //在NIS服务器主机中建立NIS域名 

  # vi /etc/rc.d/rc.local  将底下这一行加入这个档案的最后一行内: 

 /bin/nisdomainname com 

         # vi /etc/sysconfig/network 加入底下这一行: 

 NISDOMAIN=com

                 7.# vi /etc/ypserv.conf   //配置NIS服务器主配置文件

                    <主机名称/IP>:<网域名称>:<数据库类别>:<安全性>

                         ①主机名称/IP:这里可以这样设定:192.168.1.0/255.255.255.0

  ②网域名称:通常都设定成为 * 即可! 

  ③数据库类别:可以使用 * 来表示所有的数据库! 

  ④安全性:主要有三种参数: 

none :无论如何就是可以无条件进入本机; 

port :仅允许 < 1024 以下的 port 进入; 

deny :无论如何就是关闭不让人家登入主机!

 系统当中,只有 root 可以启用 < 1024 以下的 port ,因此,更安全的设定, 

 可以使用参port,如果您想要让您的 NIS Server 运作的较为快速,并且安全性上面 

 没有太多的考虑,那么使用 none 是一个不错的主意!

8.# /etc/rc.d/init.d/ypserv    start //启动服务

 # /etc/rc.d/init.d/yppasswdd start //启动服务

 

9.# /usr/lib/yp/ypinit -m   //构建NIS服务器数据库

 next host to add: <==在这里按下[ctrl + d]跳出

 Is this correct?  [y/n: y]  y <==在这里输入yes

 或者使用方法:cd /var/yp/

  make

10.# /etc/rc.d/init.d/ypserv    start //重启服务

  # /etc/rc.d/init.d/yppasswdd start //重启服务

 

11.NIS客户机无法找到宿主目录

  # rpm -qa | nfs-utils portmap  //查询NFS所需软件包是否安装(默认安装)

  # vi /etc/exports  //配置NFS配置文件

  /home  *(sync,rw)  把NIS服务器HOME目录共享

  # service portmap restart  //启动NFS所需服务

  # service nfs start

 

 

Client配置:

1.# netconfig        //配置Client的IP地址为192.168.1.2

 # service network start

2.# rpm -qa | grep ^yp //检查Client所需软件包ypbind和yp-tools是否安装(默认安装)

4.# vi /etc/hosts   //设定 NIS Server 的 IP 对应主机名称

 加入行192.168.1.1 nis  

 

5.# nisdomainname com   //在NIS Client主机中建立NIS域名 

 # vi /etc/rc.d/rc.local  将底下这一行加入这个档案的最后一行内: 

 /bin/nisdomainname com 

 # vi /etc/sysconfig/network 加入底下这一行: 

 NISDOMAIN=com

6.# vi /etc/yp.conf 

 加入行: 

 domainname com server nis 

 那个 com 是你的 NIS 的 domain ,至于 nis  则是 NIS Server 的主机名称

7.# vi /etc/nsswitch.conf

 passwd:     files nis   使用者相关信息查寻

 shadow:     files nis   使用者密码的查寻

 group:      files nis   使用者的群组信息查寻

 hosts:      files nis dns   主机名称与IP对应的查寻

8.# service ypbind start  //启动ypbind服务程序

9.# mount -t nfs 192.168.1.1:/home /home  //挂载NFS文件系统

 这样一来,您的 NIS Clients 就具有和 NIS Server 主机一模一样的宿主目录了

 或者设置为自动挂载编辑/etc.fstab文件加入行

 nis:/home/   /home nfs defaults    0 0

10.# yptest

  # ypwhich  单纯使用 ypwhich 的时候显示的是『NIS Client 的 domain』名称

  # ypwhich -x  加入 -x 这个参数时则是显示『NIS Client 与 Server 之间沟通的数据库有哪些?』

  # ypcat -x  主要的功能就是『列出数据库』啰!与 ypwhich -x 相同功能

  # ypcat [数据库名称或功能]  这个指令可以用来取得 NIS Server 上面各个数据库的内容

  # ypcat passwd  举例来说,我们想要知道 passwd ( 密码数据 ) 的所有使用者内容就需要使用这条命令

  # yppasswd 在 NIS Client 端修改各个账号的密码

  不太建议大家使用这些指令去修改数据库的内容啦!比较建议这样做: 

  

登入到 NIS Server 主机里面去,进行 useradd 或者是 passwd 修改账号与密码等等    的更动; 

使用 /usr/lib/yp/ypinit -m 重新制作数据库档案! 

 

11.验证

 

12.时间服务器客户端设置

 

system-config-time

 

13.设定定时任务

crontab -e 

*/5 8-9 1 * * tar cvf abc.tar /abc

 

14.设置acl(有问题)

vi /etc/fstab

/dev/sdb10            /test                   ext3    defaults,acl       1 2

mount -o remount /test

mkdir /test/test1

setfacl -m u:alading:r-- /test/test1

getfacl /test/test1

 

14.sticky粘着位

mkdir abc

chmod 1777 /abc -R

useradd yp1

useradd yp2

su - yp1

cd /abc

touch 1.c

su - yp2

cd /abcl

rm 1.c

15.NFS服务器

yum install nfs

vi /etc/exports

/var/ftp/pub 192.168.80.0/255.255.255.0(ro,sync)

service portmap restart

service nfs restart

exportfs -arv

挂载共享目录

mount -t nfs 192.168.80.77:/var/ftp/pub /abc

16 SMB服务

首先安装SMB服务器, 执行:

 yum install samba samba-common samba-client

修改主配置文件/etc/samba/smb.conf, 添加共享文件;如下:

 [sharename] #这是共享名, 访问时用此名访问此共享, 与NFS的访问不相同.

comment=xxxxxx  #此行只是注释

path=/var/spool/samba #共享文件路径

public=yes   #此共享允许guest用户访问

#valid users = user1 user2   #允许指定用户访问

#write list = @devel  允许指定组的用户访问

#writable = no 关闭写功能

#printable = yes 指定此共享为打印机

  修改访问控制, 在主配置文件中;

 host allow= ip地址列表

  修改Selinux上下文:

 chcon -R -t samba_share_t /共享路径

  添加Samba用户;

 smbpasswd -a username  #此用户在系统中已存在

  重启服务:

 service smb restart

 chkconfig smb on

客户端访问;

 1, 检查samba 服务器的共享:

smbclient -L hostname

 2, 访问samba服务器的共享:

  smbclient -U username //server/sharename

 也可以匿名访问: smbclient //server/sharename

 3, 也可以使用mount命令:

mount -t cifs //server/sharename /mountpoint user=username

 

禁用网段:hosts allow或者hosts deny

hosts allow = 192.168.80.0/255.255.255.0

hosts deny = all

 

17.sendmail和dovecot配置

第一, 首先安装sendmail, 使用以下命令:

  yum install sendmail sendmail-cf sendmail -doc  #在此一定要安装sendmail-cf包,否则不能将

  sendmail.mc文件编译为sendmail.cf文件.

修改主配置文件/etc/mail/sendmail.mc如下:

 

1, 侦听网络接口, 注释以下行:

dnl # DAEMON_OPTIONS(`port=smtp,addr=127.0.0.1,Name=MTA') dnl

2, 配置sendmail接收域名, 将域名添加到/etc/mail/local-host-names文件中,每行一个域名, 如下:

station8.example.com #一定要将本机的主机名加入到此文件中

example.com

localhost

3, 在/etc/hosts.allow文件中加入以下行:

sendmail:ALL

4, 修改别名文件/etc/aliases, 一行一个别名:

vi /etc/aliases

rhce:yp1,yp2

newaliases

 

5, 重启sendmail 服务

service sendmail restart

chkconfig sendmail on

 

第二, 安装Dovecot 使用以下命令:

yum install dovecot

1, 安装后不要做任何配置主配置文件/etc/dovecot.conf

2, 启用POPs和IMAPs 

a, 生成证书和私钥

make -C /etc/pki/tls/certs dovecot.pem #证书和私钥是同一个文件

b, 将以上生成的证书和私钥文件拷贝到以下位置:

cp dovecot.pem /etc/pki/dovecot/certs

cp dovecot.pem /etc/pki/dovecot/private

c, 重启dovecot服务

service dovecot restart

chkconfig dovecot on

 

第三, sendmail和dovecot的访问控制使用iptables

sendmail 使用smtp协议, 端口为25

dovecot重动了

pop协议, 端口为110

pops协议,端口为995

IMAP协议, 端口为143

IMAP协议, 端口为993

邮件客户端使用 mutt命令      

---简单配置

vi /etc/mail/sendmail.mc

DEAMON_OPTIONS('Port=smtp, Addr=0.0.0.0, Name=MTA')dnl

cd /etc/mail/

m4 sendmail.mc > sendmail.cf

service sendmail restart

chkconfig sendmail on

netstat -tlunp

 

18. iptables防火墙

 

 

1. 一个几乎关闭的系统:

iptables -A INPUT -j DROP/REJECT

 

2. 接受/拒绝192.168.1.0/24网段的数据包:

iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT/DROP/REJECT

 

3. 抵挡住进入本机的21号端口的tcp数据包:

iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport=21 -j DROP

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

 

4. 抵挡进入本机137,148端口的udp数据包

iptables -A INPUT -s 192.168.1.0/24 -p upd --dport=137:148 -j DROP/REJECT

 

5. ICMP数据包的控制:

语法: iptables -A INPUT -s 网段 -p icmp --icmp-type 类型 -j ACTION

 

实例: 禁止192.168.1.15 用ping访问本机:

iptables -A INPUT -s 192.168.1.15 -p icmp --icmp-type echo-request -j REJECT/DROP

或者:

iptables -A INPUT -s 192.168.1.15 -p icmp --icmp-type 8 -j REJECT/DROP

 

=> "echo-request"的 icmp-type是8。 如此容易记忆多了。

 

注意: 规则的次序很重要!!!

  例如:

 

# iptables -L INPUT

  Chain INPUT (policy ACCEPT)

  target     prot opt source                   destination

  ACCEPT     all  --  192.168.1.0/24         anywhere

  REJECT     icmp --  192.168.1.15          anywhere            icmp echo-request reject-with icmp-port-unreachable

 

第一条规则接受该网段的所有包,第二条规则就被屏蔽了。。。。郁闷。 15号机器照样能ping通本机。 如何处理呢?

解决方案:删掉第一条规则。^_^  #iptables -D INPUT 1

 

6. 禁止192.168.1.0/24网段使用ssh登录到本机:

 

iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j REJECT/DROP

 

  最后别忘记,为了保证下次启动后规则保存,执行:service iptables save 或者/etc/init.d/iptables save

 

19.设置网卡

system-config-network

service network restart

设置dns

/etc/resolv.conf

 

20.防ping,ip地址转发

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

 

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

使重启生效后生效:

vi /etc/rc.local

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

21.grub加密

grub-md5-crypt > /boot/grub/a.c

cd /boot/grub/

vi a.c(删除不需要的行)

vi /boot/grub/grub.conf

在title前添加

password --md5 (. !/boot/grub/a.c)

sync

 

22.自动挂载

 

vi /etc/auto.master

/abc/root/abc.c

vi /root/abc.c

rhce192.168.80.77:/var/www/html

serviceautofsrestart

chkconfig autofs on

 

23.grub恢复

 

rm -f /boot/grub/grub.conf

sync

重新启动后

进入grub

grub>root (hd0,0)

grub>kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/

grub>initrd /initrd-2.6.18-8.el5.img

grub>boot

 

创建grub

vi /etc/boot/boot.conf

default=0

timeout=5

titleRHEL

root (hd0,0)

kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet

initrd /initrd-2.6.18-8.el5.img

 

(. !ls /boot)

boot目录删除

 

进入救援模式F12

用CDROM启动

boot:linux rescue

#chroot /mnt/sysimage/

#mount /dev/hdc /tmp

下载kernel文件

rpm -ivh kernel-2.6.18-8.el5.i686.rpm --root=/ --force

grub-install /dev/sda

配置grub文件

 

加入fstab坏无法挂载

e2label /dev/sda1 看挂载点

 

24.DNS

 

使DNS服务器能够解析解析局域网内的机器

 

1、 yum install bind*

yum install caching-nam*

 

2、#cp /etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf  //由于安装了chroot,可到chroot目录下新建目录使用模板文件更改

#vim /etc/named.conf     //配置DNS主配置文件,以下是要更改的文件

  listen-on port 53 { 127.0.0.1; 192.168.0.102; };  //加入监听的主机IP,注意两个IP之间要有空格,最后 } 前要加;空格。

  allow-query     { localhost; 192.168.0.0/24; };

 

view localhost_resolver {

match-clients      { localhost; 192.168.0.0/24; };

match-destinations { localhost; 192.168.0.0/24; };        

recursion yes;

include "/etc/named.rfc1912.zones";

zone "example.com" {                                        //正解区域

type master;                                     //master

file "example.com.zone";                //注意要加;加在双引号外

};

zone "0.168.192.in-addr.arpa" {                //反解区域

type master;

 file "192.168.0.zone";

};

};                //正反解区域一定要加在view {}内

 

3、配置zone 正反解区域

#cd /var/named/chroot/var/named

#vim example.com.zone

#vim 192.168.0.zone

 

 

//注意 . 代表完整的域名,比如server 不加入点代表server.example.com,初学者最好都用完整的域名在最后加上 . 这样不容易出错。

      @ 代表/var/named/chroot/etc/named.conf 内文件定义的zone区域,比如example.com.zone中的@就是代表 example.com 

 

完成后注意要改三个文件的拥有者,大家做的时候可以不改,启动named服务时大家可以看看会发生什么现像:

#chown named /var/named/chroot/etc/named.conf 

view localhost_resolver {

match-clients   { localhost; 192.168.0.0/24; };

match-destinations { localhost; 192.168.0.0/24; };

recursion yes;

include "/etc/named.rfc1912.zones";

zone "example.com" {

type master;

file "example.com.zone";

};

zone "0.168.192.in-addr.arpa" {

type master;

file "192.168.0.zone";

};

 

#chown named /var/named/chroot/var/named/example.com.zone

$TTL86400

@IN SOAserver.example.com.    root (

2010011001; serial (d. adams)

3H; refresh

15M; retry

1W; expiry

1D ); minimum

 

@        IN NSserver.example.com.

server.example.com. IN A192.168.0.102

station11IN A192.168.0.111

station12IN A192.168.0.112

station13IN A192.168.0.113

station14IN A192.168.0.114

 

 

#chown named /var/named/chroot/var/named/192.168.0.zone

 

$TTL86400

@       IN      SOA  server.example.com. root.server.example.com.  (

 2010011001 ; Serial

 28800      ; Refresh

 14400      ; Retry

 3600000    ; Expire

 86400 )    ; Minimum

@        IN      NS      server.example.com.

102.0.168.192.in-addr.arpa.       IN      PTR     server.example.com.

 

 

4、#service named restart                //重启named服务

host server.example.com//用host ,dig命令测试。

 

补充命令:

#service named configtest

#named-checkzone /var/named/chroot/var/named/example.com.zone

#named-checkconf /etc/namedconf                          

#tail /var/log/message

#nslookup server.example.com 192.168.0.102

 

25.删除bash

which bash

rm /bin/bash

rm /etc/rc.d/rc.sysinit

进入救援模式

cd Server/

rpm -ivh bash-*--nodeps --force --root=/mnt/sysimage (--nodeps不考虑依懒关系)

rpm -ivh initscr*--nodeps --force --root=/mnt/sysimage (--nodeps不考虑依懒关系)

exit

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

rhce基本题:用户,组,目录权限的概念,用户主组和从属组概念要分清在网上找到一组题,希望可以借此理清概念

 

Question 40

创建新组名为sysusers

 

答案和解释

 

1 # groupadd sysusers

可在/etc/group 文件中查找新建信息

 

Question 41

创建新用户jeff,marion,harold

 

答案和解释

 

# useradd -p password_jeff jeff

# useradd -p password_marion marion

# useradd -p password_harold harold

利用-p参数同时创建用户和密码,在/etc/passwd文件中保存用户信息.

 

 

Question 42

将jeff和marion的从属组改为sysusers.harold不属于sysusers组

 

答案和解释

 

# usermod -G sysuesrs jeff

# usermod -G sysuesrs marion

 

命令执行完后可在/etc/group文件中查看更改信息.linux系统给用户设置的两种组属性,主组和从属组.一个用户只有一个主组,却可以属于多个从属组.

 

# usermod -g groupname username 改变用户的主组

# usermod -G groupname username 改变用户的从属组

 

Question 43

创建目录/storage 并且所有组必须为sysusers

 

答案和解释

 

# chgrp sysusers /storage

# ls -ld /storage

drwxr-x--- 2 root sysuesrs 4096 Mar 16 17:59 /storage

chgrp 命令用来改变文件或者目录的组属性,另外改变文件和目录拥有者的命令是

#chown root:sysuesrs /storage

 

Question 44

改变/storage目录全线,只允许目录所有者,和所属组员可以拥有读写执行的权限

 

答案和解释

# chmod 770 /storage

# ls -ld /storage

drwxrwx--- 2 root sysuesrs 4096 Mar 16 18:08 /storage

 

改变目录的读写执行权限用chmod命令.4,2,1分别对应相应的值

 

Question 45

用户在/storage中创建/directories目录,使其创建目录自动继承/storage目录的组属性

 

答案和解释

 

# chmod g+s /storage

# ls -ld /storage

drwxrws--- 2 root sysuesrs 4096 Mar 16 18:08 /storage

增加SGID,将会确保不同用户在/storage目录中创建的文件或目录自动继承/storage目录的组属性

 

注1:SUID: chmod u+s filename

    SGID: chmod g+s filename

    Sticky: chmod o+l filename

 

SGID 用于继承父目录的组属性,Sticky允许用户在目录中有写权限,但是只能删除自己创建的文件,SUID针对用户赋予的权限

感觉考SGID会多一点

Sticky:

“要删除一个文件,你不一定要有这个文件的写权限,但你一定要有这个文件的上级目录的写权限。也就是说,你即使没有一个文件的写权限,但你有这个文件的上级目录的写权限,你也可以把这个文件给删除,而如果没有一个目录的写权限,也就不能在这个目录下创建文件。 如何才能使一个目录既可以让任何用户写入文件,又不让用户删除这个目录下他人的文件,sticky就是能起到这个作用。stciky一般只用在目录上,用在文件上起不到什么作用。 在一个目录上设了sticky位后,(如/home,权限为1777)所有的用户都可以在这个目录下创建文件,但只能删除自己创建的文件(root除外),这就对所有用户能写的目录下的用户文件启到了保护的作用。”--引用自google

 

注2:尽管jeff和marion属于sysuesrs组,并可以在/storage中创建文件,但是如果没有加SGID他们创建的文件

依然会显示为他们的主组即jeff的主组是jeff,而不是他们的从属组sysuesrs.所以SGID将确保组属性的继承.

 

 

Question 87

创建用户eric,并且拒绝交谈登陆

 

答案和解释

 

# useradd -p passwd_eric eric

# vim /etc/passwd

eric:x;505:505:: /home/eric:/sbin/nologin

 

gpasswd -a yp3 yp

 

文件引用:RHCE_302_New.pdf

如有错漏,敬请指正

 

祝成功--Cream.OnTop