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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: SUID bit  (Прочитано 2832 раз)

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

Оффлайн Nestor

  • Активист
  • *
  • Сообщений: 347
    • Просмотр профиля
Re: SUID bit
« Ответ #15 : 02 Августа 2010, 19:18:06 »
Тогда я не могу уловить смысла Вашего предыдущего поста

Имелся ведь в виду процесс, а не файл.

По моему там чётко написано: "то будет поменян идентификатор пользователя на UID владельца файла..."

2 dr.Faust
Цитировать
Предлагаете это делать после каждого запуска F-spot?
На хрена после каждого!? Достаточно одной таблэтки

Цитировать
А чего - всего 6000 файлов обработать - нормально.
Нормально, за Вас это сделает опция  -R

Цитировать
Вобщем костылей можно придумать ещё массу
Почему костыль? Вполне стандартная операция


If you have paranoia, it doesn't mean that they do not hunt for you

Оффлайн dr.Faust

  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: SUID bit
« Ответ #16 : 02 Августа 2010, 19:23:11 »
Попробуйте - одной таблетки не достаточно...
И опция -R помогла бы, если бы было достаточно, а так нет - это отнимает время а делать это нужно всякий раз, когда добавлены новые фото.
Да, SGID не поможет - не надейтесь...

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: SUID bit
« Ответ #17 : 02 Августа 2010, 19:30:55 »
По моему там чётко написано: "то будет поменян идентификатор пользователя на UID владельца файла..."
Тебе в третий раз объяснять, что я имел виду процесс или ещё подискутируем?

Оффлайн Nestor

  • Активист
  • *
  • Сообщений: 347
    • Просмотр профиля
Re: SUID bit
« Ответ #18 : 02 Августа 2010, 19:35:22 »
Попробуйте - одной таблетки не достаточно...
И опция -R помогла бы, если бы было достаточно, а так нет - это отнимает время а делать это нужно всякий раз, когда добавлены новые фото.
Да, SGID не поможет - не надейтесь...

Каждое вновь созданное фото (файл) будет "автоматически" принадлежать той же группе, что и ваши пользователи, так что ничего делать не придётся, для
этого и устанавливается признак sgid

Пользователь решил продолжить мысль [time]Mon Aug  2 19:39:30 2010[/time]:
По моему там чётко написано: "то будет поменян идентификатор пользователя на UID владельца файла..."
Тебе в третий раз объяснять, что я имел виду процесс или ещё подискутируем?

Извини телепатией не обладаю, что ты там имел в виду не догадался (про скрипт тоже имел в виду ? :) ), в следующий раз пиши яснее
« Последнее редактирование: 02 Августа 2010, 19:53:09 от Nestor »


If you have paranoia, it doesn't mean that they do not hunt for you

Оффлайн dr.Faust

  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: SUID bit
« Ответ #19 : 02 Августа 2010, 20:01:00 »
Каждое вновь созданное фото (файл) будет "автоматически" принадлежать той же группе, что и ваши пользователи, так что ничего делать не придётся, для
этого и устанавливается признак sgid
Допускаю, что вы знаете как работает, sgid но тогда вы не знаете ка работает f-spot.
Пробема в том, что файлы созданные в папке Снимки и всех папказ в ней на момент применения свойств, действительно получат нужную группу, но этого решения вам хватит ровно на сутки.
На следующий день при экспорте фото f-spot создаст новую директорию (он создаёт директорию на каждую новую дату изображений ). Папка унаследует группу, как и файл, но не бит SGID. Что из этого вытекает объяснять нужно?
А ведь между тем суидный бит на папке бессмысленен. Ну наделите его функцией наследования всех адрибутов папки и всё - получим классное решение но нет... у нас и так всёхорошо, оказывается.
« Последнее редактирование: 02 Августа 2010, 20:03:43 от dr.Faust »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: SUID bit
« Ответ #20 : 02 Августа 2010, 20:06:42 »
(про скрипт тоже имел в виду ? :) ), в следующий раз пиши яснее
Ок; А про скрипт, что имею то и
mamon@mamon-desktop:~$ ls suidscript -la
-rwsr-xr-x 1 root root 21 2010-08-02 20:04 suidscript
mamon@mamon-desktop:~$ cat suidscript
#!/bin/bash
echo $EUID
mamon@mamon-desktop:~$ ./suidscript
1000

