Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: скрипт не работает в Ubuntu  (Прочитано 3897 раз)

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

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7818
  • We were here
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #15 : 30 Ноября 2020, 21:44:05 »
когда я вхожу в /tmp как root, то вижу эту же ссылку красной и с '!'и файл прочитать не могу.
Тут затронуто что-то очень глубинное, самые основы Linux, возножно, это чьи-то козни.
Повангую:
На какую-то из папок пути /home/peter/archive/iso/ где-то права 700

namei -l /home/peter/archive/iso/
« Последнее редактирование: 30 Ноября 2020, 21:53:27 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3269
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #16 : 30 Ноября 2020, 22:44:51 »
ALiEN175, нет, везде стандартные, 755.
Пётр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #17 : 01 Декабря 2020, 09:54:13 »
Она и должна принадлежать вам. Монтирование всё равно идёт от рута.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 886
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #18 : 01 Декабря 2020, 12:49:07 »
попробовал - получилось примонтировать через линк

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3269
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #19 : 01 Декабря 2020, 13:42:49 »
AnrDaemon, так я же сказал:
Вот ссылка, созданная мною при нахождении в /tmp, принадлежит root, а созданная из моего каталога принадлежит мне и в мой каталог войти не может.

Когда я из своего каталога создаю ссылку в /tmp и потом как пользователь вхожу в /tmp, то ссылка работает, а если я вхожу в /tmp как root,
то не работает.
У меня же в /etc/fstab строки для монтирования образа с опцией users, и скрипт я запускаю как пользователь,
но в Ubuntu монтирование не происходит.
Пётр.

Оффлайн valrust

  • Активист
  • *
  • Сообщений: 372
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #20 : 01 Декабря 2020, 23:56:29 »
Повангую:
На какую-то из папок пути /home/peter/archive/iso/ где-то права 700
Для root не имеет значение какие права на каталогах в пути.

Пользователь добавил сообщение 02 Декабря 2020, 00:40:42:
AnrDaemon, Я уже заметил, что у создаваемых мною ссылок в этих случаях разные права
Права на саму ссылку не играют никакой роли. Можно считать, что у ссылок нет прав или для всех процессов права одинаковые.

Пользователь добавил сообщение 02 Декабря 2020, 01:45:27:
if [ `grep -c "/mnt/udf" /etc/mtab` -eq 1 ] ;  then
Может заменить на
Код: (bash) [Выделить]
if mountpoint -q /mnt/udf ;  then
Пользователь добавил сообщение 02 Декабря 2020, 01:48:30:
  ln -sf `pwd`/$1 /tmp/udf
  mount /tmp/udf
Предлагаю заменить на
Код: (bash) [Выделить]
udffile="$(realpath "$1")"
if [[ -f "$udffile" ]] ; then
    ln -sf "$udffile" /tmp/udf
    mount /tmp/udf
else
    echo "File not found: $1"
    exit 1
fi
« Последнее редактирование: 02 Декабря 2020, 01:48:30 от valrust »

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 886
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #21 : 02 Декабря 2020, 07:24:52 »
и вместо mount я бы использовал udiskctl loop-setup -f /tmp/udfкоторый позволяет применять монтирование без sudo и без root

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3269
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #22 : 02 Декабря 2020, 08:32:17 »
snowin, udiskctl ещё никогда не использовал, благодарю за совет, но всё же хотелось бы понять,
почему в Ubuntu для root не работает созданная мной ссылка. Что права на ссылку никогда не используются,
не должны, во всяком случае, я знаю, но тем более непонятно, почему root не может по ней зайти.

Пользователь добавил сообщение 02 Декабря 2020, 08:33:53:
valrust, благодарю, попробую, но не сию минуту.
« Последнее редактирование: 02 Декабря 2020, 08:33:53 от Peter_I »
Пётр.

Dzhoser

  • Гость
Re: скрипт не работает в Ubuntu
« Ответ #23 : 02 Декабря 2020, 09:18:00 »
Peter_I, /tmp на отдельном разделе? Если да какие опции монтирования используются?

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3269
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #24 : 02 Декабря 2020, 13:38:46 »
Dzhoser, нет, /tmp в корневом каталоге. Я в 1-м посте приводил строки из /etc/fstab
/tmp/udf /mnt/udf udf ro,noauto,users,loop=/dev/loop0,iocharset=utf8,unhide 0 0
/dev/loop0 /mnt/udf udf ro,noauto,users,loop=/dev/loop0,iocharset=utf8,unhide 0 2
но у меня root не может прочитать созданную мной ссылку.
« Последнее редактирование: 02 Декабря 2020, 13:40:52 от Peter_I »
Пётр.

Dzhoser

  • Гость
Re: скрипт не работает в Ubuntu
« Ответ #25 : 02 Декабря 2020, 13:59:37 »
/tmp/udf /mnt/udf udf ro,noauto,users,loop=/dev/loop0,iocharset=utf8,unhide 0 0
/dev/loop0 /mnt/udf udf ro,noauto,users,loop=/dev/loop0,iocharset=utf8,unhide 0 2
users замените на user

Пользователь добавил сообщение 02 Декабря 2020, 14:01:10:
user - разрешает монтирование от лица обычного пользователя, по умолчанию это имеет право сделать только root. nouser — соответсвенно запрещает (является параметром по умолчанию).
users - pазрешает монтирование от лица любого пользователя. Эта опция подразумевает параметры nosuid, noexec и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как users, exec, owner, suid и dev).

Пользователь добавил сообщение 02 Декабря 2020, 14:01:55:
« Последнее редактирование: 02 Декабря 2020, 14:03:50 от Dzhoser »

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3269
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #26 : 02 Декабря 2020, 21:22:10 »
valrust, не помогает: с realpath то же самое, что с readlink или с исходным вариантом:
root не может прочитать ссылку, созданную в /tmp, но может её удалить, а пользовател может прочитать,
в смысле то, на что она указывает.
Пётр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #27 : 03 Декабря 2020, 09:43:55 »
Dzhoser, разница между user и users в том, что размонтировать может любой пользователь.

Peter_I, ls -ld /tmp/udf покажите для такой ссылки.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Dzhoser

  • Гость
Re: скрипт не работает в Ubuntu
« Ответ #28 : 03 Декабря 2020, 10:12:00 »
Dzhoser, разница между user и users в том, что размонтировать может любой пользователь.
Да но в ней нет опций nosuid, noexec и nodev

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 886
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #29 : 03 Декабря 2020, 10:13:21 »
но у меня root не может прочитать созданную мной ссылку.
что это значит?
что значит прочитать ссылку?
команда ls не выполняется или что?

 

Страница сгенерирована за 0.019 секунд. Запросов: 21.