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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #30 : 03 Декабря 2020, 10:32:30 »
Да но в ней нет опций nosuid, noexec и nodev
Крайне редко они нужны. Если очень надо - укажите "users,exec".
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3269
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #31 : 03 Декабря 2020, 13:44:45 »
snowin, в смысле не может прочитать файл, на который указывает ссылка.
Пётр.

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 886
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #32 : 03 Декабря 2020, 13:54:16 »
Peter_I, а можно конкретную команду?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3269
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #34 : 03 Декабря 2020, 17:13:50 »
snowin, я же приводил скрипт. Если создавать ссылку вручную, то же самое.

Пользователь добавил сообщение 03 Декабря 2020, 21:26:57:
AnrDaemon, а зачем "-d", если речь об одной ссылке? Она правильно указывает на файл, для которого создана,
и для пользователя и для root'а. Но root не может по ней прочитать текствоый файл, если ссылка указывает на него,
сообщение "Permission denied", хотя может зайти в каталог с этим файлом и там его прочитать, в mc, например.
Как-то непонятно, у любой ссылки права 777. При этом, если root создаст в /tmp ссылку на этот файл в пользовательском
каталоге, то и он и пользователь могут по ней прочитать этот файл, а по ссылке, созданной пользователем, прочитать
может только он. Владельцем ссылки является тот, кто её создал, root может удалить обе.
« Последнее редактирование: 04 Декабря 2020, 20:01:43 от Peter_I »
Пётр.

Оффлайн valrust

  • Активист
  • *
  • Сообщений: 372
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #35 : 04 Декабря 2020, 12:32:53 »
Если создавать ссылку вручную, то же самое.
Покажите команду как вы создаете ссылку вручную.

Пользователь добавил сообщение 04 Декабря 2020, 12:33:59:
Но root не может по ней прочитать текствоый файл
Покажите команду, которая читает.

Пользователь добавил сообщение 04 Декабря 2020, 12:39:21:
Напишите весь протокол работы в консоли и в свой скрипт добавьте отладку. Для включения отладки скрипта в нем измените строку с шебанг на вот такую:
Код: (bash) [Выделить]
#!/bin/bash -x
« Последнее редактирование: 04 Декабря 2020, 12:40:45 от valrust »

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 886
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #36 : 04 Декабря 2020, 14:47:47 »
Но root не может по ней прочитать текствоый файл, если ссылка указывает на него
ln -s ~/keep.log /tmp/keepсоздал линк на текстовый файл
ls -l /tmp/keep
Цитировать
keep -> /home/vasj/keep.log
вывод
Цитировать
lrwxrwxrwx  1 vasj vasj     21 дек  4 14:40  keep -> /home/vasj/keep.log
sudo -i
Цитировать
root ~# less /tmp/keep
/tmp/keep: Отказано в доступе
Peter_I, и почему ты решил, что у тя не так, как у других?
про sticky bit не забьл?

« Последнее редактирование: 04 Декабря 2020, 14:50:15 от snowin »

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3269
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #37 : 04 Декабря 2020, 20:07:52 »
valrust, а что, есть варианты? Например, если я в каталоге со своим файлом, то
ln -sf `pwd`/name.sum /tmp/sumлибо её же из скрипта. Читать пытаюсь из mc по F3. А что именно отлаживать, ссылка ведь создаётся,
только root по ней не может прочитать файл.

Пользователь добавил сообщение 04 Декабря 2020, 20:16:07:
snowin, я и сам видел и сказал раньше, что на /tmp sticky-bit, так это означает, что файлы, созданные в таком каталоге,
принадлежат владельцу каталога. Но, если я, как пользователь, создаю ссылку в /tmp, она продолжает принадлежать мне.
И почему root не может прочитать файл по такой ссылке, хотя может войти в каталог, на файл в котором она указывает?
Пользователь ведь может это сделать по ссылке, созданной root'ом. У ссылки ведь права 777 и они всё равно не применяются.
В Astra Linux у меня ведь этот скрипт работает, в Debian тоже работал.
« Последнее редактирование: 04 Декабря 2020, 20:16:52 от Peter_I »
Пётр.

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 886
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #38 : 04 Декабря 2020, 21:19:48 »
Peter_I,
Цитировать
uname -a
Linux seller 4.19.0-11-amd64 #1 SMP Debian 4.19.146-1 (2020-09-17) x86_64 GNU/Linux
я проделал в этой системе аналогичные действия - результат тот же самый
Цитировать
tmp/bashrc: Отказано в доступе
не знаю почему у тебя получалось это сделать на дебиане?
или объясни мне, что я делаю не так?


Пользователь добавил сообщение 04 Декабря 2020, 21:24:07:
я и сам видел и сказал раньше, что на /tmp sticky-bit, так это означает, что файлы, созданные в таком каталоге, принадлежат владельцу каталога
это не правда, у меня не так
они принадлежат тому, кто их создал
но удалить их никто кроме владельца не может, ну и конечно рута
« Последнее редактирование: 04 Декабря 2020, 21:24:07 от snowin »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7818
  • We were here
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #39 : 04 Декабря 2020, 21:43:29 »
а /tmp не с nosuid случайно?
mount | grep /tmp
Пользователь добавил сообщение 04 Декабря 2020, 21:49:39:
я проделал в этой системе аналогичные действия - результат тот же самый
На арче тоже
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 04 Декабря 2020, 21:50:22 от 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
« Ответ #40 : 04 Декабря 2020, 23:15:38 »
ALiEN175, так у меня /tmp не раздел, а каталог в /.
Хорошо, тогда вопрос, почему root'у отказано в доступе к файлу, который он может прочитать.
Пётр.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7818
  • We were here
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #41 : 04 Декабря 2020, 23:18:38 »
так у меня /tmp не раздел, а каталог в /.
Не раздел. Папка в оперативке.
tmpfs on /tmp type tmpfs (rw,nodev,size=4074272k,nr_inodes=409600,inode64)


Пользователь добавил сообщение 04 Декабря 2020, 23:25:07:
хмм :-\
#: file /tmp/test
/tmp/test: broken symbolic link to /home/alien/test.txt
« Последнее редактирование: 04 Декабря 2020, 23:25:08 от 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

Оффлайн valrust

  • Активист
  • *
  • Сообщений: 372
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #42 : 04 Декабря 2020, 23:27:49 »
За блокировку symlinka для root в каталоге /tmp (точнее в каталогах со sticky bit, которые доступны всем для записи) отвечает параметр ядра fs.protected_symlinks, если он в значении 0, то блокировки нет, если в 1 единице, то работает блокировка.

Подробности в документации https://www.kernel.org/doc/Documentation/sysctl/fs.txt

Вероятно в Debian эта защита по умолчанию отключена, а в Ubuntu включена.

Под спойлером демонстрация эффекта от отключения параметра.
(Нажмите, чтобы показать/скрыть)

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7818
  • We were here
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #43 : 04 Декабря 2020, 23:30:09 »
valrust, Ого! Даже не знал.
Действительно, есть такое  :D
root@deos #: sysctl -a | grep symlink
fs.protected_symlinks = 1

Пользователь добавил сообщение 04 Декабря 2020, 23:34:27:
Ну и собственно, тесты аналогичны.  :)

« Последнее редактирование: 04 Декабря 2020, 23:34: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

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 886
    • Просмотр профиля
Re: скрипт не работает в Ubuntu
« Ответ #44 : 04 Декабря 2020, 23:39:35 »
Вероятно в Debian эта защита по умолчанию отключена, а в Ubuntu включена.
нет, в дебиане тоже 1
но да, спс за инфу

 

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