не могу сформатировать usb

Автор cornet, 10 сентября 2020, 10:20:06

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

cornet

Здравствуйте.
вот протокол действий:
root@stone:~# umount /dev/sdc1
root@stone:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   1,8T  0 disk
├─sda1   8:1    0   491M  0 part /boot
├─sda2   8:2    0  85,7G  0 part /
├─sda3   8:3    0   3,7G  0 part
└─sda4   8:4    0   1,7T  0 part /home
sdb      8:16   0 931,5G  0 disk
├─sdb1   8:17   0   487M  0 part
└─sdb2   8:18   0   931G  0 part
sdc      8:32   1 115,5G  0 disk
└─sdc1   8:33   1 115,5G  0 part
sr0     11:0    1  1024M  0 rom 

root@stone:~# parted --version
parted (GNU parted) 3.2
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by <http://git.debian.org/?p=parted/parted.git;a=blob_plain;f=AUTHORS>.

root@stone:~# parted /dev/sdc
GNU Parted 3.2
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) mklabel msdos                                                   
Warning: The existing disk label on /dev/sdc will be destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? y                                                                 

(parted) p                                                               
Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sdc: 124GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End  Size  Type  File system  Flags

(parted) mkpart primary ext4 1MiB 100%                                   
(parted) p                                                               
Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sdc: 124GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End    Size   Type     File system  Flags
1      1049kB  124GB  124GB  primary  ext4         lba

(parted) quit                                                             
Information: You may need to update /etc/fstab.

root@stone:~# lsblk                                                       
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   1,8T  0 disk
├─sda1   8:1    0   491M  0 part /boot
├─sda2   8:2    0  85,7G  0 part /
├─sda3   8:3    0   3,7G  0 part
└─sda4   8:4    0   1,7T  0 part /home
sdb      8:16   0 931,5G  0 disk
├─sdb1   8:17   0   487M  0 part
└─sdb2   8:18   0   931G  0 part
sdc      8:32   1 115,5G  0 disk
└─sdc1   8:33   1 115,5G  0 part
sr0     11:0    1  1024M  0 rom 

root@stone:~# mkfs -t ext4 -L USB-128G /dev/sdc1
mke2fs 1.44.5 (15-Dec-2018)
/dev/sdc1 contains a ext4 file system
last mounted on Thu Sep 10 10:59:30 2020
Proceed anyway? (y,N) y
Creating filesystem with 30277376 4k blocks and 7569408 inodes
Filesystem UUID: ef1704ad-4634-4f46-9d29-aa367873f12f
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                           
Writing inode tables: done                           
Creating journal (131072 blocks): done
Writing superblocks and filesystem accounting information: done

root@stone:~# lsblk -o +label,fstype,uuid /dev/sdc
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT LABEL FSTYPE UUID
sdc    8:32   1 115,5G  0 disk                         
└─sdc1
       8:33   1 115,5G  0 part            USB-128G
                                                ext4   ef1704ad-4634-4f46-9d29-aa367873f12f
root@stone:~# exit
выход

magister@stone:~$ lsblk -o +label,fstype,uuid /dev/sdc
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT LABEL FSTYPE UUID
sdc    8:32   1 115,5G  0 disk                         
└─sdc1
       8:33   1 115,5G  0 part /media/mag USB-128G
                                                ext4   ef1704ad-4634-4f46-9d29-aa367873f12f

и всё равно флэш недоступна, не могу записать на на ёё файл.
что делаю не так - unknow. Подскажите, кто знает.

qupl

Смонировали куда-нибудь? Какие ошибки?

cornet

#2
usb по умолчанию смонтировалась на  /media/magister/ :
lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   1,8T  0 disk
├─sda1   8:1    0   491M  0 part /boot
├─sda2   8:2    0  85,7G  0 part /
├─sda3   8:3    0   3,7G  0 part
└─sda4   8:4    0   1,7T  0 part /home
sdb      8:16   0 931,5G  0 disk
├─sdb1   8:17   0   487M  0 part
└─sdb2   8:18   0   931G  0 part
sdc      8:32   1 115,5G  0 disk
└─sdc1   8:33   1 115,5G  0 part /media/magister/USB-128G
sr0     11:0    1  1024M  0 rom 


и там - права root (!) всем, кроме root - только чтение.
и как это устранить ?

ps я вспомнил: после install debian я изменил названия некоторых папок пользователя magister. и,кажется, теперь точка монтирования изменилась. но как это изменить ?

qupl

Почитайте матчасть про монтирование и права в linux.
В общих чертах, если автоматически не смонтировался носитель, то вручную (mount) и для уже смонтированного раздела ext4 установить владельца (chown).

cornet

#4
получилось такое решение.
при подключении usb-flash debian по умолчанию создаёт директорию с именем, сопоставленным с usb-устройством.
в моём случае имя директории совпадает с именем usb.
после монтирования usb-устройства c usb-директорией все права на неё получает root, остальные только чтение.

оказывается, в системе есть способы контролировать события подключения и монтирования.
эти способы описаны в man(7) http://manpages.ylsoftware.com/ru/udev.7.html
нужно, чтобы полные права имел текущий пользователь.
при этой настройке я использовал ресурс
https://itsecforu.ru/2019/05/22/%F0%9F%9A%8A-%D0%BA%D0%B0%D0%BA-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C-%D0%B2%D0%BB%D0%B0%D0%B4%D0%B5%D0%BB%D1%8C%D1%86%D0%B0-%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D1%83-%D1%84%D0%B0%D0%B9/

вот мои шаги:
1. создал файл /etc/udev/rules.d/99-perm.rules

$ less /etc/udev/rules.d/99-perm.rules
KERNEL=="sdc", OWNER="magister", GROUP="magister"

здесь "sdc" - устройство usb, "magister" - имя пользователя и имя группы, которым предполагается передача прав после монтирования.
имя файла правил 99-perm.rules начинается с "99" для того, чтобы иметь возможность применения нескольких файлов-правил. порядок применения соответствует префиксу имени-нумерации.

2. выполнил
# udevadm control --reload-rules

для активизации новых правил. в тексте статьи предлагается ещё обновить триггеры, но я просто перезагрузился.

3. далее, подключил usb; "открыл" файл устройства и вот что получилось:

$ ls -l /media/magister/
итого 4
drwxrwxrwx 4 root root 4096 сен 11 20:15 USB-128G

USB-128G - имя директории-точки монтирования usb

итог: не всё ещё понял, но путь такой - изучение udev

спасибо qupl, подвигшему меня на это.

qupl

Слишком далеко зашли. Просто сменить владельца в ФС на флешке, тогда при монтировании будет доступ.

cornet

и напоследок.
прошу прощения, что развитие темы отклонилось от заголовка, но найдено более простое решение проблемы прав доступа к подключаемому устройству usb.

в файл /etc/udev/udev.conf нужно добавить строки:
default_mode="0777"
default_owner="magister"
default_group="magister"

и тогда при монтировании usb-flash стандартными средствами получим:
ls -l /media/magister
итого 4
drwxrwxrwx 4 root root 4096 сен 12 12:18 USB-128G

при этом директория /etc/udev/rules.d/ пуста.
видно, что владелец:группа не изменилась в соответствии с последними двумя строками файла udev.conf
но это для меня не существенно, важно, что разрешен 777-доступ не root-пользователям.
об этом можно прочесть в https://linux.die.net/man/8/udev
там же указан список переменных udev hotplug-subsystem

endru

Цитата: cornet от 12 сентября 2020, 13:36:52default_mode="0777"
и зачем права на исполнение обычным файлам?
0666 должно хватить.