Рубрики
Linux Скрипт

Настройка сервера SAMBA для инсталлятора

Требуется файловое хранилище для работы инсталлятора, восстанавливающего клиентам работоспособность windows-компьютеров после краха системы или воздействия вирусов. Такая работа состоит из этапов сброса пользовательской информации на сервер, сканирования и реставрации данных, переустановки ОС Windows на компьютер пользователя, инсталляции программного обеспечения для ежедневных нужд и возврата пользовательской информации на компьютер клиента. Крайне желательно не убить свой сервер зараженной информацией, а также быть уверенным в том, что софт, находящийся на сервере чист, что может быть решено возможностью доступа к информации только для чтения из определенных директорий без права на запись и изменение информации.

emerge samba

Для успешной компиляции сервера подойдут такие флаги

acl aio client cups fam ldap netapi pam readline server smbclient -addns -ads -avahi -caps -cluster -debug -doc -examples -ldb -quota -smbsharemodes -smbtav2 -swat -syslog -winbind

Для доступа к серверу из сети стоит использовать несколько учетных записей, а также выставить определенные права на используемые директории.

Пусть, для хранения дистрибутивов программ будет использована директория /home/soft, создать которую можно командой

mkdir /home/soft

Сменим ей владельца и права для доступа. Владелец vasya в системе существует, имеет возможность локального входа и свою домашнюю директорию /home/vasya.

chown vasya:users -R /home/soft
chmod 750 -R /home/soft

Создадим пользователя user с основной группой users, домашней директорией /home/user, без возможности локального доступа к системе:

useradd -c "user win" -d /home/user-g users -G users -s /bin/false user

Назначим ему пароль «parol» командой

passwd user

пароль вводится дважды.

Конфигурационный файл сервера samba smb.conf находится в директории /etc/samba и имеет примерно следующее содержание:

[global]
log file = /var/log/samba/log.%m #место для сброса лог-файлов
load printers = no # я закрыл доступ к принтерам через сервер
ldap ssl = No
restrict anonymous = yes # отбросить анонимов
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
write list = vasya,user
hostname lookups = yes
encrypt passwords = yes
user = vasya,user
allow hosts = 192.168.0. 127. # сети, которые слушает сервер (можно добавить еще через пробел)
dns proxy = no
printing = cups
server string = ИМЯ_СЕРВЕРА #которое отображается в сетевом окружении
wide links = no
path = /home
dos charset = CP866 #кодировка для DOS
local master = no
acl compatibility = winnt
workgroup = РАБОЧАЯ_ГРУППА_ИМЯ
os level = 10 # в одноранговых ставьте от 5 до 15
comment = Home dir
valid users = vasya,user
preferred master = no
max connections = 10
max log size = 500
pam password change = yes
printcap name = cups
printing = cups

[homes]
comment = Home Directories
browseable = no

[tmp]
comment = Temp # при таком раскладе сервера не обязательная директория
path = /tmp
read only = no
browseable = no

[soft]
comment = Soft # собственно сама директория софт
path = /home/soft
guest ok = yes
create mask = 0765

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

запустим сервер

/etc/init.d/samba start

если нужен автоматический старт при включении компьютера, то добавим

rc-update add samba default

Теперь нужно ассоциировать линукс — пользователей с пользователями сервера samba

smbpasswd -a vasya

введем для него пароль, он может отличаться от пароля для входа в Линукс

smbpasswd -a user

аналогично.

Кроме всего этого пользователей нужно «включить»

smbpasswd -e vasya

smbpasswd -e user

Теперь, пользователь user может войти в систему через сеть, сбросить свои данные, а после переустановки системы и инсталляции программного обеспечения восстановить свои документы. Учитывая, что права на директорию с программным обеспечением у пользователя доступны только для чтения и выполнения, заражение дистрибутивов не произойдет.

Для реставрации и лечения пользовательской информации существует множество различных решений, и это отдельная тема.