Рубрики
smb \ samba

samba основные команды \ smbtree \ smbclient \

samba - ранее известен как SMB(Server Message Block), теперь CIFS(Common Internet File System)
Samba SWAT - графическая веб-утилита Windows (монтирование,предоставление доступа, опрос SMB-директорий)
findsmb - сканируем/ищем SMB-хосты
smbtree - просмотр информации о составе сети
smbpasswd -a user_name - создание нового пользователя Samba
smbclient -L server - получим список ресурсов SMB, доступных анонимному пользователю
smbclient -L server -U user_name - получим список ресурсов SMB, доступных user_name
smbclient //192.168.1.1/myshare -u user_name - подключение к Samba как к FTP (команды cd,ls,get,put,quit)
mount -t smbfs -o username=my_user,password=My_pass //host/myshare /mnt/my_mount - монтирование SMB-директорий
smbstatus - информация о текущих подключений SMB
nmblookup host_name - поиск хостов по NetBIOS (NetBIOS name используется в Samba)
nmblookup -U 192.168.1.255 server1 - ищем пк с именем server1 в сети 192.168.1.0/24 
testparm - программа для проверки настроек Samba (/etc/samba/smb.conf)
testparm -v - программа для проверки настроек Samba (/etc/samba/smb.conf)




fstab

apt-get install cifs-utils

vim /etc/fstab
--------------
//server/share /pathto/mountpoint cifs credentials=/home/username/.smbcredentials,uid=shareuser,gid=sharegroup 0 0
--------------


vim /home/username/.smbcredentials
----------------------------------
username=shareuser
password=sharepassword
domain=domain_or_workgroupname
----------------------------------


mount -a

Рубрики
smb \ samba

Microsoft Windows networks (samba)

mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share  - монтировать smb-ресурс, расшаренный на windows-машине, в папку локальной файловой системы

nbtscan ip_addr - преобразовать имя netbios. 
                  программа nbtscan не во всех системах присутствует по-умолчанию, nmblookup включен в пакет samba

nmblookup -A ip_addr - преобразовать имя netbios. 
                       программа nbtscan не во всех системах присутствует по-умолчанию, nmblookup включен в пакет samba

smbclient -L ip_addr/hostname - вывести список ресурсов, выделенных в общий доступ на windows-машине

smbget -Rr smb://ip_addr/share - аналог программы wget для SMB протокола
Рубрики
smb \ samba

SAMBA \ конфиг \ pdbedit \ testparm \ smbstatus \ smbclient \ smbpasswd

ссылки:

Конфигурирование сервера Samba

Управление samba

pdbedit -L - просмотреть список пользователей
pdbedit User_name -v - получить исчерпывающую информацию по пользователю User_name
pdbedit -c "[D]" -u User_name - отключить учетную запись User_name
pdbedit -c "[E]" -u User_name - включить учетную запись User_name
adduser User_name - создать пользователя User_name в системе 
groupadd smbguest - создать групп smbguest
useradd -g smbguest -d /dev/null -s /bin/false smbguest - создать пользователя smbguest и группу smbguest, без домашнего каталога и шелла
useradd -G Buhs buh1 - создадим пользователя buh1 и добавим его в группу Buhs
passwd buh1 - зададим пароль пользователю
smbpasswd -a work - обновить пользователя work для использования самбы
pdbedit -a -u User_name - обновить пользователя User_name для использования самбы
pdbedit -x -u User_name - удалить пользователя User_name из пользователей самбы
smbtree - показать все ресурсы samba
smbstatus - показать использование ресурсов самбы
smbstatus -b - мы увидим краткую картину
smbstatus -S - только список общих файлов
smbstatus -u имя_пользователя -  увидим, куда подключен конкретный пользовател
smbclient -L //shara/catalog -UName_user - проверим, можем ли мы подключиться к общему ресурсу пользователем Name_user
smbclient //shara/catalog -UName_user - попробуем войти в общий ресурс и посмотреть, что у нас там есть
testparm - проверка файла /etc/samba/smb.conf на ошибки конфигурации
stat name_file_or_folder - подробная информация об файле или папке

добавление пользователя и проверка конфигурации:

testparm - проверка файла /etc/samba/smb.conf на ошибки в конфигурации
smbpasswd -a name_work - обновить пользователя work для использования самбы ( пользователь name_work должен быть уже в unix)
systemctl reload smbd - перечитать конфигурационные файлы samba
service  smbd reload - перечитать конфигурационные файлы samba
service  smbd restart - перечитать конфигурационные файлы samba

параметры /etc/samba/smb.conf:

