outlook 關於ldap通訊錄的處理經驗

公司是小公司, 所以我都自架郵件伺服器, 使用postfix mail server + 微軟的網域主控站做認證.

同事的通訊錄就使用ldap連到網域主控,快速設定通訊錄 一直以來相安無事, 若是遇到亂碼,就改用戶端windows系統支援UTF-8

但是最大的問題是, 若是筆電拿到外面去, ldap就無法連線, 就算用不到ldap通訊錄, 收發信的時候, 也常常出現ldap無法連線的錯誤, 很是困擾.

後來發現能修改預設通訊錄檢查方式, 就能避掉外出人員, 收發信的問題.

預設值是”從全域通訊錄清單開始“, 我們改成”從聯絡人資料夾開始“, 開啟通訊錄,也改成”Outlook通訊錄

outlook 2010以後檔案上限50GB(ost, pst)

IT的噩夢之一, 同事堅持不刪除郵件, 也不願意封存, 過了一段時間信件量超過50GB, 甚至達到200GB以上容量, 這時候要將outlook封存已經不可能了, 因為outlook會爆掉.

後來我發現有個做法, 先刪除爆掉的帳號, 再重建, 並且設定imap只離線保留1年的信件,

待outlook同步完畢, 我們另開一個新的pst檔案, 將已同步的信件複製過去, 等同仁確認複製完畢,
直接刪除原本信件, 然後依序慢慢拉大離線保留的月份, 這期間pst若快爆掉了, 需要關掉outlook ,將快爆的pst改名, 而原本的pst檔可用乾淨的pst取代之.

如此循環, 即可將郵件全部移至pst, 然後…就可以理直氣壯, 跟同事說要強制封存, 並且每年要來找我們, 一起確認封存的檔案也沒有爆掉(50GB)

微軟KB5018410更新後,outlook無法透過postfix server寄信

前幾天有同仁反映無法寄信, 錯誤訊息: none of the authentication methods supported by this client are supported by your server.

經過測試, 郵件伺服器使用我自製的 container docker-postfix-ad 2.4 , 這容器基本os為centos 7.9, postfix版本為 2.10.x , 會讓outlook出現沒有適合的加密通訊協定的錯誤.

爬完文發現postfix的master.cf(submission , smtpd) 可加上 -o tls_ssl_options=NO_TICKET 解決問題, 但偏偏postfix 2.11才有此功能, 更悲催的centos 6有2.11.x版本, centos 7只有2.10.x.

現主時,我只好將自製的郵件伺服器, os改成RockyLinux 8.6, postfix 為3.x版本,
好險3.x 與 2.x 差異性不多, 基本上舊main.cf檔案只要加上以下兩行,就能用了.

#backwards-compatible default setting
append_dot_mydomain = yes
compatibility_level = 2

ps. postfix 3.x的 master.cf也不用特別加上 -o tls_ssl_options=NO_TICKET

相關的更新Windows 11 KB5018418 / Windows Server 2019 KB5018419

2022/10/19

若無法寄信,請再安裝這兩天的 win10 KB5020435 , win11 KB5020387 ,就可以解決了

python起手式,建立python虛擬環境

網管人員學python, 看到虛擬環境,第六感覺得這很重要

  1. 安裝python
    https://www.python.org/downloads/
    ps. windows安裝,記得要把python程式路徑加到PATH的選項打勾
  1. 安裝virtualenv建立虛擬環境程式
windows:
  pip3 install virtualenv
linux:
  sudo pip3 install virtualenv
  or
  sudo apt install python3-virtualenv
  1. 使用virtualenv建立虛擬環境
virtualenv -p <python程式位置>  <虛擬環境名稱>
or 
sudo -p <python程式位置>  <虛擬環境名稱>

#範例
windows :
  virtualenv -p C:\Users\x\AppData\Local\Programs\Python\Python310\python.exe my-env
linux:
  sudo virtualenv -p /usr/bin/python3 my-env
  1. 進入虛擬環境

    Windows:
    .\xxx\Scripts\activate.bat

Linux:
source ./xxx/bin/activate

william@william-Inspiron-3891:~$ source ./my-env/bin/activate
(my-env) william@william-Inspiron-3891:~$ 

outlook 使用ldap通訊錄出現亂碼

對於麻瓜來說, 這個世界上收發信軟體, 就只有 m$ 的outlook , 因公司ldap通訊錄橫跨三個不同語系,三個不同網域服務器, 導致outook 2013,2016,2019 , 查看簡體,越南文, 會出現亂碼, 當然中國麻瓜看繁體,越南文也一樣會出現亂碼

後來google一下, 發現windows 10, windows 11的語言與地區, 可以點選Beta,使用UTF8提供全球語言支援, 解決問題

解決方法如圖示

重開機之後, 就不會有亂碼了

postfix寄信認證改用dovecot

一直以來我都讓postfix使用 sasl 方式處裡寄信認證, 但是連結到多網域主控伺服器的時候, 就會出錯, 很麻煩.
經過測試 dovecot 可以使用多組 userdb , 與passdb , 達到一個mail server 支援多個ldap網域主控.

當然也能省下一個sasl的service

  • 修改dovecort的 conf.d/10-master.conf
service auth {
...
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    # Assuming the default Postfix user and group
    user = postfix
    group = postfix
  }
  ...
}

#以下設定為了相容outlook系統
auth_mechanisms = plain login
  • 修改postfix的main.cf
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

# On Debian Wheezy path must be relative and queue_directory defined
#queue_directory = /var/spool/postfix

# and the common settings to enable SASL:
smtpd_sasl_auth_enable = yes
  • 修改postfix的master.cf
submission inet n - n - - smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sasl_local_domain=$myhostname
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_sender_login_maps=hash:/etc/postfix/virtual
  -o smtpd_sender_restrictions=reject_sender_login_mismatch
 ...

參考:

https://doc.dovecot.org/configuration_manual/howto/postfix_and_dovecot_sasl/

移除windows 10或以後版本,路徑檔案超過260個字元

這真是很令人頭疼的問題, 預設是不能超過260個字元, 微軟說windows 10 1607版本後面,可以自行調整開啟長檔名的功能

從 Windows 10 1607 版開始,已從一般 Win32 檔案和目錄函式中移除MAX_PATH限制。 不過,您必須加入宣告新的行為
  • 個人主機

修改reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"LongPathsEnabled"=dword:00000001

或是改本機原則

Computer Configuration > Administrative Templates > System > Filesystem > Enable Win32 long paths
  • 公司主機(網域主控群組原則)
  1. AD: windows 2012R2或之前的才需要這樣做
  2. 安裝最新版windows 10 管理範本
    https://www.microsoft.com/en-us/download/103124
  3. 將windows 10管理範本複製到目前網域的群組原則
    複製  C:\Program Files (x86)\Microsoft Group Policy\Windows 10 and Windows Server 2016\PolicyDefinitions

    SYSVOL\domain\Policies\PolicyDefinitions
  4. 重新執行群組原則設定, 就能看到 Enable win32 long paths

windows 10列出usb連線裝置

我們外接usb裝置, 例如印表機, 讀卡機, 常常讀取失敗,也導致常常要換另外的usb孔測試

因此就需要這個軟體, 列出曾經連線過的usb裝置資訊, 必要時解除安裝其驅動程式,再重新安裝即可

https://www.nirsoft.net/utils/usb_devices_view.html

使用時請務必確認usb裝置未連接到主機

https://www.nirsoft.net/utils/usb_log_view.html

這個網站還有很多奇耙好用的小工具軟體

https://www.nirsoft.net

1 ... 3 4 5 6 7 ... 11