Samba 安裝、配置——可讀 可寫禁止刪除
vi /etc/sysconfig/network
xxxx.server
vi /etc/hosts
127.0.0.1 xxx.server
yum install samba
setenforce 0
systemctl start smb
systemctl start nmb
systemctl enable smb
systemctl enable nmb
iptables -I INPUT -p tcp --dport 445 -j ACCEPT
iptables -I INPUT -p tcp --dport 139 -j ACCEPT
/etc/init.d/iptables save
useradd xxx
userpasswd xxx
mkdir -m 1777 /home/share
pdbedit -a xxx
smbpasswd -a xxx
pdbedit -L
Samba 配置只能上傳下載不能刪除修改的方法
讓上傳的文件不能修改, 只須要讓上傳的文件的權限裏不包含寫權限便可.
要讓文件不能刪除, 則涉及到文件父目錄的寫權限問題, 可是不能直接關閉父目錄的寫權限, 由於這樣就不能在該目錄下上傳文件了. 解決方法是在父目錄上設置 t 標誌位, 這用用戶就不能刪除這個目錄下不屬於本身的文件, 因此還須要設置文件的全部者不能是上傳的用戶, 將其設置爲 root 便可.
綜上, 首先對共享的根目錄設置 1777 權限, 全部者爲 root, 而後配置文件 /etc/samba/smb.conf 裏面的設置:
[共享名]
inherit owner = Yes # 上傳的文件繼承父目錄的全部者, 而不是使用登陸的帳號名, 這樣上傳的文件的全部者都是 root 了.
writable = Yes # 容許上傳操做
create mask = 1774 # 上傳的文件沒有寫權限
directory mask = 1777 # 上傳的目錄具備全部權限
force directory mode = 1000 # 上傳的目錄設置 t 標誌
稍做修改, 去掉 inherit owner = Yes 便可讓用戶能夠刪除本身上傳的文件, 不能刪除其餘用戶建立的文件
vi /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
[global]
workgroup = WORKGROUP #Workgroup win系統默認工做域
security = user
passdb backend = tdbsam
ntlm auth = yes #加此處
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S
browseable = NO
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
[share] #共享的目錄及配置
comment=this is Linux share directory
path=/home/share
inherit owner = yes
browsable = yes
writable=yes
read only = no
guest ok = no
create mask = 1774
directory mask = 1777
force directory mode = 1000
win7訪問centos7 Samba的共享目錄輸入賬號和密碼沒法登錄解決方法:
Windows7沒法正常訪問NAS或者Samba服務器上的共享文件夾。緣由在於從Vista開始,微軟默認只採用NTLMv2協議的認證迴應消息了,而目前的NAS系統和Samba還只支持LM或者NTLM。
解決辦法:修改本地安全策略
經過Samba服務能夠實現UNIX/Linux主機與Windows主機之間的資源互訪,因爲實驗須要,輕車熟路的在linux下配置了samba服務,操做系統是redhat linux 9.0,可是在windows7下訪問的時候問題就出現了,可以鏈接到服務器,可是輸入密碼的時候卻給出密碼出錯,但確認密碼沒有錯誤。
一、這種狀況看來是windows7的問題,解決的辦法是:單擊」開始「-「運行」,輸入secpol.msc,打開「本地安全策略」,在本地安全策略窗口中依次打開「本地策略」-->「安全選項」,而後再右側的列表中找到「網絡安全:LAN管理器身份驗證級別」,把這個選項的值改成「發送 LM 和 NTLM – 若是已協商,則使用 NTLMv2會話安全」,最後肯定。
二、修改 /etc/samba/smb.conf,在Global項下增長 ntlm auth = yes 參數
systemctl restart smb
systemctl restart nmb
linux