CentOS 7 安装samba服务器,关闭所有防火墙状态下。
yum install -y samba
[root@system1 ~]# grep -v "#" /etc/samba/smb.conf
[global] 全局配置
workgroup = SAMBA 工作组create mask = 0664
directory mask = 0775
[root@dns ~]# cat /etc/samba/ 新添加的共享目录
[chb-share] 共享目录名称
comment = Please contact if problems still Lance 描述
path = /share/chb 目录路径
public = no 是否公开
writable = yes 允许写入
安全验证方式
#share:无需验证口令
#user:SMB服务密码数据库验证口令
#server:独立远程主机验证口令(集中管理帐号)
#domain:PDC验证(password server=IP)
后面三种安全级都要求用户在本Linux机器上也要系统帐户。否则是不能访问的。
定义用户后台类型
#smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码
#tdbsam:创建数据库文件并使用pdbedit建立SMB独立用户
#ldapsam:基于LDAP服务进行账户验证
选择系统已有的用户,没有要先创建
[root@dns ~]# pdbedit -a lance
创建共享目录
mkdir -R /share/chb
chown -Rf lance:lance /share/chb
重启服务
systemctl restart smb
windos7上在我的电脑上方输入栏写入\\samba_IP,会弹出对话框,写入账号密码即可
linux系统需要挂载共享目录:
linux访问samba共享目录需要按cifs-utils:这是支出文件共享服务的软件包
[root@system1 ~]# yum install cifs-utils -y
创建新的用户并用pdbedit创建为samba用户。新创建用户是为了证明每个新用户登录samba会出现两个文件夹,一个是共享的,一个是自己名字的文件夹,此文件夹只能自己可见,并且路径就是自己的家目录
创建一个samba认证文件,这样就可以直接挂载共享目录的时候系统自动读取文件内容认证
[root@system1 ~]# cat auth.smb 创建在root目录下,至于此文件可以放的位置,系统认证那一章节有介绍认证文件读取的路径顺序,目前只要记得root目录也在读取路径中就可以了
username=test
password=test
domain=MYGROUP
[root@system1 ~]# chmod 600 auth.smb 为了安全修改权限
设置开机自动挂载
[root@system1 ~]# cat /etc/fstab
//192.168.2.180/chb-share /today_smb_test cifs credentials=/root/auth.smb 0 0
测试:
[root@system1 ~]# mount -a
[root@system1 ~]# ll -a /today_smb_test/
总用量 43284
drwxr-xr-x. 13 test1 test1 0 5月 10 10:52 .
dr-xr-xr-x. 22 root root 4096 5月 11 13:55 ..
drwxr-xr-x. 2 test1 test1 0 5月 4 09:55 20180503
drwxr-xr-x. 2 test1 test1 0 3月 29 16:49 PGEM
完成
windows系统是可以看到共享目录和自己家目录文件,linux需要同样效果要挂载两个路径
[root@system1 today_smb_test]# cat /etc/fstab 挂载test家目录
//192.168.2.180/test /today_smb_test cifs credentials=/root/auth.smb 0 0
samba定义的变量:
%S = 当前服务名(如果有的话)
%P = 当前服务的根目录(如果有的话)
%u = 当前服务的用户名(如果有的话)
%g = 当前用户说在的主工作组
%U = 当前对话的用户名
%G = 当前对话的用户的主工作组
%H = 当前服务的用户的Home目录
%v = Samba服务的版本号。
%h = 运行Samba服务机器的主机名
%m = 客户机的NETBIOS名称
%L = 服务器的NETBIOS名称
%M = 客户机的主机名
%N = NIS服务器名
%p = NIS服务的Home目录
%R = 说采用的协议等级(值可以是CORE, COREPLUS, LANMAN1, LANMAN2,NT1)
%d = 当前服务进程的ID
%a = 客户机的结构(只能识别几项:Samba,WfWg,WinNT,Win95)
%I = 客户机的IP
%T = 当前日期和时间