Маленький сценарий Python:
#!/usr/bin/python
import subprocess,sys
group={}
for user in sys.argv[1:]:
group[user] = set(subprocess.Popen("id -nG %s"%user, stdout=subprocess.PIPE, shell=True).stdout.read().split())
for g in group[sys.argv[1]] & group[sys.argv[2]]:
print g
Тест:
# id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1),1004(us1),1005(dell)
# id user2
uid=1002(user2) gid=1002(user2) groups=1002(user2),1004(us1),1005(dell)
# ./test.py user1 user2
dell
us1
RAID0 на самом деле предназначен не для хранения данных, а для производительности диска, если диск выходит из строя, потеряйте данные, так как данные распределяются по нескольким дискам, и вы в основном вернетесь к исходному состоянию.
R0 - это чередующийся RAID ширина полосы зависит от конкретной конфигурации во время создания. Есть несколько вещей, которые делают восстановление (даже с помощью магии ZFS) почти невозможным:
Чтобы спроектировать файловую систему, которая выдержит сбой в наборе R0, ей нужны все детали дисков в этом наборе. На этом этапе, как правило, намного проще не возиться с аппаратным R0, а просто предоставить кучу дисков для FS и позволить ей управлять всем.
Да, системы, которые RAID-Everything допускают установку 1-disk R0.