Автор Тема: Папки и файлы создаются от имени root  (Прочитано 6059 раз)

Оффлайн ealexey

  • Начинающий
  • *
  • Сообщений: 9
Добрый день,
обнаружил такую вещь: на диске имеются несколько разделов ntfs (создавились под windows). Разделы автоматически монтируются при включении. Если я создаю от имени своего пользователя папку или файл на таком разделе, то в "Свойства" -> "Права" вижу что владельцем папки или файла является root, а я не могу менять данные права. Менять их и не надо, надо чтобы владельцем являлся пользователь, а не root. Настраиваю Thunderbird (почту вынес на один из таких разделов), вижу что владельцем созданных им папок и и файлов является всё тот же root. Почему так происходит? Открыл настройки  убрал пользователя из группы системных администраторов, вышел из системы и снова зашел (не перезагружал ещё). Результат тот же.  Я что-то намудрил с правами пользователя? Убрал его из /etc/sudoers. Результат тот же. Или здесь баг? Или дело в файловой системе? Если создаю папку или файл от пользователя, даже когда он включен в группу администраторов но в его домашней директории - всё в порядке, они создаются от его имени. И thunderbird также создает папки и файлы с владельцем "user". Подскажите , что не так?
« Последнее редактирование: 29.01.2021 20:14:52 от ealexey »

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 636
  • Дмитрий/Dmitry/德米特里/दिमित्री
"Свойства" -> "Права" вижу что владельцем папки или файла является root, а я не могу менять данные права. Менять их и не надо, надо чтобы владельцем являлся пользователь, а не root. Настраиваю Thunderbird (почту вынес на один из таких разделов), вижу что владельцем созданных им папок и и файлов является всё тот же root. Почему так происходит?
Права на сами разделы ntfs какие указаны? Root?

Оффлайн ealexey

  • Начинающий
  • *
  • Сообщений: 9
Сообщение: "Не удалось определить права"

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 636
  • Дмитрий/Dmitry/德米特里/दिमित्री
Посмотрите их через файловую систему. Там права должны отображаться корректно.

Оффлайн ealexey

  • Начинающий
  • *
  • Сообщений: 9
Если я Вас правильно понял, то в свойствах самого тома указывается что владельцем является root
« Последнее редактирование: 29.01.2021 23:43:24 от ealexey »

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 636
  • Дмитрий/Dmitry/德米特里/दिमित्री
Вот поэтому права на любые действия с этим разделом принадлежат Root. И все файлы будут создаваться от его имени.

Оффлайн ealexey

  • Начинающий
  • *
  • Сообщений: 9
ну хорошо, это понятно. А как это исправить можно? То есть чтобы были права пользователя? Ведь это неправильно, что сторонний том присоединяется с правами root, которые как я понимаю наследуют и файлы. То есть по сути, если там есть какой-то вредоносный скрипт, его теоретически возможно запустить с правами root.

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 636
  • Дмитрий/Dmitry/德米特里/दिमित्री
Должно делаться через chmod в консоли.

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 636
  • Дмитрий/Dmitry/德米特里/दिमित्री
Но проще удалить такие разделы и отформатировать их в ntfs заново из под Линукса...
Они ведь у Вас созданы и отформатированы из под Винды?
« Последнее редактирование: 30.01.2021 00:25:51 от gosts 87 »

Оффлайн ealexey

  • Начинающий
  • *
  • Сообщений: 9
Вы имели ввиду вероятно chown. Да, запустил рекурсивно смену пользователя и группы (user:user), но ничего не дало. Запустил смену пользователя без рекурсии для самого тома, а также пробовал с папкой - нет результата.
Проверил, внешний диск монтируется корректно, с правами пользователя. Вероятно проблема в самом монтировании, оно производится от имени root. А как переназначить, не совсем ясно.

Разделы, да делались из-под винды. Однако тоже пришел к мысли проделать действия из-под линукс. Создал новый раздел в 500 МБ, отформатировал в ext4. Говорит - надо монтировать от root. Перезагрузил даже систему. Автоматически не монтируется. а ка к смонтировать от пользователя пока не понятно. Где-то говорят про fstab (sudo mount -o gid=users,fmask=113,dmask=002 /dev/sd* /mnt/usb), где-то про  udisk / udisksctl / udevil . Пытаюсь разобраться. Вроде делать надо через fstab

Оффлайн ealexey

  • Начинающий
  • *
  • Сообщений: 9
@gosts 87 спасибо за содействие и помощь. Через редактирование fstab и указание нужных данных / опций, том монтируется теперь правильно, от имени пользователя.

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 636
  • Дмитрий/Dmitry/德米特里/दिमित्री
@gosts 87 спасибо за содействие и помощь.
:-) Так я ж практически ничем не помог. Единственное посоветовал отформатировать из под Линукса.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Разделы, да делались из-под винды. Однако тоже пришел к мысли проделать действия из-под линукс. Создал новый раздел в 500 МБ, отформатировал в ext4. Говорит - надо монтировать от root. Перезагрузил даже систему. Автоматически не монтируется. а ка к смонтировать от пользователя пока не понятно. Где-то говорят про fstab (sudo mount -o gid=users,fmask=113,dmask=002 /dev/sd* /mnt/usb), где-то про  udisk / udisksctl / udevil . Пытаюсь разобраться. Вроде делать надо через fstab

