Sambaでファイルサーバー
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
*インストール [#w3163478]
# yum install samba samba-client samba-common samba-swat
*SWATを動作させる [#q1fe8890]
ブラウザから管理できるように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/ でアクセス可能~
ただしSWAT経由で編集するとコメントが削除されたり、並び順...
*認証にLDAPを使用する場合 [#id67a3a6]
事前にこちらで[[ユーザーを一元管理 LDAP]]OpenLDAPを利用で...
**OpenLDAPの追加設定 [#ob41a5aa]
# cp /usr/share/doc/samba-3.0.23c/LDAP/samba.schema /etc...
# 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のインストール [#rbfff3d5]
まずは必要なPerlモジュールをインストール~
-Net::LDAP
-Digest::SHA1
-[[Jcode:http://dag.wieers.com/rpm/packages/perl-Jcode/]]
-[[Unicode::Map:http://dag.wieers.com/rpm/packages/perl-U...
-[[Unicode::String:http://dag.wieers.com/rpm/packages/per...
-[[Unicode::Map8:http://dag.wieers.com/rpm/packages/perl-...
-[[Unicode::MapUTF8:http://dag.wieers.com/rpm/packages/pe...
-[[Crypt::SmbHash:http://dag.wieers.com/rpm/packages/perl...
# yum install perl-Digest-SHA1 perl-LDAP
# rpm -ivh perl-Jcode-2.06-1.el5.rf.noarch.rpm
# rpm -ivh perl-Unicode-Map-0.112-1.el5.rf.i386.rpm
# rpm -ivh perl-Unicode-String-2.09-1.2.el5.rf.i386.rpm
# rpm -ivh perl-Unicode-Map8-0.12-1.el5.rf.i386.rpm
# rpm -ivh perl-Unicode-MapUTF8-1.11-1.2.el5.rf.noarch.rpm
# rpm -ivh perl-Crypt-SmbHash-0.12-1.2.el5.rf.noarch.rpm
ここからダウンロード~
http://sourceforge.net/projects/smbldap-tools/
# 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/s...
# rm -fr /etc/opt/IDEALX/
# vi /usr/local/samba/bin/smbldap_tools.pm
# $smbldap_conf="/etc/opt/IDEALX/smbldap-tools/smb...
$smbldap_conf="/usr/local/samba/lib/smbldap.conf";
# $smbldap_bind_conf="/etc/opt/IDEALX/smbldap-tool...
$smbldap_bind_conf="/usr/local/samba/lib/smbldap...
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...
#clientkey="/etc/opt/IDEALX/smbldap-tools/smbldap-tools....
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に格納する設定 [#x6780373]
# authconfig
#ref(authconfig.gif,nolink,center)
「Use LDAP」と「Use LDAP Authentication」にチェック
#ref(authconfig2.gif,nolink,center)
「Server」に「ldap://127.0.0.1/」、「Base DN」に「dc=exam...
以下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データベースの初期化 [#h431eff6]
# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CO...
# smbldap-populate
**Sambaの設定 [#jcbd22d2]
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-user...
add user script ~ /usr/local/samba/bin/smbldap-useradd...
delete user script = /usr/local/samba/bin/smbldap-user...
add group script = /usr/local/samba/bin/smbldap-groupa...
delete group script = /usr/local/samba/bin/smbldap-gro...
add user to group script = /usr/local/samba/bin/sbmlda...
delete user from group script = /usr/local/samba/bin/s...
set primary group script = /usr/local/samba/bin/smblda...
# .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
**ユーザー管理方法 [#pc3dd7df]
&color(red){※ユーザー操作は全てsmbldap-tools経由で行なわ...
***ユーザー追加 [#d79b0067]
- -a:Sambaユーザーも同時に作成
- -m:ホームディレクトリを作成
- -s:シェルを指定
- -c:GECOSとdisplayNameを指定
# smbldap-useradd -a -m -s /bin/false -c "LDAP01" ldap01
***ユーザーの情報確認 [#l4658ae0]
# smbldap-usershow ldap01
***GECOSとdisplayNameの変更 [#f9a14852]
# smbldap-usermod -c "LDAP01" ldap01
***パスワード変更 [#dee05809]
# smbldap-passwd ldap01
***ユーザー削除 [#o4ecbbff]
- -r:ホームディレクトリも削除
# smbldap-userdel -r ldap01
**グループ管理方法 [#cdf5f025]
***グループ追加 [#e14cef39]
- -a:Sambaグループにマッピング
# smbldap-groupadd -a group01
***グループにユーザーを追加 [#ue66f9b1]
- -m:メンバーの追加
# smbldap-groupmod -m ldap01,ldap02 group01
***グループからユーザーを削除 [#f5da002a]
- -x:メンバーの削除
# smbldap-groupmod -x ldap01,ldap02 group01
***グループの情報確認 [#pb8c2abe]
# smbldap-groupshow group01
***グループの削除 [#q9dc2d81]
# smbldap-groupdel group01
**グループで共有可能なフォルダの作成 [#xb28d842]
自身が所属するグループは読み書きできるが、他のグループは...
共有フォルダは制限をかけない~
日本語もUTF-8にすれば問題なさそう~
sshクライアントもUTF-8表示にしておくこと
# 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
終了行:
#contents
*インストール [#w3163478]
# yum install samba samba-client samba-common samba-swat
*SWATを動作させる [#q1fe8890]
ブラウザから管理できるように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/ でアクセス可能~
ただしSWAT経由で編集するとコメントが削除されたり、並び順...
*認証にLDAPを使用する場合 [#id67a3a6]
事前にこちらで[[ユーザーを一元管理 LDAP]]OpenLDAPを利用で...
**OpenLDAPの追加設定 [#ob41a5aa]
# cp /usr/share/doc/samba-3.0.23c/LDAP/samba.schema /etc...
# 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のインストール [#rbfff3d5]
まずは必要なPerlモジュールをインストール~
-Net::LDAP
-Digest::SHA1
-[[Jcode:http://dag.wieers.com/rpm/packages/perl-Jcode/]]
-[[Unicode::Map:http://dag.wieers.com/rpm/packages/perl-U...
-[[Unicode::String:http://dag.wieers.com/rpm/packages/per...
-[[Unicode::Map8:http://dag.wieers.com/rpm/packages/perl-...
-[[Unicode::MapUTF8:http://dag.wieers.com/rpm/packages/pe...
-[[Crypt::SmbHash:http://dag.wieers.com/rpm/packages/perl...
# yum install perl-Digest-SHA1 perl-LDAP
# rpm -ivh perl-Jcode-2.06-1.el5.rf.noarch.rpm
# rpm -ivh perl-Unicode-Map-0.112-1.el5.rf.i386.rpm
# rpm -ivh perl-Unicode-String-2.09-1.2.el5.rf.i386.rpm
# rpm -ivh perl-Unicode-Map8-0.12-1.el5.rf.i386.rpm
# rpm -ivh perl-Unicode-MapUTF8-1.11-1.2.el5.rf.noarch.rpm
# rpm -ivh perl-Crypt-SmbHash-0.12-1.2.el5.rf.noarch.rpm
ここからダウンロード~
http://sourceforge.net/projects/smbldap-tools/
# 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/s...
# rm -fr /etc/opt/IDEALX/
# vi /usr/local/samba/bin/smbldap_tools.pm
# $smbldap_conf="/etc/opt/IDEALX/smbldap-tools/smb...
$smbldap_conf="/usr/local/samba/lib/smbldap.conf";
# $smbldap_bind_conf="/etc/opt/IDEALX/smbldap-tool...
$smbldap_bind_conf="/usr/local/samba/lib/smbldap...
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...
#clientkey="/etc/opt/IDEALX/smbldap-tools/smbldap-tools....
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に格納する設定 [#x6780373]
# authconfig
#ref(authconfig.gif,nolink,center)
「Use LDAP」と「Use LDAP Authentication」にチェック
#ref(authconfig2.gif,nolink,center)
「Server」に「ldap://127.0.0.1/」、「Base DN」に「dc=exam...
以下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データベースの初期化 [#h431eff6]
# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CO...
# smbldap-populate
**Sambaの設定 [#jcbd22d2]
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-user...
add user script ~ /usr/local/samba/bin/smbldap-useradd...
delete user script = /usr/local/samba/bin/smbldap-user...
add group script = /usr/local/samba/bin/smbldap-groupa...
delete group script = /usr/local/samba/bin/smbldap-gro...
add user to group script = /usr/local/samba/bin/sbmlda...
delete user from group script = /usr/local/samba/bin/s...
set primary group script = /usr/local/samba/bin/smblda...
# .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
**ユーザー管理方法 [#pc3dd7df]
&color(red){※ユーザー操作は全てsmbldap-tools経由で行なわ...
***ユーザー追加 [#d79b0067]
- -a:Sambaユーザーも同時に作成
- -m:ホームディレクトリを作成
- -s:シェルを指定
- -c:GECOSとdisplayNameを指定
# smbldap-useradd -a -m -s /bin/false -c "LDAP01" ldap01
***ユーザーの情報確認 [#l4658ae0]
# smbldap-usershow ldap01
***GECOSとdisplayNameの変更 [#f9a14852]
# smbldap-usermod -c "LDAP01" ldap01
***パスワード変更 [#dee05809]
# smbldap-passwd ldap01
***ユーザー削除 [#o4ecbbff]
- -r:ホームディレクトリも削除
# smbldap-userdel -r ldap01
**グループ管理方法 [#cdf5f025]
***グループ追加 [#e14cef39]
- -a:Sambaグループにマッピング
# smbldap-groupadd -a group01
***グループにユーザーを追加 [#ue66f9b1]
- -m:メンバーの追加
# smbldap-groupmod -m ldap01,ldap02 group01
***グループからユーザーを削除 [#f5da002a]
- -x:メンバーの削除
# smbldap-groupmod -x ldap01,ldap02 group01
***グループの情報確認 [#pb8c2abe]
# smbldap-groupshow group01
***グループの削除 [#q9dc2d81]
# smbldap-groupdel group01
**グループで共有可能なフォルダの作成 [#xb28d842]
自身が所属するグループは読み書きできるが、他のグループは...
共有フォルダは制限をかけない~
日本語もUTF-8にすれば問題なさそう~
sshクライアントもUTF-8表示にしておくこと
# 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
ページ名: