5

У меня есть корпоративная интрасеть, которую я недавно перевел с Novell на Linux. Я пытаюсь настроить права пользователя и схожу с ума.

Есть пара дюжин отделов, у каждого из которых есть специальный каталог в корне сети. Есть также общие каталоги для CSS, шаблоны, изображения и т.д.

Я хочу, чтобы все пользователи имели доступ только для чтения ко всему сайту и доступ для чтения и записи только к каталогу своего отдела.

Что я уже пробовал:

  • При необходимости настройте группу пользователей для каждого каталога и назначьте пользователей для групп. Встреча с разрешениями и правами наследования.

  • Создал тестового пользователя, а затем создал папку htdocs в домашнем каталоге тестового пользователя. Затем создал ссылку, переименовал ее в отдел. имя и удалил ссылку в основной каталог htdocs. Доступ для чтения идеален, но я не могу перечислить содержимое этого каталога при использовании Dreamweaver или FTP-клиента из корня htdocs.

Я чувствую, что есть некоторая простая, но важная часть информации, которую мне не хватает. Выборочная настройка доступа на чтение и запись к подкаталогам htdocs не может быть такой сложной.

Какой-нибудь совет для неопытного пользователя, привыкшего к Novell и IIS?

4 ответа4

1

Допустим, у вас есть Сью и Сэм в отделе продаж и Гарри и Гермиона в отделе кадров.

  • Создать пользователей Сью, Сэм, Гарри, Гермиона
  • Создание групп по часам и продажам.
  • Добавьте sue & sam к групповым продажам.
  • Добавьте Гарри и Гермиону в группу хр.
  • создавать папки hr и sales в /var/www/htdocs
  • изменить группу папки hr на группу hr
  • так же продажи
  • установите бит группы, чтобы файлы, созданные в группе продаж и наследования
  • установить права, чтобы группа могла писать, другие могут только читать
  • для удобства создайте ссылку на hr из домашних каталогов Гермионы и Гарри
  • То же самое продавцы народные.
  • при необходимости измените конфигурацию Apache (например, виртуальный сервер на основе имени для sales.example.com)

Полезные команды (см. Справочные страницы)

  • MkDir
  • Чаун
  • команда chgrp
  • GroupAdd
  • useradd
  • groupmod
  • пер

† или где бы ни находился Apache

0

Права доступа к файлам в Linux возвращаются к старым корням Unix, из которых вырос Linux. Возможно, такое руководство, как это на TuxFiles.org или этот материал от TLDP, поможет вам понять базовую структуру разрешений.

Инструменты, с которыми вам, скорее всего, нужно ознакомиться, это chown и chmod. Или графический интерфейс чередуется, если на вашем сервере установлен графический интерфейс.

0

Ваши потребности могут быть лучше удовлетворены ACL, а не классической моделью разрешений UNIX.

Создайте одну группу для доступа только для чтения везде, затем создайте одну группу для каждого отдела. Затем используйте setfacl ("set file ACL"), чтобы дать группе, доступной только для чтения, доступ ко всем папкам для чтения и дать каждой группе доступ на запись к своей папке отдела.

К сожалению, вам нужно найти синтаксис для setfacl . Я не очень знаком с этим. Для начала, вот мой cronjob, который дает пользователю apache на моем сервере полный доступ к каталогу public_html в доме каждого пользователя:

#!/bin/sh
HOME_DIR="/home"
WWW_DIRNAME="public_html"
WWW_USER="www-data"
setfacl -Rm "u:${WWW_USER}:rwX,d:u:${WWW_USER}:rwX" "$HOME_DIR/*/$WWW_DIRNAME"

Я поместил это в задание cron, чтобы любые файлы, которые я поместил в свой каталог public_html, вскоре были доступны для apache.

0

Следуя идее групп, создайте все каталоги, которые вам нужны для всех ваших групп.

Сделайте все, что находится в корне сети, принадлежащим www-data или apache, или тому, под кем пользователь работает на вашем веб-сервере, чтобы он имел доступ. Это сделает все принадлежащим веб-серверу и станет частью группы веб-сервера:

Пример: chown -R www-data:www-data /var/www

Затем измените группу для каждой из этих групповых папок:

Пример: chown -R www-data:group1 /var/www/group1

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

Пример: chmod -R g+rw /var/www/*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .