# 建立Windows網域共享 以下是以 ubuntu 環境建置,其他發行版本應該也差不多。 ## 基本必要軟體安裝 ```bash apt --no-install-recommends install \ winbind libpam-winbind \ libnss-winbind \ samba-vfs-modules samba acl wsdd-server ``` ## smb.conf 設定 刪除或改名原本的 smb.conf , 新增 /etc/samba/smb.conf 內容大致如下 ```text [global] #bind interfaces only = yes #interfaces = lo eth0 workgroup = ERI realm = ERI.COM.TW # 實際註冊進網域時用的名稱,沒設定的話會直接用HostName # netbios name = XXXFileServer security = ads idmap config * : backend = tdb idmap config * : range = 3000-7999 idmap config ERI : backend = rid idmap config ERI : range = 10000-999999 template homedir = /home/%U template shell = /bin/bash winbind use default domain = true winbind offline logon = false min protocol = SMB3_11 #分享設定 , 是需要可以在往下加. [DockerVol] path = /DockerVol admin users = @sudo #valid users = @"domain admins" browsable = yes writable = yes read only = no ``` ## 進行網域加入 ```bash # 加入網域 net ads join osname=`uname -s` osver=`uname -r` -U Administrator # 重啟相關服務 systemctl disable --now samba-ad-dc.service nmbd.service systemctl restart smbd.service winbind.service # 完成上面動作後可以用下面指令取得網域帳號列表. (如果加入有成功的話應該可以看到清清單) wbinfo -u wbinfo -g ``` ## 補充說明: * 加入網域後預設所有網域成員都可以 ssh 連進主機 , 可調整 /etc/ssh/sshd_config 進行限制 ```txt ...略 # 只允許本機 adm , sudo 群組 , ssh 遠端登入 AllowGroups adm sudo ...略 ``` * 將網域帳號 peter 加入本機 sudo 群組 ```bash usermod -G sudo peter ``` * 查看目前 sudo 群組中有哪些成員 ```bash groupmems -l -g sudo ``` * 從 sudo 中移除特定使用者 ```bash gpasswd -d olduser -g sudo ``` ## 網路參考資料 * [Samba : Samba Winbind](https://www.server-world.info/en/note?f=3&os=Ubuntu_18.04&p=samba) * [groupmems asks for password for root](https://askubuntu.com/questions/1048210/groupmems-asks-for-password-for-root) * [PAM_Integration#groupmems](https://wiki.yoctoproject.org/wiki/PAM_Integration#groupmems) * [Configuring NTPd for a Samba 4 Domain](https://blog.svedr.in/posts/configuring-ntpd-for-a-samba-4-domain/)