в то же время с бинарником:

mamon@mamon-desktop:~$ cat suidbin.c
#include <stdio.h>
#include <sys/types.h>

int
main()
{
printf ("%d\n", geteuid());
return 0;
}
mamon@mamon-desktop:~$ gcc -o suidbin suidbin.c
mamon@mamon-desktop:~$ ls -la suidbin
-rwxr-xr-x 1 mamon mamon 7182 2010-08-02 20:15 suidbin
mamon@mamon-desktop:~$ ./suidbin
1000
mamon@mamon-desktop:~$ sudo chown root:root suidbin
mamon@mamon-desktop:~$ sudo chmod +s suidbin
mamon@mamon-desktop:~$ ls -la suidbin
-rwsr-sr-x 1 root root 7182 2010-08-02 20:15 suidbin
mamon@mamon-desktop:~$ ./suidbin
0

« Последнее редактирование: 02 Августа 2010, 20:16:02 от Mam(O)n »

Оффлайн Nestor

  • Активист
  • *
  • Сообщений: 347
    • Просмотр профиля
Re: SUID bit
« Ответ #21 : 02 Августа 2010, 20:11:14 »
Каждое вновь созданное фото (файл) будет "автоматически" принадлежать той же группе, что и ваши пользователи, так что ничего делать не придётся, для
этого и устанавливается признак sgid
Допускаю, что вы знаете как работает, sgid но тогда вы не знаете ка работает f-spot.
Пробема в том, что файлы созданные в папке Снимки и всех папказ в ней на момент применения свойств, действительно получат нужную группу, но этого решения вам хватит ровно на сутки.
На следующий день при экспорте фото f-spot создаст новую директорию (он создаёт директорию на каждую новую дату изображений ). Папка унаследует группу, как и файл, но не бит SGID. Что из этого вытекает объяснять нужно?
А ведь между тем суидный бит на папке бессмысленен. Ну наделите его функцией наследования всех адрибутов папки и всё - получим классное решение но нет... у нас и так всёхорошо, оказывается.

Кажется задача была в том чтобы пользователи могли работать со своими фото и с фото др. пользователей, мы это и получим, при чём здесь признак suid? Он действительно на папку не выставляется.


If you have paranoia, it doesn't mean that they do not hunt for you

Оффлайн dr.Faust

  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: SUID bit
« Ответ #22 : 02 Августа 2010, 20:22:42 »
Я просто предложил способ это реализовать.
А решения задачи мы так и не получим.
Положим у нас етсь папка Снимки и она есть папка хранения фото.
Пользователь А импортирует позавчерашние фото.
F-spot создаёт в папке снимков следующую цепочку Снимки/2010/07/31 и кидает позавчерашние фотки в созданную директорию.
Пользователь А меняет рекурсивно группу и ставит на папки SGID рекурсивно.
Жизнь прекрассна.
Вечером пользователь Б добавляет вчерашние и позавчерашние фото со своей камеры. Позавчерашние фото ложатся в папку Снимки/2010/07/31 и получают общую группу, а под вчерашние создаётся папка  Снимки/2010/08/01 и эта папка уже не имеет бита SGID и фотки в ней принадлежат пользователю Б и группе Б.
Жизнь уже не так прекрасна как казалось в начале - праздник оказался недолгим...

Оффлайн Nestor

  • Активист
  • *
  • Сообщений: 347
    • Просмотр профиля
Re: SUID bit
« Ответ #23 : 02 Августа 2010, 20:28:57 »
(про скрипт тоже имел в виду ? :) ), в следующий раз пиши яснее
Ок; А про скрипт, что имею то и
mamon@mamon-desktop:~$ ls suidscript -la
-rwsr-xr-x 1 root root 21 2010-08-02 20:04 suidscript
mamon@mamon-desktop:~$ cat suidscript
#!/bin/bash
echo $EUID
mamon@mamon-desktop:~$ ./suidscript
1000

в то же время с бинарником:

mamon@mamon-desktop:~$ cat suidbin.c
#include <stdio.h>
#include <sys/types.h>

