SMB共享

[root@samba1 ~]# yum install samba samba-client  samba-common -yvim

 

由于只有真实存在的用户才能在samba中创建,因此咱们新建两个测试用户安全

[root@samba1 ~]# useradd testbash

[root@samba1 ~]# id test服务器

uid=1001(test) gid=1001(test) groups=1001(test)session

[root@samba1 ~]# useradd bss测试

[root@samba1 ~]# id bssui

uid=1002(bss) gid=1002(bss) groups=1002(bss)spa

 

[root@samba1 ~]# smbpasswd -a test            ##添加一个samba用户3d

New SMB password:rest

Retype new SMB password:

Added user test.

[root@samba1 ~]# pdbedit -L                        ##查看samba用户

test:1001:

[root@samba1 ~]# pdbedit -x test                  ##删除samba用户

[root@samba1 ~]# pdbedit -L

 

建上两个用户用来测试:test   bss

 

Client机器:

[root@samba2 ~]# yum install samba-client  -y

[root@samba2 ~]# smbclient -L //192.168.52.145                ##访问失败

Enter root's password:

session setup failed: NT_STATUS_LOGON_FAILURE

 

在服务端:

[root@samba1 ~]#  getsebool -a | grep samba

samba_enable_home_dirs --> on                    ##将此项打开

 

client端

[root@samba2 ~]# smbclient -L //192.168.52.145 -U bss     ##用创建的用户查看信息

Enter bss's password:

Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]

 

        Sharename       Type      Comment

        ---------       ----      -------

        print$          Disk      Printer Drivers

        IPC$            IPC       IPC Service (Samba 4.4.4)

        bss             Disk      Home Directories

Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4] 

        Server               Comment

        ---------            -------

 

        Workgroup            Master

        ---------            -------

 

 

[root@samba2 ~]# smbclient  //192.168.52.145/bss  -U bss  ##用用户登录,能够查看信息目录内容

Enter bss's password:

Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]

smb: \> ls

  .                                   D        0  Thu Mar 14 18:08:34 2019

  ..                                  D        0  Thu Mar 14 18:08:34 2019

  .mozilla                           DH        0  Mon Mar 11 19:06:49 2019

  .bash_logout                        H       18  Tue Jul 12 23:17:09 2016

  .bash_profile                       H      193  Tue Jul 12 23:17:09 2016

  .bashrc                             H      231  Tue Jul 12 23:17:09 2016

 

                18093056 blocks of size 1024. 14720464 blocks available

 

上传文件:

 

###经过登录的方式去上传

[root@samba2 ~]# cd /mnt/        ##须要在文件所在目录上传

[root@samba2 mnt]# ls

[root@samba2 mnt]# touch file

[root@samba2 mnt]# ls

file

[root@samba2 mnt]# smbclient  //192.168.52.145/bss  -U bss

Enter bss's password:

Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]

smb: \> ls

  .                                   D        0  Thu Mar 14 18:08:34 2019

  ..                                  D        0  Thu Mar 14 18:08:34 2019

  .mozilla                           DH        0  Mon Mar 11 19:06:49 2019

  .bash_logout                        H       18  Tue Jul 12 23:17:09 2016

  .bash_profile                       H      193  Tue Jul 12 23:17:09 2016

  .bashrc                             H      231  Tue Jul 12 23:17:09 2016

 

                18093056 blocks of size 1024. 14720660 blocks available

smb: \> put file

putting file file as \file (0.0 kb/s) (average 0.0 kb/s)                ##上传成功

 

 

###用挂载的方式写入文件:

Client端:

[root@samba2 mnt]# mount  //192.168.52.145/bss  /media/ -o username=bss,password=westos

 

[root@samba2 mnt]# df

Filesystem           1K-blocks    Used Available Use% Mounted on

/dev/sda3             18093056 3348660  14744396  19% /

devtmpfs                918960       0    918960   0% /dev

tmpfs                   933644     144    933500   1% /dev/shm

tmpfs                   933644    9196    924448   1% /run

