Понедельник, 07 Май 2012 23:15

Установка и настройка SAMBA сервера + резервное копирование. Этап 2.

Автор
Оцените материал
(7 голосов)

Этап 2. Настройка прав доступа на файловое хранилище.

Теперь пора приступить к расшариванию каталогов и раздаче прав на них. Будем это делать на примере вот этой схемы:

Перед тем, как продолжить, я рекомендую вам ознакомиться с тем, как организована система назначения прав доступа в файловой системе ext3 и ext4, а также изучить команды chown, chmod и setfacl. Этот материал можно найти в интернете. Мне помогли вот эти статьи:

http://tmbu.info/linux-file-system-manage-owners-and-rights-chmod-chown
http://help.ubuntu.ru/wiki/access_control_list

Итак, предположим, что в AD в обоих доменах у нас уже заведены группы пользователей «отдел продаж», «бухгалтерия» и «руководство», в которых содержатся соответствующие пользователи. Вообще, по уму, желательно бы расшаренные каталоги поместить на отдельный raid-массив. Но, мы пока рассмотрим вариант попроще и разместим наши каталоге на том же жёстком диске, где у нас и система. Перейдём в каталог /home и создадим там каталог «shares»:

cd /home
mkdir shares

А уже в каталоге «shares» создадим каталог «Общие Документы», в котором уже дальше пойдут каталоги «Отдел продаж», «Бухгалтерия», «Руководство» и т.д..

После того, как мы создали дерево каталогов, нужно правильно задать права на них. Переходим в каталог /home и выполняем команду:

chown -R admin:"Пользователи домена" shares

где admin — это учётка доменного администратора (у вас она, естественно, может называться иначе). Этой командой мы назначили владельцем всего дерева пользователя admin и владеющую группу «Пользователи домена», в которую, обычно, входят все пользователи Компании. Обратите внимание, что линукс чувствителен к регистру, поэтому, когда пишете команду, то название папок и файлов указывайте с соблюдением регистра! Теперь выполним команду:

chmod -R 750 shares

Этой командой мы задали владельцу права на изменение всего дерева, а владеющей группе только чтение. Также, нам надо добавить права на чтение этого дерева ещё и пользователям mydomain1.domain:

setfacl -R -m g:"MYDOMAIN1\пользователи домена":r-x shares

Теперь, перейдём в каталог «Общие документы» и выполним в нём команду:

chown -R admin:"отдел продаж" "Отдел продаж"

Этой командой мы задали на каталог "Отдел продаж" и его подкаталоги владельцем админа, а владеющую группу — «отдел продаж». Теперь сделаем команду для пользователей mydomain1.domain:

setfacl -R -b "Отдел продаж"
setfacl -m g:"MYDOMAIN1\отдел продаж":r-x "Отдел продаж"

Первой командой мы очистили наследование прав для группы «MYDOMAIN1\пользователи домена» для папки «Отдел продаж» и её подпапок. А второй командой дали права чтения группе «MYDOMAIN1\отдел продаж» на папку «Отдел продаж». Это значит, что сейчас в этот каталог смогут попасть только пользователи из группы «отдел продаж» и «MYDOMAIN1\отдел продаж». Давайте убедимся в этом, введя команду:

getfacl "Отдел продаж"

Вывод должен быть примерно таким:

# file: Отдел продаж
# owner: admin
# group: отдел\040продаж
user::rwx
group::r-x
group:MYDOMAIN1\134отдел\040продаж:r-x
mask::r-x
other::---

Команда getfacl нам показала, что владелец папки, то бишь админ, имеет полные права, а группы «отдел продаж» и «MYDOMAIN1\отдел продаж» имеют права только на чтение.

Теперь уже перейдём в этот самый каталог «Отдел продаж» и введём команду:

chmod -R 700 "Начальник отдела"

Таким образом, мы назначили доступ на папку «Начальник отдела» только админу. А сейчас, дадим ещё доступ и самому начальнику отдела:

