linux学习笔记10

限制远程用户使用邮件服务(对本地用户没影响)

1.限制客户端:经过限制IP

服务器

vim/etc/postfix/accessphp

172.25.254.10        REJECThtml

 

查看使用参数mysql

postconf -d |grep clientlinux


加密成db文件
nginx

postmap accesssql

       

将参数写入文件数据库

postconf -e "smtpd_client_restrictions=check_client_access hash:/etc/postfix/access"apache

 

以后vim/etc/postfix/main.cf会发现最后一行出现了vim

smtpd_client_restrictions =check_client_access hash:/etc/postfix/access浏览器

五光十色哒~~美美哒~

 

wKioL1hFXUijI4kjAAA5ZvlNkKs835.png


systemctl restart postfix.service

 

检验

172.25.254.10 执行 telnet 172.25.254.11 25

 

能够登录,但不能使用(发邮件)。

 

wKiom1hFXVvjpTIzAAEKxYlyOAw760.png

 

2.限制客户端指定用户发邮件:经过限制用户所有主机名

服务器

vim/etc/postfix/recip

xixi@lalala.com       REJECT

 

postmap recip加密成db文件

postconf -e"smtpd_sender_restrictions  =check_sender_access hash:/etc/postfix/recip"

systemctl restart postfix.service

检验

其余用户能够发邮件,xixi不能。

 

wKioL1hFXV2SgPk9AADv0TwsgTo084.png


3.限制客户端指定用户收邮件

服务器

vim/etc/postfix/recip

xixi@lalala.com       REJECT

 

postmap recip

postconf -e"smtpd_recipient_restrictions = check_recipient_accesshash:/etc/postfix/recip"

systemctl restart postfix.service

 

检验

其余用户能够收邮件,xixi不能。

 

wKiom1hFXV6xrJufAAD7GKD4uJY349.png

 

邮件本地用户


服务器

常见端口号

pop3         110

pop3S       995

imap         143

imaps       993


cat /etc/services |grep imap  能够查看imap的端口号

 

wKioL1hFXV-QbveQAACiwmifU5o466.png

 

vim/etc/dovecot/dovecot.conf

        

24 protocols = imap pop3 lmtp                  dovecot使用的协议

49 disable_plaintext_auth = no                 使用明文认证

50 login_trusted_networks = 0.0.0.0/0  使外网也能够使用dovecot服务

 

 

vim/etc/dovecot/conf.d/10-mail.conf

 

30 mail_location =mbox:~/mail:INBOX=/var/mail/%u

 

 

netstat -antlupe |grep dovecot

 

passwd westos

 

客户端

telnet 172.25.254.11 110

user mooc

pass 1

 

wKiom1hFXV_AVnFnAABRn634AEw301.png

 

登陆时的错误处理

若是登陆失败,能够在服务器查看日志(cat /var/log/maillog),获取错误信息

 

wKioL1hFXWDDV1H9AAFOxlnX7OQ807.png

 

根据提示:mkdir –p      /home/mooc/mail/.imap

                            touch      /home/mooc/mail/.imap/INBOX

 

wKioL1hFXWLjEnLlAACJkCC0mt8119.png

 

检验

1)本地

 

yum install mutt -y

mutt -f imap://mooc@172.25.254.11

 

      登陆成功~~~~

 

wKiom1hFXWPDgtQcAAAprS3N-J0768.png

 


小问题


为何 在配置文件里,写了 pop3 ,可是pop能登录,pop3却不能够????



wKioL1hG2ozQb3qYAABE5zsZAB4827.png

vim    


wKiom1hG2o2zz0PQAAAl0jzIOXA235.png

2)雷鸟


使用雷鸟的时候要注意,也要打开postfix对于外网的25端口哦~~

vim   /etc/postfix/main.cf



wKiom1hHdjaRoDouAABUAbq9v9Q259.png



 

wKioL1hFXWShsE7XAACxdbZ8VGI111.png


wKiom1hFXWWBlCweAAAzzforSS0625.png

 

wKioL1hFXWfimO-BAAEBWqiUAdQ051.png

 

wKiom1hFXWqjM58JAACrUZNCkYU426.png

 

注意!!!!

因为每一个新用户都要手动建立/home/mooc/mail/.imap/INBOX,太麻烦~

 

因此直接在/etc/skel中建立mail/.imap/INBOX,这样系统在建立新用户时,会自行建立/home/newuser/mail/.imap/INBOX

 

