среда, 21 сентября 2011 г.

Групповая работа с файлами и каталогами в Linux

Многие спросят для чего это нужно, это старо, и не кому не интересно все давно работают под виндой выделил диск D: и не паришься. .... СЖЕЧЬ ЕРЕТИКОВ!!!

Я конечно понимаю что всё это holy war что это противостояние изжило себя, но всё равно СЖЕЧЬ!!!

а теперь если человек который стоит возле вас не поливает вас бензином для ритуального сожжения в этой свящщенной войне то продолжаем читать.



Эти может пригодиться если у вас на сервере несколько человек занимаются одним проектом, назавём его XYZ

Для начала нам нужно создать группу, для этого нам понадобятся права супер пользователя (root)
groupadd xyz

теперь создадим директорию для совместной работы, создайте её где вам будет удобнее
mkdir -p /data/xyz

присвоим этой директории и всем подкаталокам и файлам в ней если они есть нашу группу
chgrp xyz -R /data/xyz

добавим существующих пользователей в группу XYZ
usermod -a -G xyz user1

usermod -a -G xyz user2


теперь чтобы пользователи всегда создавали файлы доступные для чтения и записи пользователям в группе, добавми в файлы пользователей .bashrc строчку umask 002
echo 'umask 002' >> /home/user1/.bashrc

echo 'umask 002' >> /home/user2/.bashrc

для упрощения есть соблазн добавить эту строчку в /etc/bash.bashrc но тогда она применится для всех пользователей системы что плохо скажется на безопасности

теперь ключевой момент, необходимо добавить sticky bit на нашу групповую директорию после чего все файлы и директории создоваемые в ней будут иметь группу XYZ
chmod g+s -R
/data/xyz

и последнее если там уже есть файлы или директории нужно разрешить группе в них писать
chmod g+w -R /data/xyz

на этом всё, все пользователи в группе XYZ могут писать в директорию /data/xyz и изменяьт файлы созданные другими членами группы.
Enhanced by Zemanta