Общий доступ между пользователями

Получение членов группы в Linux не так просто, как может показаться. На мой взгляд, проще всего использовать команду lid. Установите его, используя

sudo apt-get update && sudo apt-get install libuser

, тогда вы должны попробовать, если это работает, используя

lid -g root

Если пишет, что команда не найдена, попробуйте

/usr/sbin/libuser-lid -g root

И для твоего сценария

bajagroup () {
printf "\n Enter the name of the group to delete: \n"
read -p groupname #the variable has to be one word(normally)
deletegroup=$(lid -g $groupname)
[ -z $deletegroup ] && groupdel $deletegroup #between $ and the name no space

Редактировать

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

#!/bin/bash
read -p "Enter groupname here: " groupname #Takes the input and save it to the variable groupname
gid=$(cat /etc/group | grep ^"$groupname": | cut -d":" -f3) #get the content of /etc/group (list of every group with groupid) | search for the line that starts with $groupname: (That means if a group name is Test, Test1 or 1Test wouldn't be matched) | get the groupid
member=$(cat /etc/passwd | cut -d":" -f4 | grep -x "$gid") #get the content of /etc/passwd (list of all users with some extra information like the attached gid) | get the part with the gid | grep the line that is exactly $gid
[ -z $member ] && groupdel $groupname #if $member is empty then delete that group

Это база, которая вам нужна. Вы можете изменить окончание и начало по своему усмотрению.

0
16.09.2019, 12:08
1 ответ

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

Вы также можете создать функционального пользователя без прав входа в систему, для которого вы оба можете использовать sudo, но тогда вы потеряете некоторую отслеживаемость. На самом деле, я подозреваю, что на вашем компьютере есть пользователь www, которому могут принадлежать эти файлы, и вам обоим может быть разрешено sudo -u www -sполучить сеанс оболочки от имени пользователя www. Это, вероятно, пользователь, которому принадлежит процесс веб-сервера, и вместо этого вы можете использовать другую учетную запись, либо если вы не доверяете себе или другому пользователю права доступа к веб-серверу, либо если вы хотите, чтобы веб-сервер server иметь права только на чтение веб-контента.

Я использую Unix и Linux в течение 30 лет, и я не думаю, что когда-либо работал в организации, где люди действительно использовали ACL. Это не значит, что это плохо, но это заставляет меня подозревать, что это будет решение, которое может запутать как пользователей, так и некоторые инструменты. Вы можете подумать, что пора большему количеству людей узнать о ACL, и это может быть правильно...

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

1
28.01.2020, 02:39

Теги

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