Linux安装配置Samba服务器


准备工作

1、安装CentOS,配置规划好的IP地址并可以在网内Ping通
2、关闭防火墙

systemctl stop firewalld.service 

防火墙其它命令:
启动

systemctl start firewalld.service 

重启

systemctl restart firewalld.service

查看状态:

systemctl status firewalld 

禁止firewall开机启动

systemctl disable firewalld

配置部署

yum repolist //先确认yum源是否正常
1、安装Samba服务器

yum install samba
cd /etc/samba
ls

2、启动Samba服务器(验证是否可以正常工作)

systemctl start smb  //启动
systemctl status smb  //Active: active(running)为正常

3、配置开机启动

systemctl enable smb  //配置开机启动运行

4、创建共享目录

cd /opt/
mkdir 目录名1   目录名2   目录名3

5、目录下建立一个文件来区分目录

cd  目录名
touch 与目录同名的文件

6、给文件夹权限

chmod 777 /share(注意:/share为目标文件夹,根据自己的需求更换)

7、创建用户和组

useradd 用户1
useradd 用户2
groupadd 组名1
groupadd 组名2

8、将用户加入对应的组内

gpasswd -a 用户名 组名

9、将建立的本地用户转为samba用户

smbpasswd -a 用户1
smbpasswd -a 用户2

10、编程samba主配置文件,实现目录共享

cd /etc/samba/
ls
vim smb.conf

[目录名]
        comment = 目录名 Documents    //目录说明
        path = /opt/目录名
        valid users = 用户1,用户2      //设置谁可以访问
        writable = no   //只读权限
        wrote list = 用户名1,用户名2    //设置可以写的用户


[目录名]
        comment = 目录名 Department Documents    /目录说明
        path = /opt/用户名
        valid users = @用户组,用户名     //带@表示这是一个用户组名
        writable = yes

11、重启smb服务,测试使用!

systemctl restart smb    //重启smb服务
systemctl status smb     //查看smb运行状态

windows访问samba提示无法访问网络资源

原因:不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接,中断与共享资源的所有连接,或者直接重启Windows

  • 断开连接,在Windows的命令行中输入
    net use * /delete /y

smb.conf文件配置正确,权限777设置过,仍无法写入

semanage fcontext -a -t samba_share_t /opt/目录名
restorecon -Rv /opt/目录名
  • 如仍有问题,确认smb.conf中"writable = "是否为no

账号登录后自动显示一个“未建立”的与账号对应文件夹解决办法

删除smb.conf中如下内容
[homes]

    comment = Home Directories
    valid users = %S, %D%w%S
    browseable = No
    read only = No
    inherit acls = Yes

linux及samba用户的查看与删除

  • 查看samba服务器中已拥有哪些用户
    pdbedit -L
  • 删除samba服务中的某个用户
    smbpasswd -x 用户名
  • 查看Linux中所有组
    cat /etc/group
  • 删除linux中某个用户
    userdel 用户名