int
main()
{
printf ("%d\n", geteuid());
return 0;
}
mamon@mamon-desktop:~$ gcc -o suidbin suidbin.c
mamon@mamon-desktop:~$ ls -la suidbin
-rwxr-xr-x 1 mamon mamon 7182 2010-08-02 20:15 suidbin
mamon@mamon-desktop:~$ ./suidbin
1000
mamon@mamon-desktop:~$ sudo chown root:root suidbin
mamon@mamon-desktop:~$ sudo chmod +s suidbin
mamon@mamon-desktop:~$ ls -la suidbin
-rwsr-sr-x 1 root root 7182 2010-08-02 20:15 suidbin
mamon@mamon-desktop:~$ ./suidbin
0


Я не программист, ты мне мозги не парь, но по крайней мере я вижу это

alex@alex-desktop:~$ sudo echo -e '#!/bin/bash\necho $UID' > suidscript
[sudo] password for alex:
alex@alex-desktop:~$ sudo chmod u+x  suidscript
alex@alex-desktop:~$ ./suidscript
bash: ./suidscript: Отказано в доступе

alex@alex-desktop:~$ sudo chmod 4755 suidscript
alex@alex-desktop:~$  ./suidscript
1000

alex@alex-desktop:~$ ls  -l suidscript
-rwsr-xr-x 1 alex alex 22 2010-08-02 19:18 suidscript
alex@alex-desktop:~$

Признак suid спокойно работает со скриптом
или что ты там что имею то и
« Последнее редактирование: 02 Августа 2010, 22:10:29 от Nestor »


If you have paranoia, it doesn't mean that they do not hunt for you

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: SUID bit
« Ответ #24 : 02 Августа 2010, 20:56:18 »
alex@alex-desktop:~$  ./suidscript
1000
alex@alex-desktop:~$ ls  -l suidscript
-rwsr-xr-x 1 alex alex 22 2010-08-02 19:18 suidscript

Признак suid спокойно работает со скриптом
или что ты там что имею то и
Ты издеваешься или действительно не понял, как работает SUID? Во-первых у тебя владелец файла alex и запускаешь ты его под alex и получаешь в итоге 1000-ный UID что соответствует пользователю alex. И где именно здесь по-твоему отработал SUID?

Оффлайн dr.Faust

  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: SUID bit
« Ответ #25 : 02 Августа 2010, 20:58:41 »
SUID не работает со скриптами.
Да и не нужен он для них  - лишняя дыра в безопасности будет.
Используйте sudoers  и не парьтесь.

Пользователь решил продолжить мысль 02 Августа 2010, 21:08:06:
Поделюсь на всяк случай своим решением.
Для себя я сделал такие настройки - добавил в sudoers:
%advancers ALL=(root) /sbin/advancers/asroot-*
%advancers ALL=NOPASSWD:/sbin/advancers/nopass-*
%advancers ALL=NOPASSWD:/sbin/advancers/*-nopass-*
Создал группу advancers.
Что имеем:
Все кто у группе advancers имеют возможность выполнять скрипты имеющие префикс nopass- без пароля и имеющие префикс asroot- от имени рута. Соответственно скрипты с префиксом asroot-nopass- будут выполнятся от имени рута и без пароля.
Всё это распространяется только на скрипты в папке /sbin/advancers.
Это очень удобно и гуманоидно. Кладём скрипт в нудную папку и прямо по русски приписываем к нему - asroot- - не надо - убираем. Не надо лазить в свойства, постоянно править sudoers и т.п.
« Последнее редактирование: 02 Августа 2010, 21:08:06 от dr.Faust »

Оффлайн Nestor

  • Активист
  • *
  • Сообщений: 347
    • Просмотр профиля
Re: SUID bit
« Ответ #26 : 02 Августа 2010, 22:18:00 »
Цитировать
Ты издеваешься или действительно не понял, как работает SUID? Во-первых у тебя владелец файла alex и запускаешь ты его под alex и получаешь в итоге 1000-ный UID что соответствует пользователю alex. И где именно здесь по-твоему отработал SUID?

Понял, должен был получить 0. Признаю, здесь был не прав  :'(


If you have paranoia, it doesn't mean that they do not hunt for you

 

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