Не имеет значения в какой системе создаются разделы ntfs и каталоги в ней.
Имеют значение опции монтирования файловой системы ntfs:

Монтирование ntfs через драйвер ntfs-3g

Монтирование с доступом только для пользователя с UID=GID=500 ( см. `grep ':500:' /etc/group` )
# mount -t ntfs-3g -o rw,uid=500,gid=500,fmask=177,dmask=077 /dev/sda3 /mnt/disk1
# ls -l /mnt/disk1/G50-80_BIOS_Update/ | head -n 6
итого 5569
-rw------- 1 user user 5692064 дек 27  2017 b0cna0ww.exe
-rw------- 1 user user      94 дек 27  2017 b0cna0ww.md5
-rw------- 1 user user    2564 дек 27  2017 b0cna0ww.txt
drwx------ 1 user user    4096 дек 27  2017 pages

Монтирование:
- Пользователю с UID=GID=500 и группе users разрешено чтение/запись
- Всем остальным запрещено всё
# mount -t ntfs-3g -o rw,uid=500,gid=users,fmask=117,dmask=007 /dev/sda3 /mnt/disk1
# ls -l /mnt/disk1/G50-80_BIOS_Update/ | head -n 6 | sed 's/wild/us/g'
итого 5569
-rw-rw---- 1 user users 5692064 дек 27  2017 b0cna0ww.exe
-rw-rw---- 1 user users      94 дек 27  2017 b0cna0ww.md5
-rw-rw---- 1 user users    2564 дек 27  2017 b0cna0ww.txt
drwxrwx--- 1 user users    4096 дек 27  2017 pages

- uid= gid= используется как chown
- fmask= dmask= используется как chmod для файлов и каталогов соответственно, по маске для прав:

на файлы
# echo '777-177' | bc -l # -rw-------
600

и каталоги
# echo '777-077' | bc -l # drwx------
700


Монтирование ntfs в системе на udisks2
на примере системы p9-xfce-sysv

При монтировании ntfs от пользователя через udisksctl в системе на udisks2, файловая система ntfs

(см. также)
$ rpm -qa | grep fuse
fuse-2.9.9-alt1.x86_64
fuse-exfat-1.0.1-alt2.x86_64
fuse-gvfs-1.40.2-alt1.x86_64
libfuse-2.9.9-alt1.x86_64
fuse-common-1.1.0-alt1.noarch
$ man -Kw allow_other
/usr/share/man/man8/mount.fuse.8.xz
/usr/share/man/man8/ntfs-3g.8.xz
/usr/share/man/man8/ntfs-3g.8.xz
/usr/share/man/man8/ntfs-3g.8.xz
$ man -Kw default_permissions
/usr/share/man/man8/mount.fuse.8.xz
/usr/share/man/man4/fuse.4.xz

монтируется
$ udisksctl mount -b /dev/sda3

в /run/media/$USER/$MOUNTPOINTкак fuseblk
$ mount | grep sda3
/dev/sda3 on /run/media/user/Windows type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)

с игнорированием прав доступа и установкой прав на файлы и каталоги всё-для-всех
$ ls -lR ./G50-80_BIOS_Update/ | head -n 6
./G50-80_BIOS_Update/:
итого 5569
-rwxrwxrwx 1 user user 5692064 дек 27  2017 b0cna0ww.exe
-rwxrwxrwx 1 user user      94 дек 27  2017 b0cna0ww.md5
-rwxrwxrwx 1 user user    2564 дек 27  2017 b0cna0ww.txt
drwxrwxrwx 1 user user    4096 дек 27  2017 pages

Но с доступом для группы, на каталоге /run/media/$USER,

несмотря на права,
$ ls -l /run/media/
итого 0
drwxr-x---+ 4 root root 80 янв 30 17:24 user

возникает проблема отказа доступа
$ getfacl /run/media/user/
getfacl: Removing leading '/' from absolute path names
# file: run/media/user/
# owner: root
# group: root
user::rwx
user:user:r-x
group::---
mask::r-x
other::---

Эта проблема с доступом,
# control | grep udisks2
udisks2         default         (default shared)

решается изменением прав доступа
# control udisks2 shared
# udevadm control --reload # требуется выдержать таймаут после команды

В котором изменение точки монтирования в /run/media на /media/*, это побочный эффект.

Но в этом случае, решив одну проблему, появляется другая проблема:

Точка монтирования создаётся не в tmpfs как раньше,
$ mount | grep tmpfs | grep run
runfs on /run type tmpfs (rw,relatime,mode=755)

а в каталоге /media на реальной файловой системе, после перезагрузки не исчезает и требует удаления вручную.
Однако в этом случае, доступ будет всё-для-всех.


Может это в Справочник отправить, который в разделе форума Документация? Чтобы не потерялось.
« Последнее редактирование: 30.01.2021 18:37:35 от Speccyfighter »

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Я за, у меня та тема всегда в избранном.  :-)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Готово:

Приёмы профессиональной работы в shell (справочник - вопросы не задавать. )
Монтирование NTFS
https://forum.altlinux.org/index.php?topic=32361.msg355912#msg355912