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


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

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

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

Оффлайн serafim@

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
SUID bit
« : 02 Августа 2010, 00:31:00 »
Цитировать
Атрибут файла, в совокупности с атрибутом исполняемого файла позволяет запускаемому файлу выполняться с эффективным UID владельца файла, а не того, кто запускает файл.
Например на файл passwd имеет SUID bit, что выходит, что его редактировать может любой пользователь?
Объясните, я так и не понял какие права имеют другие пользователи с файлами с SUID bit ?

Оффлайн proctoleha

  • Активист
  • *
  • Сообщений: 364
    • Просмотр профиля
Re: SUID bit
« Ответ #1 : 02 Августа 2010, 01:06:11 »
Не редактировать, а исполнять может любой пользователь в пределах своих полномочий.
Пользователей может быть много. С рутом думаю понятно - ему закон не писан, он беспредельщик типа :).
Первый пользователь по умолчанию тоже админ, и может запускать любые проги с правами рута, но к некоторым файлам его не пускают и это правильно.
Остальные юзеры - простые смертные и если они не знают пароль админа, то сосут лапу. Их может быть много. И представь ситуацию: кто-то у кого-то по пьянке выпытал его пароль :) и начинает творить беспредел под чужой учеткой.
Первому юзеру это не нравится, ему надо сменить пароль. Если бы не было этого бита, о котором идет речь, ему надо было бы идти к админу, каяться во всех грехах и просить сменить пароль, т.к. файл системный и просто так его не изменишь.
Но SUID bit  позволяет потерпевшему самому запустить утилиту passwd без заветной команды sudo, и сменить свой и только свой пароль. Т.е. он может работать с этой программой только в пределах своих полномочий, запуская её при этом от имени владельца.

И вот когда я это понял - я полюбил линух ещё больше. Linux изначально был многопользовательской системой, и настроить права юзеров можно как угодно! Главное молчать как партизан по поводу своего пароля, если ты админ!
« Последнее редактирование: 02 Августа 2010, 01:07:48 от proctoleha »
За что я временами ненавижу Линукс - так это за свои кривые руки

Оффлайн serafim@

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: SUID bit
« Ответ #2 : 02 Августа 2010, 01:14:53 »
Цитировать
исполнять может любой пользователь в пределах своих полномочий.
Они и так могут это делать и без SUID bit.
Сменить пароль, это тоже самое, что отредактировать файл, без этого никуда.
2proctoleha Если, я сам создам файл и добавлю SUID bit, то что все пользователи будут иметь все те же права что и владелец, я прав?
Или какие то ограничения?
« Последнее редактирование: 02 Августа 2010, 01:19:18 от serafim@ »

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

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: SUID bit
« Ответ #3 : 02 Августа 2010, 01:24:53 »
Если установлен бит SUID на исполняемый файл (кроме скриптов), то будет поменян идентификатор пользователя запускаемого процесса на UID владельца файла, от имени которого будет он запущен..

Иного эффекта на файлы этот бит не имеет...
« Последнее редактирование: 02 Августа 2010, 20:07:40 от Mam(O)n »

Оффлайн proctoleha

  • Активист
  • *
  • Сообщений: 364
    • Просмотр профиля
Re: SUID bit
« Ответ #4 : 02 Августа 2010, 01:58:02 »
Цитировать
исполнять может любой пользователь в пределах своих полномочий.
Они и так могут это делать и без SUID bit.
Сменить пароль, это тоже самое, что отредактировать файл, без этого никуда.
2proctoleha Если, я сам создам файл и добавлю SUID bit, то что все пользователи будут иметь все те же права что и владелец, я прав?
Или какие то ограничения?
Проведите эксперимент (какие будут последствия я хз):
1. Под рутом снимите SUID bit с файла /usr/bin/passwd
2. Представьте, что вы обычный юзер и поробуйте без sudo сменить пароль.

Пользователь решил продолжить мысль 02 Августа 2010, 02:10:37:
Только что попробовал сам, для чистоты эксперимента:
alex@alex:~$ passwd
Смена пароля для alex.
(текущий) пароль UNIX:
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:
passwd: Ошибка при операциях с маркером проверки подлинности
passwd: пароль не изменён

Пользователь решил продолжить мысль 02 Августа 2010, 02:23:27:
Если, я сам создам файл и добавлю SUID bit, то что все пользователи будут иметь все те же права что и владелец, я прав?
Или какие то ограничения?
Нужен не просто файл а бинарник, который бы еще и был системным
« Последнее редактирование: 02 Августа 2010, 02:23:27 от proctoleha »
За что я временами ненавижу Линукс - так это за свои кривые руки

Оффлайн dr.Faust

  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: SUID bit
« Ответ #5 : 02 Августа 2010, 02:49:57 »
Пользователи получают все те же права, что и рут в работе с программой на котрой стоит суидный бит, а отнюдь не в пределах своих полномочий. То что вы можете поменять ТОЛЬКО свой пароль, звслуга не суидного бита, а грамотно спроектированной системы контроля доступа внутри самой программы passwd.
Так что с битом этим надо быть очень осторожным и не лепить его куда не следует.
Вообще юниксовские права доступа зрелище весьма убогое... пока вы неп ознакомитесь с ACL и sudoers. А когда познакомитесь никакие суидные биты уже нужны вам не будут.

Оффлайн MA3X

  • Активист
  • *
  • Сообщений: 649
    • Просмотр профиля
