首页 > 解决方案 > 为什么 mount.cifs 不使用我的凭证文件?

问题描述

我有一个脚本需要将 Windows 共享挂载到 Linux 机器上,运行脚本,然后卸载它。尽管遵循 mount.cifs 的手册页,该命令仍无法识别凭证文件。

我确保存在文件共享包:

sudo yum install samba-client samba-common cifs-utils

网络共享将挂载到的已创建驱动器

sudo mkdir /share/

创建凭证文件

sudo vim /root/.cifs

.cifs 文件内容

username=uname
password=pword

创建了我的 .sh 文件

sudo vim /usr/bin/scritp.sh

script.sh 内容

#!bin/bash
mount.cifs //ipaddress/share /share/ -o credentials=/root/.cifs
<script which makes use of the share>
umount /share/

使脚本可执行

sudo chmod u+x /usr/bin/script.sh

测试脚本

cd /usr/bin
sudo ./script.sh

尽管指定了凭据文件,但仍然提示我输入 root 用户的密码(连接到没有“root”用户的 Windows 共享)运行脚本的输出:

Password for root@//ipaddress/share:

谁能弄清楚我做错了什么?它似乎与我读过的所有文档一致。

标签: linuxcifsnetwork-share

解决方案


出于某种原因,将脚本修改为以下内容有效:

mount -t cifs -o credentials=/root/.cifs //ipaddress/share /share/
cd /share/
./script.sh
umount /share/

不知道为什么,因为 mount -t cifs 只是调用 mount.cifs,但如果你遇到同样的问题,我最终就是这样解决的。


推荐阅读