环境:Vmware,Centos7.6
1.安装Samba
yum install -y samba
2.确定人员和目录,流程逐一配置
部门 -->人员-->读写
测试 test01 test02
运维 test03 (123456)
公共-->(公共镜像 公共软件 公共公司文件 公司规制度)
特殊
个人申请一个 自己单独读
3.查看和修改Samba的配置文件
vi /etc/samba/smb.conf
里面的东西全删,生产环境以下写好的可以直接套用,粘贴好退出保存下
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = office
security = user
map to guest = bad user
dns proxy = no
server string = 文件共享服务器
[测试]
comment = 测试
path = /data/samba/测试
valid users = test01,test02
read only = No
security = share
directory mode = 0777
force directory mode = 0777
[运维]
comment = 运维
path = /data/samba/运维
valid users = test03
read only = No
security = share
directory mode = 0777
force directory mode = 0777
[公共]
comment = 公共
path = /data/samba/公共
valid users = test01,test02,test03
read only = No
security = share
create mode = 0777
force create mode = 0777
directory mode = 0777
force directory mode = 0777
注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置的是WORKGROUP (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[linuxsir] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no
guest ok 匿名用户以guest身份是登录;
4.新增用户和配置密码,我在前面配置文件里已经配置好了用户,所以在这新增和配置好的用户一致,test01,test01,test03
useradd test01
useradd test02
useradd test03
配置密码,这里我设置了123456
[root@k8s_node01 ~]# smbpasswd -a test01
New SMB password:
Retype new SMB password:
Added user test01.
[root@k8s_node01 ~]# smbpasswd -a test02
New SMB password:
Retype new SMB password:
Added user test02.
[root@k8s_node01 ~]# smbpasswd -a test03
New SMB password:
Retype new SMB password:
Added user test03.
5.配置文件和用户密码都配置好了,还没有设置共享目录,那就新建一个,但是我们要和前面的smb.conf配置文件路径一致
[root@k8s_node01 ~]# mkdir -p /data/samba/测试
[root@k8s_node01 ~]# mkdir -p /data/samba/公共
[root@k8s_node01 ~]# mkdir -p /data/samba/运维
创建好后,进去看看是否创建成功,ll列一下
cd /data/samba
ll
drwxr-xr-x 2 root root 6 Sep 4 05:59 公共
drwxr-xr-x 2 root root 6 Sep 4 05:59 测试
drwxr-xr-x 2 root root 6 Sep 4 05:59 运维
6.公共文档,所有人都可以看,可以读写,接下来分配权限
这是所有人可读可写,也可以按组分配权限,(前提是建立有组,查看组cat /etc/group)
chmod -R 777 /data/samba/测试
chmod -R 777 /data/samba/运维
chmod -R 777 /data/samba/公共
文件权限:读写和写入执行
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
chmod和chown解释
[chmod](https://www.runoob.com/linux/linux-comm-chmod.html)
[chown](https://www.runoob.com/linux/linux-comm-chown.html)
7.最后启动服务,并设置开机启动、关闭、重启
#启动smb服务
[root@localhost ~]# systemctl start smb
#设置smb开机启动
[root@localhost ~]# systemctl enable smb
#关闭smb服务
[root@localhost ~]# systemctl stop smb
#重启smb服务
[root@localhost ~]# systemctl restart smb
这里可能会出现问题点,排查防火墙和seliux是否开启,我们要把这两个关闭
[root@localhost samba]# systemctl stop firewalld
[root@localhost samba]# systemctl stop selinux
Failed to stop selinux.service: Unit selinux.service not loaded.
[root@localhost samba]# setenforce 0
8.在Windows上测试,因为我这配置的Samba服务器静态ip是192.168.3.200,所以WIn+R键输入\192.168.3.200
然后进入文件夹就需要我们输入网络凭据,前面我们新建的账号是:test01密码123456
最后搞定