Re: SUID bit
« Ответ #6 : 02 Августа 2010, 11:48:25 »
Вообще юниксовские права доступа зрелище весьма убогое... пока вы неп ознакомитесь с ACL и sudoers.

Они не убогие, они достаточные.
:)
Microsoft isn't the answer.
Microsoft is the question, and the answer is NO.

Оффлайн proctoleha

  • Активист
  • *
  • Сообщений: 364
    • Просмотр профиля
Re: SUID bit
« Ответ #7 : 02 Августа 2010, 13:26:26 »
Убогие права в линуксе! П@ц надо же такое сказать. С чем сравниваем уважаемый? Если на никсах убогие, то скажите, где неубогие? И говоря об убогости прав доступа автор не нашел ничего лучшего, как упомянуть об ASL и sudoers. А это что не из линукса, откуда то сбоку? Не хватает стандартных настроек лезьте дальше, но зачем говорить от убогости? Или это где то еще реализовано?
Лично до меня только сейчас дошло как без правки sudoers запускать тот же shutdown под юзером. И теперь у меня на столе 3 ярлыка - shutdown, reset, logout.
Так что спасибо TC за топик, подтолкнул лишний раз подумать :)
За что я временами ненавижу Линукс - так это за свои кривые руки

Оффлайн dr.Faust

  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: SUID bit
« Ответ #8 : 02 Августа 2010, 13:52:11 »
ASL и sudoers. А это что не из линукса, откуда то сбоку?
Из линукс, из линукса (по крайней мере можете так считать). Но именно это я и имел ввиду - убогие, если вы не юзаете ACL. Или у вас Ubuntu вдруг стала поставлятся с ACL?
ОК.
Будем считать, что права без ACL не убогие.
Задача:
На компе 2 пользователя, но они используют общую папку с фотографиями и оба юзают F-Spot. - Стандартная ситуация для домашнего компьютера.
Теперь давайте попробуем с помощью супер продвинутой системы прав реализовать эту задачу. Предположим что люди поставили себе Ubuntu, и вот хотят так сделать, чтобы работать с общими фотками, изменять их добавлять, настраивать F-spot - создавать в нём категории и т.п., но ещё так, чтобы их ребёнок тоже мог смотреть фотки, но изменения вносить не смог.
Задачка простая, штатная распространённая. Вперёд.

Оффлайн Nestor

  • Активист
  • *
  • Сообщений: 347
    • Просмотр профиля
Re: SUID bit
« Ответ #9 : 02 Августа 2010, 17:26:03 »
Если установлен бит SUID на исполняемый файл (кроме скриптов), то будет поменян идентификатор пользователя на UID владельца файла, от имени которого будет он запущен..

Иного эффекта этот бит не имеет...

В системе два пользователя alex и oksana, определю UID обоих пользователей

alex@alex-desktop:~$ id
uid=1000(alex) gid=1000(alex) группы=4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare),1000(alex)

alex@alex-desktop:~$ id oksana
uid=1001(oksana) gid=1001(oksana) группы=1001(oksana),4(adm),20(dialout),21(fax),24(cdrom),25(floppy),26(tape),30(dip),44(video),46(plugdev),104(fuse),121(nopasswdlogin)

Теперь я (alex) превращусь в пользователя oksana с его переменными окружения
alex@alex-desktop:~$ whoami
alex
alex@alex-desktop:~$ su -l oksana
Пароль:
oksana@alex-desktop:~$ whoami
oksana

От имени пользователя oksana запущу файл dog, который принадлежит пользователю alex,  является исполняемым скриптом и имеет признак suid

$ ls -l dog
-rwsr-xr-x 1 alex alex 721 2010-07-01 13:52 dog

oksana@alex-desktop:~$ /home/alex/dog
Строка "string1" пустая. ## проверка строки

Вновь проверю UID пользователя oksana

oksana@alex-desktop:~$ id oksana
uid=1001(oksana) gid=1001(oksana) группы=1001(oksana),4(adm),20(dialout),21(fax),24(cdrom),25(floppy),26(tape),30(dip),44(video),46(plugdev),104(fuse),121(nopasswdlogin)

Ничего не изменилось :)

2  dr.Faust

sudo chmod -R 2774 my_dir  не оно










« Последнее редактирование: 02 Августа 2010, 18:01:36 от Nestor »


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

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

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: SUID bit
« Ответ #10 : 02 Августа 2010, 18:18:43 »
Ничего не изменилось :)
Не могу уловить смысла эксперимента. А с какого должно чего изменится? SUID оказывает влияние только на запускаемый процесс и не более.

Оффлайн Nestor

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


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

Оффлайн dr.Faust

  • Активист
  • *
  • Сообщений: 435
    • Просмотр профиля
Re: SUID bit
« Ответ #12 : 02 Августа 2010, 18:44:59 »
Конечно оно!
Предлагаете это делать после каждого запуска F-spot? (Ведь в нём могут быть добавлены новые изображения.)
А чего - всего 6000 файлов обработать - нормально.
Можете предложить ещё поиск файлов по их правам и изменения только тех прав, которые "неправильный". Вобщем костылей можно придумать ещё массу, но без списков контроля доступа эта задача по человечески не решаема...

Оффлайн RustemNur

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2939
  • умрешь с вами
    • Просмотр профиля
Re: SUID bit
« Ответ #13 : 02 Августа 2010, 18:45:30 »
Тогда я не могу уловить смысла Вашего предыдущего поста

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

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

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: SUID bit
« Ответ #14 : 02 Августа 2010, 19:16:35 »
Дада, речь именно о процессе идёт..

 

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