IPアドレスとサーバー名の両方を使用してSambaサーバーに接続でき、ホームフォルダー名は表示されますが、接続できません
smb.cnf
[global]
workgroup = WORKGROUP
server string = Venus
wins support = no
read only = no
browsable = yes
create mode = 0777
directory mode = 0777
case sensitive = no
dns proxy = no
interfaces = 127.0.0.1/8 eth0
bind interfaces only = yes
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
security = user
encrypt passwords = true
passdb backend = smbpasswd
obey pam restrictions = yes
unix password sync = no
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 = no
[homes]
comment = User Directories
path = /data/localdevs/%u
public = no
browsable = yes
writable = yes
/ etc/sambaフォルダには次のファイルが含まれています
lmhosts smb.conf smb.conf.orig smbusers
「Sudopdbedit-L」の出力は次のとおりです。
user1:500:
ls -abl/data/localdevs /
drwxr-xr-x. 4 user1 user1 4096 Jul 24 17:35 user1
これらは、user1のホームディレクトリへのアクセスが拒否されたときにsambaログに表示されるものです。
[2012/07/24 20:27:08.599216, 3] smbd/process.c:1489(process_smb)
Transaction 24 of length 90 (0 toread)
[2012/07/24 20:27:08.599350, 3] smbd/process.c:1298(switch_message)
switch message SMBntcreateX (pid 2440) conn 0x7f6758780c00
[2012/07/24 20:27:08.599373, 4] smbd/uid.c:257(change_to_user)
change_to_user: Skipping user change - already user
[2012/07/24 20:27:08.599412, 3] smbd/vfs.c:881(check_reduced_name)
check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.599485, 3] smbd/vfs.c:1038(check_reduced_name)
check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.599508, 3] smbd/vfs.c:881(check_reduced_name)
check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.599552, 3] smbd/vfs.c:1038(check_reduced_name)
check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.599581, 3] smbd/dosmode.c:166(unix_mode)
unix_mode(.) returning 0766
[2012/07/24 20:27:08.599643, 3] smbd/vfs.c:881(check_reduced_name)
check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.599668, 3] smbd/vfs.c:1038(check_reduced_name)
check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.599707, 4] smbd/open.c:1990(open_file_ntcreate)
calling open_file with flags=0x0 flags2=0x0 mode=0766, access_mask = 0x81, open_access_mask = 0x81
[2012/07/24 20:27:08.599806, 3] smbd/open.c:467(open_file)
Error opening file . (NT_STATUS_ACCESS_DENIED) (local_flags=0) (flags=0)
[2012/07/24 20:27:08.599838, 3] smbd/error.c:80(error_packet_set)
error packet at smbd/error.c(160) cmd=162 (SMBntcreateX) NT_STATUS_ACCESS_DENIED
[2012/07/24 20:27:08.604075, 3] smbd/process.c:1489(process_smb)
Transaction 25 of length 90 (0 toread)
[2012/07/24 20:27:08.604193, 3] smbd/process.c:1298(switch_message)
switch message SMBntcreateX (pid 2440) conn 0x7f6758780c00
[2012/07/24 20:27:08.604216, 4] smbd/uid.c:257(change_to_user)
change_to_user: Skipping user change - already user
[2012/07/24 20:27:08.604268, 3] smbd/vfs.c:881(check_reduced_name)
check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.604336, 3] smbd/vfs.c:1038(check_reduced_name)
check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.604395, 3] smbd/vfs.c:881(check_reduced_name)
check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.604419, 3] smbd/vfs.c:1038(check_reduced_name)
check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.604442, 3] smbd/dosmode.c:166(unix_mode)
unix_mode(.) returning 0766
[2012/07/24 20:27:08.604532, 3] smbd/vfs.c:881(check_reduced_name)
check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.604554, 3] smbd/vfs.c:1038(check_reduced_name)
check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.604583, 4] smbd/open.c:1990(open_file_ntcreate)
calling open_file with flags=0x0 flags2=0x0 mode=0766, access_mask = 0x81, open_access_mask = 0x81
[2012/07/24 20:27:08.604679, 3] smbd/open.c:467(open_file)
Error opening file . (NT_STATUS_ACCESS_DENIED) (local_flags=0) (flags=0)
[2012/07/24 20:27:08.604705, 3] smbd/error.c:80(error_packet_set)
error packet at smbd/error.c(160) cmd=162 (SMBntcreateX) NT_STATUS_ACCESS_DENIED
[2012/07/24 20:27:08.606977, 3] smbd/process.c:1489(process_smb)
Transaction 26 of length 80 (0 toread)
[2012/07/24 20:27:08.607096, 3] smbd/process.c:1298(switch_message)
switch message SMBtrans2 (pid 2440) conn 0x7f6758780c00
[2012/07/24 20:27:08.607119, 4] smbd/uid.c:257(change_to_user)
change_to_user: Skipping user change - already user
[2012/07/24 20:27:08.607139, 3] smbd/trans2.c:5100(call_trans2qfilepathinfo)
call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1004
[2012/07/24 20:27:08.607162, 3] smbd/vfs.c:881(check_reduced_name)
check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.607184, 3] smbd/vfs.c:1038(check_reduced_name)
check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.607208, 3] smbd/trans2.c:5226(call_trans2qfilepathinfo)
call_trans2qfilepathinfo . (fnum = -1) level=1004 call=5 total_data=0
[2012/07/24 20:27:08.608306, 3] smbd/process.c:1489(process_smb)
Transaction 27 of length 80 (0 toread)
[2012/07/24 20:27:08.608362, 3] smbd/process.c:1298(switch_message)
switch message SMBtrans2 (pid 2440) conn 0x7f6758780c00
[2012/07/24 20:27:08.608383, 4] smbd/uid.c:257(change_to_user)
change_to_user: Skipping user change - already user
[2012/07/24 20:27:08.608403, 3] smbd/trans2.c:5100(call_trans2qfilepathinfo)
call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1005
[2012/07/24 20:27:08.608439, 3] smbd/vfs.c:881(check_reduced_name)
check_reduced_name [.] [/data/localdevs/user1]
[2012/07/24 20:27:08.608461, 3] smbd/vfs.c:1038(check_reduced_name)
check_reduced_name: . reduced to /data/localdevs/user1
[2012/07/24 20:27:08.608484, 3] smbd/trans2.c:5226(call_trans2qfilepathinfo)
call_trans2qfilepathinfo . (fnum = -1) level=1005 call=5 total_data=0
解決策はこれでした
Sudo chcon -t samba_share_t ./data/localdevs/user1
どうやらそれはcentosのことです。
注:rootとしての構文(共有しようとしているディレクトリに置き換えます)
chcon -t samba_share_t <share_folder>
User893730が彼の答えで暗示しているように、これはSELinuxが原因です。重要なのは、同じ回答へのコメントでCharlesが述べたように、これは監査ログに表示されない可能性があることです。
Sambaがホームディレクトリを共有できるかどうかを制御するポリシーには、samba_enable_home_dirs
という名前のブール値があります。 chcon
コマンドでディレクトリにラベルを付け直す代わりに、次のコマンドでそのブール値を設定できます。
Sudo setsebool -P samba_enable_home_dirs on
-P
オプションは、再起動後も変更を永続化します。