wKioL1hFXWuSLep2AABoe-osxCY714.png

 

wKiom1hFXWyztQdXAACHJYbBm80327.png

 

 

邮件虚拟用户

创建一个虚拟用户(vmail)来管理邮箱数据库,不直接用root,由于风险太大!

 

服务器

groupadd -g 666

useradd -g 666 -u 666 -s /sbin/nologinvmail

 

1)在数据库中添加信息


 

wKiom1hFXWywATC_AABKe9k2Ikw624.png

 


postfix受权,SELECT


wKioL1hG2cqSs89sAADHICozv4A028.png


2)检测数据库是否读取成功

 

vim/etc/postfix/mysql-users.cf

 

hosts = localhost

user = postfix

password = postfix

dbname = email

table = muser

select_field = username

where_field = username

 

cp-p mysql-users.cf mysql-domain.cf

 

hosts = localhost

user = postfix

password = postfix

dbname = email

table = muser

select_field = domain

where_field = domain

 

 

cp-p mysql-users.cf mysql-maildir.cf

 

hosts = localhost

user = postfix

password = postfix

dbname = email

table = muser

select_field = maildir

where_field = username

 

wKioL1hFXW7AxSn9AADivQmsSKk461.png

 

让咱们来小小检测一下~~

 

postmap -q "admin@westos.org"mysql:/etc/postfix/mysql-users.cf

 

postmap -q "westos.org"mysql:/etc/postfix/mysql-domain.cf

 

postmap -q "admin@westos.org"mysql:/etc/postfix/mysql-maildir.cf

 

 

wKiom1hFXXCSbiP_AACIVgodbSQ390.png

 

3)将数据写入配置文件


postconf          –d  |       grep map


wKioL1hG2f-y14rCAABPynWEq4M242.png

 

postconf -e "virtual_uid_maps =static:666"

postconf -e "virtual_gid_maps =static:666"

postconf -e "virtual_mailbox_base=/home/vmail"                  指定邮箱位置

 

postconf -e"virtual_alias_maps=mysql:/etc/postfix/mysql-users.cf"   本地文件链接数据库

postconf -e"virtual_mailbox_domains=mysql:/etc/postfix/mysql-domain.cf"

postconf -e"virtual_mailbox_maps=mysql:/etc/postfix/mysql-maildir.cf"

 

最后配置文件变成:

 

wKioL1hFXXKAiXzUAACa14GBk7I877.png

 

检测

 mailadmin@westos.org


wKioL1hFXXPQJWWFAAB6G-uhF48521.png

 

wKiom1hFXXXy0-f5AAFNShc_54M854.png

 

数据库和邮箱链接

即本地没有org这个域名,在org在数据库中,实现org用户之间的相互通讯

 

yum install dovecot-mysql -y

 

vim/etc/dovecot/conf.d/auth-sql.conf.ext      查看模板位置

 

wKiom1hFXXaROufUAABI9jWZSek492.png

 

cp   -p  /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext/etc/dovecot

 

vim /etc/dovecot/dovecot-sql.conf.ext

 

 32driver = mysql   驱动

 70connect = host=localhost dbname=email user=postfix password=postfix      

使用本地用户(postfix)链接数据库email,他一般只拥有select权限(在企业中)

 77default_pass_scheme = PLAIN                   登录密码明文(数据库)

 

106 password_query = \

107  SELECT username, domain, password \

108  FROM muser WHERE username = '%u' AND domain = '%d'

         %u=entire user@domain

         %d=domainpart of user@domian

         %n=userpart in user@domian,same as %u if there is no domain

 

124 user_query = SELECT maildir, 666 AS uid,666 AS gid FROM muser WHERE username = '%u'

 

wKioL1hFXXfjYhimAABPgLtOL8M912.png

 

wKiom1hFXXiTWZeZAABvwrI2kFQ473.png

 

wKioL1hFXX_SlmssAAGDuiPRMlY849.png

 

 

vim10-mail.conf

 

30 mail_location =maildir:/home/vmail/%d/%n     邮箱的位置

168 first_valid_uid = 666                   使虚拟用户和mail有联系

175 first_valid_gid = 666

 

wKioL1hFXYHyiMV7AAA7xTjjHO8423.png

 

wKiom1hFXYLSsprSAACB3oswXQU664.png

 

 

vim10-auth.conf

 

