Кстати о sgid

Ivan8209

Почему нет "sg" по аналогии с "su"?
---
A44: Ламеры в гамаке пусть в тапках трахаются --- это их проблемы.
Я в своём гамаке хочу полноценно трахаться на лыжах.

Marinavo_0507

В NetBSD нет? Хм.

Marinavo_0507

Может, хотя бы newgrp есть?

Ivan8209

А где есть?
Я просмотрел почти всё из http://www.freebsd.org/cgi/man.cgi
Хотя мне кажется, что я где-то это видел.
---
A44: Ламеры в гамаке пусть в тапках трахаются --- это их проблемы.
Я в своём гамаке хочу полноценно трахаться на лыжах.

Ivan8209

В общем, старшие товарищи объяснили, что задавать такие вопросы --- ересь,
святой дух исходит только от бога-отца и по-другому делать не кошерно.
---
Q16: что хуже фря или соляра?

tokuchu

В общем, старшие товарищи объяснили, что задавать такие вопросы --- ересь,
святой дух исходит только от бога-отца и по-другому делать не кошерно.
Ха-ха. Как линукс сосёт --- так кошерно, а как BSD --- то не кошерно.

NAME
sg - execute command as different group ID
SYNOPSIS
sg [-] [group [-c ] command]
...

Ivan8209

BSD работает иначе, чем линукс, поэтому sg/newgrp там почти бесполезна.
Тебе привести объяснение?

<dh__> traditionally, BSD doesn't have newgrp because it doesn't do anything
useful in a BSD environment; however, if you really want it, there's a
Linux version and you can probably compile that for NetBSD without too
much fuss.
<alaricsp> What's it do that's useful in a NON-BSD environment, out of
interest?
<dh__> basically setgid(somegid); exec($SHELL)
<dh__> which is useful in an AT&T world because in an AT&T world the results
of getgid are used to set the group owner when creating new files.
<dh__> also, I believe very old AT&T worlds didn't have supplementary groups,
setgroups or getgroups
<dh__> so it was the only way to use more than one gid.
<alaricsp> So it just affects what group owns new files you make? Handy, I
guess, for when you're putting files into shared areas and want it
to all look neat.
<alaricsp> Ah, I can see it being handy then.
<alaricsp> Thanks!
<dh__> yeah, except in BSD the default group is inherited from the containing
directlry
<dh__> directory, too.
<dh__> so it's not too useful
<dh__> that's how you do that in the sysv world
<dh__> it's the default in bsd
<dh__> traditionally
<dh__> (all of this is not as clear-cut as it was in 1989)
<dh__> sometimes, if you have an nfs volume, a bsd client, and a sysv server,
something like newgrp might be useful, I think.
<dh__> although judicious use of g+s on dirs should make the problem go away
even then.

---
A9: ОС - это БЗДя

Marinavo_0507

чё за бред?

Ivan8209

Разговор с Иркой.
Потом проверю по манам, сегодня лень.
---
...Я работаю...

Marinavo_0507

it doesn't do anything useful in a BSD environment
для опровержения достаточно одного контрпримера, не нужно смотреть маны

Ivan8209

ОС не обязана иметь средства для решения редко встречаемых задач.
---
...Я работаю антинаучным аферистом...

Marinavo_0507

Ну вот ты и ответил на свой вопрос.
А задача встречается редко, потому что нет хороших средств.

Ivan8209

У меня задача решилась другим, более очевидным, способом.
---
...Я работаю...

marriaje

Ну приведи, интересно же!
А то читаешь вас и комплексы развиваются...

Marinavo_0507

эээ
ну а для чего, по твоему, вообще нужны группы?

marriaje

Ну для меня это из серии такой, что вряд ли когда-нибудь пригодится. Но примеры были понятные, поэтому интересно.

Marinavo_0507

группы нужны, например, чтоб определять, кто имеет доступ к каким-то файлам
можно сделать для группы общий пароль, таким образом

Ivan8209

Кстати, я не особо-то заметил частое использование групп в
линуксах, обычно используют что-то поверх PAM.
---
...Я работаю антинаучным аферистом...

shlyumper

невнимательно смотрел?

Ivan8209

Приведёшь внушительные примеры?
---
...Я работаю антинаучным аферистом...

shlyumper

Ну, не знаю, использование групп для разграничения прав на файловой системе - это достаточный пример?

Ivan8209

