挂载Azure存储账户文件共享至RedHat Linux时遇mount error(13)权限拒绝求助
解决Azure存储文件共享挂载RedHat Linux时的Permission Denied错误
排查步骤
验证身份凭证正确性
挂载Azure文件共享时,username必须是存储账户名称,而非自定义用户ID;password需使用存储账户的访问密钥(主/辅助密钥均可),或拥有读写权限的SAS令牌。确认密钥未过期、SAS令牌权限范围(如rw)、IP限制和有效期覆盖当前服务器环境。修正命令参数顺序
原命令中参数顺序错误,-t cifs是指定文件系统类型的选项,需放在挂载源和挂载点之前;vers=3.0需包含在-o的选项集合内。检查SELinux限制
RedHat默认启用SELinux,可能拦截CIFS挂载操作:- 临时关闭测试:
sudo setenforce 0,若挂载成功则需配置永久规则:sudo setsebool -P samba_export_all_rw on sudo semanage fcontext -a -t samba_share_t '/<mountpoint>(/.*)?' sudo restorecon -Rv /<mountpoint>
- 临时关闭测试:
确认网络与防火墙规则
- 存储账户防火墙需允许RedHat服务器的公网IP访问;
- 服务器本地防火墙需放行445端口(CIFS协议默认端口),可通过
sudo firewall-cmd --add-port=445/tcp --permanent && sudo firewall-cmd --reload配置。
正确挂载命令语法
临时挂载
sudo mount -t cifs //<storageaccount name>/<sharename> /<mountpoint> -o username=<storageaccount name>,password=<storage account key or SAS token>,vers=3.0,dir_mode=0777,file_mode=0777
参数说明:
dir_mode=0777和file_mode=0777:设置挂载后目录与文件的权限,避免后续文件操作出现权限问题;vers=3.0:指定CIFS协议版本,Azure文件共享推荐使用3.0及以上版本。
开机自动挂载(配置/etc/fstab)
编辑/etc/fstab文件,添加以下内容:
//<storageaccount name>/<sharename> /<mountpoint> cifs username=<storageaccount name>,password=<storage account key or SAS token>,vers=3.0,dir_mode=0777,file_mode=0777 0 0
执行sudo mount -a验证配置是否生效,无报错则重启服务器后挂载会自动生效。
内容的提问来源于stack exchange,提问作者user22224511
相关产品推荐
相关产品推荐

