Score:3

Ubuntu-MATE: ทำให้ USB Sticks ติดตั้งอัตโนมัติสำหรับผู้ใช้ทุกคน (กฎ udev?)

ธง in

ฉันต้องการให้สื่อ USB ทุกรายการ (ext, ntfs, FATâ¦) พร้อมใช้งานโดยผู้ใช้ทุกคนอ่าน-เขียนได้อย่างสมบูรณ์ โดยเฉพาะอย่างยิ่งภายใต้ และเป็นกลุ่ม ทั่วไป.

( Ubuntu-MATE 21.04 แม้ว่าปัญหาของฉันจะย้อนกลับไปถึง Ubuntu-MATE 16.04 ... )

  1. ฉันบูตเครื่องของฉันในฐานะผู้ใช้ตรงไปตรงมา เมื่อฉันเมานต์ไดรฟ์ USB (FAT) มันจะจบลงด้านล่าง /media/frank/4C8C-E4BC â ไม่เป็นไร อย่างที่ควรจะเป็น เมื่อฉันเปลี่ยนไปใช้ผู้ใช้รายอื่น (เปิดเซสชันแรกค้างไว้ ไม่ออกจากระบบ เช่น dm-tool สลับไปยังผู้ใช้ ลิซ่า) ฉันเข้าใจ

ไม่สามารถเมานต์ไดรฟ์ข้อมูล 16 GB อุปกรณ์ /dev/sda1 ติดตั้งแล้วที่ /media/lisa/4C9C-xxxx

สมเหตุสมผลแล้ว แต่ไม่ใช่สิ่งที่ฉันต้องการ

แน่นอน สำหรับแต่ละไดรฟ์ ฉันสามารถเปลี่ยนตำแหน่งเมานต์ผ่าน คำพังเพยดิสก์ หรือเพิ่มบรรทัดด้วยตนเอง ฯลฯ/fstab (ซึ่งสาระสำคัญคืออะไร คำพังเพยดิสก์ กำลังทำ). อย่างไรก็ตาม ฉันไม่ต้องการทำเช่นนี้กับแท่ง USB และการ์ด SD ทุกอันที่ฉันมี...

มีวิธีที่ดีกว่าสำหรับการเมานต์อัตโนมัติสำหรับผู้ใช้ทั้งหมดหรือไม่

[ ฉันเข้าใจ / เดาว่ามีบางอย่าง เรียกว่า autofs จัดการการติดตั้งแท่ง USB โดยอัตโนมัติหรือไม่ แต่เท่าที่ฉันบอกได้ นั่นไม่ใช่ส่วนหนึ่งของการติดตั้ง Ubuntu-MATE ของฉัน... ]

แล้วก็ดูเหมือนจะมี âudev-กฎâนั่นคือสิ่งที่ฉันต้องการ? เห็นได้ชัดว่ามันเป็น “สิ่งที่หลีกเลี่ยงไม่ได้” ของ Ubuntu เนื่องจากเป็นส่วนหนึ่งของ systemd (?)? ที่นั่น เป็น กฎในเครื่องของฉันภายใต้ /etc/udev/rules.d แม้ว่าจะดูค่อนข้างเฉพาะเจาะจงเกี่ยวกับความกล้าหาญและ skype และสัญญาณ...)

มีสิ่งที่มีแนวโน้ม โหมด และ กลุ่ม และ UDISKS_FILESYSTEM_SHARED แต่ (หากเป็นแนวทางที่ถูกต้อง) ฉันไม่สามารถตั้งชิ้นส่วนปริศนาขั้นสุดท้ายเข้าด้วยกันได้ ควรใช้เฉพาะกับไดรฟ์แบบถอดได้เท่านั้น เช่น USB sticks และการ์ดหน่วยความจำ ไม่เช่นนั้นฉันจะประสบปัญหาอย่างหนัก... แหล่งนี้กล่าวถึง ระบบย่อย = "usb"นั่นจะเป็นตัวกรองที่ดี ถ้าจริง...)

เป็น อูเดฟ ปกครองทาง?

ถ้าใช่ ใครก็ได้ช่วยต่อชิ้นส่วนจิ๊กซอว์ให้หน่อยได้ไหม? ฉันเกือบจะสงสัยว่าสิ่งที่ฉันมองหาคือไฟล์ซับใน /etc/udev/rules.d


ภาคผนวก:

