首页
关于本博客
友情链接
推荐
linux/shell
Search
1
LEDE官方固件安装中文语言包的方法
11,087 阅读
2
LEDE固件踢出弱信号客户端,实现WiFi无缝漫游脚本
9,183 阅读
3
基于CloudFlare API的纯Shell动态DNS(DDNS)脚本
8,153 阅读
4
一次OpenVPN交叉编译笔记
6,664 阅读
5
利用iptables的string模块来屏蔽域名(关键词匹配)
6,111 阅读
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
nginx
互联网应用
IP地址段汇总
登录
Search
标签搜索
nginx
OpenWrt
openvpn
SSH
seafile
cloudflare
iptables
openssl
linux
letsencrypt
CentOS
反向代理
ftp
openvpn配置模板
vsftpd
seafile网盘
Linux启动脚本
ddns
nas
seafile服务器
自渡
累计撰写
75
篇文章
累计收到
1
条评论
首页
栏目
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
nginx
互联网应用
IP地址段汇总
页面
关于本博客
友情链接
推荐
linux/shell
搜索到
4
篇与
CentOS
的结果
2018-11-22
企业NAS部署(一)之基础配置
最近在帮企业部署内网网络存储(nas)系统,方便不同部门之间通过内网共享文件。Linux下的samba软件,能够很好地代替windows共享来完成该项目。服务器信息操作系统:CentOS 6.10硬盘:128G SSD+1TB HDD安装相关软件使用yum安装sambayum -y install samba在配置NAS之前关闭SELinux以及在iptables放行相关端口,或者关闭iptables,由于在内网,无需防火墙,因此我直接清空了自带的iptables规则setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disable/g' /etc/selinux/config iptables -F service iptables saveSamba安装完毕后,默认的配置文件在/etc/samba/smb.conf,所有的共享参数均在此配置。首先是编辑/etc/samba/smb.conf,通过nano或者vi和WinSCP皆可,先编辑[global]全局选项[global] workgroup = WORKGROUP #工作组名,win下默认是WORKGROUP server string = Samba Server For Linux #自定义字符串,用于描述服务器 log file = /var/log/samba/log.%m #生成日志 max log size = 50 #指定日志大小 security = user #安全级别,这里表示所有用户均需要通过验证才可访问 passdb backend = smbpasswd #密码认证方式,有多种选项,这里选择smbpasswd方便后期员工自助修改密码 smb passwd file = /etc/samba/smbpasswd #这里指定了账户密码的存放文件路径 max connections = 0 #0表示无限制连接,也可手动指定一个数值来限制连接数 load printers = no #加载打印机共享,这里不设定打印机全局选项配置完毕后,就可以开始配置共享目录了,首先创建一个目录,专门用于存放NAS文件mkdir -p /media/samba编辑配置文件smb.conf中的文件夹选项,另起一行,示例如下#客户端看到的文件夹名称 [部门1] #该共享文件夹在服务器中对应的真实目录 path = /media/samba/部门1 #对该共享具有读取权限的用户 valid users = user1 user2 user3... #用户创建的文件和目录的默认权限 create mask = 0755 directory mask = 0755 #在首页是否隐藏,yes为不隐藏,no为隐藏 browseable = yes #对该共享具有写入权限的用户 write list = user1 user2 user3... #对该共享具有完全控制权限的用户 admin users = user1 user2 user3... #是否允许访客访问,yes为允许,no为禁止 guest ok = no [部门2] path = /media/samba/部门2 valid users = user1 user2 user3... create mask = 0755 directory mask = 0755 browseable = yes write list = user1 user2 user3... admin users = user1 user2 user3... guest ok = no #可根据实际需求,在配置内继续添加其他共享 ...创建真实目录mkdir -p /media/samba/部门1 mkdir -p /media/samba/部门2因为samba用户认证是使用本地用户名+smb独立密码的形式来认证,即用户名必须在系统内存在,所以我创建了一个名为smbuser的组,然后将公司员工的账号批量导入。在设置NAS密码时,使用的是smbpasswd,smbpasswd是一个交互式命令,其使用方法如下:smbpasswd -a 用户名 New password:(输入密码,密码不会显示在此处)因为这是一个交互式命令,所以给批量设置默认密码带来了许多麻烦,而幸好有expect命令来解决这个交互的问题。批量导入方法如下:安装expectyum -y install expect写一个批量导入脚本#!/usr/bin/expect spawn smbpasswd -a 用户1 expect "*password:" send "用户1的密码\r" expect "*password:" send "用户1的密码\r" interact spawn smbpasswd -a 用户2 expect "*password:" send "用户2的密码\r" expect "*password:" send "用户2的密码\r" interact ...然后赋予脚本执行权限并且执行就行了chmod +x 脚本名 ./脚本名配置基本已经完成了,接下去便是启动smb服务器service smb start将smb加入开机启动项chkconfig smb on
2018年11月22日
2,204 阅读
0 评论
0 点赞
2018-09-16
记一次CentOS安装网卡驱动的记录
随着项目的增多,我愈发感觉树莓派的性能真是垃圾,先不说处理器,在外接硬盘状态下,传输数据时,流量一大网卡就出毛病,疯狂掉线,据说是网卡与USB共用芯片导致的,于是我又入手了一台D525的惠普主机,自然而然地给它装上CentOS6,没想到坑爹的是,这个X86主机也会在流量大时断网,检查后发现:CentOS装机时,默认的网卡驱动与网卡不匹配,导致表面看上去没问题,获取IP也正常,但是一旦进行大流量传输时,便会断网。网上给出了很多安装驱动的办法,但全都没用,什么瑞昱官网下载驱动,然而却一直报错,README上也没有明确说明所需依赖。后来才发现直接在pkgs.org上就可以找到相关驱动并直接通过rpm的办法安装。安装方法通过lshw命令查看到的网卡信息,网卡型号为RTL8111/8168/8411,然而系统预装的驱动却是RTL8169,驱动明显与硬件不匹配,难怪会断网。description: Ethernet interface product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller vendor: Realtek Semiconductor Co., Ltd. physical id: 0 bus info: pci@0000:01:00.0 logical name: eth0 version: 06 serial: 8c:dc:d4:6c:01:a9 size: 100Mbit/s capacity: 1Gbit/s width: 64 bits clock: 33MHz在pkgs.org上查找rtl8168网卡驱动的rpm包然后下载到本地,通过rpm命令即可安装rpm -ivh kmod-r8168-8.045.08-1.el6.elrepo.x86_64.rpm装完驱动后,就再也没有出现断网的情况了,lshw命令呈现的结果里,driver已变成r8168了
2018年09月16日
3,725 阅读
0 评论
0 点赞
2018-05-31
使用postfix+dovecot+opendkim+squirrelmail搭建满分的邮件服务器
前提&软件固定IP服务器(VPS/独服)一台,最好是海外主机、顶级域名一个使用到的软件:postfix dovecot opendkim squirrelmailpostfix:搭建smtp服务器,用于发送邮件dovecot:搭建imap和pop3服务器,用于接收邮件opendkim:生成域名的dkim,能防止垃圾邮件squirrelmail:一款用php开发的web模板,能够通过网页收发邮件前期准备第一步:为主机IP配置PTR(反向域名解析),海外主机大都可以直接配置,而国内阿里云主机可以发工单修改,其他服务商暂不清楚,这也是为什么要选择海外主机的原因。第二步:为域名配置MX记录:到域名解析提供商处配置MX记录,因为MX记录直接解析到IP地址是不符合规范的,所以应先配置一个A记录,如配置记录为mail,地址指向服务器IP,然后再新建一个MX类型记录,记录值为mail.yourdomain.com,即指向刚才配的A记录。第三步:为域名配置一条TXT记录,即在域名解析提供商处配置一条记录类型为TXT的记录,记录内容格式为v=spf1 a mx include:mail.yourdomain.com ~all ,这条记录能够有效地防止自己的域名被垃圾邮件发送者伪造。第四步:防火墙放行相关端口,即TCP 25(SMTP),465(SMTPS),143(IMAP),993(IMAPS)端口,POP3因为我没使用,所以暂时未配置。具体配置(iptables):iptables -I INPUT 1 -i lo -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT安装和配置postfixpostfix可以通过源码编译,也可以通过yum或者apt-get来安装,这里就介绍CentOS下通过yum安装与配置的过程。禁用sendmailkillall sendmail chkconfig sendmail offyum安装yum install -y postfix打开主配置文件vi /etc/postfix/main.cf找到mydomain这一行,将#去掉,等号右侧添加自己的域名mydomain = yourdomain.com找到inet_interfaces这行,改为inet_interfaces = 127.0.0.1,你的主网卡ip(通过ifconfig查看)配置smtp认证功能(使用本地用户即shadow认证)yum install -y cyrus-sasl-plain编辑/etc/sysconfig/saslauthd文件,修改如下MECH=shadow在/etc/sasl2目录下找到smtpd.conf(若没有则创建一个)添加如下行pwcheck_method: saslauthd mech_list: plain login启动saslauthd/etc/init.d/saslauthd start然后在/etc/postfix/main.cf中加入以下行smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = '' smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination broken_sasl_auth_clients=yes smtpd_client_restrictions = permit_sasl_authenticated接下来是配置SSL,即SMTPS,可根据自己需求配置。smtpd_sasl_security_options = noanonymous smtpd_use_tls = yes smtpd_tls_cert_file = 你的证书存放目录,最好使用权威机构颁发的 smtpd_tls_key_file = 你的私钥存放目录 smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache 在/etc/postfix/master.cf文件中添加如下行 smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes安装和配置dovecotdovecot默认的认证方式为本地用户认证方式,为了和postfix认证方式一致,这里就使用默认的认证方式。使用yum安装yum install -y dovecot在/etc/dovecot/dovecot.conf第20行中去除#号,配置如下protocols = imap pop3编辑/etc/dovecot/conf.d/10-master.conf中的文件,取消18、21、 83、 84行的注释inet_listener imap { inet_listener imaps { user = postfix group = postfix为dovecot配置SSL加密vi /etc/dovecot/conf.d/10-ssl.conf第6、12、13行取消注释,在12、13行配上SSL证书和私钥ssl = yes ssl_cert = <证书存放目录 ssl_key = <私钥存放目录配置OPENDKIMDKIM是域名密钥识别邮件标准,它可以让企业可以把加密签名插入到发送的电子邮件中,然后把该签名与域名关联起来。签名随电子邮件一起传送,而不管是沿着网络上的哪条路径传送,电子邮件收件人则可以使用签名来证实邮件确实来自该企业。具体方法可参考:https://www.v2ex.com/t/161912使用yum安装yum install opendkim mkdir -p /var/run/opendkim chown -R opendkim:opendkim /var/run/opendkim编辑配置文件/etc/opendkim.conf加入配置如下:(Debian,Ubuntu主机还需要在/etc/default/opendkim里面进行额外配置)Canonicalization relaxed/relaxed ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts KeyTable refile:/etc/opendkim/KeyTable LogWhy Yes MinimumKeyBits 1024 Mode sv PidFile /var/run/opendkim/opendkim.pid SigningTable refile:/etc/opendkim/SigningTable Socket inet:8891@127.0.0.1 Syslog Yes SyslogSuccess Yes TemporaryDirectory /var/tmp UMask 022 UserID opendkim:opendkim创建你的域名对应的密钥mkdir /etc/opendkim/keys/yourdomain.com opendkim-genkey -D /etc/opendkim/keys/yourdomain.com/ -d yourdomain.com -s default密钥创建完毕后,还必须保证程序启动时有足够的权限读取chown -R opendkim:opendkim /etc/opendkim/配置/etc/opendkim/KeyTable文件echo "default._domainkey.yourdomain.com yourdomain.com:default:/etc/opendkim/keys/yourdomain.com/default.private" >> /etc/opendkim/KeyTable配置/etc/opendkim/SigningTable文件echo "*@yourdomain.com default._domainkey.yourdomain.com">> /etc/opendkim/SigningTable在/etc/opendkim/TrustedHosts中加入允许进行签名的主机,一般是本机,默认不需要改动,只需确保其中有127.0.0.1和::1即可。接下来就是到域名解析提供商处配置域名DKIM记录在/etc/opendkim/keys/yourdomain.com/目录中找到default.txt文件,这就是公钥文件新建一个TXT类型域名记录,记录值配置为default.txt中文件从v=DKIM1到p=xxx,即括号内的文本,保存后即可。最后将以下内容加入/etc/postfix/main.cf中即可smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = inet:127.0.0.1:8891 milter_protocol = 2 milter_default_action = accept在启动opendkim时,还得为域名配置dmarc记录,具体步骤就是到域名解析提供商处添加一条TXT类型记录,记录值为_dmarc,记录内容为v=DMARC1;p=quarantine;rua=mailto:YourEmail。正确地配置dmarc与dkim能够降低被识别为SPAM的概率。启动相关服务执行以下命令以启动服务postfix start /etc/init.d/dovecot start /etc/init.d/opendkim start安装squirrelmail(可选)前提:Nginx/Apache+PHP环境下载页面: http://www.squirrelmail.org/download.php下载后解压到web根目录,需要将该目录拥有者设为web服务器的运行用户,如我的配置:chown -R www:www /home/wwwroot/squirrelmail mkdir -p /var/local/squirrelmail chown -R www:www /var/local/squirrelmail切换到目录下并运行交互式脚本进行配置cd /home/wwwroot/squirrelmail && ./configure进入2选项,配置好DOMAIN,SMTP和IMAP服务器即可Domain项填写你的域名SMTP服务器填写127.0.0.1:25,Authtype配置为LOGINIMAP服务器填写为127.0.0.1:143保存后即可
2018年05月31日
4,174 阅读
0 评论
0 点赞
2017-11-13
使用vsftpd搭建FTP服务器
#安装vsftpd yum install vsftpd db4-utils OR apt-get install vsftpd db4-utils #添加一个系统用户,以便虚拟用户映射 useradd -s /sbin/nologin vftp #配置虚拟用户的帐号及密码,一行帐号一行密码 vi /etc/vsftpd/vftp user1 123456 user2 123456 #配置vsftpd的pam文件 vi /etc/pam.d/vsftpd #64位系统 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftp account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftp #32位系统 auth required pam_userdb.so db=/etc/vsftpd/vftp account required pam_userdb.so db=/etc/vsftpd/vftp #生成.db后缀的虚拟用户数据库 db_load -T -t hash -f /etc/vsftpd/vftp /etc/vsftpd/vftp.db #为了安全应该给两个文件配置权限 chmod 600 /etc/vsftpd/{vftp vftp.db} #编辑vsftp的主配置文件 vi /etc/vsftpd/vsftpd.conf #监听21端口,并且开启被动模式 listen=YES listen_port=21 pasv_enable=YES pasv_min_port=30000 pasv_max_port=30999 #配置目录允许用户有写入权限 write_enable=YES download_enable=YES #启动双份日志保存 xferlog_enable=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES dual_log_enable=YES vsftpd_log_file=/var/log/vsftpd.log #虚拟用户的配置信息 user_config_dir=/etc/vsftpd/vsftpd_user_conf #禁止匿名用户登陆 anonymous_enable=NO #允许本地用户登陆,权限信息为077 local_enable=YES local_umask=077 #禁止本地用户离开自己的家目录 chroot_local_user=YES #虚拟用户具有写入权限 allow_writeable_chroot=YES #允许虚拟用户登陆,所有虚拟用户映射至系统用户vftp guest_enable=YES guest_username=vftp #虚拟用户配置的PAM使用的服务名称 pam_service_name=vsftpd #设置虚拟用户上传目录权限为755,文件权限为644(全局) anon_umask=022 #虚拟用户权限及登陆目录编写 mkdir /etc/vsftpd/vsftpd_user_conf vi user1 #用户登陆目录 local_root=/media/user1/ #开放用户上传权限 anon_upload_enable=YES #开放用户创建目录权限 anon_mkdir_write_enable=YES 开放用户删除或重命名权限 anon_other_write_enable=YES #开放用户写入权限 write_enable=YES #使用被动模式启动后应该使用iptables将30000-30999端口,21端口打开 iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 30000:30999 -j ACCEPT #附vsftpd启动脚本 #脚本参考地址http://www.linuxidc.com/Linux/2012-09/70793.htm #!/bin/bash #chkconfig: 345 60 50 #description:vsftpd . /etc/rc.d/init.d/functions if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions elif [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions else exit 0 fi vsftpd=/usr/sbin/vsftpd prog=vsftpd RETVAL=0 start() { if [ -n "`/sbin/pidof $prog`" ] then echo "$prog: already running" echo return 1 fi echo "Starting $prog:" base=$prog $vsftpd & RETVAL=$? usleep 5000000 if [ -z "`/sbin/pidof $prog`" ] then RETVAL=1 fi if [ $RETVAL -ne 0 ] then echo "Startup failure" else echo "Startup success" fi echo return $RETVAL } stop() { echo "Stopping $prog:" killall $vsftpd RETVAL=$? if [ $RETVAL -ne 0 ] then echo "Shutdown failure" else echo "Shutdown success" fi echo } case "$1" in start) start ;; stop) stop ;; status) status $vsftpd RETVAL=$? ;; restart) stop usleep 5000000 start ;; *) echo "Usage: $prog {start|stop|restart|status}" exit 1 esac exit $RETVAL
2017年11月13日
4,063 阅读
0 评论
0 点赞