tmpfs                   933644       0    933644   0% /sys/fs/cgroup

/dev/sda1              2037760  172088   1865672   9% /boot

tmpfs                   186732      16    186716   1% /run/user/0

/dev/sr0               3704296 3704296         0 100% /run/media/root/RHEL-7.3 Server.x86_64

//192.168.52.145/bss  18093056 3372484  14720572  19% /media

[root@samba2 mnt]# cd /media/

[root@samba2 media]# ls

file

[root@samba2 media]# touch file{1..6}

[root@samba2 media]# ls

file  file1  file2  file3  file4  file5  file6

 

[root@samba2 media]# vim /etc/fstab     ##设置开机自启,但此种方式一旦服务方端启动,会致使客户端也没法启动

//192.168.52.145/bss                    /media                  cifs            defaults,username=bss,password=westos 0  0

 

[root@samba2 /]# umount /media/                ##先卸载已挂载的目录

[root@samba2 /]# mount -a                    ##经过此命令进行挂载,若是没有报错即成功

 

 

Ps:也能够将挂载命令写入/etc/rc.d/rc.local 此文件中,也能够实现开机自启,须要给予此文件执行权限

挂载命令: mount  //192.168.52.145/bss  /media/ -o username=bss,password=westos

 

 

 

 

共享文件:

服务端:

[root@samba1 /]# mkdir /bss

[root@samba1 /]# touch /bss/test9

[root@samba1 /]# semanage fcontext -a -t samba_share_t '/bss(/.*)?' #修改安全上下文

[root@samba1 /]# semanage fcontext -l | grep /bss

/bss(/.*)?       all files        system_u:object_r:samba_share_t:s0

[root@samba1 /]# restorecon -RvvF /bss/

Restorecon   reset  /bss  context   unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0

 

[root@samba1 /]# vim /etc/samba/smb.conf                ##添加模块

[bss]

        comment = bss dir

        path = /bss

[root@samba1 /]# systemctl restart smb.service

 

客户端:

[root@samba2 /]# smbclient  //192.168.52.145/bss -U bss    ##客户登录

Enter bss's password:

Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]

smb: \> ls

  .                                   D        0  Thu Mar 14 19:28:12 2019

  ..                                 DR        0  Thu Mar 14 19:23:39 2019

  test9                               N        0  Thu Mar 14 19:28:12 2019

 

                18093056 blocks of size 1024. 14713772 blocks available

 

共享系统目录:

服务端:

[root@samba1 /]# vim /etc/samba/smb.conf      ##添加系统目录模块

[mnt]

        comment = systemctl share file

        path = /mnt

[root@samba1 /]# systemctl restart smb.service

 

此时能够在客户端查询,但登入后没法操做

[root@samba2 /]# smbclient -L //192.168.52.145/mnt -U bss

Enter bss's password:

Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]

 

        Sharename       Type      Comment

        ---------       ----      -------

        print$          Disk      Printer Drivers

        DIR             Disk      bss dir

        mnt             Disk      systemctl share file

        IPC$            IPC       IPC Service (Samba 4.4.4)

        bss             Disk      Home Directories

 

由于是系统目录,若是更改安全上下文,会影响其余用户使用,因此对samba服务开放一些权限;

在服务端:

[root@samba1 /]# setsebool -P samba_export_all_ro on

[root@samba1 /]# setsebool -P samba_export_all_rw on

[root@samba1 /]# getsebool -a  | grep samba

samba_export_all_ro --> on      ##开方读写权限

samba_export_all_rw --> on

 

再次在客户端登录:

[root@samba2 /]# smbclient  //192.168.52.145/mnt -U test

Enter test's password:

Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]

smb: \> ls

  .                                   D        0  Thu Mar 10 19:05:55 2016

  ..                                 DR        0  Thu Mar 14 19:23:39 2019

  file                                N        0  Thu Mar 14 23:23:52 2019

                18093056 blocks of size 1024. 14713952 blocks available

 

权限管理:

[root@samba1 mnt]# vim /etc/samba/smb.conf     ##在本身共享的目录中添加以下

writable = yes                                   ##表明全部用户可写

Ps:须要注意本身共享目录的可写权限。

 

客户端登录后可对共享目录中的内容进行删改

[root@samba2 /]# smbclient  //192.168.52.145/bss -U test

Enter test's password:

Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]

smb: \> ls

  .                                   D        0  Thu Mar 14 19:28:12 2019

  ..                                 DR        0  Thu Mar 14 19:23:39 2019

  test9                               A        0  Thu Mar 14 19:28:12 2019

 

                18093056 blocks of size 1024. 14713264 blocks available

smb: \> rm test9

 

指定用户可写:

在服务端

[root@samba1 bss]# vim /etc/samba/smb.conf

在本身的共享目录中添加以下策略

        write list = @test         ##仅写test表明仅有test用户能够操做,加上@表明test用户组的成员均可以操做。

 

 

在客户端可使用不一样用户登入测试:

bss用户:

 

test用户:

 

 

指定用户登录:

[root@samba1 bss]# vim /etc/samba/smb.conf

在本身的共享目录模块下

        valid users = test         ##指定只有test用户能够登录

              valid users = +test       ##指定只有test组的用户能够登录        

[root@samba1 bss]# systemctl restart smb.service

 

隐藏共享目录:

[root@samba1 bss]# vim /etc/samba/smb.conf

        browseable = no          ##表明将此目录隐藏

[root@samba1 bss]# systemctl restart smb.service

 

客户端:

 

匿名用户登录:

[root@samba1 bss]# vim /etc/samba/smb.conf

        map to guest = bad user            ##其余用户映射到guest

        guest ok = yes                           ##容许其余用户登录

[root@samba1 bss]# systemctl restart smb.service

 

将普通用户指定为root用户;

服务端:

[root@samba1 bss]# vim /etc/samba/smb.conf

        admin users = bss                      ##指定bss为超级用户

[root@samba1 bss]# systemctl restart smb.service

客户端测试:

 

在服务端查看这个文件:

 

咱们以bss用户上传的文件,在这里倒是属于root用户,这时由于咱们将bss用户指定成为了超级用户

 

 

多用户挂载:

首先在客户端卸掉与服务端共享目录的挂载

[root@samba2 mnt]# yum install cifs-utils.x86_64 -y

[root@samba2 mnt]# vim /root/smbpass

##填写用户信息,此处用户必须在samba服务器上存在

username=bss

password=westos

[root@samba2 mnt]# chmod 600 /root/smbpass

[root@samba2 mnt]# mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //192.168.52.145/bss  /media/

[root@samba2 mnt]# df

Filesystem           1K-blocks    Used Available Use% Mounted on

/dev/sda3             18093056 3349384  14743672  19% /

devtmpfs                918960       0    918960   0% /dev

tmpfs                   933644     144    933500   1% /dev/shm

tmpfs                   933644    9168    924476   1% /run

tmpfs                   933644       0    933644   0% /sys/fs/cgroup

/dev/sda1              2037760  172088   1865672   9% /boot

tmpfs                   186732      16    186716   1% /run/user/0

/dev/sr0               3704296 3704296         0 100% /run/media/root/RHEL-7.3 Server.x86_64

//192.168.52.145/bss  18093056 3379408  14713648  19% /media         ##挂载成功

 

[root@samba2 mnt]# cd /media/

[root@samba2 media]# ls

file1  file2  file3  file4  LOL

[root@samba2 media]# touch pps           ##超级用户没有问题

 

[root@samba2 media]# su – test              ##切换到普通用户,会发现没法查看

[test@samba2 ~]$ cd /media

[test@samba2 media]$ ls

ls: reading directory .: Permission denied

[test@samba2 media]$ cifscreds add -u bss 192.168.52.145 ##客户端的普通用户test经过

Password:

[test@samba2 media]$ ls

file1  file2  file3  file4  LOL  pps

其余区用户同理

相关文章
相关标签/搜索