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

shopt -s extglob
file="aa     a       a.station"
echo mv "$file" "${file// +( )/ }"

Альтернативой может быть цикл с

"${file//  / }"

пока не останутся только одиночные пробелы:

file="a                      a"

last_run=""
new="$file"
while [ "$last_run" != "$new" ]; do
        last_run="$new"
        new="${last_run//  / }"
done

echo mv "$file" "$new"

Или с разделением слов:

IFS=" "
mv "$file" "$(echo $file)"
0
06.09.2019, 12:21
1 ответ
sudo -i
addgroup mygroup
addgroup user1 mygroup
addgroup user2 mygroup
chgrp -R mygroup /home/user1/programs/Output/
chmod -R ug+rwX  /home/user1/programs/Output/
find /home/user1/programs/Output/ -type d -exec chmod g+s {} +
exit

Это добавляет группу с именем mygroup, добавляет обоих пользователей в эту группу и меняет группу -владельца/home/user1/programs/Output/(и всех файлов и подкаталогов -)на mygroup.

Затем он устанавливает права доступа к каталогу на чтение, запись, выполнение и всем файлам в нем, чтобы разрешить чтение и запись. Опять таки,это применяется рекурсивно ко всем подкаталогам -каталога../Output/

Наконец, он устанавливает бит setgid для каталогов с chmod g+s, так что все файлы и подкаталоги -, созданные под /home/user1/programs/Output/, будут находиться в mygroup.

Все это нужно делать от имени root, поэтому sudo -iдля запуска корневой оболочки сначала и exitв конце для выхода из корневой оболочки.

1
28.01.2020, 02:39

Теги

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