2012年3月7日水曜日

CentOS samba構築メモ

P.S 20150223
不要なコマンドを削除しました
CentOS6.6でも同様のコマンドでいけることを確認しました
見出しを追加しました

インストール

[root@localhost ~]# cat /etc/issue
CentOS release 5.7 (Final)
Kernel \r on an \m

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]# yum -y install samba
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* extras: www.ftp.ne.jp
* updates: www.ftp.ne.jp
Excluding Packages in global exclude list
Finished
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package samba.x86_64 0:3.0.33-3.29.el5_7.4 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
samba x86_64 3.0.33-3.29.el5_7.4 updates 16 M

Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)

Total download size: 16 M
Downloading Packages:
samba-3.0.33-3.29.el5_7.4.x86_64.rpm | 16 MB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : samba 1/1

Installed:
samba.x86_64 0:3.0.33-3.29.el5_7.4

Complete!

ユーザはrootのまま行いたいと思います
[root@localhost ~]# pdbedit -a root
new password:*********

retype new password:*********

account_policy_get: tdb_fetch_uint32 failed for field 1 (min password length), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 2 (password history), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 3 (user must logon to change password), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 4 (maximum password age), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 5 (minimum password age), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 6 (lockout duration), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 7 (reset count minutes), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 8 (bad lockout attempt), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 9 (disconnect time), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 10 (refuse machine password change), returning 0
Unix username: root
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1133800887-2859887277-257256782-1001
Primary Group SID: S-1-5-21-1133800887-2859887277-257256782-513
Full Name: root
Home Directory: \\localhost\root
HomeDir Drive:
Logon Script:
Profile Path: \\localhost\root\profile
Domain: LOCALHOST
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: never
Kickoff time: never
Password last set: 金, 02 3月 2012 08:45:41 JST
Password can change: 金, 02 3月 2012 08:45:41 JST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@localhost ~]# vim /etc/samba/smb.conf
編集するのは
「hosts allow = 」
の部分をアクセス元のWindowsサーバのIPに変更します
この場合は共有するとユーザのカレントが共有先になるので
/root/が共有先のディレクトリとなる
[root@localhost ~]# /etc/init.d/smb start
SMB サービスを起動中: [60G[ [0;32m OK [0;39m]
NMB サービスを起動中: [60G[ [0;32m OK [0;39m]
[root@localhost ~]# chkconfig smb on
[root@localhost init.d]# service iptables stop
ファイアウォールルールを適用中: [60G[ [0;32m OK [0;39m]
チェインポリシーを ACCEPT に設定中filter [60G[ [0;32m OK [0;39m]
iptables モジュールを取り外し中 [60G[ [0;32m OK [0;39m]

iptablesを有効にして使いたい場合は「137」「138」「139」「445」
をtcpで許可してあげると疎通できると思います
※追記です。基本的なファイル共有だけなら「445」だけで大丈夫です。
プリンタなども共有する場合にだけ「137」「138」「139」が必要です。
ムダなポートは閉じておきましょう!

Windowsからの接続

[root@localhost init.d]# ps aux | grep smb
root 25061 0.0 0.5 140896 2736 ? Ss 09:00 0:00 smbd -D
root 25066 0.0 0.2 140896 1436 ? S 09:00 0:00 smbd -D
root 25067 0.0 0.6 140916 3100 ? S 09:00 0:00 smbd -D
root 25079 0.0 0.1 65444 860 pts/1 R+ 09:04 0:00 grep smb

Windowsのファイル名を指定して実行から「\\SambaサーバのIPアドレス」を
入力してファイル共有されるか確認してみましょう

ネットワークドライブとして接続する場合は「\\SambaサーバのIPアドレス\root」として接続してください

ここでできない場合はネットワークの疎通ができてないのが原因だと思われるので
pingやiptablesを駆使してネットワークの設定をしてみてください
また今回ユーザはrootを使用しているためセキュリティ的に危険だという方は
別のユーザ設定もできるので、以下を参照してやってみてください
http://centossrv.com/samba.shtml

あとすいません。今回emacs上のshellでインストールしたので、日本語が化けてる
ところがありますが、ご了承ください。。。w
では、早速sambaを使ってこのインストールメモを引っ張ってきたいと思います

0 件のコメント:

コメントを投稿