ไม่ใช่ปัญหาหลักของฉัน แต่ถ้ามันหายไปด้วยเหตุผลเดียวกัน ฉันยินดี: การใส่ Windows Boot USB Stick (ซับซ้อนกว่าเล็กน้อย มาพร้อมกับ UEFI Boot FAT และพาร์ติชั่น Windows Install NTSF) ภายใต้ผู้ใช้คนที่สอง ฉัน รับทันที:

ป้อนคำอธิบายรูปภาพที่นี่

(และไม่ การกูเกิลอย่างเข้มข้นไม่ได้ช่วยอะไรฉันเลย) ⦠การเปลี่ยนกลับไปใช้แฟรงค์ผู้ใช้รายแรก (ยังคงใส่สติ๊กอยู่) ฉันได้รับการต้อนรับจากคำขออนุญาตเหล่านี้:

ป้อนคำอธิบายรูปภาพที่นี่


ภาคผนวก:

ไม่ใช่การแก้ไข แต่ถ้าผู้ใช้สองคนนั้นเป็นคุณเป็นหลัก และอีกคนหนึ่งไม่ได้ใช้งานจริง (เพียงแค่เปลี่ยนจากแทนที่จะออกจากระบบ) นี่เป็นวิธีที่เร็วที่สุดก่อนที่จะต่อเชื่อม USB โดยไม่มีปัญหา:

