Возникла необходимость установить на работе файловый сервер и разграничить права доступа. Т.е. Необходимо создать:
- папку Upload и дать полные права доступа всем;
- папку Verstka и дать полные права доступа группе пользователей verstka, остальные не имеют права просмотра данной папки и ее содержимого;
- папку Secure и дать доступ к ней только одному пользователю пусть это будет admin.
PS все операции выполнял под пользователем root.
1. Устанавливаю Samba – 'apt-get install samba'
2. Настраиваю конфиг Samba – 'nano /etc/samba/smb.conf', получаю вот что:
[global] # Название рабочей группы в сети Windows workgroup = 1 # Комментарий, который виден в окне свойств просмотра сети server string = FileServer # Контролирует не требуется ли входа в сеть schannel (отрицает доступ ) client schannel = Yes # запрещает доступ клиентам, которые не поддерживают netlogon schannel server schannel = Yes # Запросы c неверным паролем будут считаться как попытки зайти гостем map to guest = Bad User # Samba не использует PAM для аутентификации obey pam restrictions = Yes # механизм для хранения информации о пользователях, основанный на TDB passdb backend = tdbsam # Для смены паролей будет использован PAM, вместо программы указанной в параметре passwd program pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . # Параметр заставляет синхронизировать пароль UNIX с паролем SMB unix password sync = Yes # Журналирование syslog = 0 log file = /var/log/samba/log.%m max log size = 10240 # Определяет будет ли демон nmbd делать запрос к DNS dns proxy = No # не использовать SSL при запросах к каталогу ldap ssl = no # nmbd будет участвовать в выборах мастер-браузера local master = yes # Samba будет выигрывать все выборы у всех операционных систем os level = 254 # демон nmbd будет выиграть выборы принудительно preferred master = yes # Указываю требуемую кодировку unix charset = utf8 dos charset = cp1251 display charset = cp1251 # позволяет запустить системную команду, когда аварийно завершается Samba panic action = /usr/share/samba/panic-action %d # глобальный список пользователей, которым разрешен доступ к сервису valid users = @verstka, nobody, admin # Глобальные пользователи которые работают с файлами как суперпользователь admin users = admin # Глобальный список пользователей, которым открыт доступ “только для чтения” read list = # Разрешаю доступ к Samba с определенных адресов hosts allow = 192.168.0.* # Блокирую доступ к Samba с определенных адресов hosts deny = 192.168.15.* [Upload] # Комментарий, который виден в окне свойств сети comment = Открытая папка # Путь к папке path = /home/upload # Не определен локальный список пользователей (все могут подключаться) valid users = read list = write list = # Определяет, выводить ли ресурс в списке просмотра browseable = yes # Разрешаю запись read only = No # Права доступа для вновь созданных файлов create mask = 0777 # Права доступа для вновь созданных каталогов directory mask = 0777 # Разрешаю доступ для гостевой учетной записи guest ok = Yes [Verstka] path = /home/verstka comment = Верстка create mask = 0777 directory mask = 0777 read only = No write list = @verstka [Secure] path = /home/secure comment = Закрытая create mask = 0777 directory mask = 0777 read only = no write list = admin 3. Создаю нужные папки — 'mkdir /home/upload /home/verstka /home/secure' 4. Создаю группу — 'groupadd verstka' 5. Создаю пользователя — 'useradd -c "Admin" -m -g verstka admin -s /bin/false' создан пользовательский аккаунт admin с коммантарием Admin, включенный в группу verstka, с отключенной возможностью обычного входа (-s /bin/false) в систему, то есть аккаунт будет использоваться лишь для Samba-доступа. 6. Устанавливаю пароль свежесозданному пользователю — 'passwd admin', ввожу пароль с подтверждением. 7. Создаю для Linux-пользователя запись в базе данных паролей Samba — 'smbpasswd -a admin' и ввожу тот же пароль что и в п.6 с подтверждением. Коммандой 'smbpasswd admin' можно сменить пароль пользователя, главное не забыть дать команду — 'passwd admin' из-за котрой придется еще раз ввести новый пароль. Дело в том, что Samba не синхронизирует пароли, если запускать smbpasswd от имени root. 8. Назначаю права доступа к папкам — 'chmod 777 /home/upload', 'chmod 777 /home/secure' 9. Даю права доступа группе и назначаю права доступа — 'chgrp verstka /home/verstka', chmod 777 /home/verstka'. 10. Перезапускаю Samba – '/etc/init.d/samba restart'.
Комментариев нет:
Отправить комментарий