CentOS系统安装后的初始环境设置
2010-04-30 13:16:07 来源:WEB开发网在CentOS系统安装好之后,安全性以及对硬件的适应性方面,可能并不完全符合我们的实际情况。在这里,对新的CentOS系统进行初始环境设置将以如下方面为原则:
1,为了安全,尽最大可能将访问限制限制到可能的最大程度;
2,为了节省内存及 CPU 使用率(以及安全方面的考虑),尽最大可能将不需要的服务关闭;
3,为了减少误操作可能带来的损失,平时通过 wheel 组用户登录进行系统管理;
4,为了让系统变的更加轻便、快速,将内核中不需要的模块卸载;
CentOS系统 4.4 的安装后初始环境设定
安装完毕重新启动系统后,出现如下的状态:
CentOS release 4.4 (Final)
Kernel 2.6.9-42.EL on an i686
sample login: ← 根据安装时网络设置的情况的不同,本站以“sample”,其位置显示的是你设置好的主机名。
[1] 系统的登录与退出
sample login: root ← 用root用户来登录系统,输入用户名root
Password: ← 在这里输入安装时设置的root密码,输入时密码不会被显示
[root@sample ~]# ← root用户登录成功,提示符为“#”。若一般用户登录成功后,提示符为“$”
[root@sample ~]# exit ← 退出系统
sample login: ← 退出系统成功
[2] 一般用户的建立与删除
[root@sample ~]# useradd centospub ← 建立用户名为 centospub 的一般用户
[root@sample ~]# passwd centospub ← 为用户 centospub 设置密码
Changing password for user centospub.
New UNIX password:← 输入密码(密码不会被显示)
Retype new UNIX password:← 再次输入密码确认两次密码一致
passwd: all authentication tokens updated successfully. ← 密码设置成功
[root@sample ~]# userdel -r centospub ← 删除用户名为 centospub 的一般用户
[3] 通过一般用户登录为root用户
因为root用户对系统具有全权的操作权限,为了避免一些失误的操作,建议在一般情况下,以一般用户登录系统,必要的时候需要root操作权限时,再通过“su -”命令来登录为root用户进行操作。
[centospub@sample ~]$ ← 提示符为“$”,说明当前状态为一般用户CentOS系统pub登录在系统中
[centospub@sample ~]$ su - ← 输入登录为root用户的命令
Password: ← 输入root密码(密码不会被显示),回车
[root@sample ~]# ← 成功登录为root用户,提示符变为“#”
[root@sample ~]# exit ← 回到一般用户的登录状态
[centospub@sample ~]$ ← 提示符变为“$”,回到了一般用户CentOS系统pub登录系统的状态
[4] 建立管理员组内一般用户
在 一般情况下,一般用户通过执行“su -”命令、输入正确的root密码,可以登录为root用户来对系统进行管理员级别的配置。但是,为了更进一步加强系统的安全性,有必要建立一个管理员的 组,只允许这个组的用户来执行“su -”命令登录为root用户,而让其他组的用户即使执行“su -”、输入了正确的root密码,也无法登录为root用户。在UNIX下,这个组的名称通常为“wheel”。
[root@sample ~]# usermod -G wheel centospub ← 将一般用户 centospub 加在管理员组wheel组中
[root@sample ~]# vi /etc/pam.d/su ← 打开这个配置文件
#auth required /lib/security/$ISA/pam_wheel.so use_uid ← 找到此行,去掉行首的“#”
auth required /lib/security/$ISA/pam_wheel.so use_uid ← 变为此状态(大约在第6行的位置)
[root@sample ~]# echo "SU_WHEEL_ONLY yes" >> /etc/login.defs ← 添加语句到行末
以上操作完成后,可以再建立一个新用户,然后用这个新建的用户测试会发现,没有加入到wheel组的用户,执行“su -”命令,即使输入了正确的root密码,也无法登录为root用户。
[5] 建立PPPoE连接(非xDSL接入方式的用户可跳过此步骤)
- [root@sample ~]# adsl-setup ← 建立ADSL连接
- Welcome to the ADSL client setup. First, I will run some checks on
- your system to make sure the PPPoE client is installed properly...
- LOGIN NAME
- Enter your Login Name (default root): ← 填入ADSL连接的用户名
- INTERFACE
- Enter the Ethernet interface connected to the ADSL modem
- For Solaris, this is likely to be something like /dev/hme0.
- For Linux, it will be ethX, where 'X' is a number.
- (default eth0):← 指定网络接入设备,一块网卡的情况下,一般为默认eth0
- Do you want the link to come up on demand, or stay up continuously?
- If you want it to come up on demand, enter the idle time in seconds
- after which the link should be dropped. If you want the link to
- stay up permanently, enter 'no' (two letters, lower-case.)
- NOTE: Demand-activated links do not interact well with dynamic IP
- addresses. You may have some problems with demand-activated links.
- Enter the demand value (default no):← 直接按回车,接受默认设置
- DNS
- Please enter the IP address of your ISP's primary DNS server.
- If your ISP claims that 'the server will provide dynamic DNS addresses',
- enter 'server' (all lower-case) here.
- If you just press enter, I will assume you know what you are
- doing and not modify your DNS setup.
- Enter the DNS information here:← 如果知道DNS服务器的信息在此填入。不知道的情况按回车跳过
- PASSWORD
- Please enter your Password: ← 输入ADSL的连接密码
- Please re-enter your Password: ← 再次确认输入ADSL的连接密码
- USERCTRL
- Please enter 'yes' (two letters, lower-case.) if you want to allow
- normal user to start or stop DSL connection (default yes): no ← 填入no,不允许一般用户控制PPPoE的连接
- FIREWALLING
- Please choose the firewall rules to use. Note that these rules are
- very basic. You are strongly encouraged to use a more sophisticated
- firewall setup; however, these will provide basic security. If you
- are running any servers on your machine, you must choose 'NONE' and
- set up firewalling yourself. Otherwise, the firewall rules will deny
- access to all standard servers like Web, e-mail, ftp, etc. If you
- are using SSH, the rules will block outgoing SSH connections which
- allocate a privileged source port.
- The firewall choices are:
- 0 - NONE: This script will not set any firewall rules. You are responsible
- for ensuring the security of your machine. You are STRONGLY
- recommended to use some kind of firewall rules.
- 1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
- 2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
- for a LAN
- Choose a type of firewall (0-2): 0 ← 输入0,不在这里使用防火墙
- Start this connection at boot time
- Do you want to start this connection at boot time?
- Please enter no or yes (default no): yes ← 填入yes,在系统启动时自动连接ADSL
- ** Summary of what you entered **
- Ethernet Interface: eth0
- User name: caun870293@ca.dti.ne.jp
- Activate-on-demand: No
- DNS: Do not adjust
- Firewalling: NONE
- User Control: no
- Accept these settings and adjust configuration files (y/n)? y ← 配置信息确认无误后,键入y同意设置
- Adjusting /etc/sysconfig/network-scripts/ifcfg-ppp0
- Adjusting /etc/ppp/chap-secrets and /etc/ppp/pap-secrets
- (But first backing it up to /etc/ppp/chap-secrets.bak)
- (But first backing it up to /etc/ppp/pap-secrets.bak)
- ?
- Congratulations, it should be all set up!
- Type '/sbin/ifup ppp0' to bring up your xDSL link and '/sbin/ifdown ppp0'
- to bring it down.
- Type '/sbin/adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp0'
- to see the link status.
然后,启动ADSL连接。
[root@sample ~]# adsl-start ← 启动ADSL连接
[root@sample ~]# ← 稍等片刻后若启动成功后出现提示符(无任何提示即意味着连接成功)
这时,通过“ifconfig”命令可以看到各网络接口的信息(IP地址等等)。
[6] root邮件的转送
在系统出现错误或有重要通知发送邮件给root的时候,让系统自动转送到我们通常使用的邮箱中,这样方便查阅相关报告和日志。
[root@sample ~]# vi /etc/aliases ← 编辑aliases,添加如下行到文尾
root: yourname@yourserver.com ← 加入自己的邮箱地址
[root@sample ~]# newaliases ← 重建aliasesdb
/etc/aliases: 79 aliases, longest 19 bytes, 825 bytes total
[root@sample ~]# echo test | mail root ← 发送测试邮件给root
如果成功的话,会在刚刚填入的 yourname@yourserver.com 的邮箱中收到测试的邮件。
[7] locate命令用数据库更新及自动更新设定
locate命令是Linux下告诉搜索文件用的工具,它的原理和Windows下的“Google桌面搜索”有点类似,是通过事先建立数据库的方式,来达到高速查找目标文件的目的。
[root@sample ~]# vi /etc/updatedb.conf ← 编辑locate数据库更新配置文件
DAILY_UPDATE=no ← 找到这一行,将“no”改为“yes”
DAILY_UPDATE=yes ← 变为此状态后,保存、退出
[root@sample ~]# updatedb ← 运行locate数据库更新命令,稍等片刻…更新成功后出现提示符
[8] 定义yum的非官方库
在服务器构建的过程中,我们将要用到的一些工具不存在于CentOS系统中yum的官方库中,所以需要定义yum的非官方库文件,让一些必需的工具通过yum也能够安装。
- [root@sample ~]# vi /etc/yum.repos.d/dag.repo ← 建立dag.repo,定义非官方库
- [dag]
- name=Dag RPM Repository for Red Hat Enterprise Linux
- baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
- gpgcheck=1
- enabled=1
- [root@sample ~]# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt ← 导入非官方库的GPG
[9] 停止打印服务
如果不准备提供打印服务,停止默认被设置为自动启动的打印服务。
- [root@sample ~]# /etc/rc.d/init.d/cups stop ← 停止打印服务
- Stopping cups: [ OK ] ← 停止服务成功,出现“OK”
- [root@sample ~]# chkconfig cups off ← 禁止打印服务自动启动
- [root@sample ~]# chkconfig --list cups ← 确认打印服务自启动设置状态
- cups 0:off 1:off 2:off 3:off 4:off 5:off 6:off ← 0-6都为off的状态就OK(当前打印服务自启动被禁止中)
[10] 停止ipv6
在CentOS系统默认的状态下,ipv6是被启用的状态。因为我们不使用ipv6,所以,停止ipv6,以最大限度保证安全和快速。
首先再次确认一下ipv6功能是不是被启动的状态。
[root@sample ~]# ifconfig -a ← 列出全部网络接口信息
- eth0 Link encap:Ethernet HWaddr 00:0C:29:B6:16:A3
- inet addr:192.168.0.13 Bcast:192.168.0.255 Mask:255.255.255.0
- inet6 addr: fe80::20c:29ff:feb6:16a3/64 Scope:Link
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- RX packets:84 errors:0 dropped:0 overruns:0 frame:0
- TX packets:93 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:1000
- RX bytes:10288 (10.0 KiB) TX bytes:9337 (9.1 KiB)
- Interrupt:185 Base address:0x1400
- lo Link encap:Local Loopback
- inet addr:127.0.0.1 Mask:255.0.0.0
- inet6 addr: ::1/128 Scope:Host
- UP LOOPBACK RUNNING MTU:16436 Metric:1
- RX packets:12 errors:0 dropped:0 overruns:0 frame:0
- TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:0
- RX bytes:952 (952.0 b) TX bytes:952 (952.0 b)
- sit0 Link encap:IPv6-in-IPv4 ← 确认ipv6是被启动的状态
- NOARP MTU:1480 Metric:1
- RX packets:0 errors:0 dropped:0 overruns:0 frame:0
- TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:0
- RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
CentOS系统安装后然后修改相应配置文件,停止ipv6。
[root@sample ~]# vi /etc/modprobe.conf ← 修改相应配置文件,添加如下行到文尾:
alias net-pf-10 off
alias ipv6 off
[root@sample ~]# shutdown -r now ← 重新启动系统,使设置生效
最后确认ipv6的功能已经被关闭。
- [root@sample ~]# ifconfig -a ← 列出全部网络接口信息
- eth0 Link encap:Ethernet HWaddr 00:0C:29:B6:16:A3
- inet addr:192.168.0.13 Bcast:192.168.0.255 Mask:255.255.255.0
- inet6 addr: fe80::20c:29ff:feb6:16a3/64 Scope:Link
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- RX packets:84 errors:0 dropped:0 overruns:0 frame:0
- TX packets:93 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:1000
- RX bytes:10288 (10.0 KiB) TX bytes:9337 (9.1 KiB)
- Interrupt:185 Base address:0x1400 lo Link encap:Local Loopback
- inet addr:127.0.0.1 Mask:255.0.0.0
- inet6 addr: ::1/128 Scope:Host
- UP LOOPBACK RUNNING MTU:16436 Metric:1
- RX packets:12 errors:0 dropped:0 overruns:0 frame:0
- TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:0
- RX bytes:952 (952.0 b) TX bytes:952 (952.0 b)
(确认ipv6的相关信息没有被列出,说明ipv6功能已被关闭。)
- ››CentOS系统只需6步添加新硬盘并分区格式化的方法
- ››Centos6.0 64位下 MySQL 5.6.11 CMake 安装部署
- ››CentOS下配置超级终端minicom
- ››Centos6.2_x86_64环境下puppet-dashboard安装配置...
- ››CentOS下建立本地YUM源并自动更新
- ››CentOS 安装 PostgreSQL 9.2
- ››CentOS 6.3 安装 Oracle 11gR2 依赖库检查失败处理...
- ››CentOS 6.X 系统初始化生产脚本
- ››CentOS 6下安装nodejs 0.9.0教程
- ››CentOS使用Screen管理会话选项
- ››CentOS+JDK+Tomcat+MySql&JDBCDriver 开发环境搭建...
- ››CentOS 5.6创建NFS文件共享服务器