В каких серьёзных приложениях это используется?
Я думаю, что chroot/jail используются для этого чаще, чем группы.
---
...Я работаю антинаучным аферистом...

shlyumper

В каких серьёзных приложениях это используется?
Чтобы банально доступ к файлам в большой организации людям согласно административному делению раздать. Это серьезное приложение?
Я думаю, что chroot/jail используются для этого чаще, чем группы.
Слишком много думаешь
Почему-то фантазия многих юниксоидов форума ограничивается двумя классами задач:
1. Сервер.
2. Мой компьютер.
Есть еще класс №3 как минимум:
3. Корпоративная сеть с кучей рабочих машин на *nix, документооборот, совместная работа, сложные клиент-серверные приложения, которые под *nix и работают не в браузере (ха-ха! и такое бывает и все такие дела. Сразу вступают в игру всякие там AFS'ы, Kerberos'ы и другие развлечения. И группы сразу очень нужны становятся. И ACL'и не ограничиваются 12 битами. И еще много-много-много другого.
Такое впечатление, что почему-то считается, что класс задач №3 — это всегда венда

Marinavo_0507

Такое впечатление, что почему-то считается, что класс задач №3 — это всегда венда
Ты же сам сказал недавно, почему.
Там же менеджер может видео в презентацию вставить, а в больших организациях красивые презентации - это самое главное.
1. Сервер.
Однако и тут полно применений группам.

shlyumper

Ну я могу понять, почему считается что венда для задач №3 популярнее (да так оно и есть, конечно но почему надо считать что юниксы для этих задач не используются --- это я уже не понимаю.

Marinavo_0507

Используется, но там нет ничего "впечатляющего" (типа презентаций с видео поэтому эти приложения не "серьёзные".

marriaje

Ну да. Но там выше был один пример, зачем может быть нужен sgid - чтобы файл создавался принадлежащим той группе, которой директория, а не default группе юзера создающего. А потом написано что в BSD это и без sgid так будет.
Ну ладно, если тебе лень придумывать, то фиг с ним, все равно это у меня праздный интерес. Я просто так твою реплику понял, что ты знаешь сходу другой пример для sgid, просто не написал.

shlyumper

Но там выше был один пример, зачем может быть нужен sgid - чтобы файл создавался принадлежащим той группе, которой директория, а не default группе юзера создающего.
На лиинуксовых файловых системах можно добиться этого же эффекта без sgid:

In addition to the three sets of three permissions listed above, a
file's permissions have three special components, which affect only
executable files (programs) and, on some systems, directories:
...
2. set the process's effective group ID to that of the file upon
execution (called the "setgid bit"). For directories on some
systems, put files created in the directory into the same group as
the directory, no matter what group the user who creates them is
in.

Marinavo_0507

ещё б umask зависел от директории, и от этого могла бы быть польза

shlyumper

Дык представь себе!

ACL TEXT FORMS
A long and a short text form for representing ACLs is defined. In both
forms, ACL entries are represented as three colon separated fields: an
ACL entry tag type, an ACL entry qualifier, and the discretionary access
permissions. The first field contains one of the following entry tag type
keywords:
...
ACL_MASK The ACL_MASK entry denotes the maximum access
rights that can be granted by entries of type
ACL_USER, ACL_GROUP_OBJ, or ACL_GROUP.
Для просветления читать acl(5 getfacl(1 setfacl(1). На бздях вроде acl(9).

shlyumper

А еще бывают продвинутые файловы системы™, например AFS. Там ACLы вообще супер-пупер гибкие, и даже бывают всякие извращения для "кроссплатформенности": например, в symlink'ах, содержащих в target'е слово @sys, это слово будет заменено на "название типа" операционной системы клиента, например:
делаем
mkdir -p .i386_linux26/bin
mkdir -p .i386_nt40/bin
mkdir -p .sun4x_57/bin
mkdir -p .sgi_65/bin
mkdir -p .rs_aix42/bin
ln -s bin .@sys/bin
Раскладываем программу, скомпилированную по этим системам в бины, и дальше радуемся кросплатформенной жизни.

Marinavo_0507

когда буду работать в большой организации (tm обязательно воспользуюсь этой новомодной шнягой

shlyumper

этой новомодной шнягой
Новомодной? POSIX 1003.1e DRAFT 17, 1997.

Marinavo_0507

Ну да, всего 10 лет. Позже, чем Windows 95.
А в линуксе так совсем недавно.
Оставить комментарий
Имя или ник:
Комментарий: