*Samba3 [#q54a4bc1] RIGHT:更新日 &lastmod(); **PDCとして設定 [#ea1e064d] PDCにするには以下を修正 /etc/samba/smb.conf [global] # ----------------------- Network-Related Options ------------------------- #ドメイン名 workgroup = ISMNET # ----------------------- Domain Controller Options ------------------------ domain master = yes domain logons = yes # ----------------------- Browser Control Options ---------------------------- local master = yes # ブラウズマスターの権限を他のマシンより上げる(33以上) os level = 65 #----------------------------- Name Resolution ------------------------------- wins support = yes nmbはwinsとしてマスターブラウザーになるために再起動 # /etc/rc.d/init.d/nmb restart # /etc/rc.d/init.d/smb restart サブネット内で SMB 名前問合わせに応答したマシンの情報を一覧表示し、 その中にsambaサーバが含まれていることを確認 # findsmb *=DMB +=LMB IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION --------------------------------------------------------------------- 10.2.1.10 BRNC9AF01 Unknown Workgroup 10.2.1.12 BRN0A8E6F Unknown Workgroup 10.99.99.74 ISM-SMB *[ISMNET] [Unix] [Samba 3.5.11-1vl6] <==確認 169.254.64.76 unknown nis name linuxのrootユーザをsambaに登録する必要がある。(rootでないとPCをドメインに参加できない) # smbpasswd -a root ユーザの登録 # /usr/sbin/adduser -s /sbin/nologin okada # smbpasswd -a okada 参加マシンの登録(WindowsXP以降必要) # /usr/sbin/adduser -s /sbin/nologin je2ism-test$ # smbpasswd -a -m je2ism-test Added user je2ism-test$. **Sambaでファイル共有(Linux ユーザ単位) [#yf3355b0] Linux SambaサーバにWindowsとMACを接続 /etc/samba/smb.conf [global] workgroup = MATSUNET #アクセス時のマシン名(アクセス時は\\(IPアドレス)\でもOK) netbios name = ISM-SMB #許可アドレス(ネットワーク) hosts allow = 127. 10. #プリンタは使用しない load printers = no #「Yes」のときLinuxユーザのパスワードも変更される 既定値: unix password sync = no # パスワードの暗号化 既定値: encrypt passwords = yes ***起動 [#j162411e] # /etc/rc.d/init.d/smb start # smbpasswd -a okada New SMB password: Retype new SMB password: (いろいろwarnigが出た) Added user okada. ''ユーザ確認'' # pdbedit -L okada:500:Okada # pdbedit -u okada -v Unix username: okada NT username: Account Flags: [U ] (略) Logon time: 0 Logoff time: 木, 07 2月 2036 00:06:39 JST Kickoff time: 木, 07 2月 2036 00:06:39 JST Password last set: 水, 18 1月 2012 05:00:27 JST Password can change: 水, 18 1月 2012 05:00:27 JST Password must change: never Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ***バッチでユーザ登録 [#k02076df] # (echo ****** ;echo ******)| /usr/bin/smbpasswd -s -a okada3 Added user okada3. Windowsからは ネットワークコンピュータで「\\(IPアドレスで接続)\」 ***MAC OSXからは [#ca761dc9] Mac OS Xの[移動]メニューにある[サーバへ接続]を選択する。 smb://サーバ名(またはIPアドレス)/共有名 ***WindowsLogOn時の問題 [#c5f79f05] Samba で構築したドメインにログオンすると、メモ帳が起動 [.ShellClassInfo] LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21787 ''対策'' smb.conf map hidden=yes , map system=yes とする もしくは store dos attributes = yes とする(map hidden,map systemと両方設定しないこと) Desktop.ini ファイルについて、サーバー側の移動プロファイルを削除し、Windowsクライアント上でDesktop.ini ファイルに対して隠し属性やシステム属性を設定する -http://wiki.samba.gr.jp/mediawiki/index.php?title=J75 **参考 [#lf0ddabb] -http://www.jitaku-server.net/samba_setup.html -http://www.samba.gr.jp/project/translation/3.5/htmldocs/manpages-3/smb.conf.5.html **ファイル共有 [#n08113e6] ***インストール [#j77a69c5] # apt-get install samba ***設定 [#z45306d5] /etc/samba/smb.cofで最低以下を設定 [global] netbios name = ISMDOMAIN <-- ホスト名(\\ISMDOMAIN\) # charset (euc-jp) unix charset = eucJP-ms dos charset = cp932 display charset = eucJP-ms workgroup = ISM server string = ismsamba security = user <-- /etc/samba/smbpasswdのユーザを使用(普通これを選択) ''文字コード'' unix charset UNIX側での文字コードの設定(eucJP-ms UTF-8) dos charset Windows側での文字コードの設定。日本語を利用する場合は、CP932 display charset swat で表示される文字コードの指定 ''samba.confのチェック'' # testparm Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[printers]" Processing section "[sambadoc]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions ***起動 [#i81500b1] # /etc/rc.d/init.d/smb start ***ユーザ登録 [#u4ee830f] ユーザはlinuxアカウントを事前に登録しておく必要がある smb.cofで以下がコメントアウトのとき~ ; passdb backend = tdbsam~ ''/etc/passwdファイルからsmbpasswdを作成''~ ファイルは作成されるがパスワードは作成されないので注意すること。あとからか作成する。 # cd /etc/samba # /usr/bin/mksmbpasswd.sh < /etc/passwd > smbpasswd 注)mksmbpasswd.shに実行件がないときは追加する ''パスワード作成''~ # /usr/bin/smbpasswd okada New SMB password: ****** Retype new SMB password: ****** また、新しいユーザを追加sたときはlinuxアカウントを発行して(/sbin/nologinでもいいみたい)smbpasswdに以下ように同じように行を追加して/usr/bin/smbpasswd でパスワードを作成する /etc/samba/smbpasswd # # SMB password file. # okada:500:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:[U ]: LCT-47725CAF:Okada admin:502:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:[U ]: LCT-477273B8: vmwinxp$:503:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:[W ]:LCT-47727365: 注)$がついているのはマシン名 ***Windowsから [#s2fd7b61] ネットワークから 「\\(IPアドレス)\」でアクセスこのときWindowsのユーザも上記で設定したユーザ、パスワードでアクセスする **SambaでPDC [#ycac8090] ''/etc/samba/smb.conf'' [global] workgroup = ISM <--(1) server string = ism samba security = user local master = yes os level = 65 <--32より大きくする domain master = yes preferred master = yes domain logons = yes ;logon path = \\%L\Profiles\%U logon path = <--移動プロファイルを使用しなときは明示てきにこのように指定する netbios name = ISMDOMAIN logon drive = H: logon home = \\homeserver\%u\winprofile admin users = administrator <--このアカウントでWindows側をドメインに参加させる(2) [homes] comment = %U's Home Directory browseable = no writable = yes ; create mask = 0644 ; directory mask = 0755 [netlogon] path = /var/samba/netlogon read only = yes write list = ntadmin [Profiles] /var/samba/profiles read only = no create mask = 0600 directory mask = 0700 [global]で「passdb backend = tdbsam」と指定するとパスワードが/etc/samba/passdb.tdbのようなバイナリファイルに保存され、パスワードファイルがsmbpasswdではなくなる。このときは以下のようにユーザ追加を行うが通常はこのオプションは無効にして、テキストファイル(smbpasswd)であつかったほうか簡単?(セキュリティ的には無視すれば) # /usr/sbin/useradd admin # pdbedit -a -u admin params.c:Parameter() - Ignoring badly formed line in configuration file: /var/samba/profiles new password: ******* retype new password: ******** Unix username: admin NT username: Account Flags: [U ] User SID: S-1-5-21-2947849931-3299972202-1454051791-2004 Primary Group SID: S-1-5-21-2947849931-3299972202-1454051791-513 Full Name: Home Directory: \\homeserver\admin\winprofile HomeDir Drive: H: Logon Script: Profile Path: \\localhost\Profiles\admin Domain: ISM Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: 火, 19 1月 2038 12:14:07 JST Kickoff time: 火, 19 1月 2038 12:14:07 JST Password last set: 水, 26 12月 2007 23:48:21 JST Password can change: 水, 26 12月 2007 23:48:21 JST Password must change: 火, 19 1月 2038 12:14:07 JST Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ''マシンの追加''~ PDCが接続許可するマシンを追加する。&color(red){マシン名の後は$を必ずつける。}; # /usr/sbin/useradd vmwinxp$ # pdbedit -a -m vmwinxp params.c:Parameter() - Ignoring badly formed line in configuration file: /var/samba/profiles Unix username: vmwinxp$ NT username: Account Flags: [W ] User SID: S-1-5-21-2947849931-3299972202-1454051791-2006 Primary Group SID: S-1-5-21-2947849931-3299972202-1454051791-513 Full Name: Home Directory: HomeDir Drive: (null) Logon Script: Profile Path: Domain: ISM Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: 火, 19 1月 2038 12:14:07 JST Kickoff time: 火, 19 1月 2038 12:14:07 JST Password last set: 水, 26 12月 2007 23:50:38 JST Password can change: 水, 26 12月 2007 23:50:38 JST Password must change: 火, 19 1月 2038 12:14:07 JST Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ''ユーザ(マシン)削除'' # pdbedit -x -u okada2 ''ユーザ(マシン)表示'' # pdbedit -L params.c:Parameter() - Ignoring badly formed line in configuration file: /var/samba/profiles VMWINXP$:4294967295:VMWINXP$ <==マシン administrator:504: **Windowsの設定 [#y7697c03] 「マイコンピュータ」右クリック ->「システムプロパティ」->~ コンピュータ名の変更でドメインを(1)で指定したWorkGroupを、~ ユーザを(2)で指定したユーザ、パスワードで行う。 その後再起動 **sudoコマンド [#ecf8d883] root権限でコマンドを実行するときは以下のようにuserのパスワードを聞かれる。これを聞かれずに実行する。 $ sudo pdbedit -L [sudo] password for okada: okada:500:Okada okada2:501:YOakada ''/etc/sudoers''に以下の行を追加するとsmbpasswdコマンドはユーザokadaがsudoするときはパスワードを聞かれない okada ALL=(ALL) NOPASSWD:/usr/bin/smbpasswd ただし、このファイルは0440であるため編集時は0640にして、戻す必要がある $ sudo smbpasswd -x okada3 Deleted user okada3. okada ALL=(ALL) NOPASSWD:ALL #okadaユーザはパスワード入力を必要としない okada2 ALL=(ALL) PASSWD:ALL #okada2ユーザはパスワード必要 -ルールは ユーザ ホスト = (権限) コマンド