[global] - главная секция по настройке
  workgroup = WORKGROUP - к какой рабочей группе относится наш samba сервер
  server string = %h server (Samba in our office ) - имя  сервера в сети 
  wins support = no
  #wins server = w.x.y.z
  dns proxy = no
  interfaces = 127.0.0.0/8 eth0
  bind interfaces only = yes
  log file = /var/log/samba/log.%m - куда записывать лог сервера
  max log size = 1000 - размер лога 
  server role = standalone server - роль сервера
  passdb backend = tdbsam - где хранить пароли ( если вводим в домен строка будет изменена)

[shared] - обычная шара для одного юзака
   comment - этот текст будет отображаться в комментариях к папке
   path /путь/шары - путь к общей папке на сервере
   inherit acls = yes - наследование прав на папки 
   writeable = yes - разрешает/запрещает запись в папку
   valid users = user_name - перечисление пользователей, которым разрешен доступ к этой папке
   read list = user_name - перечисление пользователей, которым разрешен доступ на чтение к этой папке  
   write list = user_name - перечисление пользователей, которым разрешен доступ на запись к этой папке


[shared1]  - обычная шара для одного юзака
   path /путь/шары - путь к общей папке на сервере
   writeable = yes - разрешает/запрещает запись в папку
   write list = user_name - перечисление пользователей, которым разрешен доступ на запись к этой папке

[shared2]  - обычная шара с включенным наследованием
   path /путь/шары - путь к общей папке на сервере
   writeable = yes - разрешает/запрещает запись в папку
   inherit owner = yes - наследование прав на папки 
   inherit permissions = yes - наследование прав на папки 
   write list = user_name - перечисление пользователей, которым разрешен доступ на запись к этой папке

[shared3] - шара с изменением владельцев файлов
   path /путь/шары - путь к общей папке на сервере
   writeable = yes - разрешает/запрещает запись в папку
   force user = buh1 - принудительный пользователь будет buh1
   force group = Buhs - принудительный группой будет Buhs
   create mask = 0777 - принудительная маска для файлов
   write list = user_name - перечисление пользователей, которым разрешен доступ на запись к этой папке

[shared4] - гостевая шара доступ всем на запись разрешен
   path /путь/шары - путь к общей папке на сервере
   writeable = yes - разрешает/запрещает запись в папку
   guest ok = yes - разрешаем гостевой доступ

[vhd]
        guest ok = no
        writeable = yes
        path = /mnt/ata-ST2000DM001-1CH164_Z1E6JHLV
        valid users = b14esh,@b14esh


!!!пустая строка в конце обязательна

Монтирование samba и windows шары в консоле linux

Для монтирования Samba шары на клиентских машинах под Linux 
вначале установим пакет smbfs (для Debian/Ubuntu):
apt-get install smbfs
apt-get install cifs-utils
mount -t тип /откуда /куда -o опции через запятую
mount -t cifs (используем стандартную команду для монтирования ФС с ключем cifs, таким образом при монтировании мы используем протокол CIFS)
mount -t cifs //IP_servera_samba/name_shara /куда монтируем/ -o sec=none,iocharset=utf8 sec=none используем при гостевом доступе к шаре (когда в конфе самбы стоит guest ok=yes)
mount.cifs //IP_servera_samba/name_shara /куда монтируем/ -o sec=none,iocharset=utf8
smbmount //IP_servera_samba/name_shara /куда монтируем/ -o sec=none,iocharset=utf8 - (для использования необходимо поставить smbfs)
mount -t cifs -o username=user,password=passwd,iocharset=utf8,file_mode=0777,dir_mode=0777 //network/resource /mount/point

Авто монтирование самбы у клиента после перезагрузке:

0) nano /etc/fstab  - редоктируем и добавим строку:
------------------fstab----------------------------
//192.168.15.100/gruzims  /var/www/wordpress/gruzims  cifs  username=User_name,password=User_password,iocharset=utf8  0  0
-----------------/fstab----------------------------
1) maunt -a  - после внесения изменений в fstab проверяем авто монтирование
2) если все mount -a все ок, ребутайте
Рубрики
smb \ samba

Подключить общий диск windows

Настройка:

Получилось смонтировать другим способом через mount.cifs.

Ставим 
# sudo apt-get install smbfs

Затем
# mount -t cifs //ip.ad.dr.es/netshare /meida/netdisk -o
И чудо в папке /media/netdisk
Может запросить пароль, если пароль на шару стоит -указываем, если нет, то просто нажимаем ENTER.
Рубрики
smb \ samba

SAMBA AD Windows

Настройка kerberos

0) Устанавливаем пакеты:
apt-get install winbind krb5-user ntp - устанавливаем основные пакеты для вода пк с linux в домен ( при установке krb5-user будет произведена настройка)
apt-get install libpam-krb5 libpam-winbind libnss-winbind - устанавливаем  дополнительные пакеты ( обычно сами ставятся ) 

