Ubuntu MATE 16.04を実行しており、内部SDカードリーダーとの間で画像をコピーすると、基本的には正常に動作します...メインアカウントで。
別の家族がログインして(ログアウトせずにバックグラウンドでアクティブになっているログイン)、SDカードを挿入すると、アクセスできなくなります。
それで、これはある種の権利の問題ですか...?メインユーザーとしてログインし直すと、いくつかの権限の問題もあります。
だから、それが何であれ、SDカードリーダーのアクセス権をどのように緩めると、誰でも(管理者以外のユーザーを含む)アクセスできるようになりますか?
おそらく「リラックスした」etc/fstab
エントリですか? (関連するエントリはまだありません)
更新I:
2人のSDカードを切り替えて(1人のユーザーから)/dev/disk/by-id
を見る:
?> ~ $ ll /dev/disk/by-id | grep mmc
... mmc-SDU1_0x02400f04 -> ../../mmcblk0
... mmc-SDU1_0x02400f04-part1 -> ../../mmcblk0p1
?> ~ $ ll /dev/disk/by-id | grep mmc
... mmc-SE32G_0x0072e5ab -> ../../mmcblk0
... mmc-SE32G_0x0072e5ab-part1 -> ../../mmcblk0p1
?> ~ $ ll /dev/disk/by-id | grep mmc
... mmc-SDU1_0x02400f04 -> ../../mmcblk0
... mmc-SDU1_0x02400f04-part1 -> ../../mmcbl
?> ~ $ ll /dev/disk/by-id | grep mmc
... mmc-SDU1_0x02400f04 -> ../../mmcblk0
... mmc-SDU1_0x02400f04-part1 -> ../../mmcblk0p1
?> ~ $ ll /dev/disk/by-id | grep mmc
... mmc-SE32G_0x0072e5ab -> ../../mmcblk0
... mmc-SE32G_0x0072e5ab-part1 -> ../../mmcblk0p1
?> ~ $ ll /dev/disk/by-id | grep mmc
... mmc-SDU1_0x02400f04 -> ../../mmcblk0
... mmc-SDU1_0x02400f04-part1 -> ../../mmcblk0p1
../../mmcblk0[p1]
⇒/dev/mmcblk0[p1]
は、ここで唯一の定数のようです。おそらく私はこれで解決策を得ることができますか?
これを/etc/fstab
に追加しました( manページ によると、正しく理解すれば、最初のパラメーターはデバイスパスにもなります):
/dev/mmcblk0p1 /media/ExtSD01/ auto auto,user,rw 0 0
これはうまく機能しましたやや、今ではmount /dev/mmcblk0p1/
してユーザーに中立なパスにアンマウントできます。自動的にではなく、少なくともコマンドラインから(欠点1)。ただし、ブート前にSDカードが挿入されていない限り、システムは再起動を停止します(欠点2)。それで、その行をもう一度削除しました…
たぶんUbuntu Mateのマウントオプションを編集する別の場所がありますか? system.d?他に?
すべてのユーザーの起動時にSDカードをマウントするには、fstab
ファイルにエントリが必要です。現在起こっているのは、ログインしているユーザーのためにSDカードがマウントされ、そのユーザーのみにアクセス許可が与えられることです。 fstabにエントリを追加すると、SDカードはすべてのユーザーにアクセスできるルートでマウントされます。このr/wアクセスは後で制御できます。
Sudo blkid
は、システムで使用可能なすべてのパーティション(SDカードを含む)をリストします。ブート時にマウントするパーティションのUUID
を書き留めます。
Sudo mkdir /media/ExtSD01
などのフォルダーを作成します。これは、SDカードパーティションがマウントされるフォルダーです。このフォルダはルートが所有します。他のユーザーにこのフォルダーへのr/wの許可を与えるには、適切な許可を与える必要があります。 chmod -R 777 /media/ExtSD01
で十分でしょう。次に、fstabファイルを編集する必要があります。そのためには、次のコマンドを入力します。
Sudo nano/etc/fstab
ファイルの最後に移動して、そこに次の行を追加します。
UUID='enter your UUID here' /media/ExtSD01/ auto,user,rw 0 0
システムを再起動すると、準備完了です。
sdcardという新しいグループを追加して、udevルールあなたのSDカード用。
簡単な部分から始めて、新しいグループを作成しましょう。
Sudo groupadd sdcard
次に、ユーザーをsdcardグループに追加します。
Sudo usermod -aG sdcard username
次に、使用しているsdカードに関する追加情報を調べる必要があります。
製品名または製品IDとベンダー名またはvencor id
あなたのSDカードを差し込み、入力
lsblk
私の場合、それは/ dev/sdaです。
デバイス名が異なることは知っていますが、簡単にするために、sdカードを/ dev/sdaと呼びます。
を使用して目的の情報をデバイスで検索します
Sudo lshw
これらの追加コマンドは、ベンダーと製品を見つけるのに役立ちます。
lsusb
usb-devices
dmesg
私の場合、lshwは以下の情報を提供しました:
*-usb:0
description: Mass storage device
product: USB2.0-CRW
vendor: Generic
physical id: 1
bus info: usb@3:1
logical name: scsi0
version: 57.13
serial: 20120926571200000
capabilities: usb-2.00 scsi emulated scsi-Host
configuration: driver=usb-storage maxpower=500mA speed=480Mbit/s
*-disk
description: SCSI Disk
product: SD/MMC/MS PRO
vendor: Generic-
physical id: 0.0.0
bus info: scsi@0:0.0.0
logical name: /dev/sda
version: 1.00
serial: 2012062914345300
capabilities: removable
configuration: ansiversion=4 logicalsectorsize=512 sectorsize=512
*-medium
physical id: 0
logical name: /dev/sda
ご覧のとおり、私の製品はUSB2.0-CRWであり、ベンダーはGeneric。
/ etc/udev/rules.d /にファイルを作成し、それを呼び出すことができます。つまり、10-sdcard .rules
# /etc/udev/rules.d/10-sdcard.rules
# This file allows the group sdcard to mount sd cards
# without administrative permissions
SUBSYSTEM=="usb", ATTRS{product}="USB2.0-CRW", ATTRS{vendor}=="Generic", ACTION=="add", OWNER="root", GROUP="sdcard", MODE="0664"
これにより、sdcardのデバイスノードが追加され、sdcardグループに読み取りおよび書き込み権限が付与されます。
product id(ie 1234)またはvendor id(すなわちabcd)の代わりに製品名およびベンダー名ATTRS{idProduct}="1234", ATTRS{idVendor}="abcd"
を使用します。
2つのsdカードのベンダーID /名前と製品ID /名前が同じ場合、この1行で十分です。そうでない場合は、他のSDカードの情報を提供する追加の行を追加します。
これで、sdcardグループのユーザーはsdカードをマウントできるはずです。
USBドライブが接続されたときに自動マウントされないようにすることはどうですか。その場合、必要に応じて手動でマウントできます。自動マウントを無効にするには、dconf-editorを使用してorg/gnome/desktop/media-handlingに移動し、falseに設定して自動マウントを無効にします。次に、必要に応じて設定された権限を持つフォルダにSDカードを手動でマウントします。
これを/etc/fstab
に追加しました(マニュアルページによれば、最初のパラメーターはデバイスパスでもあります(正しく理解している場合))。
/dev/mmcblk0p1 /media/ExtSD01/ auto auto,user,rw 0 0
SDカードにMicrosoftファイルシステム(NTFS、FAT32、またはexFAT)がある場合、次の変更をお勧めします。
マウントオプションauto
をnoauto
に置き換えて、SDカードを挿入せずにシステムを適切に起動します。
欠点:ドライブを手動でマウントする必要があります。これは非常に簡単に行うことができ、/etc/fstab
の行に従ってマウントされます。
Sudo mount /media/ExtSD01/
必要に応じて、エイリアスを作成できます。
alias mtsd='Sudo mount /media/ExtSD01/'
マウントオプションumask
を追加して、すべてのユーザーに必要な権限を付与します
結果は、/etc/fstab
の次の行です。
/dev/mmcblk0p1 /media/ExtSD01/ auto noauto,user,rw,umask=000 0 0
マウントオプションを微調整する場合は、次のリンクを参照してください。