1、CentOS系统

1.1、安装

  1. yum install samba -y
  2. samba-client:客户端需要安装

1.2、启动

  1. #启动
  2. systemctl start smb
  3. #开机自启
  4. systemctl enable smb
  5. #关闭防火墙和selinux,防止权限出现问题,后续可以打开
  6. sysetmctl stop firewalld
  7. setenforce 0

1.3、配置

1.3.1、匿名共享

1.3.1.1、配置

samba4.x不能使用像3.x版本那样配置使用匿名共享,相关参数(security = share)并不会起作用,这个可以在使用testparm检查语法的时候看到。需要添加新的参数。
vim /etc/samba/smb.conf

  1. [global]
  2. workgroup = SAMBA
  3. security = user #这个统一为user; share,和server已经被弃用了
  4. map to guest = bad user #必须,匿名访问
  5. passdb backend = tdbsam
  6. printing = cups
  7. printcap name = cups
  8. load printers = yes
  9. cups options = raw
  10. inherit acls = Yes
  11. [public]
  12. comment = share comment
  13. path = /public
  14. public = yes #
  15. read only = no #可写

创建一个目录/public .注意目录的读写权限
chmod 777 /public

1.3.1.2、客户端使用:

**

1.3.2、用户密码访问

1.3.2.1、配置

1.使用smb自带的数据库存储账号
创建用户
因为在[globa]中“passdb backend = tdbsam”,所以要用“pdbedit”来增加用户,注意添加的用户必须在系统中存在

  1. [global]
  2. workgroup = SAMBA
  3. security = user
  4. passdb backend = tdbsam
  5. printing = cups
  6. printcap name = cups
  7. load printers = yes
  8. cups options = raw
  9. inherit acls = Yes
  1. useradd user1
  2. useradd user2
  3. useradd user3
  4. #创建samba用户,注意添加的用户必须在系统中存在
  5. pdbedit -a user1
  6. pdbedit -a user2
  7. pdbedit -a user3
  8. #查看用户
  9. pdbedit -L

2、使用自定义的文件存储用户密码

  1. [global]
  2. workgroup = SAMBA
  3. security = user
  4. #map to guest = bad user
  5. #passdb backend = tdbsam
  6. passdb backend = smbpasswd
  7. smb passwd file = /etc/samba/smbpasswd #存储账号的位置
  8. printing = cups
  9. printcap name = cups
  10. load printers = yes
  11. cups options = raw
  1. useradd user4
  2. smbpasswd -a user4
  3. #用户账号存储在/etc/samba/smbpasswd中
  4. cat smbpasswd
  5. user4:1003:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:32ED87BDB5FDC5E9CBA88547376818D4:[U ]:LCT-6006B7B7:

访问即可

1.3.2.2、客户端使用:



**

1.3.2.3、设置账号映射

将系统账号映射成其他账号,防止他人会根据samba账号知道系统账号

  1. [global]
  2. workgroup = SAMBA
  3. security = user
  4. username map = /etc/samba/smbuser
  5. passdb backend = smbpasswd
  6. smb passwd file = /etc/samba/smbpasswd #存储账号的位置
  7. printing = cups
  8. printcap name = cups
  9. load printers = yes
  10. cups options = raw
  1. useradd user5
  2. smbpasswd -a user5
  3. vim /etc/samba/smbuser
  4. user5 = test

登录时用户名test和user5都能登录

2、Debian系统

10.7版本

2.1、安装

apt install samba -y

2.2、查看服务状态

systemctl status smbd
systemctl start smbd #启动

2.3、配置

2.3.1、匿名共享

vim /etc/samba/smb.conf

  1. [public]
  2. comment= iso
  3. path = /data/smb/iso
  4. public = yes
  5. read only =no

创建目录/data/smb/iso 注意目录权限权限

2.3.2、用户密码访问

2.3.2.1、创建用户

useradd -m user1
注意:-m创建家目录,debian默认不创建家目录

2.3.2.2、添加为smb用户

smbpasswd -a user1

注意:默认家目录只允许读,如果可写,修改配置文件smb.conf

3、客户端访问

3.1、window:

image.png
image.png
**
有时重新换账号登录时不会出现重新登录,可能系统有链接,需要将连接释放掉,并且多输入几次
image.png

添加映射
image.png
image.png
image.png

3.2、LInux:

需要安装samba-client
yum install samba-client -y
smbclient //192.100.3.200/public -U user1

image.png
smbclient -L//192.100.3.200/public -U user1 可以查看共享文件夹,方便挂载
挂载:
mount //192.100.3.200/public /mnt -o username=user1,password=123456
image.png
**

4、问题

smbclient错误tree connect failed: NTSTATUS_BAD_NETWORK_NAME
没有相关的路径,查看是否创建了存储路径_