為使用者提供電子郵箱存儲空間
處理使用者發出的郵件—傳遞給收件伺服器
處理使用者收到的郵件—投遞到郵箱
SMTP:25/tcp
POP3:110/tcp
IMAP:143/tcp
yum -y install postfix
rpm -qa| grep postfix
postfix的主配置檔案,特點是從上到下,後設定的選項會覆寫之前設定的選項,即後應用的生效
vim /etc/postfix/main.cf
到76行,把#删掉,修改myhostname = server0.example.com #指定主機名
到83行,把#删掉,修改mydomain = example.com #指定域名
到99行,把#删掉,修改myorigin = server0.example.com #向外發郵件時标記的來源域
到116行,把#删掉,修改inet_interfaces = loopback-only#僅允許本機
到164行,把#删掉,修改mydestination = server0.example.com #根據郵件字尾來判斷是否為本域郵件,名字為server0.example.com就是本域
myhostname = server0.example.com
mydomain = example.com
myorigin = server0.example.com
inet_interfaces = loopback-only
mydestination = server0.example.com
重新開機并設定開機啟動postfix
useradd yg
echo 123|passwd --stdin yg
useradd xln
echo 123|passwd --stdin xln
id yg
id xln
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/"></a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">mail -u [username] 例子:xln檢視yg發來的郵件 mail -u xln #回車進入互動式界面 Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/mail/xln": 1 message 1 new</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">N 1 [email protected] Thu Nov 2 11:26 20/604 "test01" & 1 #N表示新郵件,1表示郵件編号為1 Message 1: #輸入1選擇第一封郵件 From [email protected] Thu Nov 2 11:26:52 2017 Return-Path: <[email protected]> X-Original-To: xln Delivered-To: [email protected] Date: Thu, 02 Nov 2017 11:26:52 +0800 From: [email protected] To: [email protected] Subject: test01 User-Agent: Heirloom mailx 12.5 7/5/10 Content-Type: text/plain; charset=us-ascii Status: R</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">Hi xln long time no see how are you</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">& delete 1-10 #删除1~10封郵件</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">空用戶端郵件伺服器。本身沒有任何郵箱帳号,不需要投遞任何郵件。但是可以為使用者代發郵件</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在企業内網的内部系統中,當web、ftp等伺服器連接配接外網的速度較慢,或者無法通路外網。當伺服器出現異常時,為了能快速的發出報警郵件,可以直接聯系郵件空用戶端,以最快的速度把郵件發給運維人員,以便運維人員及時處理。 但由于監控伺服器的盛行,現在很少使用空用戶端方式了</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在desktop0上操作: 兩種方法: 方法1:通過腳本lab smtp-nullclient setup自動設定,實質上修改和添加了這些行 修改部分: inet_interfaces = all 添加部分: mynetworks = 172.25.0.0/24 smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_tls_security_level = may smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem smtpd_tls_key_file = /etc/pki/tls/private/postfix.pem</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">方法2:手動修改配置檔案 vim /etc/postfix/main.cf 到99行,把#删掉,修改myorigin = desktop0.example.com #預設補全的郵件字尾 到116行,把#删掉,修改inet_interfaces = all #允許所有用戶端 到164行,把#删掉,修改mydestination = desktop0.example.com #投遞域的域名,名字為desktop0.example.com就是本域 mynetworks = 172.25.0.0/24 myorigin = desktop0.example.com mydestination = desktop0.example.com inet_interfaces = all</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在server0上操作: vim /etc/postfix/main.cf 到99行,把#删掉,修改myorigin = desktop0.example.com #向外發郵件時标記的來源域 到116行,把#删掉,修改inet_interfaces = loopback-only #僅允許本機 到164行,把#删掉,修改mydestination = #設定為空表示沒有投遞域 到264行,把#删掉,修改mynetworks = 127.0.0.0/8 [::1]/128 到317行,把#删掉,修改relayhost = 172.25.0.10 #指定後端(目标)郵件伺服器 重新開機服務 systemctl restart postfix systemctl enable postfix inet_interfaces = loopback-only mydestination = mynetworks = 127.0.0.0/8 [::1]/128 relayhost = [smtp0.example.com]</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在server0上寫一封郵件給student,此時在server0上無法收到郵件,郵件會轉到desktop0上去</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">編号 姓名 手機号 住址 1 zs 1111111111 上海 2 ls 2222222222 北京 3 ww 3333333333 廣州 黑色區域:表字段 其他區域:表記錄</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">安裝mariadb-server(服務端)和mariadb(用戶端及工具)</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">由MySQL的開發者開發出來的開源資料庫系統 端口号 3306/tcp 不支援tab鍵 所有指令必須以;結尾</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">show databases;#顯示所有資料庫 create database nsd1709;#建立資料庫nsd1709 drop databases nsd1709;#删除資料庫nsd1709 status;#檢視狀态 quit;#退出 \c 指令輸入錯誤後結束指令行 '; 指令輸入錯誤後結束指令行 "; 指令輸入錯誤後結束指令行 \G;讓查詢的結果豎着顯示</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">注意!資料庫管理者是root,但是與系統的root使用者沒有任何關系 在linux系統裡執行 mysqladmin -u root password ‘123' #設定資料庫管理者root的密碼為123 修改密碼後,必須通過mysql -uroot -p123登陸資料庫,但是這個指令會顯示密碼,極其不安全。必須以互動式登陸 mysql -uroot -p Enter password:</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在linux系統裡執行 systemctl stop mariadb mysqld_safe --skip-grant-tables & #跳過檢查授權表啟動 [1] 25828 [root@room4pc09 mysql]# 170925 14:46:03 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'. 170925 14:46:03 mysqld_safe A mysqld process already exists mysql -h127.0.0.1 -uroot -p SET password for 'root'@'localhost'=password('newpassword'); exit kill -9 25828 systemctl start mariadb</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在資料庫裡執行 use mysql; UPDATE user SET password=password('newpassword') WHERE user='root'; flush privileges; exit</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">在資料庫裡執行 SET password for 'root'@'localhost'=password('newpassword'); systemctl start mariadb</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">vim /etc/my.cnf 在mysqld下面另起一行,輸入下面的語句 skip-networking #跳過網絡監聽,隻對本機提供服務</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">表和表之間用”,” 庫和表之間用”.”</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">顯示所有的資料庫</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">選擇并打開nsd資料庫</a>
<a href="mailto:br/%3E%E4%BE%8B%E5%AD%902%EF%BC%[email protected]%E5%8F%91%E9%82%AE%E4%BB%B6%E7%BB%[email protected]%EF%BC%8C%E4%B8%BB%E9%A2%98%E4%B8%BAtest01%3Cbr/">檢視資料庫裡面的表</a>
mysql -uroot -p nsd < users.sql
mysql -uroot -p
MariaDB [nsd]> use nsd;
MariaDB [nsd]> show tables;
+---------------+
| Tables_in_nsd |
| base |
| location |
指令格式:select 表字段 from 資料庫名.表格名;
查詢nsd資料庫的base表的所有表字段資訊
MariaDB [nsd]> select * from nsd.base;
+------+---------+------------+
| id | name | password |
| 1 | Tom | 123 |
| 2 | Barbara | 456 |
| 3 | James | solicitous |
| 4 | Smith | tarena |
| 5 | Barbara | pwd123 |
5 rows in set (0.00 sec)
查詢name為tom的使用者
MariaDB [nsd]> select * from base where name='tom';
+------+------+----------+
1 row in set (0.00 sec)
查詢密碼為solicitous而且id=3的表記錄
查詢名字為Barbara或者id=3的表記錄
查找住在Sunnyvale的名字叫Barbara的人數
指令格式:grant 權限清單 on 資料庫名.表名 to 使用者名@localhost identified by ‘密碼'
insert:增加
delete:删除
update:修改
select:查詢
grant select on nsd.* to lisi@localhost identified by '456' #lisi使用者在本地登入後擁有對nsd庫的所有表的查詢權限
select user,password from mysql.user where user='lisi';
增加一條表記錄,id=6,name=Barbara,密碼=123456
增加一條表記錄,id=6,city=Barbara
delete from user where password='' and user='root';
删除使用者名為root,并且密碼為空的記錄
desc nsd.base;
本文轉自 goldwinner 51CTO部落格,原文連結:http://blog.51cto.com/355665/2068709,如需轉載請自行聯系原作者