Smb client

Материал из pNp Wiki
Версия от 15:23, 20 марта 2018; Andy (обсуждение | вклад) (Конфигурирование сетевых директорий)

Перейти к: навигация, поиск

Конфигурирование Samba. Сетевые директории пользователя

Предварительные требования

  • Виртуальная машина с двумя сетевыми интерфейсами
  • Установленные пакеты: bash-completion, policycoreutils, policycoreutils-python, policycoreutils-devel, setroubleshoot-server, samba, samba-client, cifs-utils

Конфигурирование сетевых директорий

В конфигурационный файле /etc/samba/smb.conf создадим сетевую директорию share, которой будет соответствовать местоположение /srv/share. Она будет видимой и доступна на запись пользователю (в нашем случае - andy) на запись. Приводим файл /etc/samba/smb.conf к следующему виду:

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
	workgroup = SAMBA
	security = user

	passdb backend = tdbsam

	printing = cups
	printcap name = cups
	load printers = yes
	cups options = raw

[homes]
	comment = Home Directories
	valid users = %S, %D%w%S
	browseable = No
	read only = No
	inherit acls = Yes

[data]
	comment = "data directory"
	path = /srv/data/
	valid users = %U
	browseable = yes
        read only = no

[printers]
	comment = All Printers
	path = /var/tmp
	printable = Yes
	create mask = 0600
	browseable = No

[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	write list = root
	create mask = 0664
	directory mask = 0775
[root@vm-01 srv]#

Теперь надо создать директорию /srv/data и дать на нее права 750 для пользователя andy:

[root@vm-01 srv]# cd /srv/
[root@vm-01 srv]# mkdir data/
[root@vm-01 srv]# chown andy:root data/
[root@vm-01 srv]# ls -lahi /srv/ | grep data
33992088 drwxr-xr-x.  2 andy root   6 Mar 20 14:49 data
[root@vm-01 srv]#

Теперь необходимо присвоить контекст selinux для нашей директории:

[root@vm-01 srv]# semanage fcontext -at public_content_rw_t "/srv/data(/.*)?"
[root@vm-01 srv]# restorecon -vR /srv/data/
[root@vm-01 srv]# ls -lahiZ /srv/ | grep data
drwxr-xr-x. andy root unconfined_u:object_r:public_content_rw_t:s0 data
[root@vm-01 srv]#

Для записи в директории, надо открыть включить несколько переменных selinux:

[root@vm-01 srv]# setsebool -P smbd_anon_write=on
[root@vm-01 srv]# setsebool -P samba_enable_home_dirs=on
[root@vm-01 srv]# getsebool -a | egrep "(smb|samba)"
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> on
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_load_libgfapi --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
smbd_anon_write --> on
tmpreaper_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off
[root@vm-01 srv]#

Поскольку пользователь andy уже есть в нашей системе, то надо создать пользователя с таким же именем в базе данных Samb

[root@vm-01 srv]# smbpasswd -a andy
New SMB password:
Retype new SMB password:
Added user andy.
[root@vm-01 srv]#

Посмотреть имеющихся пользователей Samb'ы и их права, можно используя утилиту pdbedit:

[root@vm-01 srv]# pdbedit -Lv
---------------
Unix username:        andy
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-713007370-98759951-3604115452-1001
Primary Group SID:    S-1-5-21-713007370-98759951-3604115452-513
Full Name:            Andrew
Home Directory:       \\vm-01\andy
HomeDir Drive:        
Logon Script:         
Profile Path:         \\vm-01\andy\profile
Domain:               VM-01
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 18:06:39 MSK
Kickoff time:         Wed, 06 Feb 2036 18:06:39 MSK
Password last set:    Tue, 20 Mar 2018 15:20:14 MSK
Password can change:  Tue, 20 Mar 2018 15:20:14 MSK
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@vm-01 srv]#


Запуск

Запускаем сервис:

[root@vm-01 srv]# systemctl enable smb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@vm-01 srv]# systemctl start smb
[root@vm-01 srv]# systemctl is-active smb
active
[root@vm-01 srv]#

Добавляем разрешение в файрволе:

[root@vm-01 srv]# firewall-cmd --add-service=samba --permanent
success
[root@vm-01 ~]# firewall-cmd --reload 
success
[root@vm-01 srv]# firewall-cmd --list-services
samba http dns dhcpv6-client smtp ssh https mysql
[root@vm-01 srv]#

Проверка

С виртуальной машины vm-02 обратимся к сетевой директории при помощи утилиты smbclient от пользователя andy:

Ссылки