Почему у каждого пользователя есть их собственная группа?

Вот coreutils и dc альтернатива:

<Input.txt tail -n +2 | while read; do <<< "$REPLY 10000 /p" | dc; done | sort -n | uniq -c \
   | while read cnt rng; do 
       printf "%-15s %-15s\n" \
         $(<<< "$rng 10000 *p" | dc)-$(<<< "$rng 1 + 10000 *p" | dc) $cnt
     done > Output.txt

Output.txt:

0-10000         2
10000-20000     3
20000-30000     1
30000-40000     2
26
03.12.2016, 01:58
1 ответ

По сути, это часть стратегии по смягчению некоторых проблем безопасности, позволяя пользователям простым способом сотрудничать с меньшим количеством проблем с разрешениями.

Системы Linux имеют так называемую маску umask, которая диктует разрешения на файлы и каталоги , назначенные при создании. По умолчанию эта маска обычно равна 022, которая создает файлы с 644 разрешениями (owner read/write, group read-only, другие только для чтения) и создает ограничительные настройки, обычно применяемые к новым файлам и каталогам.

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

Часть пути решения этой проблемы заключается в установке маски 002, в результате чего получаются файлы с 664 разрешениями (owner read/write, group read/write, другие - только для чтения). Но это может иметь нежелательные побочные эффекты (например, члены команды могут редактировать личные файлы друг друга в зависимости от групп по умолчанию). Таким образом, каждый новый пользователь становится частью группы по умолчанию с одним пользователем (эмулируя схему 022/644).

Подробнее о том, как это помогает сотрудничеству: https://security.ias.edu/how-and-why-user-private-groups-unix

24
27.01.2020, 19:40

Теги

Похожие вопросы