共享脚本
先创建一个共享用户,如果不创建使用已有的也可以。设置smbpasswd 共享用户密码以及指定用户,把用户、共享目录绑定写入到smb.conf配置文件即可。
#!/bin/bash
#sudo userdel -r test
#sudo pdbedit -x -u test
default_password="testpwd"
if id "test" &>/dev/null; then
echo "User 'test' already exists."
else
echo "Adding user 'test'..."
sudo adduser test --disabled-password --gecos ""
echo "test:$default_password" | sudo chpasswd
fi
if sudo pdbedit -L | grep -q "test"; then
echo "Samba password for user 'test' already set."
else
echo "Setting Samba password for user 'test'..."
echo -e "$default_password\n$default_password" | sudo smbpasswd -a -s test
fi
if grep -q "\[共享名称\]" /etc/samba/smb.conf; then
echo "Samba share '共享名称' configuration already added."
else
echo "Adding Samba share '共享名称' configuration..."
sudo tee -a /etc/samba/smb.conf > /dev/null << EOL
[pictures]
path = /
read only = yes
valid users = test
EOL
sudo service smbd restart
fi
echo "Samba configuration successful."
挂载脚本
#!/bin/bash
function mount_smb
{
local smb_server="$1"
local share_name="$2"
local mount_point="$3"
local username="$4"
local password="$5"
if [ ! -d "$mount_point" ]; then
sudo mkdir -p "$mount_point"
fi
# 检查是否已经挂载,提示已经挂载
if grep -qs "$mount_point" /proc/mounts; then
echo "$mount_point is already mounted"
else
sudo mount -t cifs //"$smb_server"/"$share_name" "$mount_point" -o username="$username",password="$password",vers=3.0
if [ $? -eq 0 ]; then
echo "SMB share from $smb_server mounted successfully at $mount_point"
else
echo "Mounting from $smb_server failed"
fi
fi
}
servers=("192.168.0.101" "192.168.0.102" "192.168.0.103")
# ip 共享目录 挂载目录 共享目录访问账号 共享目录访问密码
for server in "${servers[@]}";
do
mount_smb "$server" "共享名称" "/mnt/mount/$server" "testuser" "testpwd"
done