122 !include auth-system.conf.ext系统用户

123 !include auth-sql.conf.ext                   数据库用户

 

wKiom1hFXYOygi56AAB1cBBWlng595.png

 

检测

首先检测admin@westos.org 是否能经过172.25.254.11110端口登陆,登陆成功才说明配置成功,才有可能使用雷鸟~

 

wKioL1hG2lXRSt7rAABzbMLgVhk112.png


 

在雷鸟上能够实现admin@westos.orgzoe@westos.org互发邮件!!!

 

wKioL1hFXYaS_vWuAAEIztlvA7c851.png

 



wKiom1hFXYiz1v_sAABKn3mH1Ks710.png



    在本身的服务器能够使用雷鸟~


wKioL1hFXYnzQEdXAAEGRDKaYOQ613.png


                                

                                 在客户端也能够使用雷鸟,哦哈哈哈~开森~


 

    wKiom1hHdS_AgzvBAAEIgb3ECEI283.png


出现的错误







1/run/dovecot 对于mooc没有w权限

         解决方法: chmod       o+w         /run/dovecot


wKioL1hFYV7QKCnKAAIcTVSnSCM918.png

 

2)dovecot不能识别mysql

解决方法:yum install dovecot-mysql –y

 

wKiom1hFYWCT-QI7AAGTcbUBsDQ194.png

 

 

 

 

空壳邮件

 

邮件服务器是mat,一般运行smtp协议(发邮件的时候),比较重要,不能暴露在外面,因此要找个傀儡。

表面上,邮件都发给傀儡,实际上邮件所有发给服务器,傀儡那里一点数据都没有~

 

空壳(傀儡):10

 

vim/etc/resolv.conf

nameserver 172.25.254.10

 

vim/etc/named.rfc1912.zones

 

zone "westos.org" IN {

       type master;

       file "westos.org.zone";

       allow-update { none; };

};

 

 vimwestos.org.zone

 

dns             A       172.25.254.10

westos.org.     MX 1   172.25.254.10.

 

vim/etc/postfix/main.cf

 

75 myhostname = maillalala.lalala.com   真实主机信息

83 mydomain = lalala.com             真实主机信息

 

98 myorigin = westos.org                  我要接受哪一个域的邮件

113 inet_interfaces = all

140 local_transport = error:local deliverydisabled

提示用户我是一个空壳,不要给我发邮件了!!!

 

164 mydestination =        我就不接受邮件,大家傻了吧

313 relayhost = 172.25.254.10      把邮件传递给个人真实服务器


 

wKiom1hFYWGSuJwGAACLpOUF4mE805.png

 


wKioL1hFYWLRArLDAAGLtMhq6Uw853.png


wKiom1hFYWOTqecIAABoVMvBImI529.png


wKioL1hFYWSTqDX-AAEJWpcCPr4595.png

 


 


 

        别忘了关火墙!

 

 

服务器

 

vim /etc/postfix/main.cf

264 mynetworks = 172.25.254.10            个人傀儡的ip

 

wKioL1hFYWXSuQpoAAAnFPBCZlA646.png

 

测试

空壳端mail admin@westos.org                   给本身发邮件,邮件并不在本身的收件箱。

 


wKiom1hFYWbxmTcZAABeD3dAG1c850.png


 

 

