samba服务特点:
| 服务名称 | 使用范围 | 服务器端 | 客户端 | 局限性 |
|---|---|---|---|---|
| FTP | 局域网和公网 | Windows Linux | Windows Linux | 无法直接在服务器端修改数据 |
| Samba | 内网 | Windows Linux | Windows Linux | 只能在内网使用 |
| NFS | 内网和公网 | Linux | Linux | 只能在Linux之间使用 |
| TCP | UDP |
|---|---|
| 139、445 | 137、138 |

systemctl stop firewalld #关闭防火墙
setenforce 0
yum install -y samba #安装samba 服务
yum list samba #列出软件包的信息
yum remove samba #卸载软件包
yum check-update samba #检查是否有可更新的软件包
yum update samba #更新samba软件包systemctl start smb.service
systemctl enable smb.service编辑配置文件,添加一个以test作为网络共享文件名的共享目录
/etc/samba/smb.conf
[test] #共享文件名称(也就是客户端访问时可以看到的那个名字)自定义
comment = this is test #共享文件夹的描述,自定义
path = /home/test #共享文件夹路径,自定义
public = yes #是否允许guest账户访问
writable =yes #是否有写权限
directory mask = 0777 #默认创建目录权限
create mask = 0777 #默认创建文件权限
valid users = @share,root #设置允许访问共享目录的用户@后跟组名,不写此行就对所有用户开放
write list = @share,root #设置有写权限的用户@后面跟的是组名
browseable = yes #该指定共享目录可浏览
available = yes #该指定共享资源可使用[test]
comment = this is test
path = /homt/test
public = yes
writable =yes
directory mask = 0777
create mask = 0777
valid users = @share,root
write list = @share,root
browseable = yes
available = yes
testparm可以用来检测配置文件中是否有语法错误

workgroup 表示设置工作组名称
server string 表示描述 samba 服务器
security 表示设置安全级别,其值可为share、user、server、domain
passdb backend 表示设置共享帐户文件的类型,其值可为 tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、smbpasswd(兼容旧版本 samba 密码文件)
comment 表示设置对应共享目录的注释,说明信息,即文件共享名
browseable 表示设置共享是否可见
writable 表示设置目录是否可写
path 表示共享目录的路径
guest ok 表示设置是否所有人均可访问共享目录
public 表示设置是否允许匿名用户访问
write list 表示设置允许写的用户和组,组要用 @ 表示,例如 write list = root,@root
valid users 设置可以访问的用户和组,例如 valid users = root,@root
hosts deny 设置拒绝哪台主机访问,例如 hosts deny = 192.168.10.100hosts allow设置允许哪台主机访问,例如 hosts allow = 192.168.10.200
printable 表示设置是否为打印机
mkdir /home/test
echo "hello world" > /home/test/ceshi.txt
groupadd share
useradd -M xy -s /sbin/nologin/ -g share
useradd -M xiayan -s /sbin/nologin/ -g share

chmod -R 777 /home/testsmbpasswd -a xy # 将本地用户跟samba用户进行映射
smbpasswd -a xiayan
pdbedit -a -u xy
pdbedit -a -u xiayan
pdbedit -L #查看加入samba服务的用户smbpasswd 命令
-a Sys_User //添加系统用户为 samba 用户并为其设置密码
-d //禁用用户帐号
-e //启用用户帐号
-x //删除用户帐号pdbebit 参数说明
-a, --create 新建samba用户
-r, --modify 修改samba用户
-x, --delete 删除samba用户
-L, --list 列出全部samba用户,读取passdb.tdb数据库文件
-v, --verbose 显示详细信息
-c, --account-control=STRING 账户控制值
-w, --smbpasswd-style 以smbpasswd格式输出
-u, --user=USER 使用的用户
-N, --account-desc=STRING 设置账户描述
-f, --fullname=STRING 设置全名
-h, --homedir=STRING 设置家目录
-D, --drive=STRING 设置家设备
-S, --script=STRING 设置登陆脚本
-p, --profile=STRING 设置配置文件路径
-I, --domain=STRING 设置用户域名
-U, --user SID=STRING 设置用户SID或RID
-M, --machine SID=STRING 设置设备SID或RID
-m, --machine 账户是一个设备账户
-b, --backend=STRING 使用不同的passdb作为默认后端
-i, --import=STRING 指定后段导入用户账户
-e, --export=STRING 导出用户账户到指定后端
--policies-reset 恢复默认策略
-P, --account-policy=STRING 帐户策略的值(如最大密码有效期)
-C, --value=LONG 设置账号策略值
--force-initialized-passwords 强制初始化passdb后端
-z, --bad-password-count-reset 重置错误密码
-Z, --logon-hours-reset 重置登陆时间
--time-format=STRING 时间参数的格式
-t, --password-from-stdin 从标准输入获取密码
-K, --kickoff-time=STRING 设置开始时间
--set-nt-hash=STRING 从nt-hash设置密码
-d, --debuglevel=DEBUGLEVEL 设置debug级别
-s, --configfile=CONFIGFILE 使用备用配置文件
-l, --log-basename=LOGFILEBASE 设置日志文件的基本名称
-V, --version 输出版本号
--option=name=value 从命令行设置smb.conf选项
-?, --help 显示帮助信息
--usage 显示简要的使用信息


使用windows登录验证
win + R 键打开,输入\IP地址



