給未來的裕翔
首先安裝三個套件
samba, samba-common, samba-client
注意以下四個port
137/udp, 138/udp, 139/tcp, 445/tcp
雖然daemon有nmbd和smbd兩個
用service smb start就會自動連nmbd一起帶起來
若在client端想看server端開放哪些資料夾
smbclient -L 192.168.0.254
輸入密碼的地方直接按Enter就可以看了
另外要注意的是
samba有自己的密碼, 跟/etc/shadow無關
不過帳號必須已經存在/etc/passwd裡面
那samba建立的密碼會存在/etc/samba/passdb.tdb
因為不是一般文字檔
如果想看passdb.tdb內容的話
tdbdump /etc/samba/passdb.tdb
想要使用samba服務有兩種方式
一個是像ftp一樣的方式
smbclient //server/share-name -U user-name
然後輸入密碼
不然就是用mount(個人偏向這個)
mount -t cifs -o username=user-name //192.168.0.254/homes /mount-dir
cifs是common internet file system的縮寫
要注意那個homes是share-name不是dir
不過這樣mount會失敗
因為selinux的關係
setsebool -P samba_enable_home_dirs=1
另外補充, 星星如果要出現, setroublesootd要先啟動
如果要自行增加分享的資料夾
(預設只有home和printer)
在/etc/samba/smb.conf最下面增加幾行
[share-name]
path = blabla
browseable = yes
valid users = user1, user2
writeable = yes
read list = user2
以上表示, 開放write,除了user2不能write
但是, 光這樣還是會failed
必須給那個share出去的資料夾改變context
chcon -t samba_share_t /blabla
注意, 裡面的檔案也都必需要是samba_share_t
如果希望開機自動掛載
在/etc/fstab裡面
//server/share-name /mount-point cifs username=john 0 0
不過這樣也挺麻煩的, 每次開機都要輸入密碼
所以可以改成
//server/share-name /mount-point cifs credentials=/etc/xyz 0 0
然後建立/etc/xyz
username=user-name
password=user-password
安全起見chmod 600 /etc/xyz
最後, 關於存取控管
可以考慮直接用smb.conf裡面的[global]的
host deny, host allow, 依題目決定
比iptables方便許多
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment