smb-auto-mount
Mount Windows SMB shares on Linux with on-demand automount.
⚠️ Security Notice: Passwords are entered interactively (secure prompt). Never pass passwords via command line arguments.
Security & Permissions / 安全与权限
⚠️ WARNING / 警告
- - Requires sudo/root: All scripts modify system-level configurations
- Modifies /etc/fstab: Persistent changes to system mount configuration
- Creates credential files: Stores passwords in
/etc/smb-creds-*.txt (mode 600, root-only) - System impact: Incorrect usage may affect boot process
Recommendation / 建议: Review scripts before execution. Backup /etc/fstab if uncertain.
CODEBLOCK0
Dependencies / 依赖
CODEBLOCK1
Scripts / 脚本
| Script | Purpose |
|---|
| INLINECODE2 | List available shares |
| INLINECODE3 |
Persistent automount |
|
mount-smb.sh <ip> <share> <path> <username> | One-time mount |
Usage / 使用
⚠️ Passwords are entered interactively / 密码通过交互式输入
CODEBLOCK2
How it works / 工作原理
- -
noauto → not mounted at boot - INLINECODE6 → mounts on first access
- INLINECODE7 → password not in fstab
- Interactive password input → no command-line exposure
Files / 文件
- - Mountpoints: INLINECODE8
- Credentials:
/etc/smb-creds-<name>.txt (mode 600, root-only)
中文说明
在 Linux 上自动挂载 Windows SMB 共享。按需挂载,凭证交互式输入,命令行不暴露密码。
安全警告
- - 需要 sudo/root 权限:修改系统级配置
- 修改 /etc/fstab:持久化更改系统挂载配置
- 创建凭证文件:密码存储在
/etc/smb-creds-*.txt(权限 600,仅 root 可读) - 系统影响:错误使用可能影响启动过程
建议:执行前审查脚本。不确定时备份 /etc/fstab。
依赖
CODEBLOCK3
使用
⚠️ 密码通过交互式安全输入,不通过命令行参数
CODEBLOCK4
工作原理
- -
noauto → 启动时不挂载 - INLINECODE13 → 首次访问时自动挂载
- INLINECODE14 → fstab 中无密码
- 交互式密码输入 → 命令行不暴露
文件
- - 挂载点: INLINECODE15
- 凭证文件:
/etc/smb-creds-<name>.txt(权限 600,仅 root)
smb-auto-mount
在 Linux 上自动挂载 Windows SMB 共享,支持按需自动挂载。
⚠️ 安全提示:密码通过交互式方式输入(安全提示)。切勿通过命令行参数传递密码。
安全与权限
⚠️ 警告
- - 需要 sudo/root 权限:所有脚本均修改系统级配置
- 修改 /etc/fstab:对系统挂载配置进行持久化更改
- 创建凭证文件:密码存储在 /etc/smb-creds-*.txt(权限 600,仅 root 可读)
- 系统影响:错误使用可能影响启动过程
建议:执行前审查脚本。如不确定,请备份 /etc/fstab。
bash
使用 add-to-fstab.sh 前备份 fstab
sudo cp /etc/fstab /etc/fstab.backup.$(date +%Y%m%d)
依赖
bash
所需软件包
sudo apt install cifs-utils smbclient
脚本
| 脚本 | 用途 |
|---|
| list-shares.sh <ip> <用户名> | 列出可用共享 |
| add-to-fstab.sh <ip> <共享名> <挂载名> <用户名> |
持久化自动挂载 |
| mount-smb.sh
<共享名> <路径> <用户名> | 一次性挂载 |
使用
⚠️ 密码通过交互式方式输入
bash
1. 发现共享
密码将以安全方式提示输入
sudo ./list-shares.sh 192.168.2.3 Administrator
Enter SMB Password: [隐藏输入]
2. 持久化自动挂载(首次访问时挂载)
sudo ./add-to-fstab.sh 192.168.2.3 workspace my-work Administrator
Enter SMB Password: [隐藏输入]
ls /mnt/smb/my-work # 触发挂载
3. 一次性挂载
sudo ./mount-smb.sh 192.168.2.3 workspace /mnt/temp Administrator
Enter SMB Password: [隐藏输入]
工作原理
- - noauto → 启动时不挂载
- x-systemd.automount → 首次访问时自动挂载
- credentials=/etc/smb-creds-*.txt → fstab 中不包含密码
- 交互式密码输入 → 命令行不暴露密码
文件
- - 挂载点:/mnt/smb/<挂载名>/
- 凭证文件:/etc/smb-creds-<挂载名>.txt(权限 600,仅 root 可读)
中文说明
在 Linux 上自动挂载 Windows SMB 共享。按需挂载,凭证交互式输入,命令行不暴露密码。
安全警告
- - 需要 sudo/root 权限:修改系统级配置
- 修改 /etc/fstab:持久化更改系统挂载配置
- 创建凭证文件:密码存储在 /etc/smb-creds-*.txt(权限 600,仅 root 可读)
- 系统影响:错误使用可能影响启动过程
建议:执行前审查脚本。不确定时备份 /etc/fstab。
依赖
bash
sudo apt install cifs-utils smbclient
使用
⚠️ 密码通过交互式安全输入,不通过命令行参数
bash
1. 发现共享
密码会安全提示输入
sudo ./list-shares.sh 192.168.2.3 Administrator
Enter SMB Password: [隐藏输入]
2. 持久化挂载(首次访问时自动挂载)
sudo ./add-to-fstab.sh 192.168.2.3 workspace mywork Administrator
Enter SMB Password: [隐藏输入]
ls /mnt/smb/mywork # 触发挂载
3. 一次性挂载
sudo ./mount-smb.sh 192.168.2.3 workspace /mnt/temp Administrator
Enter SMB Password: [隐藏输入]
工作原理
- - noauto → 启动时不挂载
- x-systemd.automount → 首次访问时自动挂载
- credentials=/etc/smb-creds-*.txt → fstab 中无密码
- 交互式密码输入 → 命令行不暴露
文件
- - 挂载点:/mnt/smb/<挂载名>/
- 凭证文件:/etc/smb-creds-<挂载名>.txt(权限 600,仅 root)