V1.7.3 优化 USB 设备列表; 新增 设置 Samba 访问密码
This commit is contained in:
parent
9a9489e4ee
commit
cf4b00caa5
|
|
@ -3,7 +3,7 @@
|
||||||
# AutoBuild_Tools for Openwrt
|
# AutoBuild_Tools for Openwrt
|
||||||
# Dependences: bash wget curl block-mount e2fsprogs smartmontools
|
# Dependences: bash wget curl block-mount e2fsprogs smartmontools
|
||||||
|
|
||||||
Version=V1.7.2
|
Version=V1.7.3
|
||||||
|
|
||||||
ECHO() {
|
ECHO() {
|
||||||
case $1 in
|
case $1 in
|
||||||
|
|
@ -95,7 +95,7 @@ ${White}q. 退出
|
||||||
Task=$(grep -v "grep" ${ps_Info} | grep "${PID}" | awk '{print $5}')
|
Task=$(grep -v "grep" ${ps_Info} | grep "${PID}" | awk '{print $5}')
|
||||||
}
|
}
|
||||||
i=$(($i + 1))
|
i=$(($i + 1))
|
||||||
echo -e "${Proto} ${Port} ${Service} ${PID} ${Task}" >> ${Netstat2}
|
echo -e "${Proto} ${Port} ${Service} ${PID} ${Task}" | egrep "tcp|udp" >> ${Netstat2}
|
||||||
done
|
done
|
||||||
clear
|
clear
|
||||||
ECHO y "协议 占用端口 服务名称 PID 进程信息"
|
ECHO y "协议 占用端口 服务名称 PID 进程信息"
|
||||||
|
|
@ -142,6 +142,7 @@ ${White}q. 退出
|
||||||
cp -a /rom/etc/banner /etc
|
cp -a /rom/etc/banner /etc
|
||||||
cp -a /rom/bin/AutoUpdate.sh /bin
|
cp -a /rom/bin/AutoUpdate.sh /bin
|
||||||
cp -a /rom/bin/AutoBuild_Tools.sh /bin
|
cp -a /rom/bin/AutoBuild_Tools.sh /bin
|
||||||
|
cp -a /rom/etc/config/autoupdate /etc/config
|
||||||
ECHO y "\n固件环境修复完成!"
|
ECHO y "\n固件环境修复完成!"
|
||||||
sleep 2
|
sleep 2
|
||||||
;;
|
;;
|
||||||
|
|
@ -150,18 +151,18 @@ done
|
||||||
}
|
}
|
||||||
|
|
||||||
AutoExpand_UI() {
|
AutoExpand_UI() {
|
||||||
clear
|
|
||||||
ECHO x "一键使用 USB 扩展内部空间"
|
|
||||||
USB_Info
|
USB_Info
|
||||||
[[ -s ${Block_Info} ]] && {
|
[[ -s ${Block_Info} ]] && {
|
||||||
echo " 设备 硬盘格式 挂载点 可用空间"
|
clear
|
||||||
cat ${Disk_Processed_List} | while read Disk_info ;do
|
ECHO x "USB 扩展内部空间\n"
|
||||||
List_Disk ${Disk_info}
|
echo "设备 UUID 格式 挂载点 可用空间"
|
||||||
done
|
local X;while read X;do
|
||||||
|
printf "%-12s %-40s %-15s %-15s %-10s\n" ${X}
|
||||||
|
done < ${Disk_Processed_List}
|
||||||
echo -e "\nq. 返回"
|
echo -e "\nq. 返回"
|
||||||
echo "r. 重新载入列表"
|
echo "r. 重新载入列表"
|
||||||
} || {
|
} || {
|
||||||
ECHO r "未检测到任何外接设备!"
|
ECHO r "\n未检测到任何外接设备!"
|
||||||
sleep 2
|
sleep 2
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
@ -212,6 +213,9 @@ USB_Info() {
|
||||||
[[ -z ${Logic_Mount} ]] && Logic_Mount="$(df | grep "${Disk_Name}" | awk '{print $6}' | awk 'NR==1')"
|
[[ -z ${Logic_Mount} ]] && Logic_Mount="$(df | grep "${Disk_Name}" | awk '{print $6}' | awk 'NR==1')"
|
||||||
Logic_Format="$(grep "${Disk_Name}" ${Block_Info} | egrep -o 'TYPE="[0-9a-zA-Z].+' | awk -F '["]' '/TYPE/{print $2}')"
|
Logic_Format="$(grep "${Disk_Name}" ${Block_Info} | egrep -o 'TYPE="[0-9a-zA-Z].+' | awk -F '["]' '/TYPE/{print $2}')"
|
||||||
Logic_Available="$(df -h | grep "${Disk_Name}" | awk '{print $4}' | awk 'NR==1')"
|
Logic_Available="$(df -h | grep "${Disk_Name}" | awk '{print $4}' | awk 'NR==1')"
|
||||||
|
[[ -z ${Logic_Format} ]] && Logic_Format='-'
|
||||||
|
[[ -z ${Logic_Mount} ]] && Logic_Mount='-'
|
||||||
|
[[ -z ${Logic_Available} ]] && Logic_Available='-'
|
||||||
echo "${Disk_Name} ${UUID} ${Logic_Format} ${Logic_Mount} ${Logic_Available}" >> ${Disk_Processed_List}
|
echo "${Disk_Name} ${UUID} ${Logic_Format} ${Logic_Mount} ${Logic_Available}" >> ${Disk_Processed_List}
|
||||||
done
|
done
|
||||||
grep -o "/dev/sd[a-z]" ${Logic_Disk_List} | sort | uniq > ${Phy_Disk_List}
|
grep -o "/dev/sd[a-z]" ${Logic_Disk_List} | sort | uniq > ${Phy_Disk_List}
|
||||||
|
|
@ -220,10 +224,6 @@ USB_Info() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
List_Disk() {
|
|
||||||
echo "$(awk '{print $1}' ${Disk_Processed_List} | grep -n "$1" | cut -d ':' -f1). $1 $3 $4 $5"
|
|
||||||
}
|
|
||||||
|
|
||||||
AutoExpand_Core() {
|
AutoExpand_Core() {
|
||||||
ECHO r "\n警告: 操作开始后请不要中断任务或进行其他操作,否则可能导致设备数据丢失!"
|
ECHO r "\n警告: 操作开始后请不要中断任务或进行其他操作,否则可能导致设备数据丢失!"
|
||||||
ECHO r "同时连接多个 USB 设备可能导致分区错位路由器不能正常启动!"
|
ECHO r "同时连接多个 USB 设备可能导致分区错位路由器不能正常启动!"
|
||||||
|
|
@ -236,7 +236,7 @@ AutoExpand_Core() {
|
||||||
echo "禁用自动挂载 ..."
|
echo "禁用自动挂载 ..."
|
||||||
uci set fstab.@global[0].auto_mount='0'
|
uci set fstab.@global[0].auto_mount='0'
|
||||||
uci commit fstab
|
uci commit fstab
|
||||||
[[ -n $2 ]] && {
|
[[ ! $2 == '-' ]] && {
|
||||||
echo "卸载设备 '$1' 位于 '$2' ..."
|
echo "卸载设备 '$1' 位于 '$2' ..."
|
||||||
umount -l $2 > /dev/null 2>&1
|
umount -l $2 > /dev/null 2>&1
|
||||||
[[ $? != 0 ]] && {
|
[[ $? != 0 ]] && {
|
||||||
|
|
@ -306,64 +306,33 @@ EOF
|
||||||
Samba_UI() {
|
Samba_UI() {
|
||||||
USB_Info
|
USB_Info
|
||||||
Samba_tmp="${Tools_Cache}/AutoSamba"
|
Samba_tmp="${Tools_Cache}/AutoSamba"
|
||||||
Samba_UCI_List="${Tools_Cache}/UCI_List"
|
|
||||||
[[ ! -d ${Tools_Cache} ]] && mkdir -p "${Tools_Cache}"
|
[[ ! -d ${Tools_Cache} ]] && mkdir -p "${Tools_Cache}"
|
||||||
while :
|
while :
|
||||||
do
|
do
|
||||||
|
autoshare_Mode="$(uci get samba.@samba[0].autoshare)"
|
||||||
clear
|
clear
|
||||||
ECHO x "Samba 工具箱\n"
|
ECHO x "Samba 工具箱\n"
|
||||||
echo "1. 删除所有 Samba 挂载点"
|
echo "1. 自动生成 Samba 挂载点"
|
||||||
echo "2. 自动生成 Samba 挂载点"
|
echo "2. 删除所有 Samba 挂载点"
|
||||||
echo "3. 关闭/开启 Samba 自动共享"
|
echo "3. $([[ ${autoshare_Mode} == 1 ]] && echo 关闭 || echo 开启) Samba 自动共享"
|
||||||
|
echo "4. 设置 Samba 访问密码 $([ -f /etc/samba/smbpasswd ] && echo -e "${Yellow}[已设置]${White}")"
|
||||||
echo -e "\nq. 返回\n"
|
echo -e "\nq. 返回\n"
|
||||||
read -p "请从上方选项中选择一个操作:" Choose
|
read -p "请从上方选项中选择一个操作:" Choose
|
||||||
case $Choose in
|
case ${Choose} in
|
||||||
1)
|
1)
|
||||||
while :
|
Samba_UCI_List="${Tools_Cache}/UCI_List"
|
||||||
|
Logic_Disk_Count=$(sed -n '$=' ${Disk_Processed_List})
|
||||||
|
echo
|
||||||
|
for ((i=1;i<=${Logic_Disk_Count};i++));
|
||||||
do
|
do
|
||||||
Samba_config="$(grep "sambashare" /etc/config/samba | wc -l)"
|
Disk_Name=$(sed -n ${i}p ${Disk_Processed_List} | awk '{print $1}')
|
||||||
[[ ${Samba_config} -eq 0 ]] && break
|
Disk_Mounted_Point=$(sed -n ${i}p ${Disk_Processed_List} | awk '{print $4}')
|
||||||
uci delete samba.@sambashare[0]
|
Samba_Name=${Disk_Mounted_Point#*/mnt/}
|
||||||
uci commit samba > /dev/null 2>&1
|
Samba_Name=$(echo ${Samba_Name} | cut -d "/" -f2-5)
|
||||||
done
|
uci show 2>&1 | grep "sambashare" > ${Samba_UCI_List}
|
||||||
ECHO y "\n已删除所有 Samba 挂载点!"
|
if [[ ! $(cat ${Samba_UCI_List}) =~ ${Disk_Mounted_Point} ]] > /dev/null 2>&1 ;then
|
||||||
sleep 2
|
ECHO g "设置挂载点 '${Samba_Name}' ..."
|
||||||
;;
|
cat >> /etc/config/samba <<EOF
|
||||||
2)
|
|
||||||
Samba_AutoMount
|
|
||||||
;;
|
|
||||||
3)
|
|
||||||
autosamba="$(uci get samba.@samba[0].autoshare)"
|
|
||||||
[[ ${autosamba} == 0 ]] && {
|
|
||||||
uci set samba.@samba[0].autoshare='1'
|
|
||||||
autosamba_mode="开启"
|
|
||||||
} || {
|
|
||||||
uci set samba.@samba[0].autoshare='0'
|
|
||||||
autosamba_mode="关闭"
|
|
||||||
}
|
|
||||||
ECHO y "\n已${autosamba_mode} Samba 自动共享!"
|
|
||||||
uci commit samba
|
|
||||||
sleep 2
|
|
||||||
;;
|
|
||||||
q)
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
Samba_AutoMount() {
|
|
||||||
Logic_Disk_Count=$(sed -n '$=' ${Disk_Processed_List})
|
|
||||||
for ((i=1;i<=${Logic_Disk_Count};i++));
|
|
||||||
do
|
|
||||||
Disk_Name=$(sed -n ${i}p ${Disk_Processed_List} | awk '{print $1}')
|
|
||||||
Disk_Mounted_Point=$(sed -n ${i}p ${Disk_Processed_List} | awk '{print $2}')
|
|
||||||
Samba_Name=${Disk_Mounted_Point#*/mnt/}
|
|
||||||
Samba_Name=$(echo ${Samba_Name} | cut -d "/" -f2-5)
|
|
||||||
uci show 2>&1 | grep "sambashare" > ${Samba_UCI_List}
|
|
||||||
if [[ ! $(cat ${Samba_UCI_List}) =~ ${Disk_Mounted_Point} ]] > /dev/null 2>&1 ;then
|
|
||||||
ECHO g "设置挂载点 '${Samba_Name}' ..."
|
|
||||||
cat >> /etc/config/samba <<EOF
|
|
||||||
|
|
||||||
config sambashare
|
config sambashare
|
||||||
option auto '1'
|
option auto '1'
|
||||||
|
|
@ -375,13 +344,52 @@ config sambashare
|
||||||
option create_mask '0666'
|
option create_mask '0666'
|
||||||
option dir_mask '0777'
|
option dir_mask '0777'
|
||||||
EOF
|
EOF
|
||||||
else
|
else
|
||||||
ECHO y "'${Disk_Mounted_Point}' 挂载点已存在!"
|
ECHO y "'${Disk_Mounted_Point}' 挂载点已存在!"
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
uci commit samba
|
||||||
|
/etc/init.d/samba restart
|
||||||
|
sleep 2
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
while :
|
||||||
|
do
|
||||||
|
Samba_config="$(grep "sambashare" /etc/config/samba | wc -l)"
|
||||||
|
[[ ${Samba_config} -eq 0 ]] && break
|
||||||
|
uci delete samba.@sambashare[0]
|
||||||
|
uci commit samba > /dev/null 2>&1
|
||||||
|
done
|
||||||
|
ECHO y "\n已删除所有 Samba 挂载点!"
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
[[ ${autoshare_Mode} == 0 ]] && {
|
||||||
|
uci set samba.@samba[0].autoshare='1'
|
||||||
|
autosamba_mode="开启"
|
||||||
|
} || {
|
||||||
|
uci set samba.@samba[0].autoshare='0'
|
||||||
|
autosamba_mode="关闭"
|
||||||
|
}
|
||||||
|
ECHO y "\n已${autosamba_mode} Samba 自动共享!"
|
||||||
|
uci commit samba
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
sed -i '/invalid users/d' /etc/samba/smb.conf.template >/dev/null 2>&1
|
||||||
|
ECHO y "\n注意: 请连续输入两次密码,输入的密码不会显示!"
|
||||||
|
smbpasswd -a root
|
||||||
|
[[ $? == 0 ]] && {
|
||||||
|
ECHO y "\nSamba 访问密码设置成功!"
|
||||||
|
/etc/init.d/samba restart
|
||||||
|
} || {
|
||||||
|
ECHO r "\nSamba 访问密码设置失败!"
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
q)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
sleep 2
|
||||||
done
|
done
|
||||||
uci commit samba
|
|
||||||
/etc/init.d/samba restart
|
|
||||||
sleep 2
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AutoUpdate_UI() {
|
AutoUpdate_UI() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue