Puncte:3

Ubuntu-MATE: faceți montarea automată a stick-urilor USB la dispoziția fiecărui utilizator (reguli udev?)

drapel in

Vreau ca fiecare suport USB (ext, ntfs, FATâ¦) introdus să fie disponibil cu citire și scriere completă pentru fiecare utilizator. De preferat sub mnt si ca grup uzual.

(Ubuntu-MATE 21.04, deși problemele mele datează chiar și de la Ubuntu-MATE 16.04...)

  1. Pornesc aparatul meu ca utilizator Frank. Când montez o unitate USB (FAT), aceasta ajunge sub /media/frank/4C8C-E4BC â în regulă, așa cum ar trebui. Când trec la alt utilizator (ținând deschisă prima sesiune, nu mă deconectez, de exemplu. dm-tool comutare la utilizator lisa) Eu iau

Nu se poate monta un volum de 16 GB Dispozitivul /dev/sda1 este deja montat la /media/lisa/4C9C-xxxx

Având sens până acum. Dar nu ceea ce vreau eu.

Sigur, pentru unități individuale Aș putea schimba locația de montare prin discuri-gnome sau adăugați manual o linie la etc/fstab (care în esență este ceea ce discuri-gnome face). Cu toate acestea, nu vreau să fac asta pentru fiecare stick USB și card SD pe care îl dețin...

Există o modalitate mai bună de montare automată pentru toți utilizatorii?

[ Înțeleg/presupun că e ceva numit autofs se ocupă de montarea automată a stick-urilor USB? Dar din câte îmi pot da seama, asta nu face parte din instalarea mea Ubuntu-MATE... ]

Și apoi se pare că există âudev-Rulesâ, asta e ceea ce vreau? Se pare că este chiar o parte „inevitabilă” a Ubuntu, deoarece face parte din systemd (?)? Acolo sunt reguli pe mașina mea în /etc/udev/rules.d, deși aparent mai degrabă specifice despre brave și skype și semnal...)

Sunt lucruri promițătoare MOD și GRUP și UDISKS_FILESYSTEM_SHARED dar (cu condiția ca aceasta să fie abordarea corectă) nu pot asambla piesele finale ale puzzle-ului. Ar trebui să se aplice cu adevărat numai unităților amovibile, cum ar fi stick-urile USB și cardurile de memorie, altfel am probleme mari... menționează această sursă SUBSYSTEMS=="usb", acesta ar fi un filtru bun, dacă este adevărat...)

Este udev rulez calea?

Dacă da, poate cineva să pună împreună piesele puzzle-ului? Aproape că bănuiesc că tot ceea ce caut este un fișier cu o singură linie în /etc/udev/rules.d.


addendum:

Nu este problema mea principală, dar dacă ar dispărea din aceleași motive, aș fi fericit: inserând un stick USB Windows Boot (puțin mai complex, vine cu un UEFI Boot FAT și o partiție Windows Install NTSF) sub al doilea utilizator, am obține instantaneu:

introduceți descrierea imaginii aici

(și nu, căutarea intensă pe Google nu m-a dus nicăieri) ⦠trecând înapoi la primul utilizator Frank (stick-ul încă inserat) Sunt binevenit de aceste solicitări de autorizare:

introduceți descrierea imaginii aici


addendum:

Nu este o remediere, dar dacă acești doi utilizatori sunteți în esență dvs., iar celălalt nu este cu adevărat activ (doar a fost deconectat de la în loc de deconectat), aceasta este cea mai rapidă cale înainte de a monta USB fără probleme:

cine -u
sudo kill <pid-ul celuilalt utilizator>
sudodus avatar
drapel jp
Nu rulez MATE, ci alte arome Ubuntu.Nu știu nicio modalitate de a folosi `udev` în acest scop, dar am folosit [`mount` pentru cazuri similare, dar mai simple](https://askubuntu.com/questions/11840/how-do-i-use -chmod-on-an-ntfs-or-fat32-partition/956072#956072). Așa că mă joc cu un shellscript, care pot face ce vrei, cel puțin cu sistemele de fișiere Microsoft. Dar 1. Are nevoie de `sudo` sau rulează ca `rădăcină`. Puteți permite utilizarea shellscript-ului sau `mkdir` și `mount` fără parolă prin `visudo`; 2. Este o idee proastă să modificați permisiunile dintr-un sistem de fișiere Linux, de ex. `ext4`.
sudodus avatar
drapel jp
Nu ar trebui să lăsați un instrument automat să modifice permisiunile dintr-un sistem de fișiere Linux, deoarece modificările sunt persistente și ar putea distruge directoarele și configurațiile sistemului.. Dacă doriți să faceți un sistem de fișiere Linux disponibil pentru toată lumea, setați permisiunile cu `chmod`; 3. Ar trebui să funcționeze pentru a porni manual un shellscript, dar este posibil și (poate prin `udev`) să urmăriți conectarea dispozitivelor externe; 4. Scripturile de shell suplimentare pentru demontarea și curățarea punctelor de montare ar trebui să fie mai ușor de creat. -- Sunteți interesat de acest mod `mount`, sau doriți să mergeți pe calea `udev`?
Frank Nocke avatar
drapel in
Nu intenționez să modific niciun drept de utilizator **dar** pe cele ale volumului de montat, ceea ce nu este [nimic neobișnuit nici în `/etc/fstab`](https://superuser.com/q /174776). Doar pentru „toate unitățile USB care ar putea fi”. (dacă `fstab` ar avea un fel de suport pentru wildcard pentru a se potrivi cu unitățile USB, problema mea ar fi rezolvată. Dar nu are.) Regulile Und Udev într-adevăr [au un atribut `MODE`](https://www. .clearpathrobotics.com/assets/guides/kinetic/ros/Udev%20Rules.html)...
sudodus avatar
drapel jp
Îmi pare rău, dar nu cunosc suficient de bine `udev` pentru a vă ajuta cu asta. Dar modul meu de „montare” *poate* gestiona „suport pentru carduri wild-card”. Cu toate acestea, trebuie să o inițiezi cumva, prin „cron” sau „udev” sau poate printr-un alt mod de a urmări evenimente. Doriți să vedeți codul scriptului?
Frank Nocke avatar
drapel in
da, sigur... nu ezitați să postați ca răspuns (mai mult confort de scriere/vizionare), același scop metodă diferită, până la urmă
Puncte:2
drapel jp

Următorul script poate fi apelat montator sau vreun [alt] nume unic. A pentru bucla caută ieșirea lui lsblk cu opțiuni adecvate. Acesta va detecta partițiile din unitățile conectate prin USB și le va monta (dacă nu sunt deja montate) în subdirectoarele dedicate ale /mnt.

Dacă doriți să utilizați shellscript-ul în sistemul dvs., probabil îl veți modifica pentru a gestiona partițiile deja montate (demontați-le pentru a le monta așa cum doriți).

#!/bin/bash

if [ "$(whoami)" != "rădăcină" ]
atunci
 echo "a alerga cu sudo sau ca root"
 Ieșire
fi
pentru i în $(lsblk -lo name,fstype,hotplug,type|grep '1 part$'|tr -s ' ' ' '|sed 's/ 1 part$//'|grep ' ..*$'| tr ' ' '_')
do
 printf "$i\n"
 dev=/dev/${i%_*}
 fss=${i#*_}
# echo „$dev -- $fss”
 mkdir -p /mnt/"$i"
 dacă [ "$fss" == "ntfs" ] || [ "$fss" == "vfat" ] || [ "$fss" == "exfat" ]
 atunci
  mount -o rw,user,exec,umask=0000 "$dev" /mnt/"$i"
 altfel
  mount -o rw, utilizatorul "$dev" /mnt/"$i"
 fi
Terminat

Acest shellscript poate face ceea ce doriți, cel puțin cu sistemele de fișiere Microsoft.

  • Are nevoie sudo sau alergând ca rădăcină. Puteți permite utilizarea shellscript-ului sau mkdir și montură fără parolă prin visudo.

  • Este posibil să doriți sau nu să modificați umask pentru a-i împiedica pe „ceilalți” să scrie.

  • Este o idee proastă să modificați permisiunile dintr-un sistem de fișiere Linux, de ex. ext4. Deci, acest shellscript folosește diferite opțiuni de montare în acest caz. Dacă doriți să faceți un sistem de fișiere Linux disponibil pentru toată lumea, setați permisiunile cu chmod manual.

  • Ar trebui să funcționeze pentru a porni manual un shellscript, dar este posibil și prin cron sau udev sau poate un alt mod de a urmări conectarea dispozitivelor externe.

  • Sunt necesare shellscript-uri suplimentare (sau linii de comandă) pentru a demonta și curăța punctele de montare și ar trebui să fie mai ușor de creat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.