为您找到与Linux服务器安装相关的共200个结果:
在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。那么你知道在服务器上怎么安装linux系统吗?小编带来了服务器上安装linux系统的具体操作过程,下面大家跟着读文网小编一起来学习一下吧。
我们启动服务器的时候.首先装进光驱的并不是启动盘,而是阵列引导盘.然后服务器从光驱启动后就会出现如下界面,我们选择要装的系统.我这里需要的是6.3 i386,回车.
然后服务器会有刷屏的提示,一堆一堆,我们默默的等待.
提示我们选择语言,选择简体中文.
他提示不能用,但是先是用英文,一会就可以用汉语了.点击OK
选择键盘类型.
选择启动的方式.我们选择第一个光驱启动.
这里就和普通的计算机不一样了.服务器会弹出光驱中的阵列引导盘,然后放入你的系统引导盘.
这是开始没有检测到.在点击OK就可以检测到启动光盘.后边的步骤就和正常的差不多了.
选择忽略所有数据.
选择时区:上海亚洲
输入root用户的密码.假如密码太简单的话,他会提示你该密码过于简单,是否还要继续用,你要是想用,就点击OK.
进入分区的界面.创建自定义分区.
根据自己的需求来分区.
点击创建
我们按照自己的需求来选择相应的分区.我再次建立的是基本的分区.弹出对话框:
输入挂载点,系统类型,一般是ext3,挂载点的大小等信息后,确定.可以建立多个.我在此建立的是5个.强调一下,swap必须有,一般是内存的两倍.
下一步后格式化系硬盘.点击格式化.
这一步无关紧要,直接默认设置就可以.下一步.
最后一道程序就是安装基本的服务.也可以以后自定义,我选择的是现在自定义.下一步
出现你需要安装服务的基本类型.选择一下你所需要的安装包.选择好后,下一步.我建议大家还是不要选择桌面的.毕竟linux是以命令行主导的.自己多动动手比较好一点.
这服务器就开始安装服务了.这个步骤需要一个很长的过程.
安装成功后.点击重新引导.
重新引导后就出现系统安装成功的画面了.我们输入密码就可以进去该系统了.如图.
看过“ 服务器上怎么安装linux系统 ”
浏览量:3
下载量:0
时间:
Varnish经常被用来作反向代理来加速HTTP传输,那么Varnish缓存服务器在linux系统下怎么安装呢?下面跟着读文网小编一起来了解一下吧。
Varnish是一款高性能且开源的反向代理服务器和http加速器。与传统的Squid相比,Varnish具有性能更高、速度更快、管理更方便等诸多优点。作者Poul-Henning Kamp是FreeBSD的内核开发者之一。Varnish采用全新的软件体系架构,和现在的硬件提交配合紧密。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算 机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。
挪威最大的在线报纸 Verdens Gang (http://www.vg.no) 使用3台Varnish代替了原来的12台squid,性能居然比以前更好,这是Varnish最成功的应用案例。
Varnish特点:
1.基于内存进行缓存,重启后数据将消失
2.利用虚拟内存方式,I/O性能好
3.支持设置0~60秒的精确缓存时间
4.VCL配置管理比较灵活
5.32位机器上缓存文件大小最大为2G
6.具有强大的管理功能,例如top、stat、admin、list等
7.状态机设置巧妙,结构清晰
8.利用二叉堆管理缓存文件,可达到积极删除目的
Varnish与Squid的对比
Squid是一个高性能的代理缓存服务器,它和varnish之间有诸多的异同点,如下:
相同点:
都是一个反向代理服务器
都是开源软件
不同点,也是Varnish的优点:
Varnish的稳定性很高,两者在完成相同负荷的工作时,Squid服务器发生故障的几率要高于Varnish,因为使用Squid要经常重启。
Varnish访问速度更快,Varnish采用了“Visual Page Cache”技术,所有缓存数据都直接从内存读取,而squid是从硬盘读取,因而Varnish在访问速度方面会更快。
Varnish可以支持更多的并发连接,因为Varnish的TCP连接释放要比Squid快。因而在高并发连接情况下可以支持更多TCP连接。
Varnish可以通过管理端口,使用正则表达式批量的清除部分缓存,而Squid是做不到的。
squid属于是单进程使用单核CPU,但Varnish是通过fork形式打开多进程来做处理,所以是合理的使用所有核来处理相应的请求。
当然,与传统的Squid相比,Varnish也是有缺点的,如下:
varnish进程一旦挂起、崩溃或者重启,缓存数据都会从内存中完全释放,此时所有请求都会发送到后端服务器,在高并发情况下,会给后端服务器造成很大压力。
在varnish使用中如果单个url的请求通过HA/F5(负载均衡)每次请求不同的varnish服务器中,被请求varnish服务器都会被穿透到后端,而且同样的请求会在多台服务器上缓存,也会造成varnish的缓存的资源浪费,也会造成性能下降。
解决方案:
综上所述在访问量很大的情况下推荐使用varnish的内存缓存方式启动,而且后面需要跟多台squid服务器。主要为了防止前面的varnish服务、服务器被重启的情况下,前期肯定会有很多的穿透这样squid可以担当第二层cache,而且也弥补了varnish缓存在内存中重启都会释放的问题。
这样的问题可以在负载均衡上做url哈希,让单个url请求固定请求到一台varnish服务器上,可以解决该问题。
varnish的工作流程
1、进程之间通信
varnish启动或有2个进程 master(management)进程和child(worker)进程。master读入存储配置命令,进行初始化,然后fork,监控child。child则分配线程进行cache工作,child还会做管理线程和生成很多worker线程。
child进程主线程初始化过程中,将存储大文件整个加载到内存中,如果该文件超出系统的虚拟内存,则会减少原来配置mmap大小,然后继续加载,这时候创建并初始化空闲存储结构体,放在存储管理的struct中,等待分配。
接着varnish某个负责接口新http连接的线程开始等待用户,如果有新的http连接,但是这个线程只负责接收,然后唤醒等待线程池中的work线程,进行请求处理。
worker线程读入uri后,将会查找已有的object,命中直接返回,没有命中,则会从后端服务器中取出来,放到缓存中。如果缓存已满,会根据LRU算法,释放旧的object。对于释放缓存,有一个超时线程会检测缓存中所有object的生命周期,如果缓存过期(ttl),则删除,释放相应的存储内存。
2、配置文件各结构之间通信
Varnish安装
代码如下:
wget http://ftp.cs.stanford.edu/pub/exim/pcre/pcre-8.33.tar.gz
tar xzf pcre-8.33.tar.gz
cd pcre-8.33
./configure
make && make install
cd ../
varnish-3.0.4报错如下:
varnishadm.c:48:33: error: editline/readline.h: No such file or directory
varnishadm.c: In function 'cli_write':
varnishadm.c:76: warning: implicit declaration of function 'rl_callback_handler_remove'
varnishadm.c:76: warning: nested extern declaration of 'rl_callback_handler_remove'
varnishadm.c: In function 'send_line':
varnishadm.c:179: warning: implicit declaration of function 'add_history'
varnishadm.c:179: warning: nested extern declaration of 'add_history'
varnishadm.c: In function 'varnishadm_completion':
varnishadm.c:216: warning: implicit declaration of function 'rl_completion_matches'
varnishadm.c:216: warning: nested extern declaration of 'rl_completion_matches'
varnishadm.c:216: warning: assignment makes pointer from integer without a cast
varnishadm.c: In function 'pass':
varnishadm.c:233: error: 'rl_already_prompted' undeclared (first use in this function)
varnishadm.c:233: error: (Each undeclared identifier is reported only once
varnishadm.c:233: error: for each function it appears in.)
varnishadm.c:235: warning: implicit declaration of function 'rl_callback_handler_install'
varnishadm.c:235: warning: nested extern declaration of 'rl_callback_handler_install'
varnishadm.c:239: error: 'rl_attempted_completion_function' undeclared (first use in this function)
varnishadm.c:300: warning: implicit declaration of function 'rl_forced_update_display'
varnishadm.c:300: warning: nested extern declaration of 'rl_forced_update_display'
varnishadm.c:303: warning: implicit declaration of function 'rl_callback_read_char'
varnishadm.c:303: warning: nested extern declaration of 'rl_callback_read_char'
make[3]: *** [varnishadm-varnishadm.o] Error 1
make[3]: Leaving directory `/root/lnmp/src/varnish-3.0.4/bin/varnishadm'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/lnmp/src/varnish-3.0.4/bin'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/lnmp/src/varnish-3.0.4'
make: *** [all] Error 2
报错没找到解决方法,选varnish-3.0.3
代码如下:
wget http://repo.varnish-cache.org/source/varnish-3.0.3.tar.gz
tar xzf varnish-3.0.3.tar.gz
cd varnish-3.0.3
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure --prefix=/usr/local/varnish --enable-debugging-symbols --enable-developer-warnings --enable-dependency-tracking --with-jemalloc
make && make install
/usr/bin/install -m 755 ./redhat/varnish.initrc /etc/init.d/varnish
/usr/bin/install -m 644 ./redhat/varnish.sysconfig /etc/sysconfig/varnish
/usr/bin/install -m 755 ./redhat/varnish_reload_vcl /usr/local/varnish/bin
useradd -M -s /sbin/nologin varnish
代码如下:
ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/
ln -s /usr/local/varnish/bin/varnish_reload_vcl /usr/bin/
ln -s /usr/local/varnish/bin/varnishadm /usr/bin/
代码如下:
chkconfig --add varnish
chkconfig varnish on
生成varnish管理秘钥:
代码如下:
uuidgen > /usr/local/varnish/etc/varnish/secret
chmod 644 /usr/local/varnish/etc/varnish/secret
修改varnish启动配置:
代码如下:
sed -i "s@^VARNISH_VCL_CONF=/etc/varnish/default.vcl@#VARNISH_VCL_CONF=/etc/varnish/default.vclVARNISH_VCL_CONF=/usr/local/varnish/etc/varnish/linuxeye.vcl@" /etc/sysconfig/varnish
sed -i "s@^VARNISH_LISTEN_PORT=6081@#VARNISH_LISTEN_PORT=6081VARNISH_LISTEN_PORT=80@" /etc/sysconfig/varnish
sed -i "s@^VARNISH_SECRET_FILE=/etc/varnish/secret@#VARNISH_SECRET_FILE=/etc/varnish/secretVARNISH_SECRET_FILE=/usr/local/varnish/etc/varnish/secret@" /etc/sysconfig/varnish
sed -i "s@^VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin@#VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.binVARNISH_STORAGE_FILE=/usr/local/varnish/var/varnish_storage.bin@" /etc/sysconfig/varnish
sed -i "s@^VARNISH_STORAGE_SIZE.*@VARNISH_STORAGE_SIZE=150M@" /etc/sysconfig/varnish
sed -i "s@^VARNISH_STORAGE=.*@VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"@" /etc/sysconfig/varnish
假设你的服务器拥有多颗逻辑处理器,还可以做以下的设置:
/etc/sysconfig/varnish 里面还可以添加自定义的参数,用”-p 参数“的方式添加,如:
DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT}
-f ${VARNISH_VCL_CONF}
-T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT}
-t ${VARNISH_TTL}
-w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT}
-u varnish -g varnish
-S ${VARNISH_SECRET_FILE}
-s ${VARNISH_STORAGE}
-p thread_pools=2" #这里为添加项
Varnish启动后进入后台运行,同时返回命令行状态。需要注意的是,Varnish运行时会同时启动两个进程,一个主进程,一个是子进程,如果子进程出现问题,主进程将重新生成一个子进程。
VCL配置
代码如下:
/usr/local/varnish/etc/varnish/linuxeye.vcl
#通过backend定义了一个名称为webserver的后端主机,“.host”指定后端主机的IP地址或者域名,“.port”指定后端主机的服务端口。
backend webserver {
.host = "127.0.0.1";
.port = "8080";
}
#调用vcl_recv开始
sub vcl_recv {
if (req.restarts == 0) {
if (req.http.x-forwarded-for) {
set req.http.X-Forwarded-For =
req.http.X-Forwarded-For + ", " + client.ip;
} else {
set req.http.X-Forwarded-For = client.ip;
}
}
#如果请求的类型不是GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE时,进入pipe模式。注意这里是“&&”的关系
if (req.request != "GET" &&
req.request != "HEAD" &&
req.request != "PUT" &&
req.request != "POST" &&
req.request != "TRACE" &&
req.request != "OPTIONS" &&
req.request != "DELETE") {
return (pipe);
}
#如果请求的类型不是GET与HEAD,则进入pass模式
if (req.request != "GET" && req.request != "HEAD") {
return (pass);
}
if (req.http.Authorization || req.http.Cookie) {
return (pass);
} <strong></strong>#对linuxeye.com域名进行缓存加速,这是个泛域名的概念,也就是所有以linuxeye.com结尾的域名都进行缓存
if (req.http.host ~ "^(.*).linuxeye.com") {
set req.backend = webserver;
}
#对以.jsp、.do、php结尾以及带有?的URL时,直接从后端服务器读取内容
if (req.url ~ ".(jsp|do|php)($|?)") {
return (pass);
} else {
return (lookup);
}
}</p> <p>sub vcl_pipe {
return (pipe);
}</p> <p>sub vcl_pass {
return (pass);
}</p> <p>sub vcl_hash {
hash_data(req.url);
if (req.http.host) {
hash_data(req.http.host);
} else {
hash_data(server.ip);
}
return (hash);
}</p> <p>sub vcl_hit {
return (deliver);
}</p> <p>sub vcl_miss {
return (fetch);
}
代码如下:
#对于请求类型是GET,并且请求的URL中包含upload,那么就进行缓存,缓存的时间是300秒,即5分钟
sub vcl_fetch {
if (req.request == "GET" && req.url ~ "^/upload(.*)$") {
set beresp.ttl = 300s;
}</p> <p> if (req.request == "GET" && req.url ~ ".(png|gif|jpg|jpeg|bmp|swf|css|js|html|htm|xsl|xml|pdf|ppt|doc|docx|chm|rar|zip|ico|mp3|mp4|rmvb|ogg|mov|avi|wmv|txt)$") {
unset beresp.http.set-cookie;
set beresp.ttl = 30d;
}
return (deliver);
}
代码如下:
#下面是添加一个Header标识,以判断缓存是否命中
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT from demo.linuxeye.com";
} else {
set resp.http.X-Cache = "MISS from demo.linuxeye.com";
}
return (deliver);
}
代码如下:
#使用vcl_error可以定制一个错误页面
sub vcl_error {
set obj.http.Content-Type = "text/html; charset=utf-8";
set obj.http.Retry-After = "5";
synthetic {"
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>"} + obj.status + " " + obj.response + {"</title>
</head>
<body>
<h1>Error "} + obj.status + " " + obj.response + {"</h1>
<p>"} + obj.response + {"</p>
<h3>Guru Meditation:</h3>
<p>XID: "} + req.xid + {"</p>
<hr>
<p>Varnish cache server</p>
</body>
</html>
"};
return (deliver);
}</p> <p>sub vcl_init {
return (ok);
}</p> <p>sub vcl_fini {
return (ok);
}
检查VCL配置是否正确:
代码如下:
service varnish configtest
或
代码如下:
varnishd -C -f /usr/local/varnish/etc/varnish/linuxeye.vcl
启动varnish:
代码如下:
service varnish start
查看varnish状态:
代码如下:
service varnish status
动态加载VCL配置:
代码如下:
service varnish reload
停止varnish:
代码如下:
service varnish stop
查看当前varnish监听的80端口:
代码如下:
# netstat -tpln | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 15249/varnishd
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 19468/nginx
tcp 0 0 :::80 :::* LISTEN 15249/varnishd
查看varnish进程:
代码如下:
# ps -ef | grep varnishd | grep -v grep
root 15248 1 0 11:47 ? 00:00:00 /usr/sbin/varnishd -P /var/run/varnish.pid -a :80 -f /usr/local/varnish/etc/varnish/linuxeye.vcl -T 127.0.0.1:6082 -t 120 -w 50,1000,120 -u varnish -g varnish -S /usr/local/varnish/etc/varnish/secret -s malloc,150M
varnish 15249 15248 0 11:47 ? 00:00:00 /usr/sbin/varnishd -P /var/run/varnish.pid -a :80 -f /usr/local/varnish/etc/varnish/linuxeye.vcl -T 127.0.0.1:6082 -t 120 -w 50,1000,120 -u varnish -g varnish -S /usr/local/varnish/etc/varnish/secret -s malloc,150M
Varnish访问日志
varnishncsa可以使用NCSA通用日志格式(NCSA Common Log Format)将HTTP请求记录到日志文件.
代码如下:
/usr/bin/install -m 755 ./redhat/varnishncsa.initrc /etc/init.d/varnishncsa
chmod +x /etc/init.d/varnishncsa
chkconfig varnishncsa on
mkdir -p /usr/local/varnish/logs
编辑varnishncsa启动配置
代码如下:
ln -s /usr/local/varnish/bin/varnishncsa /usr/bin
sed -i 's@^logfile.*@logfile="/usr/local/varnish/logs/varnishncsa.log"@' /etc/init.d/varnishncsa
启动varnishncsa:
代码如下:
service varnishncsa start
使用logrotate轮询日志文件(每天轮询):
代码如下:
cat > /etc/logrotate.d/varnish << EOF
/usr/local/varnish/logs/varnishncsa.log {
daily
rotate 5
missingok
dateext
compress
notifempty
sharedscripts
postrotate
[ -e /var/run/varnishncsa.pid ] && kill -USR1 `cat /var/run/varnishncsa.pid`
endscript
}
EOF
日志轮询debug测试:
代码如下:
logrotate -df /etc/logrotate.d/varnish
看过“ Varnish缓存服务器在linux系统下怎么安装 ”
浏览量:2
下载量:0
时间:
vsftpd服务器最大的特点就是够安全,可在Linux系统上运行,是ftp服务器软件,下面读文网小编就给大家介绍下如何在Linux下安装vsftpd服务器。
我们所用的ftp服务器程序是vsftpd,算是Linux下最受欢迎的一个开源FTP服务器了。
vsftpd的配置文件默认位置在:/etc/vsftpd/vsftpd.conf,通常情况下需要先备份一份原始的配置文件,然后再编辑,具体步骤如下:
输入mv vsftpd.conf vsftpd.conf-old 将vsftpd.conf文件改名为vsftpd.conf-old 备份,输入vi /etc/vsftpd/vsftpd.conf 新建并编辑vsftpd.conf文件。
接上打开新建vsftpd.conf文件,按照如下配置写入:
anonymous_enable=NO//禁止匿名用户登录,通常我们web服务器上的ftp都不允许匿名登录
local_enable=NO//禁止(或允许)本地用户登录
write_enable=YES//赋予可写入权限
chroot_local_user=YES//锁定用户目录,ftp用户登录ftp只能在自己的目录下操作
anon_upload_enable=NO
anon_mkdir_write_enable=NO//禁止匿名用户的上传、新建目录权限
dirmessage_enable=YES//允许ftp用户列出文件目录
xferlog_enable=YES//写入日志
connect_from_port_20=YES
listen=YES//使用端口20,通常这几项是默认的
pam_service_name=vsftpdpamconf
userlist_enable=YES
tcp_wrappers=YES//比较重要,指定了pam验证的配置文件
guest_enable=YES//开启虚拟用户
guest_username=apache//指定虚拟用户使用本地用户apache的权限,这项特别重要,web服务器上面的ftp虚拟用户一定要设置成apache权限,否则ftp上传的文件不能被正常访问,也无法修改网站生成的文件。
user_config_dir=/etc/vsftpd/vuser_conf//虚拟用户的配置文件存放位置
virtual_use_local_privs=YES//虚拟用户使用本地用户权限,这项要有,否则ftp用户无法更改文件权限
然后保存并退出vi编辑器,执行:service vsftpd restart ,重启vsftpd服务测试配置文件书写是否正确。
添加vsftpd虚拟账户:
我们要进入目录/etc/vsftpd 中建立虚拟用户db库:
输入vi vuservsftpd.txt 新建并编辑文件vuservsftpd.txt,写入你要建立的虚拟用户和密码,单行为用户名双行为密码,注意此不能有空格,如:
vuser1
password1
vuser2
password2
建立完成后保存退出,然后通过db命令来生成vsftpd验证需要使用的虚拟用户库文件:
db -T -t hash -f vuservsftpd.txt vsftpdpamconf.db//注意db文件名要与vsftpd.conf中设置的pam认证名相同
为了安全可以删掉刚刚新建的vuservsftpd.txt,下次需要添加用户名的时候再新建即可,还可以将vsftpdpamconf.db文件权限设置为644。
添加vsftpd虚拟账户配置文件:
虚拟账户没有对应的配置文件不会生效,1步里面我们在vsftpd.conf文件中确定了虚拟账户的配置文件目录为:/etc/vsftpd/vuser_conf,下面我们进入这个目录工作:
配置文件的命名必须是与虚拟账户名相同,所以我们新建了两个文件:vuser1、vuser2,并根据需要写入如下配置信息:
local_root=/var/www/html/demo//设定虚拟用户的更目录,因为我们需要实现每一个网站一个ftp帐号管理,所以他的根目录就是我们需要管理的网站虚拟目录。
write_enable=YES
download_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES//赋予虚拟用户写入、下载上传、新建目录等其它权限
anon_world_readable_only=no//目前不明白这个的意义,但是必须存在
你可根据需要添加或者注销部分权限,注销只需要在语句前面加上“#”号,也可以直接删掉。
现在Linux服务器的FTP就配置成功了,此时就可以测试能不能正常使用了。
上面就是Linux下安装vsftpd服务器的方法介绍了,按照上面的步骤你可以很轻易的安装vsftpd服务器,是不是很简单呢?赶紧试试看吧。
浏览量:2
下载量:0
时间:
有时候我们需要把搭建出来的网站关闭,那么如何关闭Linux服务器上的网站呢?读文网小编分享了关闭Linux服务器上网站的方法,希望对大家有所帮助。
1、打开WDCP服务器管理系统,输入用户名和密码。
2、进入后点击站点列表,找到要关闭的网站。
3、找到右边的操作,用鼠标左键点击【关】。
4、点击【关】会出现关闭提示,点击确定即可。这样就关闭了自己的网站,这个时候你也会发现关闭的网站的操作项变成了【开】,
5、如果你想开启这个网站,找到右边的操作,用鼠标左键点击【开】。
6、点击【开】会出现开启提示,点击确定即可开启网站。
浏览量:2
下载量:0
时间:
semanage命令是用来查询与修改SELinux默认目录的安全上下文,那么大家知道Linux怎么安装使用semanage吗?接下来大家跟着读文网小编一起来了解一Linux安装使用semanage下的解决方法吧。
Selinux极大的增强了Linux系统的安全性,能将用户权限关在笼子里,如httpd服务,apache默认只能访问/var/www目录,并只能监听80和443端口,因此能有效的防范0-day类的攻击。举例来说,系统上的 Apache 被发现存在一个漏洞,使得某远程用户可以访问系统上的敏感文件(比如 /etc/passwd 来获得系统已存在用户),而修复该安全漏洞的 Apache 更新补丁尚未释出。此时 SELinux 可以起到弥补该漏洞的缓和方案。因为 /etc/passwd 不具有 Apache 的访问标签,所以 Apache 对于 /etc/passwd 的访问会被 SELinux 阻止。
CentOS系统自带的chcon工具只能修改文件、目录等的文件类型和策略,无法对端口、消息接口和网络接口等进行管理,semanage能有效胜任SELinux的相关配置工作。
安装:
代码如下:
# yum -y install policycoreutils-python
用法:
semanage命令用来查询与修改SELinux默认目录的安全上下文。
semanage fcontext [-S store] -{a|d|m|l|n|D} [-frst] file_spec
semanage fcontext [-S store] -{a|d|m|l|n|D} -e replacement target
主要参数:
-a:添加
-d:删除
-m:修改
-l:列举
-n:不打印说明头
-D:全部删除
-f:文件
-s:用户
-t:类型
r:角色
基本使用:
管理登录linux的用户和SELinux局限的用户之间的映射。
代码如下:
semanage login [-S store] -{a|d|m|l|n|D} [-sr] login_name | %groupname
管理策略模块:
代码如下:
semanage module [-S store] -{a|d|l} [-m [--enable | --disable] ] module_name
管理网络端口类型定义
代码如下:
semanage port [-S store] -{a|d|m|l|n|D} [-tr] [-p proto] port | port_range
例:如apache采用非标准端口,需执行如下命令:
代码如下:
emanage port -a -t http_port_t -p tcp port_number
查看当前允许的httpd端口:
代码如下:
# semanage port -l|grep http
http_cache_port_t tcp 3128, 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 8888, 80, 443, 488, 8008, 8009, 8443
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
注意:8888是我刚才添加的
管理网络接口类型定义
代码如下:
semanage interface [-S store] -{a|d|m|l|n|D} [-tr] interface_spec
管理网络节点类型定义
代码如下:
semanage node [-S store] -{a|d|m|l|n|D} [-tr] [ -p protocol ] [-M netmask] address
管理文件中映射定义
代码如下:
semanage fcontext [-S store] -{a|d|m|l|n|D} [-frst] file_spec
semanage fcontext [-S store] -{a|d|m|l|n|D} -e replacement target
例:让 Apache 可以访问位于非默认目录下的网站文件
首先,用 semanage fcontext -l | grep '/var/www' 获知默认 /var/www 目录的 SELinux 上下文:
代码如下:
/var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0
从中可以看到 Apache 只能访问包含 httpd_sys_content_t 标签的文件。
假设希望 Apache 使用 /srv/www 作为网站文件目录,那么就需要给这个目录下的文件增加 httpd_sys_content_t 标签,分两步实现。
首先为 /srv/www 这个目录下的文件添加默认标签类型:semanage fcontext -a -t httpd_sys_content_t '/srv/www(/.*)?' 然后用新的标签类型标注已有文件:restorecon -Rv /srv/www 之后 Apache 就可以使用该目录下的文件构建网站了。
其中 restorecon 在 SELinux 管理中很常见,起到恢复文件默认标签的作用。比如当从用户主目录下将某个文件复制到 Apache 网站目录下时,Apache 默认是无法访问,因为用户主目录的下的文件标签是 user_home_t。此时就需要 restorecon 将其恢复为可被 Apache 访问的 httpd_sys_content_t 类型:
代码如下:
restorecon -v /srv/www/foo.com/html/file.html
restorecon reset /srv/www/foo.com/html/file.html context unconfined_u:object_r:user_home_t:s0->system_u:object_r:httpd_sys_content_t:s0
semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?" //新建一条规则,指定/web目录及其下的所有文件的扩展属性为httpd_sys_content_t
看过“Linux怎么安装使用semanage”
浏览量:4
下载量:0
时间:
有时候,装了某个软件或驱动后,破坏了声卡本身的驱动程序,这时候可能通过重装声卡驱动来解决。就让读文网小编来告诉大家Linux系统如何安装声卡驱动的方法吧,希望对大家有所帮助。
环境 ubuntu12.04
因为桌面版的默认装了,而且调声音也很方便,这里说一下server版下的配置,毕竟做开发经常还是用server版的
1.安装
apt-get install alsa-base 它会把alsa-utils也一块装了,这是个工具包,如果没装的话 直接 apt-get install alsa-utils
2.配置
在server版下装完alsa后声音默认是静音的
执行 alsamixer 会出现一个图形界面
会看到有的是 MM 有的是OO 用“m”键切换时静音还是打开,一般设置 Master 和 PCM 就可以了,其他的自己看着办就行了,千万不要被图片误导了,前两个一定要设置为OO!!。
3.设置默认声卡,有时候会有多个声卡,我们需要选一个默认的
在上图那个界面里 按 F6 就会知道自己有几个声卡了或者
cd /proc/asound 然后ls下也可以看到自己的声卡了
设置默认声卡有两种方法
(1)在/etc/下创建文件 asound.conf (整个系统有效)
vi /etc/asound.conf
如果想把声卡 1 设置为默认的则 写入以下内容
defaults.ctl.card 1
defaults.pcm.card 1
defaults.timer.card 1
(2)在用户目录下创建文件.asoundrc,然后在里边写入同样的内容就可以了(只对这个用户生效)
4.这个工具的使用很简单,上下左右那四个键就搞定了。
看过“Linux系统如何安装声卡驱动”
浏览量:3
下载量:0
时间:
Pidgin(前称Gaim)是一个跨平台的即时通讯客户端,使用GNU通用公共许可证发布。那么红旗Linux怎么安装gaim呢?接下来大家跟着读文网小编一起来了解一下红旗Linux安装gaim的解决方法吧。
请下载如下东东,并按此排列顺序安装。
前四个依赖关系的安装步骤均为
./configure
make
make install
libgpg-error-0.7.tar.gz
libgcrypt-1.2.2.tar.gz
libtasn1-0.2.13.tar.gz
ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/gnutls-1.2.8.tar.bz2
http://nchc.dl.sourceforge.net/sourceforge/gaim/gaim-1.5.0.tar.gz
gaim的安装步骤为
./configure
make
make check
make install
make clean
make distclean
一切ok,用吧。
浏览量:3
下载量:0
时间:
一般的声卡驱动是支持windows的,linux很少,所以安装声卡驱动很麻烦。那么Linux系统怎么安装声卡驱动呢?接下来大家跟着读文网小编一起来了解一下Linux系统安装声卡驱动的解决方法吧。
要安装驱动,你得先去下载alsa驱动,网址是alsa-project.org,个人认为为了保证最大的兼容性,最好去下载最新版本。一般来说,只需要下载安装以下三个包就可以了,
driver
lib
utils
当然最好是要同一个版本的,我上传了一个所有需要的包,1.0.16 版的,有需要的用户请到这里来下载
URL : http://www.box.net/shared/0t5z8nao8c 不知道是否长久有效!
为了保证能完全安装成功,建议切换到root用户下执行安装。
我是在X Window 下执行的安装,解压上述下载有的压缩包是用鼠标右键单击解压的,我想能熟练用shell命令来解压文档的Linux User是不需要来我这里看声卡驱动的安装的
先安装下载回来的driver那个包,解压,然后在终端中转到解压后的那个文件夹,按照顺序执行以下命令。
1 ./configure
2 make
3 make install
4 ./snddevices
一般来说都能顺利执行完上述命令的,如果不能的话,请查看返回的信息,这里需要特别说明一下,这几个过程都比较耗时,无论你的硬件配置如何,这个我没有办法解释原因,经验之谈。
安装到了这里,就需要配置系统文件了,怎么配置,手动的我也不知道,但是我知道有一个工具可以帮我们高效且几乎不出错的完成这个任务,那就是alsaconf工具了,这个工具在utils文件包里面。
解压下载回来的utils文件包,同样需要在终端中执行命令,在终端中转到解压后的目录,然后执行如下命令。
./alsaconf
然后就会出现一个比较像GUI的界面,会让你选择几次OK键之后,开始搜索声卡类型,搜索完了以后,就列出声卡列表,选择你的实际芯片组,然后再敲几次OK键,最后问你是否让他帮你写入配置文件,当然要拉。至此,如果幸运的话,重启之后就能你的声卡就能工作了。
如果重启之后还不能工作的话则继续往下看。
还不能工作的话,一般需要安装剩下的那两个包了,但是,有顺序的,先安装lib再安装utils
方法都差不多,都要在终端中执行安装,命令都一样。
1 ./configure
2 make
3 make install
安装完最后的utils时再运行。
./alsaconf
再配置一次声卡,个别的系统还要在X Window下的系统管理工具那里设置一下声卡,不过都简单了。
重启系统,你的声卡应该能工作了,祝贺你。
看过“Linux系统怎么安装声卡驱动”
浏览量:2
下载量:0
时间:
重装系统看起来确实麻烦,这个时候我们就会问,到底有没有简单的重装系统的方法呢?那么怎么自动安装linux系统呢?今天读文网小编与大家分享下自动安装linux系统的具体操作步骤,有需要的朋友不妨了解下。
安装过linux系统的友友们,也许会觉得linux系统的安装并不太麻烦,但是如果我们以后安装linux系统不需要任何操作就能直接安装一个系统是不是很给力啊!特别是在需要批量安装、经常安装系统的时候,自动安装的优势就完全体现出来了,我们只需对现有的镜像、磁盘等等存放这系统安装的东西文件进行稍微的添加修改,就可以让你在安装系统的时候想干啥干啥,不必再被系统安装所束缚。当然这方法可以应用在光盘、磁盘、http、ftp等系统安装的方法上,其实方法大同小异,可以n次重复使用,很牛奔,有木有?!
废话不多说,我们直接开始,此处我们主要针用光盘镜像安装系统进行讲解。
1、创建自动安装linux系统的灵魂--ks文件
要想实现这个功能我们得先生成一个记录我们对安装linux系统时的配置的文件ks,也就是说,这个ks文件记录了我们将对安装的linux系统的配置,安装系统时将读取这个文件,对安装的系统进行相应的设置。
我们要用到 system-config-kickstart 软件,通过这个软件我们就可以在图形化界面中进行操作
(1)安装system-config-kickstart 软件,使用命令:yum install system-config-kickstart
(2)安装成功之后直接使用system-config-kickstart命令启动这个软件,开启图形话界面。
(3)在各个选项中进行对将要安装的linux系统配置
(4)最后点击“file”-->“save file”-->选择需要保存的名字及路径(名字必须是以.cfg结尾,默认为ks.cfg)
然后就在相应目录下生成了一个保存着我们对将要安装的linux系统配置的ks文件,
2、将我们的“灵魂”赋予自己的ISO镜像。
(1)挂载镜像系统mount -o loop name.iso /mnt
因为在我们挂载的/mnt目录内的内容是只读的,所以我们再任意创建一个目录新的目录mkdir aaa 将/mnt内的所有东西都考进aaa中:cp /mnt/* aaa 接下来我们就在aaa目录中进行操作。
(2) cd /mnt/aaa 进入aaa目录,我们将发现一个文件和一个目录(我们假设目录的名字为isolinux),我们不用管这些文件和目录,将我们刚保存的ks文件拷贝进 aaa目录(也可以拷贝进镜像的目录内,但是这个不方便我们以后指定ks文件的位置)即可。
3、将加入ks文件的目录重新封装为iso镜像。
将aaa整个目录封装为新的iso惊醒,我们将其命名为new.iso
mkisofs -o new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-tabie -R -J -v -T aaa/
这个命令忒长,而且难以理解,下面我就针对这个命令做一些说明。
-o 指定生成镜像的名字
-b 指定哪个文件为光盘光盘自引导启动的文件(目录内以.bin结尾的文件)
-c 将boot.cat文件的配置信息显示出来(目录内以.cat结尾的文件)
-no-emul-boot 不模仿boot这种引导格式(光盘内没有MBR不能进行boot格式的启动)
到此我们的自动安装镜像就创建成功了,可以放在虚拟机上进行实验,当然我们也可以将其刻成光盘吗,在安装系统的boot界面,我们只需要输入ks 文件的位置即可,针对我们的镜像,只需输入如下命令: linux ks=cdrom:ks.cfg之后敲回车即可进行自动安装。
有些友友也许发现了,这里面最终要的就是找到我们的ks文件,在boot安装界面指明ks的位置及名字,我不得不说你忒聪明了,无论我们是通过光盘 、磁盘、ftp、http安装系统,只要想进行自动安装就必须指明ks文件的位置及名字,当然针对不同的安装方法,指明ks文件的格式也是不一样的,大家可以根据自己的实际情况进行文件名和路径的填写,这点很重要呢!
看过“怎么自动安装linux系统”
浏览量:8
下载量:0
时间:
Postfix是一款用法灵活的电子邮件应用程序,那么大家知道Linux怎么安装配置Postfix吗?今天读文网小编与大家分享下Linux安装配置Postfix的具体操作步骤,有需要的朋友不妨了解下。
postfix的产生是为了替代传统的sendmail.相较于sendmail,postfix在速度,性能和稳定性上都更胜一筹。现在目前非常多的主流邮件服务其实都在采用postfix. 当我们需要一个轻量级的的邮件服务器是,postfix不失为一种选择。
1. postfix是免费的:
postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。
2. 更快:
postfix在性能上大约比sendmail快三倍。一部运行postfix的台式PC每天可以收发上百万封邮件。
3. 兼容性好:
postfix是sendmail兼容的,从而使sendmail用户可以很方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。
4. 更健壮:
postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。
5. 更灵活:
postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以
通过配置文件设置每个程序的运行参数。
6. 安全性
postfix具有多层防御结构,可以有效地抵御恶意入侵者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。
下面来介绍linux上如何搭建和配置postfix服务:
1.关掉sendmail相关的所有服务,最好是直接卸载sendmail.
# service sendmail stop
# chkconfig sendmail off
#rpm -qa | grep sendmail | xargs rpm -e
2.安装postfix.
redhat6.0以上版本应该是默认集成了postfix服务的,假如没有安装的话,可以手动安装。
rpm -qa | grep postifx (查看是否安装)
yum install postfix
3.安装完成后,修改配置文件:/etc/postfix/main.cfg
vi /etc/postfix/main.cf
myhostname = sample.test.com ← 设置系统的主机名
mydomain = test.com ← 设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)
myorigin = $mydomain ← 将发信地址“@”后面的部分设置为域名(非系统主机名)
inet_interfaces = all ← 接受来自所有网络的请求
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ← 指定发给本地邮件的域名
home_mailbox = Maildir/ ← 指定用户邮箱目录
<保存退出!>
4.为本机添加DNS server.
为什DNS Server?因为在邮件发送过程中,需要把邮件地址的domain地址转化成IP地址,再去发送给对应的收件人,这里涉及到DNS中的A记录和MX记录相关的知识,不熟悉的同学可以google或者百度 脑补一下 :-)
如何添加DNS server呢,DNS server去哪里寻找?
vim /etc/resolv.conf
添加如下行:
nameserver 8.8.8.8
nameserver 8.8.4.4
上面用的8.8.8.8/8.8.4.4是Google Free DNS server,当然还有很多免费的DNS server供大家使用,可以google一下:-)
5.测试一下邮件是否能够发送成功:
命令行输入$: > echo "Mail Content" | mail -s "Mail Subject" xxxx@xxx.com
Note:if you see below warings after you run above command.
send-mail: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
send-mail: warning: inet_protocols: configuring for IPv4 support only
postdrop: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
postdrop: warning: inet_protocols: configuring for IPv4 support only
that means you don't have IPv6 configured in your OS's network stack, but your mailer (presumably postfix) is configured to use IPv6. Since there is no IPv6 for your mailer to use, it's warning you that it's only going to use IPv4.
To disable the waring messsage, go to /etc/postfix/main.cf and change from:
inet_protocols = all
to:
inet_protocols = ipv4
This will only use ipv4 and the warning message will go away.
You will have to issue a stop and start for postfix to register the change.
service postfix restart
6.查看log,确认邮件发送状态:
Postfix邮件的log位置是:/var/log/maillog
发送成功的话,会返回250和OK,也可以去自己的邮件客户端查收。
一切OK的话,那Postfix mail service应该就搭建成功了。
另外一些有用的postfix维护命令,一遍日常的检测和维护:
mailq :会列出当前在postfix发送队列中的所有邮件
postsuper -d ALL:删除当前等待发送队列的所有邮件,包括发送失败的退信
当然还有很多,就不一一列举了,大家可以网上搜索扩展,Good Luck!
7.Update Mail From sender
echo "do-not-reply@example.com root@example.com" >> /etc/postfix/generic
echo "smtp_generic_maps = hash:/etc/postfix/generic" >>/etc/postfix/main.cf
postmap /etc/postfix/generic
service postfix restart
看过“Linux怎么安装配置Postfix”
浏览量:2
下载量:0
时间:
现在目前非常多的主流邮件服务其实都在采用postfix,那么大家知道Linux系统怎么安装配置Postfix吗?今天读文网小编与大家分享下Linux系统安装配置Postfix的具体操作步骤,有需要的朋友不妨了解下。
在创建网站应用时,在用户进行某些操作时需要发邮件给用户是一种必不可少的操作。云服务虽然是一个不错的选择。但如果体量太小,或是受到某些条件限制时,自建服务也许是一个更好的选择。下面尝试在 CentOS 7 中搭建发送邮件的功能。
安装 Postfix
postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真是一个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。
(为什么用postfix:
1. postfix是免费的:
postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。
2. 更快:
postfix在性能上大约比sendmail快三倍。一部运行postfix的台式PC每天可以收发上百万封邮件。
3. 兼容性好:
postfix是sendmail兼容的,从而使sendmail用户可以很方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。
4. 更健壮:
postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。
5. 更灵活:
postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。
6. 安全性
postfix具有多层防御结构,可以有效地抵御恶意入侵者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。 )
Postfix 现在几乎已经是 MTA (Mail Transfer Agent) 的标配了。但在它之前 Sendmail 是标配。所以在一些老旧的系统版本中,安装 Postfix 时需要先删除 Sendmail。如果系统已经安装了 Postfix,可以略过此步。
使用下面的命令查看系统使用的 MTA 情况:
代码如下:
alternatives --display mta
删除 Sendmail
代码如下:
sudo yum remove sendmail
安装 Postfix
代码如下:
sudo yum install postfix
设置 Postfix 为 MTA
代码如下:
sudo alternatives --set mta /usr/sbin/sendmail.postfix
配置 Postfix
编辑 /etc/postfix/main.cf 文件中如下配置:
复制代码代码如下:
myhostname = mail.dyniao.com # 主机名称
mydomain = dyniao.com # 邮件服务器的主域名
myorigin = $mydomain # 发送邮件中显示的域名
inet_protocols = ipv4 # 支持的网络协议
以上配置只是我在测试时能运行的最小配置,请勿使用于正式场合或生产环境。
启动 Postfix:
代码如下:
sudo service postfix start
让 Postfix 支持开机启动:
代码如下:
sudo systemctl enable postfix.service
域名配置
完成上面的步骤,已经可以往任意邮箱发送邮件了。但通常情况下只能在对方的垃圾箱中找到。要避免这种情况,还需要对主机进行域名解析的配置,使对方接收邮件的服务器信任收到的邮件。步骤如下:
添加一个 A 记录,设置邮箱用的域名,如: mail.zzxworld.com,指向主机 ip。
添加一个 MX 记录,指向第一步中添加的邮箱域名。
添加一个 TXT 记录,记录值为:
代码如下:
v=spf1 a mx ~all
上面的记录值表示使用 SPF (Sender Policy Framework) 来防止别人伪造邮件。
等域名解析生效后,就可以正常的从主机发送邮件了。
看过“Linux系统怎么安装配置Postfix”
浏览量:2
下载量:0
时间:
DNS服务器搭建很繁琐吗?DNS可以通过 IP 地址解析到域名,也可以通过域名解析到 IP 地址。那么大家知道CentOS系统怎样安装DNS服务器吗?今天读文网小编与大家分享下CentOS系统安装DNS服务器的具体操作步骤,有需要的朋友不妨了解下。
DNS 安装配置
在 RHEL5、6 中 DNS 都是用的是 bind 软件包,而在 RHEL/CentOS 7 用的是 unbound 安装包,配置文件也有了改变。我们来看一下:
2.1.安装:
代码如下:
[root@linuxprobe ~]# yum -y install unbound
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
---> Running transaction check
---> Package unbound.x86_64 0:1.4.20-19.el7 will be installed
---> Finished Dependency Resolution
·····
启动服务
代码如下:
[root@linuxprobe ~]# systemctl restart unbound https://启动DNS服务
[root@linuxprobe ~]# systemctl enable unbound
ln -s ‘/usr/lib/systemd/system/unbound.service‘ ‘/etc/systemd/system/multi-user.target.wants/unbound.service‘
https://下次系统重启自动启动DNS服务
2.2.修改配置文件
unbound 安装好之后,缺省配置文件在 /etc/unbound/unbound.conf。
2.2.1.修改端口监听地址
相当于 RHEL6 配置文件中的:listen-on port 53 { any; };
查看默认监听地址
代码如下:
[root@linuxprobe ~]# netstat -tunlp |grep unbound
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3333/unbound
tcp 0 0 127.0.0.1:8953 0.0.0.0:* LISTEN 3333/unbound
tcp6 0 0 ::1:53 :::* LISTEN 3333/unbound
tcp6 0 0 ::1:8953 :::* LISTEN 3333/unbound
udp 0 0 127.0.0.1:53 0.0.0.0:* 3333/unbound
udp6 0 0 ::1:53 :::* 3333/unbound
https://默认监听本地回环地址,也就是现在只有自己能访问DNS服务,其它主机不能访问本机的DNS服务
修改监听地址代码如下:
[root@linuxprobe ~]# vim /etc/unbound/unbound.conf
……
38 # interface: 0.0.0.0
39 interface: 0.0.0.0
……
https://找到38行,复制去掉注释行,打开监听全网功能。
重启服务查看
代码如下:
[root@linuxprobe ~]# systemctl restart unbound
[root@linuxprobe ~]# netstat -tunlp |grep unbound
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 3461/unbound
tcp 0 0 127.0.0.1:8953 0.0.0.0:* LISTEN 3461/unbound
tcp6 0 0 ::1:8953 :::* LISTEN 3461/unbound
udp 0 0 0.0.0.0:53 0.0.0.0:* 3461/unbound
https://现在53号端口监听的是0.0.0.0,即所有网段都监听。
2.2.2.修改允许查询的范围
在 RHEL6 中,DNS 配置文件中有这样一句:allow-query { localhost; };。此句定义的是允许向本机查询(迭代 & 递归)的主机范围,localhost 代表只有本机可以向本机查询。而在配置中,经常改 localhost 为 any,让所有主机能够向本机查询 DNS。所以,在 RHEL7 中,也要做这样的修改,只不过修改内容不同而已,如下:
代码如下:
[root@linuxprobe ~]# vim /etc/unbound/unbound.conf
……
177 # access-control: 0.0.0.0/0 refuse
178 access-control: 0.0.0.0/0 allow
179 # access-control: 127.0.0.0/8 allow
……
找到配置文件/etc/unbound/unbound.conf的第177行,缺省为注释行,把内容改为允许访问,然后保存退出,重启服务即可。
2.2.3.创建解析文件
RHEL/CentOS 5、6系统中,DNS 的解析文件分正向和反向两个解析文件,并且有解析文件的模板文件。但是在 RHEL7中,正反向解析文件合并为一个,并且无模板文件,需自己创建,路径可以在主配置文件中查看:
代码如下:
[root@linuxprobe ~]# vim /etc/unbound/unbound.conf
……
453 # You can add locally served data with
454 # local-zone: "local." static
455 # local-data: "mycomputer.local. IN A 192.0.2.51"
https://正向解析可参考语法
456 # local-data: ‘mytext.local TXT "content of text record"‘
457 #
458 # You can override certain queries with
459 # local-data: "adserver.example.com A 127.0.0.1"
460 #
461 # You can redirect a domain to a fixed address with
462 # (this makes example.com, www.example.com, etc, all go to 192.0.2.3)
463 # local-zone: "example.com" redirect
464 # local-data: "example.com A 192.0.2.3"
465 #
# Shorthand to make PTR records, "IPv4 name" or "IPv6 name".
467 # You can also add PTR records using local-data directly, but then
468 # you need to do the reverse notation yourself.
469 # local-data-ptr: "192.0.2.3 www.example.com"
https://反向解析参考语法
470
471 include: /etc/unbound/local.d/*.conf
472
473 # service clients over SSL (on the TCP sockets), with plain DNS inside
……
查看本机FQDN
代码如下:
[root@linuxprobe ~]# hostname
linuxprobe.example.com
https://由此可知,域名为example.com
创建解析文件代码如下:
[root@linuxprobe ~]# vim /etc/unbound/local.d/example.conf
local-zone: "example.com." static
local-data: "example.com. 86400 IN SOA ns.example.com. root 1 1D 1H 1W 1H"
local-data: "ns.example.com. IN A 192.168.10.10"
local-data: "linuxprobe.example.com. IN A 192.168.10.10"
local-data-ptr: "192.168.10.10 ns.example.com."
local-data-ptr: "192.168.10.10 linuxprobe.example.com."
查看RHEL6上解析文件以作对比
代码如下:
[root@linuxprobe ~]# vim /var/named/named.localhost
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
2.3.禁用服务用户
每个服务都是有其专用的服务用户,DNS 的服务用户为 unbound,实际情况下服务用户的启用有可能有安全隐患,这里要禁用服务用户。
代码如下:
[root@linuxprobe ~]# vim /etc/unbound/unbound.conf
······
211 # if given, user privileges are dropped (after binding port),
212 # and the given username is assumed. Default is user "unbound".
213 # If you give "" no privileges are dropped.
214 #username: "unbound"
215 username: " "
216
217 # the working directory. The relative files in this config
······
如上,找到配置文件的第214行,删除unbound即可,删除后为:username ” “。
2.4.验证
代码如下:
[root@linuxprobe ~]# unbound-checkconf
unbound-checkconf: no errors in /etc/unbound/unbound.conf
验证无配置问题,即可重启服务
复制代码代码如下:
[root@linuxprobe ~]# systemctl restart unbound
dns验证:
修改本机DNS
代码如下:
[root@linuxprobe ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR=00:0C:29:70:····
TYPE=Ethernet
····
IPADDR="192.168.10.10"
PREFIX="24"
···
DNS1=192.168.10.10
NAME=eth0
ONBOOT=no
[root@linuxprobe ~]# systemctl restart network
nslookup验证
代码如下:
[root@linuxprobe ~]# nslookup
linuxprobe.example.com.
192.168.10.10
ok dns设置成功
PS:关闭防火墙
在本次实验中我们关闭了 linux 的3大防火墙。当没有关闭防火墙时,远程主机验证可能出现故障,这时需要在 DNS 服务器防火墙上开放 DNS 服务。我们以 firewall 防火墙为例,修改一下:
代码如下:
[root@linuxprobe ~]# systemctl stop iptables
[root@linuxprobe ~]# systemctl stop ebtables
[root@linuxprobe ~]# systemctl disable iptables
[root@linuxprobe ~]# systemctl disable ebtables
[root@linuxprobe ~]# firewall-cmd --add-service=dns --permanent
success
[root@linuxprobe ~]# firewall-cmd --reload
success
[root@linuxprobe ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client dns ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
https://DNS服务器上Firewall开放DNS访问ok
看过“CentOS系统怎样安装DNS服务器”
浏览量:8
下载量:0
时间:
简单地说,支持FTP协议的服务器就是FTP服务器。那么CentOS怎么安装FTP服务器呢?今天读文网小编与大家分享下CentOS安装FTP服务器的具体操作步骤,有需要的朋友不妨了解下。
使用yum安装 vsftpd ftp
2查看配置文件所在路径
3备份vsftpd原有配置文件
4创建密码明文文件
5根据明文创建密码DB文件
6查看密码数据文件
7创建vftpd的guest账户
8打开 /etc/pam.d/vsftpd,将auth及account的所有配置行行均在注释掉,添加如下内容:
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.sodb=/etc/vsftpd/vftpuser
打开/etc/vsftpd/vsftpd.conf,将# anonymous_enable=YES 改为 anonymous_enable=NO
在最下面添加如下内容:
设置vsftpd开机启动, systemctl enable vsftpd
重新启动vsftpd服务
配置防火墙和SELinux
查看vsftpd服务的状态
测试如下
测试可以登录,下面我们在windows 7系统测试
输入用户名,密码
进入后新建文件或文件夹,OK,可以上传
然后将新建文件夹拉到桌面上
浏览量:6
下载量:0
时间:
DNS可以完成域名与 IP 地址的互换,可以通过 IP 地址解析到域名,也可以通过域名解析到 IP 地址。那么大家知道CentOS系统怎么安装DNS服务器吗?今天读文网小编与大家分享下CentOS系统安装DNS服务器的具体操作步骤,有需要的朋友不妨了解下。
安装bind
yum install -y bind bind-chroot bind-utis
BIND配置文件保存在:
/etc/named.conf 主配置文件
/var/named/ 域zone文件位置
修改主配置文件
vim /etc/named.conf (如下图1)
修改完毕,保存退出
接着配置zone文件
修改zone配置文件vim /etc/named.rfc1912.zones (如下图2)
zone配置文件简单说明:
常见的正解文件 RR 相关信息
[domain] IN [[RR type] [RR data]]
主机名. IN A IPv4 的 IP 地址
主机名. IN AAAA IPv6 的 IP 地址
领域名. IN NS 管理这个领域名的服务器主机名字.
领域名. IN SOA 管理这个领域名的七个重要参数(如上说明)
领域名. IN MX 顺序数字 接收邮件的服务器主机名字
主机别名. IN CNAME 实际代表这个主机别名的主机名字.
单位:W= 周、D= 日、H= 小时、M= 分钟。
$TTL 86400
@ IN SOA ns.helome.com. root ( # ns.test.web. 是DNS服务器的名称
0 ; serial (d. adams) 仅作为序列号而已
1D ; refresh 服务器的更新时间
15M ; retry 重新更新时间间隔
1W ; expiry 多久之后宣布失败
1H ) ; minimum 相当于缓存记忆时间
@ IN NS ns.helome.com.
@ IN MX 5 mail.helome.com. (5为优先级别)
ns IN A 192.168.32.131
www IN A 192.168.32.131
mail IN A 192.168.32.131
配置正向解析(如下图一)
cd /var/named/
cp named.localhost helome.com.zone
vim helome.com.zone(一定要和主配置文件里面定义的zone文件名一致)
配置反向解析(如下图二)
cp named.localhost 32.168.192.zone
vim helome.com.zone
保存退出!
更改防火墙设置和selinux设置
getenforce
setenforce 0
iptables –F (如下图一所示)或者vim /etc/sysconfig/iptables #配置防火墙端口(如下图二所示)
-AINPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-AINPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-AINPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT
service iptables restart #重启防火墙,使规则生效
启动bind
service named start
修改/etc/resolv.conf文件
vim /etc/resolv.conf
测试检测域信息是否正常
检查之前先看下 配置文件有没有读取权限 ll /var/named (如果没有 chmod +r /var/named/* 即可)
使用host或nslookup命令 检测域信息是否正常(如下图所示)
host mail.helome.com
nslookup mail.helome.com
到此DNS服务器的搭建就完毕了。
bind文件配置过程中容易出错
以下命令用以检查bind配置文件及zone文件语法
named-checkconf/etc/named.conf
named-checkzone helome.com /var/named/helome.com.zone
浏览量:5
下载量:0
时间:
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。那么大家知道CentOS中怎么安装配置FTP服务器吗?今天读文网小编与大家分享下CentOS中安装配置FTP服务器的具体操作步骤,有需要的朋友不妨了解下。
安装 VSFTP
代码如下:
yum -y install vsftpd
创建FTP日志文件路径
代码如下:
touch /var/log/vsftpd.log
启动配置
代码如下:
chkconfig --list vsftpd
如果是全off 则手动设置 0:off 1:off 2:off 3:off 4:off 5:off 6:off
代码如下:
chkconfig --level 2345 vsftpd on
启动ftp服务:
代码如下:
service vsftpd start
查看ftp服务状态:
代码如下:
service vsftpd status
重启ftp服务:
代码如下:
service vsftpd restart
关闭ftp服务:
代码如下:
service vsftpd stop
编辑配置文件
代码如下:
vi /etc/vsftpd/vsftpd.conf
代码如下:
anonymous_enable=NO #设定不允许匿名访问
local_enable=YES #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
chroot_list_enable=YES #使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log #设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来
ascii_upload_enable=YES #允许使用ASCII模式上传
ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能。
pam_service_name=vsftpd #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
以下这些是关于Vsftpd虚拟用户支持的重要CentOS FTP服务配置项目。
默认vsftpd.conf中不包含这些设定项目,需要自己手动添加RHEL/CentOS FTP服务配置。
代码如下:
guest_enable=YES #设定启用虚拟用户功能。
guest_username=ftp #指定虚拟用户的宿主用户。-RHEL/CentOS中已经有内置的ftp用户了
user_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户个人vsftp的RHEL/CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)
创建 chroot list,将ftp用户加入其中:
代码如下:
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list
安装Berkeley DB工具
代码如下:
yum install db4 db4-utils
创建用户密码文本,注意奇行是用户名,偶行是密码
代码如下:
vi /etc/vsftpd/vuser_passwd.txt
ftpuser1
ftppass1
ftpuser2
ftppass2
生成虚拟用户认证的db文件
代码如下:
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
编辑认证文件,注释掉所有配置
代码如下:
vi /etc/pam.d/vsftpd
增加下面两句
代码如下:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
创建虚拟用户个性RHEL/CentOS FTP服务文件
代码如下:
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftpuser1
内容如下:
代码如下:
local_root=/opt/var/ftp1 # 虚拟用户的根目录(根据实际修改)
write_enable=YES # 可写
anon_umask=022 # 掩码
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
开启防火墙端口
代码如下:
vi /etc/sysconfig/iptables
添加一行,端口号使用的默认21端口
代码如下:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
为目录附权限并重启动vsftp服务:
代码如下:
mkdir /opt/var/ftp/ftpuser1
chmod 777 /opt/var/ftp/ftpuser1
service vsftpd restart
看过“CentOS中怎么安装配置FTP服务器”
浏览量:5
下载量:0
时间:
LINUX现在也有越来越多的人用了,那么如何使用u盘安装linux系统呢?接下来大家跟着读文网小编一起来了解一下使用u盘安装linux系统的解决方法吧。
1、下载一个软碟通的软件
2、将linux系统写入空白U盘
3、将系统镜像文件中的imagesinstall.img 复制到U盘根目录下(连同images目录)
4、将电脑设置为U盘启动就可以了
看过“如何使用u盘安装linux系统”
浏览量:3
下载量:0
时间:
Liux因其开源性收到广大编程爱好者的青睐!,那么如何用u盘安装linux系统呢?接下来大家跟着读文网小编一起来了解一下用u盘安装linux系统的解决方法吧。
1,电脑下载一个软碟通U盘启动制作程序
2,准备debian的ISO
3,用软碟通把ISO写进U盘
4,把ISO在拷进U盘,注意,此时U盘内文件约2个ISO镜像大小
5,电脑插上U盘,U盘启动,开装,
6,分区全删了,重建boot / swap等分区
7,安装最后,会有bootloader安装,注意,安装在笔记本硬盘上,别搞错。
8,ok,重启拔U盘
浏览量:3
下载量:0
时间:
Linux现在运用越来越广泛,而且他的安全性和稳定性更得到广大电脑爱好者们一致称赞,那么如何安装linux系统呢?接下来大家跟着读文网小编一起来了解一下安装linux系统的解决方法吧。
Linux安装前的准备工作
1.用Windows系统收集硬件信息
在安装Linux之前,您需要借助Windows系统了解计算机硬件的基本信息,如内存大小、声卡、显示器、鼠标和显卡型号等。
2.设置从光盘引导系统
Linux支持几种安装方式,但直接以光盘开机启动进行安装最方便和快速。若要机器以光盘启动,需要修改BIOS的设置,将CD-ROM变更至开机顺序的第一位。
3.Linux分区
Linux分区的表示方法
分区就是将磁盘驱动器分隔成独立的区域,每个区域都如同一个单独的磁盘驱动器,在DOS/Windows系统下磁盘分区可分为C、 D和E盘等。但Linux则将磁盘视为块设备文件来管理使用,它以 /dev(device的缩写)开头表示。
例: 在Linux用 “/dev/hda1”表示Windows下的C盘
其中:hd 表示IDE硬盘(SCSI硬盘用sd);hda 为 第一个IDE 硬盘(第二为 hdb);/dev/hda1 为主分区,逻辑分区 从5 开始,如: /dev/hda5、/dev/hda6、/dev/hda7等。
为Linux准备分区
Linux分区和Windows分区不同,不能共用。所以需要为Linux单独开辟一个空闲的分区,最好是最后一个分区。如图1中利用Windows下的Partition Magic(分区魔法)软件,在D盘上腾出空间创建新分区E盘(或利用已有的空闲E盘),文件类型暂设为FAT32,作为稍后创建Linux分区使用,RedHat 9.0 大约需4 ~ 5GB的空间。
4.Linux 的文件系统
对于不同的操作系统,文件系统也不同。Windows文件系统为FAT16、FAT32和NTFS。而Linux的文件系统可分为ext2、ext3、swap和vfat。ext2支持最多为255 个字符的文件名;ext3 是基于 ext2之上,主要优点是减少系统崩溃后恢复文件系统所花费的时间,RedHat 9.0 默认文件系统为ext3;交换区swap是被用于支持虚拟内存;Windows的FAT分区在Linux下显示为vfat文件类型。
1.用RedHat 9.0第一张安装光盘引导开机,系统在开机后会出现安装菜单。
安装菜单中提供了供用户选择的图形和文本模式的安装方式,按回车选择图形模式进行安装。在进入图形画面的安装模式前,RedHat 9.0比以往的版本多了一个环节,那就是提示对安装光盘介质进行检测, 也可按“Skip”按钮跳过检测。
2.接着安装程序会自动检测硬件,包括视频卡(显示卡)、显示器和鼠标的配置,然后进入图形画面的安装向导。在出现“语言选择”的画面中,我们选择“简体中文”,这样接下去的安装过程界面的文字都会改为中文。在“键盘配置”画面中接受默认的“美国英语式”键盘。选择“下一步”,在“鼠标配置”窗口,系统自动检测出鼠标的配置。
3.选择安装类型,安装类型包含四种不同的安装方式:个人桌面、工作站、服务器和定制。“服务器”的安装适用于专职的服务器使用,“个人桌面”和“工作站”适合于初学者,为了让你更多地了解安装过程,我们将选择“定制”类型进行安装。
4.磁盘分区设置:确认了“定制”方式之后,系统会出现“磁盘分区设置”窗口,它提供了两种分区方式:“自动分区”和“用Disk Druid手工分区”。
“自动分区”是一个危险功能,因为它会自动删除原先硬盘上的数据,并格式化成为Linux的分区文件系统。所以除非计算机上没有其他操作系统,你才可以使用。建议采用Disk Druid程序进行手动分区,它的图形化界面比早期RedHat的fdisk程序操作更简单。
5.磁盘设置:在选择“用Disk Druid手工分区”后,会显示如图2的“磁盘设置”窗口,这是整个安装过程中惟一需要用户较多干预的步骤,也是很重要的环节。
只要有一个主分区就可以安装并使用Windows操作系统,同时D、E等逻辑盘的文件结构也都是独立的。而Linux系统归根结底就只有一个根目录,一个独立且惟一的文件结构。Linux的文件系统采用树型结构,整个文件系统由一个“根”和根上的几个分“杈”组成,Linux需创建几个“Linux Native”分区和“Linux Swap ”分区,每个分区都必须通过 “挂载点”,分别载入到 “根(/)”或几个分“杈(如/boot、/home等)”上。
一个最基本的Linux系统需有一个“/”根文件系统分区、一个“Swap”交换文件分区和/boot分区,为了用户使用方便建议还需创建一个 /home分区。
为Linux建立分区有几种办法,一种是编辑现有空闲分区,使它成为Linux分区。如果没有空闲的磁盘空间,就需要将现有的分区删除后,腾出空间,以建立Linux分区。
图2中的/dev/hda6是在Windows下用Partition Magic为Linux准备的分区E盘(图1)。下面我们将在/dev/hda6上创建“/”、“/boot”、“swap”和“/home”分区。
(1)因 /dev/hda6 的文件类型是vfat,需先删除此分区,使它变成 “空闲”设备和“空闲分区”;
(2)创建“/”分区:选中“空闲”设备,按“新建”按钮,进入“添加分区”的窗口中,挂载点选“/”,文件系统类型选“ext3”,大小输入“5000MB”。
(3)创建“/boot”:同(2),在挂载点选“/boot”,文件系统类型选“ext3”,大小输入“100MB”。
(4)创建swap:一般swap分区的大小设定为机器内存的2~3倍为最佳,在“添加分区”的窗口,文件系统类型选“swap”,大小为600MB(如果内存为256MB),它不需要挂载点;
(5)创建“/home”:在挂载点选“/home”,文件系统类型选“ext3”,我们选择“使用全部可用空间”选项,将剩余的磁盘分配给/home区。
6.在完成了创建Linux分区后,接下来出现“引导装载程序配置”窗口。
对于Windows/Linux多操作系统共存的系统,开机时如何指定引导的操作系统,这需要借助开机引导装载程序(Boot Loader)。Linux内置了两种开机引导装载程序——LILO与Grub,在图3引导装载程序配置中,我们将开机启动的操作系统设为DOS(Windows),同时默认系统设置——以Grub作为引导装载程序。
7.配置好引导装载程序后,在接下来的“网络配置”、“防火墙的配置”、“附加语言支持”和“时区选择”的窗口中,我们都按系统默认进行选择。
8.和Windows XP相同,有一个称为“root”权限最大的管理员账户,使用这个账户登录主机可以完全掌握整个系统,安装过程中需要设置它的口令,请记住设置的口令。在后面的“验证配置”的窗口中,我们以系统默认的设置进行。
9.接下来是进行“个人桌面默认的设置”,选择“定制要安装的软件包集合”。然后是系统软件包的选择安装,在“选择软件包组”窗口中,为了测试每个软件包的功能,选择最后一个选项“全部安装”,安装全部软件包需4850MB的硬盘空间,按“下一步”后,系统开始进行软件包的安装。在安装过程中,系统会提示插入第二及第三张安装光盘。
10.软件包安装完成后,系统会提示“创建引导盘”,当系统无法引导的情况下,引导盘可作为紧急救援盘,我们强烈建议要制作引导盘。
11.随后系统显示“图形化界面(X)配置”、“显示器设置”和“定制图形化配置”的窗口,分别显示系统检测出的视频卡(显示卡)的型号、内存和显示器的型号以及色彩深度、屏幕分辨率等,一般按系统的默认值设置即可。
完成了上述这些操作后,系统会显示安装完成的提示窗口。当你重新启动机器后,Windows的开机画面将被多操作系统引导程序Grub的精美图案所替代。
看过“如何安装linux系统”
浏览量:3
下载量:0
时间: