当前位置:   article > 正文

samba_browseable = yes

browseable = yes

samba概述

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

在此之前我们已经了解了NFS,NFS与samba一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持windows平台,而本章要提到的samba是能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括windows。

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

SMB协议是C/S型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
Samba监听端口有:

TCPUDP
139
445
137
138

tcp端口相对应的服务是smbd服务,其作用是提供对服务器中文件、打印资源的共享访问。
udp端口相对应的服务是nmbd服务,其作用是提供基于NetBIOS主机名称的解析。

samba进程:

进程对应
nmbd对应netbios
smbd对应cifs协议
winbindd + ldap对应Windows AD活动目录

samba用户:

帐号密码
都是系统用户
/etc/passwd
Samba服务自有密码文件
通过smbpasswd -a USERNAME命令设置
//smbpasswd命令:
    -a Sys_User     //添加系统用户为samba用户并为其设置密码
    -d              //禁用用户帐号
    -e              //启用用户帐号
    -x              //删除用户帐号
 
 
[root@localhost ~]# yum -y install samba-*
[root@localhost ~]# useradd tom
[root@localhost ~]# smbpasswd -a tom
New SMB password:
Retype new SMB password:
Added user tom.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

Samba安全级别:
Samba服务器的安全级别有三个,分别是user,server,domain

安全级别作用
user基于本地的验证
server由另一台指定的服务器对用户身份进行认证
domain由域控进行身份验证

以前的samba版本支持的安全级别有四个,分别是share,user,server,domain
share是用来设置匿名访问的,但现在的版本已经不支持share了,但是还是可以实现匿名访问的
只是配置方式变了

samba配置文件:
/etc/samba/smb.conf(主配置文件)

samba三大组成作用
[global]全局配置,此处的设置项对整个samba服务器都有效
[homes]宿主目录共享设置,此处用来设置Linux用户的默认共享,对应用户的宿主目录。
当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主目录中
[printers]打印机共享设置

常用配置文件参数:

参数作用
workgroup表示设置工作组名称
server
string
表示描述samba服务器
security表示设置安全级别,其值可为share、user、server、domain
passdb
backend
表示设置共享帐户文件的类型,其值可为tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、
smbpasswd(兼容旧版本samba密码文件)
comment表示设置对应共享目录的注释,说明信息,即文件共享名
browseable表示设置共享是否可见
writable表示设置目录是否可写
path表示共享目录的路径
guest ok表示设置是否所有人均可访问共享目录
public表示设置是否允许匿名用户访问
write list表示设置允许写的用户和组,组要用@表示,例如 write list = root,@root
valid users设置可以访问的用户和组,例如 valid users = root,@root
hosts deny设置拒绝哪台主机访问,例如 hosts deny = 192.168.72.1
hosts allow设置允许哪台主机访问,例如 hosts allow = 192.168.72.2
printable表示设置是否为打印机
//测试配置文件是否有语法错误,以及显示最终生效的配置:使用testparm命令
[root@localhost ~]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_STANDALONE
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
[root@node01-linux ~]# systemctl status smb 	查看服务状态
[root@node01-linux ~]# systemctl status nmb	
  • 1
  • 2

samba访问

环境说明:

服务端客户端
node01
192.168.67.131
node02
192.168.67.132
[root@node01-linux ~]# yum -y install samba*		#安装所有的包

[root@node01-linux ~]# systemctl stop firewalld

[root@node02-linux ~]# yum -y install samba-client	#安装客户端包

[root@node01-linux ~]# useradd -r -M -s /sbin/nologin tom	#创建一个系统用户

[root@node01-linux ~]# smbpasswd -a tom	#添加tom系统用户为samba用户并为其设置密码

[root@node01-linux samba]# useradd zhangshan
[root@node01-linux samba]# smbpasswd -a zhangshan


[root@node01-linux ~]# systemctl enable --now smb nmb		#启动smb,nmb服务

[root@node01-linux samba]# vim 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		#表示设置安全级别,其值可为share、user、server、domain

        passdb backend = tdbsam	#表示设置共享帐户文件的类型,其值可为tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、smbpasswd(兼容旧版本samba密码文件)

        printing = cups			#打印
        printcap name = cups	#打印名称
        load printers = yes		#加载打印机
        cups options = raw		#选项

[runtime]
        comment = runtime	#表示设置对应共享目录的注释,说明信息,即文件共享名
        browseable = yes	#表示设置共享是否可见
        writable = no		#表示设置目录是否可写
        valid users = jerry,zhangshan	#设置可以访问的用户和组,例如 valid users = root,@root
        write list = zhangshan	#表示设置允许写的用户和组,组要用@表示,例如 write list = root,@root
        path = /opt				#表示共享目录的路径
		hosts deny = 192.168.67.133		#设置拒绝哪台主机访问,例如 hosts deny = 192.168.72.1
		hosts allow = 192.168.67.132	#设置允许哪台主机访问,例如 hosts allow = 192.168.72.2

[root@node01-linux samba]# systemctl restart smb nmb	#重启smb nmb服务

[root@node01-linux samba]# echo 'hello world' > /opt/abc
[root@node01-linux samba]# ls /opt/
abc

[root@node01-linux samba]# setfacl -m u:zhangshan:rwx /opt/	#设置zhangshan用户对opt目录有rwx权限

`//查看samba服务器有哪些共享资源`
[root@node02-linux ~]# smbclient -L 192.168.67.131 -U zhangshan
Enter SAMBA\zhangshan's password: 

	Sharename       Type      Comment
	---------       ----      -------
	runtime         Disk      runtime
	IPC$            IPC       IPC Service (Samba 4.10.4)
Reconnecting with SMB1 for workgroup listing.

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	SAMBA                NODE01-LINUX
	WORKGROUP            LAPTOP-6AKE6Q6L

`//交互式访问某共享资源`
[root@node02-linux ~]# smbclient //192.168.67.131/runtime -U tom
Enter SAMBA\tom's password: 
tree connect failed: NT_STATUS_ACCESS_DENIED
[root@node02-linux ~]# smbclient //192.168.67.131/runtime -U zhangshan
Enter SAMBA\zhangshan's password: 
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Fri May 15 11:44:20 2020
  ..                                  D        0  Tue May 12 11:46:52 2020
  abc                                 N       12  Fri May 15 11:44:20 2020

		8374272 blocks of size 1024. 7131200 blocks available
smb: \> exit
[root@node02-linux ~]# 

`//基于挂载的方式访问`
[root@node02-linux ~]# mkdir /opt/smb
[root@node02-linux ~]# mount -t cifs //192.168.67.131/runtime /opt/smb -o username=zhangshan,password=123456
[root@node02-linux ~]# df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   8.0G  1.2G  6.9G  15% /
devtmpfs                  476M     0  476M   0% /dev
tmpfs                     488M     0  488M   0% /dev/shm
tmpfs                     488M  7.6M  480M   2% /run
tmpfs                     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1                1014M  130M  885M  13% /boot
tmpfs                      98M     0   98M   0% /run/user/0
//192.168.67.131/runtime  8.0G  1.2G  6.9G  15% /opt/smb
[root@node02-linux ~]# cd /opt/smb/
[root@node02-linux smb]# ls
abc
[root@node02-linux smb]# rm -f abc 
[root@node02-linux smb]# touch 111
[root@node02-linux smb]# ll
total 0
-rw-r--r--. 1 1001 1001 0 May 15 16:10 111
[root@node01-linux opt]# ll
total 0
-rw-r--r-- 1 zhangshan zhangshan 0 May 15 16:10 111

`永久挂载`
[root@node02-linux ~]# umount /opt/smb/
[root@node02-linux ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  8.0G  1.2G  6.9G  15% /
devtmpfs                 476M     0  476M   0% /dev
tmpfs                    488M     0  488M   0% /dev/shm
tmpfs                    488M  7.6M  480M   2% /run
tmpfs                    488M     0  488M   0% /sys/fs/cgroup
/dev/sda1               1014M  130M  885M  13% /boot
tmpfs                     98M     0   98M   0% /run/user/0
[root@node02-linux ~]# vim /etc/fstab 


#
# /etc/fstab
# Created by anaconda on Tue May 12 11:40:49 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=b81f2ae0-a658-4c1f-bd24-90d9c7f28bcc /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
//192.168.67.131/runtime /opt/smb cifs defaults,username=zhangshan,password=123456 0 0
[root@node02-linux ~]# mount -a
[root@node02-linux ~]# df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   8.0G  1.2G  6.9G  15% /
devtmpfs                  476M     0  476M   0% /dev
tmpfs                     488M     0  488M   0% /dev/shm
tmpfs                     488M  7.6M  480M   2% /run
tmpfs                     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1                1014M  130M  885M  13% /boot
tmpfs                      98M     0   98M   0% /run/user/0
//192.168.67.131/runtime  8.0G  1.2G  6.9G  15% /opt/smb

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147

实例

配置用户认证共享

`//使用yum命令安装samba服务器`
[root@localhost ~]# yum -y install samba-*

`//映射共享目录`
`//创建用户zhang`
[root@node01-linux ~]# useradd -M zhang

`//为zhang用户创建smb共享密码`
[root@node01-linux ~]# smbpasswd -a zhang
New SMB password:
Retype new SMB password:
Added user zhang.

`//假设这里映射zhang用户为share用户,那么就要在/etc/samba/smbusers文件中添加如下内容`
[root@node01-linux ~]# echo 'zhang = share' > /etc/samba/smbusers
[root@node01-linux samba]# ls
lmhosts  smb.conf  smb.conf.example  smbusers
[root@node01-linux samba]# mv smbusers .smbusers  	#隐藏映射映射文件
[root@node01-linux samba]# ls
lmhosts  smb.conf  smb.conf.example
`//在全局配置中添加如下内容`
[root@node01-linux samba]# vim smb.conf



[global]
        workgroup = SAMBA
        security = user
        username map = /etc/samba/.smbusers 	#添加此行内容

        passdb backend = tdbsam

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

[runtime]
        comment = runtime
        browseable = yes
        writable = no
        valid users = jerry,zhangshan
        write list = zhangshan
        path = /opt

`//创建一个共享目录zhang`
[root@node01-linux samba]# mkdir /opt/runtime
[root@node01-linux samba]# chown -R zhang.zhang /opt/runtime/
[root@node01-linux samba]# ll /opt/
total 0
-rw-r--r-- 1 zhangshan zhangshan 0 May 15 16:10 111
-rw-r--r-- 1 root      root      0 May 15 16:07 abc
drwxr-xr-x 2 zhang     zhang     6 May 15 16:44 runtime


`//配置共享`
[root@node01-linux samba]# vim 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
        username map = /etc/samba/.smbusers

        passdb backend = tdbsam

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

[runtime]
        comment = runtime
        browseable = yes
        writable = no
        valid users = zhang
        write list = zhang
        path = /opt/runtime

`//重启smb nmb服务`
[root@node01-linux samba]# systemctl restart smb nmb

`//启动smb服务`
[root@node01-linux samba]# systemctl start smb

`//重启smb服务`
[root@node01-linux samba]# systemctl restart smb

`//重新加载smb服务`
[root@node01-linux samba]# systemctl reload smb

`//设置smb服务随系统启动而启动`
[root@node01-linux samba]# systemctl enable smb

`//客户端查看samba服务器有哪些共享资源`
[root@node02-linux ~]# smbclient -L 192.168.67.131 -U share
Enter SAMBA\share's password: 

	Sharename       Type      Comment
	---------       ----      -------
	runtime         Disk      runtime
	IPC$            IPC       IPC Service (Samba 4.10.4)
Reconnecting with SMB1 for workgroup listing.

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	SAMBA                NODE01-LINUX

[root@node02-linux ~]# vim /etc/fstab 


#
# /etc/fstab
# Created by anaconda on Tue May 12 11:40:49 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=b81f2ae0-a658-4c1f-bd24-90d9c7f28bcc /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
//192.168.67.131/runtime /media cifs defaults,username=share,password=123456 0 0

[root@node02-linux ~]# mount -a
[root@node02-linux ~]# df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   8.0G  1.2G  6.9G  15% /
devtmpfs                  476M     0  476M   0% /dev
tmpfs                     488M     0  488M   0% /dev/shm
tmpfs                     488M  7.6M  480M   2% /run
tmpfs                     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1                1014M  130M  885M  13% /boot
tmpfs                      98M     0   98M   0% /run/user/0
//192.168.67.131/runtime  8.0G  1.2G  6.9G  15% /media
`//验证`
[root@node02-linux ~]# cd /media/
[root@node02-linux media]# ls
[root@node02-linux media]# touch runtime
[root@node02-linux media]# ll
total 0
-rw-r--r--. 1 1002 1002 0 May 15 17:16 runtime

[root@node01-linux ~]# cd /opt/runtime/
[root@node01-linux runtime]# ls
runtime
[root@node01-linux ~]# id zhang
uid=1002(zhang) gid=1002(zhang) groups=1002(zhang)



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157

配置匿名共享

`//使用yum命令安装samba服务器`
[root@localhost ~]# yum -y install samba-*

`//在全局配置中添加如下内容`
[root@node01-linux samba]# vim smb.conf

[global]
        workgroup = SAMBA
        security = user
        map to guest = Bad User

        passdb backend = tdbsam

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

[runtime]
        comment = runtime
        browseable = yes
        path = /opt/anon 
        public = yes
        guest = yes
        writable = yes
        
[root@node01-linux samba]# mkdir /opt/anon 	#创建匿名共享目录/opt/anon
[root@node01-linux samba]# chmod 777 /opt/anon/ 	#权限777 所有人都能写

[root@node01-linux samba]# systemctl restart smb nmb

[root@node02-linux ~]# df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   8.0G  1.2G  6.9G  15% /
devtmpfs                  476M     0  476M   0% /dev
tmpfs                     488M     0  488M   0% /dev/shm
tmpfs                     488M  7.6M  480M   2% /run
tmpfs                     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1                1014M  130M  885M  13% /boot
tmpfs                      98M     0   98M   0% /run/user/0
//192.168.67.131/runtime  8.0G  1.2G  6.8G  15% /opt/smb
//192.168.67.131/runtime  8.0G  1.2G  6.8G  15% /media
[root@node02-linux ~]# umount /media  #先卸载
[root@node02-linux ~]# vim /etc/fstab 


#
# /etc/fstab
# Created by anaconda on Tue May 12 11:40:49 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=b81f2ae0-a658-4c1f-bd24-90d9c7f28bcc /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
//192.168.67.131/runtime /media cifs defaults,username=BadUser  0 0

[root@node02-linux ~]# mount -a
Password for BadUser@//192.168.67.131/runtime:  
[root@node02-linux ~]# df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   8.0G  1.2G  6.9G  15% /
devtmpfs                  476M     0  476M   0% /dev
tmpfs                     488M     0  488M   0% /dev/shm
tmpfs                     488M  7.6M  480M   2% /run
tmpfs                     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1                1014M  130M  885M  13% /boot
tmpfs                      98M     0   98M   0% /run/user/0
//192.168.67.131/runtime  8.0G  1.2G  6.8G  15% /opt/smb
//192.168.67.131/runtime  8.0G  1.2G  6.8G  15% /media
`//验证`
[root@node02-linux ~]# cd 
[root@node02-linux ~]# cd /media/
[root@node02-linux media]# ls
[root@node02-linux media]# touch abc
[root@node02-linux media]# ll
total 0
-rw-r--r--. 1 nobody nobody 0 May 15 17:40 abc

[root@node01-linux ~]# cd /opt/anon/
[root@node01-linux anon]# ll
total 0
-rw-r--r-- 1 nobody nobody 0 May 15 17:40 abc
[root@node01-linux anon]# id nobody		#匿名用户
uid=99(nobody) gid=99(nobody) groups=99(nobody)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/182519
推荐阅读
相关标签
  

闽ICP备14008679号