setfacl -m u:"начальник_отдела":rwx "Начальник отдела"

где начальник_отдела — это учётная запись в АД вашего начальника отдела. Более того, нам надо сделать так, чтобы в этом каталоге, при дальнейшем создании файлов и каталогов, доступ на них наследовался. Потому как, если, например, начальник_отдела создаст какой-либо файл, то владельцем этого файла, автоматически, станет начальник_отдела, и админ к этому файлу доступа иметь не будет. Поэтому, выполним следующую команду:

setfacl -d -m u::rwx,u:admin:rwx,u:"начальник_отдела":rwx "Начальник отдела"

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

getfacl "Начальник отдела"

Вывод должен быть примерно таким:

# file: Начальник отдела
# owner: admin
# group: отдел\040продаж
user::rwx
user:начальник_отдела:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:user:начальник_отдела:rwx
default:group::---
default:mask::rwx
default:other::---

Обратим внимание на строчки, начинающиеся с «default» -- именно они и говорят нам о том, что на создаваемые файлы и каталоги будет иметь полные права: владелец, админ и начальник_отдела. А также, видим, что владелец папки, то бишь, админ, имеет полные права на текущий каталог, и начальник_отдела, также, имеет полные права на текущий каталог. Этого мы и добивались.

Сейчас нам надо предоставить доступ в папку «Общая» всем пользователям группы «отдел продаж» и «MYDOMAIN1\отдел продаж» и сделать эти права наследуемыми. Введём команды:

chmod -R 770 "Общая"
setfacl -m g:"MYDOMAIN1\отдел продаж":rwx,d:u:admin:rwx,d:g"MYDOMAIN1\отдел продаж":rwx,d:g:"отдел продаж":rwx "Общая"
getfacl "Общая"

Обращаю внимание, что командой во второй строчке мы сразу дали доступ группе «MYDOMAIN1\отдел продаж» и установили наследование прав для админа и групп «отдел продаж» и «MYDOMAIN1\отдел продаж».
Проверяем, что сделали:

# file: Общая
# owner: admin
# group: отдел\040продаж
user::rwx
group::rwx
group:MYDOMAIN1\134отдел\040продаж:rwx
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:group::rwx
default:group:отдел\040продаж:rwx
default:group:MYDOMAIN1\134отдел\040продаж:rwx
default:mask::rwx
default:other::---

Админу — полные права, у групп «отдел продаж» и «MYDOMAIN1\отдел продаж» тоже полные права. Наследование прав также назначено для админа, «отдел продаж» и «MYDOMAIN1\отдел продаж». Идём далее.

Остались папки «Манагер1» и «Манагер2», в которые нам нужно дать доступ пользователям MYDOMAIN\манагер и MYDOMAIN1\манагер соответственно, а также, начальнику отдела и админу. Ну и, конечно же, не забудем про наследие этих прав.

Делаем для папки «Манагер1»:

chmod -R 700 "Манагер1"
setfacl -m u:манагер:rwx,d:u:манагер:rwx "Манагер1"
setfacl -m u:"начальник_отдела":rwx,d:u:"начальник_отдела":rwx "Манагер1"
setfacl -d -m u:admin:rwx "Манагер1"
getfacl "Манагер1"

И если вывод примерно такой:

# file: Манагер1
# owner: admin
# group: отдел\040продаж
user::rwx
user:манагер:rwx
user:начальник_отдела:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:user:манагер:rwx
default:user:начальник_отдела:rwx
default:group::---
default:mask::rwx
default:other::---

То мы всё сделали правильно. Для папки «Манагер2» делаем аналогично, только пользователь из другого домена:

chmod -R 700 "Манагер2"
setfacl -m u:"MYDOMAIN1\манагер":rwx,d:u:"MYDOMAIN1\манагер":rwx "Манагер2"
setfacl -m u:начальник_отдела:rwx,d:u:начальник_отдела:rwx "Манагер2"
setfacl -d -m u:admin:rwx "Манагер2"
getfacl "Манагер2"

