トシくんがSambaのリズムに合わせて入室されました

/ LPIC / Comment[0]
SambaとはMicrosoftネットワークで使用されているSMB/CIFSプロトコルを扱うことで、Windowsとのリソース共有を実現するOSS。

機能など
・ファイル鯖
・プリント鯖
・WINS鯖
・ドメインコントローラ
・ActiveDirectoryメンバサーバ
・Microsoftネットワーククライアント

Sambaのデーモンとプロセス
smbd ファイル共有、認証
nmbd ブラウジング機能、NetBIOS、WINS鯖
winbindd Winbind機能

Sambaサーバポート
137/UDP NetBIOS,ブラウジング
138/UDP NetBIOS,ドメインログオン
139/TCP ファイル共有
445/TCP ファイル共有(DirectHostSMBを利用している場合)

Samba設定ファイル
/etc/samba/smb.conf

[global]
workgroup = INFERNO
server string = %h LPIC
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes

#UNIXユーザの各ホームディレクトリを一括して共有するセクション。
#userとしてSambaにログインするとそのユーザ名に対応するLinuxホームディレクトリ/home/userが共有される。
[home]
comment = Home Directories
browseable = no
writable = yes

#INFERNOグループに所属しているホストに/storage/PubDirを共有する。
[public]
comment = Public Directory
path = /storage/PubDir
public = yes
write list = @INFERNO

[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700

#セクション名末尾に$を付けると隠し属性になるが、共有名を直接指定すればアクセスできる。
[secret$]
path = /storage/secret
valid users = @INFERNO

#ユーザ情報を格納するバックエンドデータベースの形式
passdb backend = tdbsam


構文チェック
$ testparm -v
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[home]"
Processing section "[public]"
Processing section "[printers]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions



Sambaユーザを追加

security = userの場合、Sambaユーザを作成するにはSambaユーザと同じ名のUNIXアカウントが必要
# mkdir /home/user
# useradd user -s /dev/null -d /home/user

Sambaユーザを作成
# smbpasswd -a user
New SMB password:
Retype new SMB password:
おk

Sambaユーザを削除
# smbpasswd -x user

Sambaユーザを有効化
# smbpasswd -e user

Sambaユーザを無効化
# smbpasswd -d user



Samba3.0以降だとpdbeditコマンドでもSambaユーザ管理が出来るらしい

Sambaユーザを追加
# pdbedit -a sambauser
new password:
retype new password:

Sambaユーザを削除
# pdbedit -x user

Sambaユーザを一覧表示
# pdbedit -L
nobody:65534:nobody
root:0:root
sambauser:1008:
server:1000:Rei



ユーザ情報を格納するバックエンドデータベースの形式

smbpasswd Samba2.2系で利用されていた方式で、テキスト形式のパスワードファイル(smbpasswd)にユーザ情報が記述されている
passdb backend = smbpasswd

tdbsam バイナリ形式のデータベースファイル(passdb.tdb)にユーザ情報を格納する
passdb backend = tdbsam

ldapsam LDAPサーバにユーザ情報を格納する
passdb backend = ldapsam:ldap://ldapserver:port



リソース共有情報を表示
# smbstatus
Samba version 3.4.7
PID Username Group Machine
-------------------------------------------------------------------

Service pid machine Connected at
-------------------------------------------------------
public 2254 phantom0 Sat Feb 12 17:11:41 2011

No locked files


同じネットワークセグメントでINFERNOグループに所属しているホストを表示
$ nmblookup INFERNO
querying INFERNO on 192.168.1.255
192.168.1.99 INFERNO<00>
192.168.1.4 INFERNO<00>

IPアドレスからNetBIOS情報を引き出す
$ nmblookup -A 192.168.1.4
Looking up status of 192.168.1.4
PHANTOM1 <00> - M
PHANTOM1 <20> - M
INFERNO <00> - M
INFERNO <1e> - M

MAC Address = E8-39-DF-15-D1-95

NetBIOS名からIPアドレスを引き出す
$ nmblookup PHANTOM1
querying PHANTOM1 on 192.168.1.255
192.168.1.4 PHANTOM1<00>

INFERNOグループのマスターブラウザを検索
$ nmblookup -M INFERNO
querying INFERNO on 192.168.1.255
192.168.1.99 INFERNO<1d>
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可