CentOS6.3 Samba安装配置、多用户、加域
CentOS6.3 Samba安裝配置、多用戶、加域 2013-09-09 20:24:27 標簽:Samba AD samba 域 原創(chuàng)作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://icedot.blog.51cto.com/61369/1293327
時間:2013年8月23日 ? ?
系統(tǒng):CentOS release 6.3 (Final)x86_64 ? ?
硬件:DELL R420、DELL 1950 ? ?
說明:域環(huán)境下的Samba ? ?
? ? 工作組環(huán)境下的Samba ? ?
要求:各個部門只對自己部門的share有讀寫權限,所有人對共有share都有讀權限,特定的人對共有share有讀寫權限 ? ?
說明:這其實是兩臺服務器,一臺是工作組環(huán)境下的,一臺是域環(huán)境下的,工作組是客戶公司的項目組用的,域環(huán)境下的是客戶公司用的 ?
以下的全部過程均在虛擬機以及實際項目中實施,確定可以正確運行
第一步:安裝相關組件
yum install samba4* krb5* -y ?
samba4是什么就不用說了,krb5是為了以后將samba加入AD域而需要用到 ? ?
KRB(Kerberos協(xié)議)主要用于計算機網(wǎng)絡的身份鑒別(Authentication), 其特點是用戶只需輸入一次身份驗證信息就可以憑借此驗證獲得的票據(jù)(ticket-granting ticket)訪問多個服務,即SSO(Single Sign On)。由于在每個Client和Service之間建立了共享密鑰,使得該協(xié)議具有相當?shù)陌踩浴?/span>
第二步:創(chuàng)建共享目錄
mkdir /home/share -m 1777 ? ?
mkdir /home/project -m 1777 ? ?
mkdir /home/projectmgr -m 1777 ? ?
mkdir /home/filemgr -m 1777 ? ?
目錄的權限根據(jù)自己的需求進行設定,因為這個是根據(jù)用戶要求也就直接設置為1777
-從這開始是為工作組環(huán)境建立的Samba-
第三步:建立組及用戶
1、創(chuàng)建組 ? ?
groupadd mgr ? ?//建立mgr組 ? ?
groupadd periphery ?//建立Periphery組 ? ?
groupadd filemgr ? ?//建立filemgr組
2、建立用戶并加入組 ? ?
useradd itadmin -s /sbin/nologin -M ?//創(chuàng)建一個IT管理員,這個不加入組,這只是samba訪問用戶,所以不用登錄系統(tǒng),也沒創(chuàng)建用戶的家目錄 ? ?
useradd jason -g project -s /sbin/nologin -M ?//創(chuàng)建用戶jason并將他加入project組 ? ?
useradd alix -g projectmgr -s /sbin/nologin -M //創(chuàng)建用戶alix并將他加入projectmgr組 ? ?
useradd lili -g filemgr -s /sbin/nologin -M ?//創(chuàng)建用戶lili并將她加入filemgr組 ? ?
注:如果是之前己創(chuàng)建過的用戶可以用 ? ?
usermod -g mgr lou ? ?//將己存在的用戶lou加入mgr組 ? ?
第四步:配置smb.conf
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak ?//備份一下samba的配置文件, ? ?
vim /etc/samba/smb.conf ? ?
下面綠色字體為原有的,粟色字體的為增加的,藍色字體為修改的 ? ?
#================== Global Settings ===================== ? ?
[global]
dos charset = GB2312 ? ? ?
unix charset = GB2312 ? ? ?
display charset = GB2312
# ----------------------- Network Related Options ------------------------- ? ?
workgroup = MYGROUP --改為--> WORKGROUP ? ? //指定機器在網(wǎng)絡上所屬的NT域名或組名(可改可不改) ? ?
server string = Samba Server Version %v ? ? ? ?//此選項是可選的,主要作用是Samba服務Windows系統(tǒng)注釋 ? ?
netbios name = MYSAMBA ? ?//這個改不改隨意,它就象windows里的機器名 ? ?
interfaces = lo eth0192.168.88.35/24 ? ?//這里寫本機IP地址,如果有多個網(wǎng)絡也可以寫多個IP ? ?
hosts allow = 127.192.168.88. ? ? ?//設定允許訪問samba的IP地址或IP地址范圍 ? ?
wins support = yes ?//設定samba提供WINS服務,通常無特殊原因設為no,除非所處網(wǎng)絡上沒有主機提供WINS服務且需要samba提供WINS服務是才設yes ? ?
dns proxy = yes --改為--> no ? ?
name resolve order = wins host lmhosts bcas ? ? ?
bind interfaces only = yes
# --------------------------- Logging Options ----------------------------- ? ?
log file = /var/log/samba/log.%m ? ?// log會在此目錄中為每個登陸用戶(Samba用戶)建立不同的日志文件 ? ?
log level = 2 ? ?
max log size = 500
# ----------------------- Standalone Server Options ------------------------ ? ?
security = user ? ?//設定安全級別為user ? ?
passdb backend = tdbsam --改為--> ?smbpasswd:/etc/samba/smbpasswd
# --------------------------- Printing Options ----------------------------- ? ?
load printers = yes ? ?
cups options = raw
#============================ Share Definitions ============================== ? ?
#如果注釋掉了[homes]則用戶就看不到自己的家目錄 ? ?
#[homes] ? ?
# ? ?comment = Home Directories ? ? ?
# ? ?browseable = no ? ? ?
# ? ?writable = no ? ? ?
#; ? ?valid users = %S ? ? ?
#; ? ?valid users = MYDOMAIN\%S ? ? ?
[printers] ? ? ?
? ?comment = All Printers ? ? ?
? ?path = /var/spool/samba ? ? ?
? ?browseable = no ? ? ?
? ?guest ok = no ? ? ?
? ?writable = no ? ? ?
? ?printable = yes
[share] ? ? ?
comment = Share ? ?//定義共享目錄名稱,可用任意字符串 ? ?
path = /home/share ? ?//設定共享目錄路徑 ? ?
public = no ? ? ? ? ? ?//指定該共享是否允許guest賬戶訪問 ? ?
available = yes ? ?//用來指定該共享資源是否可用 ? ?
admin users = itadmin ?//指定該共享的管理員,對該共享具有完全控制權限,如果用戶驗證方式設置成“security=share”時,此項無效。 ? ?
valid users = +mgr,+periphery,+filemgr ?//用來指定允許訪問該共享資源的用戶,單個用戶就直接寫用戶名,組就是“+組名” ? ?
writable = yes ? ? ? ?//是否允許寫入,這項對下面的幾項來說是首選,這項設置為NO,下面的create mask directory mask 等一系列預設值無效 ? ?
write list = +mgr,+periphery,+filemgr ? //指定在該共享下有寫入權限的用戶 ? ?
create mask= 0755 ? ? ?//表示新建文件的預設值,文件所有者全部權限,組內用戶及其他用戶可讀可執(zhí)行 ? ?
directory mask= 0755 ? ?//表示新建目錄的預設值,目錄所有者全部權限,組內用戶及其他用戶可讀可執(zhí)行 ? ?
browseable = no ?//指定該共享是否可以瀏覽 ? ?
[project] ? ? ?
? ? comment = project ? ? ?
? ? path = /home/project ? ? ?
? ? public = no ? ? ?
? ? available = yes ? ? ?
? ? admin users = itadmin ? ? ?
? ? writable = yes ? ? ?
? ? write list = +periphery ? ? ?
? ? valid users = +periphery ? ? ?
? ? create mask= 0755 ? ? ?
? ? directory mask= 0755 ? ? ?
? ? browseable = no ? ? ?
[projectmgr] ? ? ?
? ? comment = projectmgr ? ? ?
? ? path = /home/projectmgr ? ? ?
? ? public = no ? ? ?
? ? available = yes ? ? ?
? ? admin users = itadmin ? ? ?
? ? writable = yes ? ? ?
? ? write list = +mgr ? ? ?
? ? valid users = +mgr ? ? ?
? ? create mask= 0755 ? ? ?
? ? directory mask= 0755 ? ? ?
? ? browseable = no ? ? ?
[filemgr] ? ? ?
? ? comment = filemgr ? ? ?
? ? path = /home/filemgr ? ? ?
? ? public = no ? ? ?
? ? available = yes ? ? ?
? ? admin users = itadmin ? ? ?
? ? writable = yes ? ? ?
? ? write list = +filemgr ? ? ?
? ? valid users = +filemgr ? ? ?
? ? create mask= 0755 ? ? ?
? ? directory mask= 0755 ? ? ?
? ? browseable = no
配置完后通過testparm來檢查 ? ?
說明一點:
samba3.x的早期版本默認使用tdb庫也就是smb.conf默認設定為passdb backend = tdbsam,只需要注釋掉該行添加smb passwd file = /etec/samba/smbpasswd即可使用smbpasswd存儲加密密鑰。從samba3.5.6開始samba規(guī)范了passdb backend參數(shù)的使用,取消了smb passwd file設定,如果簡單注釋掉passdb backend參數(shù),密鑰文件也不會被存儲到smbpasswd。所以很多人說怎么修改smb.conf的配置,smbpasswd文件都無法生成,就算手工創(chuàng)建,內容也是0字節(jié)。要用傳統(tǒng)的文本方式存儲只需這樣設定passdb backend = smbpasswd:/etc/samba/smbpasswd(后面跟的是絕對路徑)>,不要再寫smb passwd file = /etc/samba/smbpasswd,該參數(shù)已經(jīng)不適用于新版本的samba了。
啟動smb及nmb服務 ? ?
service smb start ? ?
service nmb start ? ?
nmb 是Samba 的主要啟動服務器,讓其它機器能知道此機器共享了什么;如果不打開nmb服務器的話,只能通過IP來訪問 ? ? ?
注意:在Samba服務器運行其間,更改了配置最好用service smb reload命令,不要用restart,這樣可以防止用戶在連接的過程中被中斷 ? ? ?
將smb與nmb加入啟動服務
chkconfig --level 35 smb on ? ?
chkconfig --level 35 nmb on
查看端口 ? ?
netstat -antup |grep smb ? ?
netstat -antup |grep nmb ? ? ?
第五步:設置用戶
smbpasswd -a itadmin
New SMB password: ? ?
Retype new SMB password: ? ? ?
Added user itadmin. ? ? ?
注:如果想要讓/etc/samba/sabpasswd生效,要先啟動samba,不然還是以默認的tdbsam方式來記錄密碼
刪除用戶:smbpasswd -x username
更改用戶密碼:smbpasswd username
第六步:測試用戶
linux用戶端測試 ? ?
Smb //192.168.88.35/share -U lili ? ?
Enter lili's password: ? ?
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.0.0rc4] ? ?
Smb: \>ls ? ?
. ? ? ? ? ? ? ? ? ?D ? ?0 Sat Aug 24 02:21:22 2013 ? ?
.. ? ? ? ? ? ? ? ? D ? ?0 Sat Aug 24 00:18:49 2013 ? ?
Windows下測試用戶就是在“運行”輸入//192.168.88.35/share ? ?
這時會彈出一個用戶名和密碼驗證的窗口,輸入自己的用戶名及密碼
第七步:安裝changepassword
changepassword是一個可以讓客戶端通過瀏覽器來更改samba用戶密碼的工具,使用組環(huán)境來說用這個工具還是方便的 ? ?
1、安裝changepassword運行的環(huán)境
yum install gcc httpd -y
gcc是開發(fā)包,httpd不用說了 ? ?
tar -zxvf changepassword-0.9.tar.gz
cd changepassword-0.9
./configure --enable-cgidir=/var/www/cgi-bin --enable-language=Chinese --enable-smbpasswd=/etc/samba/smbpasswd --disable-squidpasswd --enable-logo=opentech.jpg ? ?
系統(tǒng)提示:
changepassword 0.9 Configuration ? ? ?
-------------------------------- ? ? ?
Samba password file: /etc/samba/smbpasswd ? ? ?
Squid password file: no ? ? ?
Logo image ? ? : opentech.jpg ? ? ?
Using Language file: languages/Chinese.h ? ? ?
Apache cgi-bin dir : /var/www/cgi-bin ? ? ?
configure: creating ./config.status ? ? ?
config.status: creating Makefile ? ? ?
Don't forgot to copy opentech.jpg to your website root htdocs ? ? ?
Now, type "make" and "make install" ? ? ?
make && make install ? ??
2、安裝changepassword
在安裝過程中可能會遇到以下一個報錯
collect2:ld returned 1 exit status
make:***[changepassword.cgi] Error 1
這是因為缺少一個依賴包的原因,這個依賴包就在changepassword-0.9.tar.gz的目錄包里,解壓后在目錄里有一個smbencrypt的目錄,進入該目錄,目錄里有一個libdes-4.0.tar.gz文件,這個是changerpassword的一個依賴包,解壓縮
tar -zxvf libdes-4.0.tar.gz
解壓后有一個des目錄,進入后
make
cp libdes.a ../
系統(tǒng)提示:
cp:是否覆蓋../libdes.a?
Enter確認覆蓋,退回changepassword目錄
然后再回到changepassword-0.9的目錄下再make && make install一次,這時系統(tǒng)會提示:
cp changepassowrd.cgi /var/www/cgi-bin/changepasword.cgi
chmod 4755 /var/www/cgi-bin/changepassword.cgi
changepassword就安裝成功了
注:
--enable-cgidir=/var/www/cig-bin:指定http下的cig-bin路徑 ? ? ?
--enable-language=Chinese:設定語言為中文 ? ? ?
--enable-smbpasswd=/etc/samba/smbpasswd:指定smbpasswd路徑 ? ? ?
--disable-squidpasswd:關閉squid密碼(changepassword是支持squid認證用戶密碼更改的)
swat是對Samba圖形化管理的工具,也很方便簡單
vim /etc/xinetd.d/swat ? ?
將
only_from = 127.0.0.1 改為 only_form = 192.168.88.0/24(這是允話管理的ip地址范圍,也可以是單個IP地址) ? ?
disable = yes 改為 disable = no
保存并重啟xinetd.d
service xinetd restart
第九步:修改samba配置
在smb.conf里增加 ? ?
pam password change = no ? ? ?
passwd chat = **NEW*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n *successfully* ? ? ?
passwd program = LANG=en_US /usr/bin/passwd %u ? ? ?
unix password sync = yes
增加的上面這些是為Changepassword增加的 ? ?
保存后重啟smb
service smb restart
第十步:更改IPTABLES
iptables -A INPUT -p tcp -s 192.168.88.0/24 --dport 22 -j ACCEPT ? ? ?
iptables -A INPUT -p udp -s 192.168.88.0/24 --dport 137 -j ACCEPT ? ? ?
iptables -A INPUT -p udp -s 192.168.88.0/24 --dport 138 -j ACCEPT ? ? ?
iptables -A INPUT -p tcp -m state --state NEW -s 192.168.88.0/24 --dport 139 -j ACCEPT ? ? ?
iptables -A INPUT -p tcp -m state --state NEW -s 192.168.88.0/24 --dport 445 -j ACCEPT ? ? ?
iptables -A INPUT -p tcp -m state --state NEW -s 192.168.88.0/24 --dport 80 -j ACCEPT ? ? ?
iptables -A INPUT -p tcp -m state --state NEW -s 192.168.88.0/24 --dport 901 -j ACCEPT
重啟IPTABLES,啟動http
service iptables restart ? ?
service httpd start ? ? ?
將httpd加入啟動服務
chkconfig --level 35 httpd on
第十一步:測試changepassword及swat
Changepassword
打開瀏覽器輸入:192.168.88.35(youipaddress)/cgi-bin/changepassword.cgi,正確的情況下就可以看到下更改密碼的窗口如下 ? ? ?
輸入舊密碼、新密碼 ? ?
SWAT ? ? ?
打開瀏覽器輸入http://ip address:901(圖形管理頁面的端口是901)
-從這開始是為域環(huán)境建立的Samba-
Samba的安裝和共享目錄的建立過程就不再重復了,看第一步、第二步現(xiàn)在的主要工作是將samba加入己有的AD域中 ? ?
AD域:yk_wy.local ? ?
AD域系統(tǒng):Windows 2003標準版 ? ?
下面的配置中綠色字體為原有的內容,紅色字體為要修改的內容,藍色字體為修改的內容,粟色字體為增加內容 ? ?
首先我關閉了SELINUX并清空了IPTABLES ? ?
iptables -F ? ?//清空iptables配置
vim /etc/selinux/config ? ? ?
將SELINUX=enforcing 改為 SELINUX=disable ? //關閉SELINUX
第三步:編輯krb5
cp /etc/krb5.conf /etc/krb5.conf.bak ? ?
vim /etc/krb5.conf ? ? ?
[logging] ? ? ?
default = FILE:/var/log/krb5libs.log ? ? ?
kdc = FILE:/var/log/krb5kdc.log ? ? ?
admin_server = FILE:/var/log/kadmind.log
[libdefaults] ? ?
default_realm =EXAMPLE.COM --改為-->YK_WY.LOCAL ?//將默認區(qū)域名改為AD域的域名 ? ?
dns_lookup_realm = false ? ?
dns_lookup_kdc = false ? ? ?
ticket_lifetime = 24h ? ? ?
renew_lifetime = 7d ? ? ?
forwardable = true
[realms]
EXAMPLE.COM --改為--> YK_WY.LOCAL = { ? ?//改為AD域名 ? ?
kdc =kerberos.example.com --改為-->192.168.88.2 ? ?//改為AD的IP地址 ? ?
admin_server =kerberos.example.com --改為-->192.168.88.2 ?//改為AD的IP地址 ? ?
}
[domain_realm] ? ? ?
.example.com = EXAMPLE.COM --改為-->.yk_wy.local = YK_WY.LOCAL
example.com = EXAMPLE.COM --改為-->yk_wy.local = YK_WY.LOCAL
第四步:編輯nsswitch.conf
我們要將Samba加入windows域需要用到winbind,winbind是一款 Samba 組件,在CentOS它包含在了 samba-common 包中。 winbind 在Linux上實現(xiàn)了微軟的RPC調用、可插式驗證模塊和名字服務切換,通過 samba 接口與windows 域控獲得聯(lián)系,可以使NT域用戶能在Linux主機上以Linux用戶身份進行操作。通過設定 Linux 服務器的 nss 配置,可以讓系統(tǒng)通過 Winbind 程序來解析用戶信息。 ? ? ?
NSS 是 Sun 公司開發(fā)用于定義系統(tǒng)中配置文件查找順序的工具。他的配置文件在 /etc/nsswitch.conf 。通過他我們可以定義系統(tǒng)在登錄時通過 Winbind 來獲取用戶信息 ? ? ? ?
cp /etc/nsswitch.conf /etc/nsswitch.conf.bak ? ?
vim /etc/nsswitch.conf
passwd: ? fileswinbind ? ?//先讀files 然后再通過winbind認證 ? ? ?
shadow: ?fileswinbind ? ? ?
group: ? fileswinbind
第五步:編輯smb.conf
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak ? ? ?
vim /etc/samba/smb.conf ? ? ?
[global] ? ? ?
? ?workgroup =MYGROUP--改為-->YK_WY//AD域的域名 ? ? ?
password server =192.168.88.2 ?//AD的IP地址 ? ? ?
realm = YK_WY.LOCAL ? ? ?
server string = Samba Server Version %v ? ? ?
? ?netbios name =MYSERVER--改為—> PMSAMBA
interfaces =lo eth0 192.168.12.2/24 192.168.13.2/24 --改為--> lo eth0 192.168.88.40
hosts allow =127. 192.168.12. 192.168.13. --改為--> 127. 192.168.88. 192.168.87.
?log file = /var/log/samba/log.%m ? ?
? ?max log size = 50
? ?security =user --改為--> ADS
passdb backend = tdbsam
? ?idmap config * : range = 16777216-33554431 ? ? ?
? ?idmap config * : backend = tdb ? ? ?
? ?template shell = /sbin/nologin ? ? ?
? ?template homedir = /home/%U ? ? ?
? ?winbind use default domain = Yes ? ? ?
? ?winbind offline logon = Yes ? ? ?
? ?winbind separator = / ? ?
? ?winbind enum users = Yes ? ? ?
? ?winbind enum groups = Yes
[homes] ? ? ?
? ?comment = Home Directories ? ? ?
path = /home/%U ? ? ?
valid users =YK_WY.LOCAL/%U
read only = No ? ? ?
? ?browseable = No
root preexec = /bin/mkhome.sh %U %G
注:mkhome.sh腳本感謝51cto的ainbird2,正為此頭疼看到他的《Samba通過ad域進行認證并限制空間大小》
[printers] ? ? ?
? ?comment = All Printers ? ? ?
? ?path = /var/spool/samba ? ? ?
? ?browseable = no ? ? ?
? ?guest ok = no ? ? ?
? ?writable = no ? ? ?
? ?printable = yes ? ? ?
配置完后通過testparm來檢查 ? ? ?
一般檢測會提示: ? ? ?
WARNING: The setting 'security=ads' should NOT be combined with the 'password server' parameter. ? ? ?
(by default Samba will discover the correct DC to contact automatically).
系統(tǒng)認為己設置了“security = ADS”就不必設置“password server =”因為samba會自己認到,看到?jīng)]什么影響,我也就沒改
注1:在以前用的 idmap uid = 16777216-33554431 和 idmap gid = 16777216-33554431現(xiàn)在己不在使用 ? ? ?
注2:mkhome.sh腳本 ? ? ?
vim /bin/mkhome.sh ? ?
#!/bin/bash ? ? ? ?
user=$1 ? ? ? ?
group=$2 ? ? ? ?
home=/home/$1 ? ? ? ?
if [ ! -d $home ] ; then ? ? ? ?
mkdir -p $home ? ? ? ?
chown $user $home ? ? ? ?
chgrp $group $home ? ? ? ?
chmod 700 $home ? ? ? ? ? ? ? ?
fi
chmod 700 /bin/mkhome.sh //修改文件權限
啟動smb、nmb和winbind ? ?
service smb start ? ? ?
service nmb start ? ? ?
service winbind start ? ? ?
將smb和nmb加入啟動服務 ? ? ?
chkconfig --level 35 smb on ? ?
chkconfig --level 35 nmb on ? ?
chkconfig --level 35 winbind on
第六步:加入AD域
測試:
kinit administrator@YK_WY.LOCAL
Password for administrator@YK_WY.LOCAL:[輸入AD管理員登錄密碼] ? ?
沒問題的話會直接回到bash
加入域
net ads join -U administrator@YK_WY.LOCAL
Enter administrator@YK_WY.LOCAL's password:[輸入AD管理員登錄密碼] ? ? ?
Using short domain name -- YK_WY ? ? ? ?
Joined 'PMSAMBA' to realm 'yk_wy.local' ? ? ? ?
No DNS domain configured for pmsamba. Unable to perform DNS Update. ? ? ? ?
DNS update failed: NT_STATUS_INVALID_PARAMETER ? ? ? ?
現(xiàn)在到域控上看一下,果然能看到SMB服務器了 ? ? ?
但是這并不表明己完全正確的加入到了域 ?
驗證: ? ?
wbinfo -t ?//查看與AD主機是否己建立信任關系 ?
checking the trust secret for domain YK_WY via RPC calls succeeded
wbinfo -u ?//顯示AD的用戶信息 ?
80114663 ? ?
dtz0016 ? ?
80115157 ? ?
80115140 ? ?
80114721 ? ?
80115447 ? ?
08084394 ? ?
pmfile-svr-backup ? ?
test ? ?
wbinfo -g ?//顯示AD的組信息 ?
財務部 ? ?
客房部 ? ?
工程部 ? ?
保衛(wèi)部 ? ?
dnsadmins ? ?
dnsupdateproxy ? ?
人力資源及總務部
getent passwd ?//顯示本地和域中可登錄用戶 ?
08086126:*:16777220:16777221:Tian, Yu:/home/08086126:/bin/bash ? ?
80111214:*:16777221:16777221:lili:/home/80111214:/bin/bash ? ?
dtz0006:*:16777222:16777221:liuxa:/home/dtz0006:/bin/bash ? ?
80111040:*:16777223:16777221:josno:/home/80111040:/bin/bash ? ?
80112196:*:16777224:16777221:tony:/home/80112196:/bin/bash ? ?
proxyserver:*:16777225:16777221:proxyserver:/home/proxyserver:/bin/bash ? ?
financeserver1:*:16777226:16777221:financeserver1:/home/financeserver1:/bin/bash
getent group ?//顯示本地和域中的組 ?
財務部:x:16777233:80115249,80111024,80111065,financeserver2,80111040,80116007,80464399,80114598,financeserver1 ? ?
客房部:x:16777234:80111768,80114721,80115538 ? ?
物業(yè)部:x:16777235:80111545,pcpd0106,pcpd0110,pcpd0105,pcpd0107,pcpd0108,80111479,pcpd0109,80114531,ving card,80114663,80115447,80111347 ? ?
工程部:x:16777236:08086092,08086134,08086142,pcpd0112,80113293,80464225 ? ?
保衛(wèi)部:x:16777237:80112246,pcpd0111,80112238,08086043,80112220,80114572,80115157,80112196 ? ?
dnsadmins:x:16777238: ? ?
dnsupdateproxy:x:16777239: ? ?
人力資源及總務部:x:16777240:80111156,80111149,80115140,80115926,kaoqin
其它的測試命令如 ?
net ads info ?//查詢AD域基本資料 ?
net getdomainsid ?//查詢AD域ID號碼 ?
就不做了
注:退出域的命令是:net ads leave -U administrator
運行退出命令系統(tǒng)會提示: ?
Delted account for 'PMSAMBA' in realm 'YK_WY.LOCAL'
第七步:IPTABLES設置
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.88.0/24 --dport 137:139 -j ACCEPT
iptables -A INPUT -A INPUT -p tcp -m state --state NEW -s 192.168.88.0/24 -m multiport --dport 137:139,445,80,901 -j ACCEPT
第八步:客戶端測試
windows的用戶登錄域“運行”-“\\192.168.88.30”這時會看到以自己域帳號為名的目錄,進入后新建或刪除文件都沒問題
第九步:windows域用戶掛載共享目錄
寫個BAT文件設置為域用戶的登錄腳本,當域用戶登錄時會自行掛載共享目錄 ?
@etho off ? ?
if exist Z: net use Z: /del /y ? ?
net use Z: \\192.168.88.30\%USERNAME%
域環(huán)境下的另一種情況
之前的設置是設置了域用戶在登錄SAMBA之后都會有一個自己的目錄,這個目錄的建立與mkhome.sh這個腳本相關,如果只是建立了全體共享目錄和部門的Share,不想讓每個用戶都有 自己的目錄就不用腳本,或者直接將[homes]全部注釋掉,另外在smb.conf的設置里要注意幾點:
1、將 winbind separator = / --改為--> winbind separator = +,如果不改為 + 域內部門權限內的用戶訪問目錄時也會要求用戶和密碼的驗證(還沒搞明白為什么)
2、在設置部門訪問的時候 valid users = YK_WY.LOCAL/%U --改為--> valid users = @YK_WY.LOCAL+[部門]
---配置過程中遇到的問題---
組環(huán)境問題一:在編譯changepassword時系統(tǒng)提示 ?
cp changepassword.cgi /var/www/cig-bin/changepassword.cgi ? ?
cp: 無法創(chuàng)建普通文件"/var/www/cig-bin/changepassword.cgi": 沒有那個文件或目錄 ? ?
解決:這個是最不細心的一個表現(xiàn)……,在編譯時把/var/www/cgi-bin寫成了/var/www/cig-bin ?
組環(huán)境問題二:在瀏覽器上通過changepassword修改用戶密碼時,輸入正確也提示舊密碼錯誤 ?
解決:這個是在創(chuàng)建samba用戶時因想是不用登錄系統(tǒng)的用戶,所以也忘記給用戶設置系統(tǒng)密碼了,changepassword如果修改密碼,必須和/etc/passwd內的密碼同步,如果只設置samba密碼,不設置系統(tǒng)密碼,該程序是無法修改用戶密碼的。用戶必須具有系統(tǒng)密碼,并且這個系統(tǒng)密碼要與samba密碼一致 ?
組環(huán)境問題三:瀏覽器輸入網(wǎng)址看到的是亂碼
解決:修改 /etc/httpd/conf/httpd.conf文件中將 AddDefaultCharset UTF-8的值改為 GB2312
組環(huán)境問題四:從客戶端(windowsXP)訪問Samba速度十分慢,在運行里輸入命令后得等一分鐘時間吧,才會彈出登錄認證窗口
域環(huán)境問題一:通過 kinit administrator@YK_WY.LOCAL 測試,系統(tǒng)提示 ?
kinit: Clock skew too great while getting initial credentials
解決:查看了一下samba的時鐘與AD的鐘相差2天時間,對samba進行調整 date 082315142013 再測試就沒有提示了
域環(huán)境問題二:通過 net ads join -U administrator@YK_WY.LOCAL 命令加入域報錯 ?
realm must be set in in /etc/samba/smb.conf for ADS join to succeed. ? ?
Invalid configuration. Exiting.... ? ?
Failed to join domain: Invalid parameter ? ?
解決:在smb.conf里沒有配置 password server = [ad ip address]和 realm = [ad name]
域環(huán)境問題三:通過windows訪問SMB服務器,系統(tǒng)報錯: ?
無任何網(wǎng)絡提供程序接受指定的網(wǎng)絡路徑 ? ?
解決:配置這個域環(huán)境的SMB時忘了配置iptables,把SMB相應的端口設置一下就好了
域環(huán)境問題四:訪問SMB上自己的目錄時系統(tǒng)報錯: ?
\\192.168.88.30\08084394無法訪問。您可能沒有權限使用網(wǎng)絡資源。請與這臺服務器的管理員聯(lián)系以查明你是否有訪問權限。無任何網(wǎng)絡提供程序接受指定的網(wǎng)絡路徑 ? ?
查看日志:tail /var/log/samba/log.hqb-virtual ?
[2013/08/024 15:59:17.784198, 0] ../source3/smbd/service.c:828(make_connection_snum) ? ?
canonicalize_connect_path failed for service 08084394, path /home/08084394 ? ?
解決:這又是一個不細心的典型,我把mkhome.sh建在了home目錄下,而在smb.conf里卻寫成了 root preexec = /bin/mkhome.sh %U %G,懶的改了,把mkhome.sh移到bin下好了 ?
本文出自 “青瞳” 博客,請務必保留此出處http://icedot.blog.51cto.com/61369/1293327
總結
以上是生活随笔為你收集整理的CentOS6.3 Samba安装配置、多用户、加域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 揭秘深度强化学习
- 下一篇: Linux服务器中实现文件夹可写不可删除