Смотрим вывод:

# file: Манагер2
# owner: admin
# group: отдел\040продаж
user::rwx
user:начальник_отдела:rwx
user:MYDOMAIN1\134манагер:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:user:MYDOMAIN1\134манагер:rwx
default:user:начальник_отдела:rwx
default:group::---
default:mask::rwx
default:other::---

Всё, как нам надо. Попробуйте самостоятельно назначить права на папку «Бухгалтерия» и на её подпапки.

Раздадим права на папку «Руководство». Перейдём в каталог «Общие документы» и выполним команду:

setfacl -R -b "Руководство"
chown -R admin:"руководство" "Руководство"

Первой командой мы очистили наследование прав для группы «MYDOMAIN1\пользователи домена» на папку «Руководство» и её подпапки. Второй командой, как вы уже поняли, мы назначили доступ к папке «Руководство» только админу и группе «руководство».

Переходим в папку «Руководство» и делаем:

chmod -R 700 "Генеральный директор"
setfacl -m u:гендир:rwx,d:u:гендир:rwx "Генеральный директор"
setfacl -d -m u:admin:rwx "Генеральный директор"
getfacl "Генеральный директор"

Если вывод такой:

# file: Генеральный директор
# owner: admin
# group: руководство
user::rwx
user:гендир:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:user:гендир:rwx
default:group::---
default:mask::rwx
default:other::---

То всё правильно. Аналогично делаем для папки исполнительного директора. Ну, и, как дать права на общую папку, вы уже знаете.
Сейчас нам осталось разобраться с последней папкой. Это папка обмена, на которую надо дать права всем пользователям на чтение, изменение и выполнение. Поэтому, перейдём в папку «Общие документы» и выполним команду:

chmod 770 "ОБМЕН"
setfacl -m g:"MYDOMAIN1\пользователи домена":rwx,d:g:"MYDOMAIN1\пользователи домена":rwx "ОБМЕН"
setfacl -d -m g:"Пользователи домена":rwx,g:admin:rwx "ОБМЕН"
getfacl "ОБМЕН"

Вывод должен быть таким:

# file: ОБМЕН
# owner: admin
# group: пользователи\040домена
user::rwx
group::rwx
group:MYDOMAIN1\134пользователи\040домена:rwx
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:group::rwx
default:group:MYDOMAIN1\134пользователи\040домена:rwx
default:group:пользователи\040домена:rwx
default:mask::rwx
default:other::---

Ну вот и всё! Мы успешно раздали права на наше дерево каталогов. Теперь, осталось только его расшарить. Для этого нам нужно снова найти файл /etc/samba/smb.conf и в его конец дописать вот это:

[Общие документы]
path = "/home/shares/Общие Документы"
browseable = yes
writeable = yes
veto files = /*.mp3/*.wma/*.ogg/*.wav/*.avi/*.mp4/*.vob/*.flv/*.mpg/
delete veto files = yes
directory mask = 770
create mask = 660
valid users = @"Администраторы домена", @"Пользователи домена", @"MYDOMAIN1\пользователи домена"

В параметре «veto files» мы перечисляем расширения файлов, которые нельзя будет положить на наш файловый сервер.

Сохраним изменения и перезапустим демоны smb, nmb и winbind:

service smb restart
service nmb restart
service winbind restart

Вот, собственно говоря, и всё! Осталось только с рабочей станции зайти под тем, или иным, пользователем и протестировать работу сервера, и можно приступать к настройке резервного копирования.

Этап 3. Настройка резервного копирования. 

Вернуться обратно на:
Этап 1

Прочитано 11584 раз Последнее изменение Воскресенье, 21 Октябрь 2012 12:29

You have no rights to post comments

Вы здесь: Home Мои статьи Linux Fedora/CentOS/RedHat Установка и настройка SAMBA сервера + резервное копирование. Этап 2.