1、cp /usr/lib/systemd/system/systemd-udevd.service /etc/systemd/system/systemd-udevd.service
2、sed 's#MountFlags=slave#MountFlags=shared#' systemd-udevd.service
3、systemctl restart systemd-udevd.service
4、vim /etc/udev/rules.d/10-usb-mount-udev.rules
KERNEL!="sd[b-z][0-9]", GOTO="media_by_label_auto_mount_end"
# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"
# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usb-%k"
# Global mount options
ACTION=="add", ENV{mount_options}="relatime"
# Filesystem-specific mount options
# 如果是vfat 或者ntfs 系统,则设置mount_options 的选项如下
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"
# Mount the device
# 如果文件系统不是ntfs ,意味着是vfat
# 同时挂载到/media/sd[b-z][0-9] 的形式
ACTION=="add", ENV{ID_FS_TYPE}!="ntfs", RUN+="/bin/sh -c 'mkdir -p /mnt/usb-%k;mount -o $env{mount_options},rw /dev/%k /mnt/usb-%k'"
# ACTION=="add",ENV{ID_FS_TYPE}!="ntfs", RUN+="/usr/bin/mkdir -p /mnt/usb-%k", RUN+="/usr/bin/mount -o $env{mount_options},rw /dev/%k /mnt/usb-%k"
# ntfs
# 如果文件系统是ntfs ,以ntfs-3g 的形式挂载,实现可读写
# 同时挂载到/media/sd[b-z][0-9] 的形式
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/sh -c 'mkdir -p /mnt/usb-%k;mount -t ntfs-3g -o $env{mount_options},rw /dev/%k /mnt/usb-%k'"
# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/sh -c 'umount -l /mnt/usb-%k;/usr/bin/rmdir /mnt/usb-%k'"
#
# Exit
LABEL="media_by_label_auto_mount_end"