Smb client — различия между версиями
Andy (обсуждение | вклад) (→Конфигурирование сетевых директорий) |
Andy (обсуждение | вклад) (→Проверка) |
||
Строка 157: | Строка 157: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Проверка ==== | ==== Проверка ==== | ||
− | С виртуальной машины <code>vm-02</code> обратимся к сетевой директории при помощи утилиты <code>smbclient</code> от пользователя <code>andy</code>: | + | С виртуальной машины <code>vm-02</code> обратимся к сетевой директории при помощи утилиты <code>smbclient</code> от пользователя <code>andy</code>. Cоздадим директорию |
+ | и зальем какой-нибудь файл в нашу сетевую директорию: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
+ | [root@vm-02 ~]# smbclient //192.168.1.1/data -Uandy%test1234 | ||
+ | Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4] | ||
+ | smb: \> put | ||
+ | anaconda-ks.cfg .bashrc lb2.conf .pki/ .viminfo | ||
+ | .bash_history .cshrc .lesshst rhel-server-7.0-x86_64-dvd.iso whole_db.dmp | ||
+ | .bash_logout if_setup.txt mail.txt .ssh/ | ||
+ | .bash_profile index.html .nmcli-history .tcshrc | ||
+ | smb: \> put if_setup.txt | ||
+ | putting file if_setup.txt as \if_setup.txt (174.3 kb/s) (average 174.3 kb/s) | ||
+ | smb: \> mkdir test | ||
+ | smb: \> dir | ||
+ | . D 0 Tue Mar 20 16:24:29 2018 | ||
+ | .. D 0 Tue Mar 20 15:27:06 2018 | ||
+ | if_setup.txt A 2142 Tue Mar 20 16:24:25 2018 | ||
+ | test D 0 Tue Mar 20 16:24:29 2018 | ||
+ | 39908 blocks of size 524288. 30766 blocks available | ||
+ | smb: \> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Ссылки == | == Ссылки == |
Версия 15:25, 20 марта 2018
Содержание
Конфигурирование 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
. Cоздадим директорию
и зальем какой-нибудь файл в нашу сетевую директорию:
[root@vm-02 ~]# smbclient //192.168.1.1/data -Uandy%test1234
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
smb: \> put
anaconda-ks.cfg .bashrc lb2.conf .pki/ .viminfo
.bash_history .cshrc .lesshst rhel-server-7.0-x86_64-dvd.iso whole_db.dmp
.bash_logout if_setup.txt mail.txt .ssh/
.bash_profile index.html .nmcli-history .tcshrc
smb: \> put if_setup.txt
putting file if_setup.txt as \if_setup.txt (174.3 kb/s) (average 174.3 kb/s)
smb: \> mkdir test
smb: \> dir
. D 0 Tue Mar 20 16:24:29 2018
.. D 0 Tue Mar 20 15:27:06 2018
if_setup.txt A 2142 Tue Mar 20 16:24:25 2018
test D 0 Tue Mar 20 16:24:29 2018
39908 blocks of size 524288. 30766 blocks available
smb: \>