インストール †# yum install samba samba-client samba-common samba-swat SWATを動作させる †ブラウザから管理できるようにSWATを動作させます # vi /etc/hosts.allow swat: 192.168.0.1 # vi /etc/xinetd.d/swat service swat { port = 901 socket_type = stream wait = no only_from = 127.0.0.1 192.168.0.1 user = root server = /usr/sbin/swat log_on_failure += USERID disable = yes } # /etc/rc.d/init.d/xinetd restart http://www.example.com:901/ でアクセス可能 認証にLDAPを使用する場合 †事前にこちらでユーザーを一元管理 LDAPOpenLDAPを利用できるようにしておく OpenLDAPの追加設定 †# cp /usr/share/doc/samba-3.0.23c/LDAP/samba.schema /etc/openldap/schema/ # vi /etc/openldap/slapd.conf include /etc/openldap/schema/samba.schema lastmod on # UNIX password access access to attrs=userPassword by dn="cn=Manager,dc=example,dc=com" write by anonymous auth by self write by * none # Samba password access access to attrs=sambaLMPassword,sambaNTPassword by dn="cn=Manager,dc=example,dc=com" write by self write by * none # default access access to * by dn="cn=Manager,dc=example,dc=com" write by * read smbldap-toolsのインストール †まずは必要なPerlモジュールをインストール
ここからダウンロード # rpm -ivh smbldap-tools-0.9.2-1a.noarch.rpm # mkdir -p /usr/local/samba/bin # mv /opt/IDEALX/sbin/* /usr/local/samba/bin/ # rm -fr /opt/IDEALX # mkdir -p mkdir /usr/local/samba/lib/netlogon # mv /etc/opt/IDEALX/smbldap-tools/smbldap* /usr/local/samba/lib/ # rm -fr /etc/opt/IDEALX/ # vi /usr/local/samba/bin/smbldap_tools.pm # $smbldap_conf="/etc/opt/IDEALX/smbldap-tools/smbldap.conf"; $smbldap_conf="/usr/local/samba/lib/smbldap.conf"; # $smbldap_bind_conf="/etc/opt/IDEALX/smbldap-tools/smbldap_bind.conf"; $smbldap_bind_conf="/usr/local/samba/lib/smbldap_bind.conf"; SIDを取得し、smbldap.confに使用 # net getlocalsid # vi /usr/local/samba/lib/smbldap.conf SID="S-1-5-21-639836666-1375979563-1343089817" #sambaDomain="IDEALX-NT" slaveLDAP="127.0.0.1" slavePort="389" masterLDAP="localhost" masterPort="389" ldapTLS="0" verify="require" #cafile="/etc/opt/IDEALX/smbldap-tools/ca.pem" #clientcert="/etc/opt/IDEALX/smbldap-tools/smbldap-tools.pem" #clientkey="/etc/opt/IDEALX/smbldap-tools/smbldap-tools.key" suffix="dc=example,dc=com" usersdn="ou=Users,${suffix}" computersdn="ou=Computers,${suffix}" groupsdn="ou=Groups,${suffix}" idmapdn="ou=Idmap,${suffix}" sambaUnixIdPooldn="cn=SambaUnixId,${suffix}" scope="sub" hash_encrypt="SSHA" crypt_salt_format="%s" userLoginShell="/bin/bash" userHome="/home/%U" userHomeDirectoryMode="700" userGecos="System User" defaultUserGid="513" defaultComputerGid="515" skeletonDir="/etc/skel" #defaultMaxPasswordAge="45" userSmbHome="\\PDC\%U" userProfile="\\PDC\profiles\%U" userHomeDrive="H:" userScript="%U.cmd" mailDomain="example.com" with_smbpasswd="0" smbpasswd="/usr/bin/smbpasswd" with_slappasswd="0" slappasswd="/usr/sbin/slappasswd" # vi /usr/local/samba/lib/smbldap_bind.conf slaveDN="cn=Manager,dc=example,dc=com" slavePw="secret" masterDN="cn=Manager,dc=example,dc=com" masterPw="secret" rootで実行できるようにパスを通す # vi /root/.bashrc PATH="$PATH":/usr/local/samba/bin # source ~/.bashrc UNIXユーザーの情報をLDAPに格納する設定 †# authconfig 「Use LDAP」と「Use LDAP Authentication」にチェック 「Server」に「ldap://127.0.0.1/」、「Base DN」に「dc=example,dc=com」を入力 以下2ファイルについて設定が反映されているか確認 # cat /etc/ldap.conf base dc=example,dc=com uri ldap://127.0.0.1/ # cat /etc/nsswitch.conf passwd: files ldap shadow: files ldap group: files ldap LDAPデータベースの初期化 †# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG # smbldap-populate Sambaの設定 †smbldap-toolsに対応した設定をsmb.confに対して行なう # vi /etc/samba/smb.conf [global] load printers = no # プリンタは非表示 passdb backend = ldapsam:ldap://localhost:389 local master = yes os level = 32 domain master = auto preferred master = auto domain logons = yes encrypt passwords = yes logon script = logon home = \\%N\%U logon path = \\%N\%U\profile logon drive = Z: wins support = yes ldap admin dn = cn=Manager,dc=example,dc=com ldap suffix = dc=example,dc=com ldap user suffix = ou=Users ldap group suffix = ou=Groups ldap machine suffix = ou=Computers ldap passwd sync = yes ldap delete dn = yes add machine script = /usr/local/samba/bin/smbldap-useradd -w %u add user script ~ /usr/local/samba/bin/smbldap-useradd -m %u delete user script = /usr/local/samba/bin/smbldap-userdel -r %u add group script = /usr/local/samba/bin/smbldap-groupadd -p %g delete group script = /usr/local/samba/bin/smbldap-groupdel %g add user to group script = /usr/local/samba/bin/sbmldap-groupmod -m %u %g delete user from group script = /usr/local/samba/bin/smbldap-groupmod -x %u %g set primary group script = /usr/local/samba/bin/smbldap-usermod -g %g %u # .bashで始まるファイルを表示させない veto files = /.bash*/ [homes] comment = Home Directories browseable = no writable = yes profile acls = yes vfs objects = recycle # ゴミ箱機能を有効 [netlogon] comment = Network Logon Service path = /usr/local/samba/lib/netlogon writable = no browseable = no ;printersセクションはコメント ;[printers] LDAPアクセス時のパスワード設定 # smbpasswd -w secret ユーザー管理方法 †※ユーザー操作は全てsmbldap-tools経由で行なわないとUNIXユーザーとSambaユーザーが同期しないので注意 ユーザー追加 †
# smbldap-useradd -a -m -s /bin/false -c "LDAP01" ldap01 ユーザーの情報確認 †# smbldap-usershow ldap01 GECOSとdisplayNameの変更 †# smbldap-usermod -c "LDAP01" ldap01 パスワード変更 †# smbldap-passwd ldap01 ユーザー削除 †
# smbldap-userdel -r ldap01 グループ管理方法 †グループ追加 †
# smbldap-groupadd -a group01 グループにユーザーを追加 †
# smbldap-groupmod -m ldap01,ldap02 group01 グループからユーザーを削除 †
# smbldap-groupmod -x ldap01,ldap02 group01 グループの情報確認 †# smbldap-groupshow group01 グループの削除 †# smbldap-groupdel group01 グループで共有可能なフォルダの作成 †自身が所属するグループは読み書きできるが、他のグループはアクセスさせない # vi /etc/sysconfig/i18n LANG="ja_JP.UTF-8" SYSFONT="latarcyrheb-sun16" # vi /etc/man.config PAGER /usr/bin/less -is # mkdir /usr/local/samba/home # mkdir -m 777 /usr/local/samba/home/共有 # mkdir -m 777 "/usr/local/samba/home/グループ 01" # mkdir -m 777 "/usr/local/samba/home/グループ 02" # vi /etc/samba/smb.conf [共有] comment = 共有 フォルダ path = /usr/local/samba/home/共有 read only = no vfs objects = recycle [グループ 01] comment = グループ 01 フォルダ path = /usr/local/samba/home/グループ 01 read only = yes write list = @group01 valid users = @group01 vfs objects = recycle [グループ 02] comment = グループ 02 フォルダ path = /usr/local/samba/home/グループ 02 read only = yes write list = @group02 valid users = @group02 vfs objects = recycle |