1) Редактируем настройки DNS
nano /etc/resolvconf/resolv.conf.d/head - файл генерирует /etc/resolv.conf, редактируем его если нету dhcp server для добавления своего сервера
--------------head---------------------
nameserver ip_адресc
search mti.local
-------------/head---------------------
1.1) Если как то не правильно берется DNS из DHCP клиента можно поменять тут
nano /etc/dhcp/dhclient.conf - файл настроек dhcp клиента, если DNS сервер выдается не правильно можно раскомментировать следующие: 
-----------dhclient.conf----
#supersede domain-name "fugue.com home.vix.com";
#prepend domain-name-servers 127.0.0.1;
----------/dhclient.conf----

3) Изменения имени ПК
nano /etc/hostname - файл имени сервера
nano /etc/hosts - файл генерируется автоматически при загрузке ос

4) Проверка работы DNS
nslookup server_name - проверка работы DNS

5) Настройка синхронизации времени
ntp - программа для синхронизации времени
nano /etc/ntp.conf - меняем строку на наш адрес контроллера домена
-----ntp.conf-----
server dc.name_domain.local
----/ntp.conf-----
service ntp restart

6)  настройка kerberos
dpkg-reconfigure krb5-kdc - воспользоватся мастером настройки
nano /etc/krb5.conf - файл настройки 
------krb5.conf----
!!! внимание на регистр букв
default_realm = ИМЯ_НАШЕГО_ДОМЕНА.local
      
         kdc = dc.имя_нашего_домена.local
         admin_server = dc.имя_нашего_домена.local


[domain_realm] - ищем и дописываем
     .имя_нашего_домена.local =  ИМЯ_НАШЕГО_ДОМЕНА.local
     имя_нашего_домена.local =  ИМЯ_НАШЕГО_ДОМЕНА.local
------/krb5.conf---

7) Проверка kerberos
kinit amin@ИМЯ_НАШЕГО_ДОМЕНА.local - делаем запрос к домену
klist - смотрим полученные билеты

настройка samba для работы в AD windows:

0. nano /etc/samba/smb.conf - редактируем конфиг samba
-----------smb.conf--------
workgroup = WORKGROUP - ищем эту строку
workgroup = ИМЯ_НАШЕГО_ДОМЕНА - меняем на короткое имя нашего домена ( полное  -> nde.local, короткое -> nde )

realm = ИМЯ_НАШЕГО_ДОМЕНА.local - дописываем (realm днс суфикс)
security = ADS - дописываем ( как работает авторизация )
auth methods = winbind - дописываем ( самба передает всю авторизацию winbind )
winbind enum users = yes - дописываем
winbind enum groups = yes - дописываем
winbind use default domain = yes - дописываем  использовать домен по умолчанию
winbind separator = / - дописываем ( какой разделитель использовать в ИМЯ_НАШЕГО_ДОМЕНА\user - им может быть любой символ )
idmap config * : range = 10000-20000 - задаем значения  id для пользователей
#server role = standalone server - комментируем эту строку
#passdb backend = tdbsam - комментируем эту строку
#obey pam restrictions = yes - комментируем эту строку
#unix password sync = yes - комментируем эту строку
#passwd program = /usr/bin/passwd %u - комментируем эту строку
#passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . - комментируем эту строку
#pam password change = yes - комментируем эту строку
#map to guest = bad user - комментируем эту строку
#usershare allow guests = yes - комментируем эту строку
[Shared]
      comment = some folder
      patch = /data/shared
      inherit acls = yes
      writable = yes 

-----------/smb.conf-------

1. Проверяем конфигурацию samba
testparm - проверка файла /etc/samba/smb.conf на ошибки конфигурации

Вводим наш сервер в домен windows:

net ads join -U admin@ИМЯ_НАШЕГО_ДОМЕНА.local - вводим в домен наш сервер с samba

После ввода в домен windows нужно настроит настроить nsswitch:

nano  /etc/nsswitch.conf - отредактируем строки:
-------nsswitch.conf----
passwd:         files winbind - изменяем слово compat на files winbind
group:          files winbind - изменяем слово compat на files winbind
shadow:         files winbind - изменяем слово compat на files winbind
-------/nsswitch.conf---
2. Перезагружаем сервер samba
3. Проверяем работу в домене
wbinfo -u - должны увидеть пользователей из AD Windows
wbinfo -g - должны увидеть группы из AD Windows
id имя_доменного_юзака - должны также увидеть  информацию о пользователях
getent passwd - команда должна показать пользователей unix + AD
getent group  - команда должна показать группы пользователей unix + AD