The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз командного интерпретатора Bash 5.0, opennews (??), 08-Янв-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "Релиз командного интерпретатора Bash 5.0"  +/
Сообщение от Аноним (1), 08-Янв-19, 11:27 
> Во встроенной команде "umask" разрешено использование режимов доступа и масок, превышающих восьмеричное значение 777

Просветите, пожалуйста, как umask может быть больше 777

Ответить | Правка | Наверх | Cообщить модератору

4. "Релиз командного интерпретатора Bash 5.0"  –2 +/
Сообщение от Аноним (4), 08-Янв-19, 11:35 
Обнуляется
Ответить | Правка | Наверх | Cообщить модератору

7. "Релиз командного интерпретатора Bash 5.0"  +8 +/
Сообщение от Аноним (7), 08-Янв-19, 11:42 
01777
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

19. "Релиз командного интерпретатора Bash 5.0"  +1 +/
Сообщение от Бананимemail (?), 08-Янв-19, 12:46 
Видать, добавили поддержку Sticky bit, Set UID, Set GID, получилось 7777.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

45. "Релиз командного интерпретатора Bash 5.0"  +1 +/
Сообщение от Нанобот (ok), 08-Янв-19, 15:18 
как минимум, в линуксе это работать не будет
в реализации системного вызова явно сбрасываются все биты старше 0777: https://github.com/torvalds/linux/blob/master/kernel/sys.c#L...
Ответить | Правка | Наверх | Cообщить модератору

99. "Релиз командного интерпретатора Bash 5.0"  +/
Сообщение от fi (ok), 09-Янв-19, 11:32 
Скорей всего будет - пример не о том
Ответить | Правка | Наверх | Cообщить модератору

126. "Релиз командного интерпретатора Bash 5.0"  +/
Сообщение от pavlinux (ok), 10-Янв-19, 13:05 
builtins/common.c
- read_octal: allow octal numbers greater than 777 to accommodate
  modes and umasks that include sticky/setuid/setgid bits. Report
  and fix from Martijn Dekker <martijn@inlv.org>


/* Return the octal number parsed from STRING, or -1 to indicate
   that the string contained a bad number. */
int
read_octal (string)
     char *string;
{
  int result, digits;

  result = digits = 0;
  while (*string && ISOCTAL (*string))
    {
      digits++;
      result = (result * 8) + (*string++ - '0');
      if (result > 07777)
    return -1;
    }

  if (digits == 0 || *string)
    result = -1;

  return (result);
}

Было        if (result > 0777)

Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

127. "Релиз командного интерпретатора Bash 5.0"  –1 +/
Сообщение от Аноним (127), 10-Янв-19, 20:53 
Как верно подметил Нанобот, сисколл установки umask учитывает только 0777, так что от увеличения дополнительных бит в баше ничего не изменится.
Ответить | Правка | Наверх | Cообщить модератору

128. "Релиз командного интерпретатора Bash 5.0"  +/
Сообщение от Нанобот (ok), 12-Янв-19, 10:31 
> Как верно подметил Нанобот, сисколл установки umask учитывает только 0777, так что
> от увеличения дополнительных бит в баше ничего не изменится.

я подозреваю, что существует какая-то, отличная от линукс, система, в которой существует umask с другой реализацией и для которой тоже собирается баш. возможно где-то в *bsd...

Ответить | Правка | Наверх | Cообщить модератору

131. "Релиз командного интерпретатора Bash 5.0"  +/
Сообщение от pavlinux (ok), 14-Янв-19, 16:31 
> Как верно подметил Нанобот, сисколл установки umask

umask в баше встроенный.


int umask_builtin (list)   WORD_LIST *list; {...;}


Ответить | Правка | К родителю #127 | Наверх | Cообщить модератору

132. "Релиз командного интерпретатора Bash 5.0"  –2 +/
Сообщение от Нанобот (ok), 23-Янв-19, 11:59 
>> Как верно подметил Нанобот, сисколл установки umask
> umask в баше встроенный.
>
 
> int umask_builtin (list)   WORD_LIST *list; {...;}
>

и внутри umask_builtin оно ж всё равно делает вызов ядра. а то иначе это будет бесполезная команда (например, пользователь поставит umask 022 и запустит какой-то процесс...если umask - чисто функция баша, то запущеный процесс не сможет узнать, что написал пользователь в другом процессе...чтобы оно работало так, как ожидается, нужно ядро вызывать).
я думаю, если хорошо поискать, где-то внутри umask_builtin будет вызов ядра (ну или libc)

Ответить | Правка | Наверх | Cообщить модератору

133. "Релиз командного интерпретатора Bash 5.0"  +/
Сообщение от Andrey Mitrofanov (?), 23-Янв-19, 12:08 
>>> Как верно подметил Нанобот, сисколл установки umask
>> umask в баше встроенный.

Ойспадя.  https://lists.gnu.org/archive/html/bug-bash/2018-03/msg00083...

> и внутри umask_builtin оно ж всё равно делает вызов ядра. а то
> иначе это будет бесполезная команда (например, пользователь поставит umask 022 и

Так надо!

Ответить | Правка | Наверх | Cообщить модератору

134. "Релиз командного интерпретатора Bash 5.0"  +/
Сообщение от pavlinux (ok), 25-Янв-19, 01:45 
> Так надо!

While POSIX says the effect of specifying sticky/setuid/setgid bits is
unspecified[*], the 'umask' builtin should still accept these bits, as
it does in every other shell.

Вот так и надо было писать в новости.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру