千家信息网

samba 部署和优化

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这个服务呢,可能一些网络管理员用得比较多,因为samba服务可以实现让我们去在linux机器上共享一个目录出来,然后呢让windows机器去访问;就像windows跟windows之间进行文件共享一样
千家信息网最后更新 2025年02月02日samba 部署和优化

这个服务呢,可能一些网络管理员用得比较多,因为samba服务可以实现让我们去在linux机器上共享一个目录出来,然后呢让windows机器去访问;就像windows跟windows之间进行文件共享一样那么方便;它也可以配置一些用户登录权限。

服务端

## 安装

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

解释说明:

samba 服务端

samba-client 客户端

## 查看配置文件

[root@wy ~]# vim /etc/samba/smb.conf

解释说明:

[global] 全局设置

workgroup = MYGROUP 工作组

server string = Samba Server Version %v 显示的信息(自定义的)

security = user 安全级别

user:需要经过用户名密码进行验证才可以去登录我们的samba共享的文件

shell: 假如匿名用户,不需要用户,不需要验证就可以直接访问到共享的文件,最不安全的

server:检查账户以及密码,也就是认证的 工作交由另外一台服务器来做,是由远程的控制台来做的

domain:这牵扯到了windows里面的域控制器,它可以通过域控制器来进行验证用户的账户和密码

passdb backend = tdbsam 用户名和密码存储的方式,默认是tdbsam,另外两个是smbpasswd、ldapsam

smbpasswd是使用一个工具smbpasswd去操作系统的用户,把系统的用户变成一个虚拟用户映射过来,

然后我们设置一个samba的密码。

tdbsam 与smbpasswd类似,也有不同的地方(比如密码存储的方式);tdbsam更安全一些

ldapsam 是基于ldap账户管理方式验证用户,需要借助于咱们的ldap服务

load printers = yes cups options = raw 这两个是关于打印机的设置

[homes] 这个模块是把你的用户的家目录是否可以共享出来

[printers] 这个模块是打印机相关的



做个实验,要求:共享一个目录出来,任何人都能访问这个目录,不需要输入用户名和密码就可以访问,就像ftp的匿名登录一样,但要求是只读,不能写

## 编辑配置文件

[root@wy ~]# vim /etc/samba/smb.conf

security = share

workgroup = WORKGROUP //因为windows是workgroup

****在文件末尾加上

[wyy]

comment = share all //自定义的描述

path = /tmp/sambadir //共享的目录

browseable = yes //是否允许在咱们的工作组里面

public = yes //是否是公开的

writable = no //不可写

## 启动服务

[root@wy ~]# /etc/init.d/smb start

启动 SMB 服务: [确定]

## 先创建共享目录

[root@wy ~]# mkdir /tmp/sambadir

[root@wy ~]# cp /etc/passwd /tmp/sambadir/1.txt

## 在共享目录下创建目录,是为了验证是否不可写(配置文件中配置了不可写)

[root@wy ~]# mkdir /tmp/sambadir/test

[root@wy ~]# chmod 777 !$

chmod 777 /tmp/sambadir/test

windows下的访问

## 打开windows的运行

## 看到在配置文件创建的那个名字

## 查看下面的目录文件

## 来验证不可写

linux下的访问

## 第一种方式登录

[root@wy ~]# smbclient //192.168.219.129/wyy

WARNING: The security=share option is deprecated

Enter root's password:

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

Server not using user level security and no password supplied.

smb: \> ls

. D 0 Wed Nov 16 22:06:20 2016

.. D 0 Wed Nov 16 22:05:41 2016

test D 0 Wed Nov 16 22:06:20 2016

1.txt 1383 Wed Nov 16 22:06:05 2016

35418 blocks of size 524288. 25862 blocks available

解释说明:

不说输入密码,直接回车即可

## 第二种方式挂载

##先安装关于mount相关的

[root@wy ~]# yum install -y cifs-utils

## 挂载

[root@wy ~]# mount -t cifs //192.168.219.129/wyy /opt

Password:

解释说明:

不用输入密码,直接回车

## 查看挂载

[root@wy ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/vg_wy-lv_root 18G 3.8G 13G 24% /

tmpfs 495M 0 495M 0% /dev/shm

/dev/sda1 485M 34M 426M 8% /boot

//192.168.219.129/wyy 18G 3.8G 13G 24% /opt

## 查看共享目录

[root@wy ~]# cd /opt/

[root@wy opt]# ls

1.txt test

## 验证在它下面的目录是否不可写

[root@wy opt]# cd test/

[root@wy test]# vim a.txt

提示:

"a.txt"

"a.txt" E212: 无法打开并写入文件

请按 ENTER 或其它命令继续

小结:这个是没有用户名和密码的情况下,那么有用户名和密码怎么办呢?请看下一小节



要求:需要输入用户名和密码的才能访问共享目录,并且可读可写的

## 编辑配置文件

[root@wy ~]# vim /etc/samba/smb.conf

security = user

****在文件末尾

[wyylinux]

comment = share for users

path = /tmp/sambadir

browseable = yes

writable = yes

public = no

## 创建测试账户

[root@wy ~]# useradd smbuser1

解释说明:

它的密码是不需要定义的,因为我们登录samba服务并不是用系统的用户名和密码,但有一点要明白,这个samba服务登录的时候用的用户名和系统的用户名是相同的,但是实际上我们这个smbuser1只是映射过来的,它只是系统用户的一个映射而已

## pdbedit工具增加用户

[root@wy ~]# pdbedit -a smbuser1

new password:

retype new password:

解释说明:

-a 就是add

-x 就是删除

-h 查看这个工具有哪些选项

## 重启服务

[root@wy ~]# /etc/init.d/smb restart

windows下的访问

##打开运行

## 回车后,输入测试账号与密码

## 可查看到共享的目录模块名

## 可以在共享目录下创建文件

## 保存时要选择编码,要不然在linux下看会乱码

linux下的访问

## 第一种方式登录

[root@wy ~]# smbclient //192.168.219.129/wyylinux

Enter root's password:

session setup failed: NT_STATUS_LOGON_FAILURE

[root@wy ~]# smbclient -Usmbuser1 //192.168.219.129/wyylinux

Enter smbuser1's password:

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

smb: \> ls

. D 0 Wed Nov 16 22:06:20 2016

.. D 0 Wed Nov 16 22:18:45 2016

test D 0 Wed Nov 16 22:06:20 2016

1.txt 1383 Wed Nov 16 22:06:05 2016

35418 blocks of size 524288. 25857 blocks available

解释说明:

登录时需要用-U指定用户名

## 第二种方式挂载

## 挂载

[root@wy ~]# mount -t cifs -o username=smbuser1,password=123456 //192.168.219.129/wyylinux /opt

## 查看挂载

[root@wy ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/vg_wy-lv_root 18G 3.8G 13G 24% /

tmpfs 495M 0 495M 0% /dev/shm

/dev/sda1 485M 34M 426M 8% /boot

//192.168.219.129/wyy 18G 3.8G 13G 24% /opt

//192.168.219.129/wyylinux 18G 3.8G 13G 24% /opt

## 卸载之前的,再重新挂载

[root@wy ~]# umount /opt

[root@wy ~]# umount /opt

[root@wy ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/vg_wy-lv_root 18G 3.8G 13G 24% /

tmpfs 495M 0 495M 0% /dev/shm

/dev/sda1 485M 34M 426M 8% /boot

[root@wy ~]# mount -t cifs -o username=smbuser1,password=123456 //192.168.219.129/wyylinux /opt

[root@wy ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/vg_wy-lv_root 18G 3.8G 13G 24% /

tmpfs 495M 0 495M 0% /dev/shm

/dev/sda1 485M 34M 426M 8% /boot

//192.168.219.129/wyylinux 18G 3.8G 13G 24% /opt

## 进入共享目录下,测试能否创建新的文件

[root@wy ~]# cd /opt/

[root@wy opt]# ls

1.txt test

[root@wy opt]# cd test/

[root@wy test]# ls

2222.txt

[root@wy test]# touch 12.txt

[root@wy test]# ls

12.txt 2222.txt


0