The error occurs when trying to mount a Windows Server 2008 share on CentOS 6.4 using CIFS, despite successful authentication via smbclient. The key symptoms are:
- Works with smbclient:
smbclient //esb.local/dfs -U ESBSertal -W ESB -P MyPassword
- Fails with mount.cifs: Permission denied (error 13)
- Fails both in command line and /etc/fstab configurations
1. Credentials Format:
Try alternative credential formats:
mount -t cifs //esb.local/dfs /mnt/win -o username=ESBSertal,password=MyPassword,domain=ESB,sec=ntlm
2. Security Mode:
The Windows server might require specific security modes:
mount -t cifs //esb.local/dfs /mnt/win -o username=ESBSertal,password=MyPassword,domain=ESB,sec=ntlmv2
3. File Permissions:
Ensure proper permissions on the mount point:
chmod 755 /mnt/win
chown root:root /mnt/win
Enable verbose logging for deeper diagnostics:
mount -t cifs //esb.local/dfs /mnt/win -o username=ESBSertal,password=MyPassword,domain=ESB,debug=1
Check kernel messages for additional clues:
dmesg | tail -20
Using credentials file:
Create /etc/samba/credentials:
username=ESBSertal
password=MyPassword
domain=ESB
Then mount with:
mount -t cifs //esb.local/dfs /mnt/win -o credentials=/etc/samba/credentials
Persistent fstab entry:
For reliable automount, consider:
//esb.local/dfs /mnt/win cifs credentials=/etc/samba/credentials,uid=1000,gid=1000,file_mode=0644,dir_mode=0755 0 0
When attempting to mount a Windows Server 2008 share on CentOS 6.4 (64-bit) using mount.cifs
, users frequently encounter the frustrating "Permission denied" error despite successful authentication via smbclient
. This discrepancy indicates deeper permission or configuration issues beyond basic credential validation.
Before diving into solutions, let's verify these critical components:
# Verify SMB client functionality
smbclient -L //esb.local -U ESBSertal%MyPassword -W ESB
# Check mount point permissions
ls -ld /mnt/win
chmod 755 /mnt/win # If needed
The basic mount command should include these critical parameters:
mount.cifs //esb.local/dfs /mnt/win -o \
username=ESBSertal,password=MyPassword,domain=ESB,\
uid=$(id -u),gid=$(id -g),file_mode=0644,dir_mode=0755,\
vers=2.1,sec=ntlmssp
1. SMB Protocol Version Negotiation
Modern Windows servers often require explicit protocol specification:
# Try different SMB versions
mount.cifs ... vers=3.0
mount.cifs ... vers=2.1
mount.cifs ... vers=1.0
2. Security Mode Specification
Different authentication security modes may be needed:
mount.cifs ... sec=ntlmv2
mount.cifs ... sec=ntlmssp
mount.cifs ... sec=krb5
For persistent mounts, use this /etc/fstab entry format:
//esb.local/dfs /mnt/win cifs credentials=/etc/smbcredentials,uid=1000,gid=1000,file_mode=0644,dir_mode=0755,vers=2.1 0 0
Create a secure credentials file:
# /etc/smbcredentials
username=ESBSertal
password=MyPassword
domain=ESB
Enable verbose logging to identify the exact failure point:
mount.cifs ... -o debug
dmesg | tail -20 # Check kernel messages
journalctl -xe # Systemd journal inspection
On the Windows server, verify these settings:
- Share permissions (Security tab)
- NTFS permissions
- SMB1 protocol status (often needs disabling)
- Network access policies
When direct mounting fails, consider these workarounds:
# Use autofs for on-demand mounting
automount -t cifs //esb.local/dfs /mnt/win -o credentials=/etc/smbcredentials
# Or use sshfs as alternative
yum install fuse-sshfs
sshfs user@esb.local:/dfs /mnt/win