服务器rm -rf /home/vmail/*

 

会发如今产生/home/vmail/westos.org/admin 的目录,而且邮件在new/

 

wKiom1hFYWmzbuEmAAGX_q37AWU438.png

 

 

 

 

 

Apache

基础知识

1.httpd

 

httpd 是有http协议的软件

 

2.架构

 

lamp=linux apache mysql php

lump=linux nginx mysql php

 

nginx         共享

jsp asp 动态,用tomcat jbosss 翻译读不懂的语言

 

squied      代理软件

 

3.server

 

curl -I www.taobao.com

server       访问淘宝时访问的淘宝的哪个服务(软件)

 

wKioL1hFYWvDf9kgAAB5y01abUI693.png

 


wKiom1hFYWyQV17WAACk5VCC-dY494.png



wKioL1hFYW6DzhauAACUxOk0GRA967.png



wKiom1hFYW_ROsUlAABw1ZJZUds172.png



wKioL1hFYW_jpFO7AAB_3Ox3mKg566.png

 



 

 


 

4.nmap

 

nmap个人虚拟机,查看哪一个端口开着


wKiom1hFYXGyEMd_AAFnDsMf_Fs829.png

 

nmap ~  (侵删)


wKioL1hFYXODhsGDAAFKwBXGE7k578.png

 

 

apache的配置
1.更改默认访问端口

 

         apache默认访问端口80

         tomcat              8080

 

vim /etc/httpd/conf/httpd.conf

/Listen

42        Listen 8080

 

wKiom1hFYXSTaPe2AABeJaNw20Q029.png

 

2更改默认访问目录与权限

apache 默认访问/var/www/html/index.html


wKioL1hFYXTAIurBAABwbRFYtmQ375.png

 

1)更改apache默认发布主页

 

vim /etc/httpd/conf/httpd.conf

/index

 

170 <IfModule dir_module>

171    DirectoryIndex   file index.html

172 </IfModule>

 

wKiom1hFYXWj5RP-AABUPTXIgTM095.png

 

哪一个文件在前面先访问哪一个,若是为空,将访问apache官方主页

 

wKioL1hFYXaTUfxJAAB_8f7qh7U784.png

 

 

 

2)访问apache帮助手册

 

yum install http-manual -y

在浏览器访问http://172.25.254.230/manual

 

wKiom1hFYXqTaOgsAAC1tcV5IbE442.png

 

3)更改默认访问目录

 

vim /etc/httpd/conf/httpd.conf

/DocumentRoot

 

120        DocumentRoot "/www/westos"

121

122        <Directory "/www/westos">           目录的受权

123             Require all granted

124         </Directory>

 

关键一点

getenforce=Enforcing 时,若是上下文标签不一致时,将不能经过apache访问

因此要将新目录的上下文标签改为http_sys_content_t:s0

 

 

mkdir /www/westos -p

semanage fcontext -a -t httpd_sys_content_t'/www/westos(/.*)?'

restorecon -RccF /www/

vim index.html

/www/westos

lalallaa

systemctl reload httpd kill 1

 

wKioL1hFYX7S3cKyAADFpssum1M598.png

 

结果图:

 

wKiom1hFYYjCRum7AACjGaoWcz0058.png

 

 

4)访问控制

 

 1)经过ip控制

 

120        DocumentRoot "/www/westos"

121

122        <Directory "/www/westos">

123             Require all granted

124             Order Allow,Deny

125             Allow from 172.25.254.88

126                 Deny from ALL                           全部人都不能访问

127        </Directory>

 


wKioL1hFYYnAs-fmAAEf2eix5FY333.png

 

 

124             Order Deny,Allow

125              Allow from 172.25.254.88 172.25.254.10    只有88,10能访问

126                 Deny from ALL

 

 

wKioL1hFYY2xRiSiAAEbOXBoiE4782.png

 

 

 

124             Order Deny,Allow

125              Allow from 172.25.254.0/24         全部网段都能访问

126                 Deny from ALL

 

wKiom1hFYY-S7wIhAADqHDBUgeI007.png

 

 

124              Order DenyAllow

125             Allow from 172.25.254.88    只有88能访问

126              Deny from ALL

 

wKioL1hFYZSwHCD_AAEUaMKnlVw622.png

 

 

 结论:以最后读取的allowdeny为准

 

 

2)经过密码控制

 

cd /etc/httpd/

htpasswd -cm htpasswdfile admin           第一次建立用户 -c create

htpasswd -m htpasswdfile westos           以后建立用户

-m Force MD5 encryption of the password (default).

 

 

wKiom1hFYZTxzcfmAACb0i9F4xQ394.png

 

122        <Directory "/www/westos">

123                 AllowOverride All

124                 Authuserfile/etc/httpd/htpasswdfile

125                 Authname "Please inputusername and password"

126                 Authtype basic

127                 Require valid-user          /etc/httpd/htpasswdfile里的用户

                                          Requireadmin                  只容许admin

128        </Directory>

 


wKioL1hFYZaTF_jSAAC1OYWF2jE792.png

 

admin 正确输入用户名和密码,进去啦~

 

wKiom1hFYZriLzKTAACOeeBILQY527.png

 

 

但在当前配置下,Require adminzoe不能进去。

 

wKiom1hFYZvigr9OAADHw_t1iAE453.png

 


wKioL1hFYZvwOuznAAAzs22FwKA451.png

 

         配置为Require valid-user

          /etc/httpd/htpasswdfile里全部的用户,才能都进入。

 

 

wKioL1hFZH3C83N6AAB3GTslM-o096.png

 

 

wKiom1hFZH3Apb06AACJKRryE7w204.png


 

清除缓存Ctrl+Shift+Delete

 

 

 

 


apache 虚拟主机

 

客户端

vim /etc/hosts

172.25.254.230  www.westos.com westos.com news.westos.commusic.westos.com

 

服务器

 

创建子服务器目录

 

mkdir/var/www/virtual/news.westos.com/html  -p

mkdir/var/www/virtual/music.westos.com/html -p

 

写子服务器主页

 

vim var/www/html/index.html

default

vim /var/www/virtual/music.westos.com/html/index.html

music

vim/var/www/virtual/news.westos.com/html/index.html

news


wKioL1hFZH7wVBhXAACNHAN72Po460.png


 

wKiom1hFZH7wpywOAAAoKs82iJE598.png


关键一点

为何要把news.confmusic.confdefault.conf写在/etc/httpd/conf.d下?

 

vim   /etc/httpd/conf/httpd.conf

 

wKioL1hFZH-CYOVXAAAcQw2EH7o579.png

 

356 IncludeOptional conf.d/*.conf                

能够看到apache默认读取/etc/httpd/conf.d/conf结尾的文件    

 

 

cd  /etc/httpd/conf.d

 

1.vim    news.conf

 

<Virtualhost *:80>

       Servername news.westos.com

       Documentroot /var/www/virtual/news.westos.com/html

       Customlog "logs/news.log" combined

</Virtualhost>

 

<Directory"/var/www/virtual/news.westos.com/html">

       Require all granted

</Directory>

 

wKioL1hFZH-i03AQAABfvx_68Ew279.png


 

2.vim    music.conf

 

<Virtualhost *:80>

       Servername music.westos.com

       Documentroot /var/www/virtual/music.westos.com/html

       Customlog "logs/music.log" combined

</Virtualhost>

 

<Directory"/var/www/virtual/music.westos.com/html">

       Require all granted

</Directory>

 

wKiom1hFZH_wYBGzAABlFgrJg9Y145.png

 

3.vim    default.conf

 

<Virtualhost _default_:80>

       Documentroot /var/www/html

       Customlog "logs/default.log" combined

</Virtualhost>

 

<Directory "/var/www/html">

       Require all granted

</Directory

 

wKiom1hFZICDPJf3AABKa-93Vzs213.png

 

检验

vim           /etc/hosts

 

wKioL1hFZIDS6iHhAAA1KR_uLz0824.png


 


wKiom1hFZIHBIxtUAAAgNmnlgrg028.png



wKioL1hFZIHjYLULAAAO488j3Cw006.png



wKiom1hFZIGDzThbAAARj6dBRog156.png

 


 


 

 

 

https     443

服务器解密,客户端加密

 

yum install mod_ssl -y

 

会生成这个文件:/etc/httpd/conf.d/ssl.conf

systemctl restart httpd

netstat -antlpe |grep httpd

 

 

 

使用https//www.westos.com  会由于缺乏证书,没法访问

 

wKiom1hFZIKBBgWlAACvZZOKMFE269.png

 

 

生成证书

安装生成证书的软件

yuminstall crypto-utils -y

 

加密公司网址

genkeywww.westos.com

 





wKioL1hFZITykhbUAAGOx3youUQ290.png


wKiom1hFZIXihDvjAAG1x1WBbOk915.png


wKioL1hFZIXAfOCWAAAtSlJDIR8307.png


wKioL1hFZIbSHHfKAADL1DR1uP8647.png


wKiom1hFZIbjfUk6AAC0ZzJw6Mg398.png


 

 



 

/etc/pki/tls/certs/www.westos.com.crt

/etc/pki/tls/private/www.westos.com.key


 

wKioL1hFZIeQQoUOAADB_Un9nGs787.png

 

vim/etc/httpd/conf.d/ssl.conf

 

100 SSLCertificateFile/etc/pki/tls/certs/www.westos.com.crt

107 SSLCertificateKeyFile/etc/pki/tls/private/www.westos.com.key

 

systemctl restart httpd

 

个人证书~~~~~

 


wKiom1hFZIiiPyZAAADbK6g51Ak859.png



wKiom1hGEKaism4cAADhEkxP7tY102.png

相关文章
相关标签/搜索