ใคร -u
sudo kill <ค่า pid ของผู้ใช้รายนั้น>
sudodus avatar
jp flag
ฉันไม่ได้ใช้ MATE แต่ใช้ Ubuntu รสอื่นฉันไม่รู้วิธีใช้ `udev` เพื่อจุดประสงค์นี้ แต่ฉันใช้ [`mount` สำหรับกรณีที่คล้ายกันแต่เรียบง่ายกว่า](https://askubuntu.com/questions/11840/how-do-i-use -chmod-on-an-ntfs-หรือ-fat32-partition/956072#956072) ดังนั้นฉันจึงเล่นกับ shellscript กว่าจะทำสิ่งที่คุณต้องการได้ อย่างน้อยก็กับระบบไฟล์ของ Microsoft แต่ 1. มันต้องการ `sudo` หรือทำงานเป็น `root` คุณสามารถอนุญาตให้ใช้ shellscript หรือ `mkdir` และ `mount` โดยไม่ต้องใช้รหัสผ่านผ่าน `visudo` 2. ไม่ควรยุ่งเกี่ยวกับสิทธิ์ในระบบไฟล์ Linux เช่น `ext4`.
sudodus avatar
jp flag
คุณไม่ควรปล่อยให้เครื่องมืออัตโนมัติยุ่งเกี่ยวกับสิทธิ์ในระบบไฟล์ Linux เพราะการเปลี่ยนแปลงจะเกิดขึ้นอย่างต่อเนื่องและอาจทำลายไดเร็กทอรีและการกำหนดค่าระบบได้ ถ้าคุณต้องการทำให้ระบบไฟล์ Linux พร้อมใช้งานสำหรับทุกคน ให้ตั้งค่าสิทธิ์ด้วย `chmod`; 3. ควรเริ่มต้น shellscript ด้วยตนเอง แต่ก็เป็นไปได้ (อาจผ่าน `udev`) เพื่อดูการเสียบปลั๊กอุปกรณ์ภายนอก 4. เชลล์สคริปต์เพิ่มเติมเพื่อยกเลิกการต่อเชื่อมและล้างจุดเมานต์ควรสร้างได้ง่ายกว่า -- คุณสนใจ 'ทางขึ้น' นี้ หรือต้องการไปทาง 'udev'
Frank Nocke avatar
in flag
ฉันไม่มีเจตนาที่จะยุ่งเกี่ยวกับสิทธิ์ของผู้ใช้ **แต่** สิทธิ์ของไดรฟ์ข้อมูลที่จะเมานต์ ซึ่ง [ไม่มีอะไรผิดปกติใน `/etc/fstab` เช่นกัน](https://superuser.com/q /174776). เพียงสำหรับ 'ไดรฟ์ USB ทั้งหมดที่อาจเป็นได้' (หาก `fstab` มีการรองรับไวด์การ์ดบางอย่างเพื่อให้ตรงกับไดรฟ์ USB ปัญหาของฉันจะได้รับการแก้ไข แต่ก็ไม่เป็นเช่นนั้น) กฎ Und Udev ก็เช่นกัน [มีแอตทริบิวต์ `MODE` ](https://www .clearpathrobotics.com/assets/guides/kinetic/ros/Udev%20Rules.html)...
sudodus avatar
jp flag
ฉันขอโทษ แต่ฉันไม่รู้จัก `udev` ดีพอที่จะช่วยคุณในเรื่องนี้ แต่วิธี `เมานต์` ของฉัน *สามารถ* จัดการ 'การรองรับไวด์การ์ด' อย่างไรก็ตาม คุณต้องเริ่มต้นด้วยวิธีใดวิธีหนึ่ง โดยผ่าน `cron` หรือ `udev` หรืออาจใช้วิธีอื่นในการดูเหตุการณ์ คุณต้องการดูรหัสสคริปต์หรือไม่
Frank Nocke avatar
in flag
ใช่ แน่นอน... โพสต์เป็นคำตอบได้ตามสบาย (เขียน/ดูสบายกว่า) เป้าหมายเดียวกัน วิธีการต่างกัน
Score:2
ธง jp

อาจเรียกใช้สคริปต์ต่อไปนี้ เมานต์ หรือชื่อเฉพาะ [อื่นๆ] ก สำหรับ ลูปค้นหาผลลัพธ์ของ lsblk ด้วยตัวเลือกที่เหมาะสม มันจะตรวจหาพาร์ติชันในไดรฟ์ที่เชื่อมต่อผ่าน USB และติดตั้ง (หากยังไม่ได้ติดตั้ง) ที่ไดเร็กทอรีย่อยเฉพาะของ /mnt

หากคุณต้องการใช้ shellscript ในระบบของคุณ คุณอาจจะปรับแต่งเพื่อจัดการพาร์ติชันที่ติดตั้งไว้แล้ว (ยกเลิกการต่อเชื่อมเพื่อให้ติดตั้งได้ตามที่คุณต้องการ)

#!/bin/bash

ถ้า [ "$(whoami)" != "root" ]
แล้ว
 echo "รันด้วย sudo หรือ root"
 ทางออก
ไฟ
สำหรับฉันใน $(lsblk -lo name,fstype,hotplug,type|grep '1 part$'|tr -s ' ' '|sed 's/ 1 part$//'|grep ' ..*$'| ทร' ''_')
ทำ
 พิมพ์f "$i\n"
 dev=/dev/${i%_*}
 fss=${i#*_}
# echo "$dev -- $fss"
 mkdir -p /mnt/"$i"
 ถ้า [ "$fss" == "ntfs" ] || [ "$fss" == "vfat" ] || [ "$fss" == "ไขมันส่วนเกิน" ]
 แล้ว
  เมานต์ -o rw,ผู้ใช้,exec,umask=0000 "$dev" /mnt/"$i"
 อื่น
  เมานต์ -o rw ผู้ใช้ "$dev" /mnt/"$i"
 ไฟ
เสร็จแล้ว

เชลล์สคริปต์นี้สามารถทำสิ่งที่คุณต้องการได้ อย่างน้อยก็กับระบบไฟล์ของ Microsoft

  • มันต้องการ ซูโด หรือวิ่งเป็น ราก. คุณสามารถอนุญาตโดยใช้ shellscript หรือ มคเดียร์ และ ภูเขา โดยไม่มีรหัสผ่านผ่านทาง visudo.

  • คุณอาจต้องการหรือไม่ต้องการแก้ไข อุมาสก์ เพื่อไม่ให้ 'คนอื่น' เขียน

  • เป็นความคิดที่ดีที่จะยุ่งเกี่ยวกับการอนุญาตในระบบไฟล์ Linux เช่น ต่อ4. ดังนั้น shellscript นี้จึงใช้ตัวเลือกการเมานต์ที่แตกต่างกันในกรณีนี้ หากคุณต้องการทำให้ระบบไฟล์ Linux พร้อมใช้งานสำหรับทุกคน ให้ตั้งค่าการอนุญาตด้วย chmod ด้วยตนเอง.

  • ควรทำงานเพื่อเริ่ม shellscript ด้วยตนเอง แต่ก็สามารถทำได้ผ่าน ครอน หรือ อูเดฟ หรืออาจใช้วิธีอื่นในการดูการเสียบอุปกรณ์ภายนอก

  • เชลล์สคริปต์เพิ่มเติม (หรือบรรทัดคำสั่ง) เพื่อยกเลิกการต่อเชื่อมและล้างจุดเมานต์เป็นสิ่งที่จำเป็นและควรสร้างได้ง่ายกว่า

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา