基于参数Security= User,即用户需要登录认证才能访问共享资源,如何实现匿名用户直接访问文件资源。这种模式应该如何配置呢?
1 服务器端配置
1.1 配置文件
1.1.1 配置参数
源码如下:
#======================= Global Settings=====================================
[global]
# ----------------------- Network-Related Options-------------------------
workgroup= MYGROUP
serverstring = Samba Server Version %v
# --------------------------- Logging Options-----------------------------
log file =/var/log/samba/log.%m
max logsize = 51200
# ----------------------- Standalone Server Options------------------------
security =user
passdbbackend = tdbsam
# ----------------------- Domain Members Options------------------------
# ----------------------- Domain Controller Options------------------------
# ----------------------- Browser Control Options----------------------------
#----------------------------- Name Resolution-------------------------------
# --------------------------- Printing Options -----------------------------
loadprinters = yes
cupsoptions = raw
# --------------------------- File System Options---------------------------
#============================ Share Definitions==============================
[yysmb02]
comment =yynfs02
path =/mnt/hyyfs/nfs02
writeable= yes
public =yes
guest ok =yes
1.1.2 检查配置参数
使用testparm -v检测配置文件的正确性
[root@node1 mnt]# testparm -v
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimumWindows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[yysmb01]"
Processing section "[yysmb02]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your servicedefinitions
…
1.2 服务管理
1. 启动服务
[root@node1 mnt]# systemctl start smb
2 Client端
服务器端设置了Security = User,即用户需要登录认证才能访问共享资源
但是,还有部分目录支持需匿名用户直接访问。这种模式应该如何配置呢。直接挂载如下报错
[root@node2 ~]# mount -t cifs//192.168.192.91/yysmb02 /mnt/nfs/
Password for root@//192.168.192.91/yysmb02: ****
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. manmount.cifs)
基于user验证级别的情况下,要实现一个目录匿名访问,有两种解决方案:
2.1 挂载时关闭安全验证
服务器端smb配置参数未设置map to guest参数。可以通过挂载参数关闭安全验证
[root@node2 ~]# mount -t cifs -o sec=none//192.168.192.91/yysmb02 /mnt/nfs/
[root@node2 ~]# df -h | grep yysmb02
//192.168.192.91/yysmb02 60G 528M 60G 1% /mnt/nfs
[root@node2 ~]# cd /mnt/nfs/
[root@node2 nfs]# echo "1111" >test.log
[root@node2 nfs]# ls
test.log
[root@node2 nfs]# cat test.log
1111
[root@node2 nfs]#
2.2 方案二——设置map to guest参数
2.2.1 服务器端配置更新
服务器端smb配置参数设置map to guest参数。
[root@node1 mnt]# grep "map to guest"/etc/samba/smb.conf
map toguest = bad user
[root@node1 mnt]#
该参数,是将匿名用户映射为nobody用户。
更新配置文件后,重新smb服务
2.2.2 Smb客户端
在要求输入密码时,直接回车
[root@node2 mnt]# mount -t cifs //192.168.192.91/yysmb02/mnt/nfs/
Password for root@//192.168.192.91/yysmb02: <直接回车>
[root@node2mnt]# df -h | grep yysmb02
//192.168.192.91/yysmb02 60G 528M 60G 1% /mnt/nfs
[root@node2mnt]# cd /mnt/nfs/
[root@node2 nfs]# echo "22222" >test_2.log
[root@node2 nfs]# cat test_2.log
22222
[root@node2 nfs]#
---轻轻地我走了,正如我轻轻地来---