一、Samba文件共享
Samba实现Linux和Linux之间的文件共享,还可以实现Linux和Windows之间的文件共享。允许在不同的操作系统之间共享文件和打印机。
Samba是一个C/S架构,也就是客户端服务端
Samba套件构成:
samba:Samba的主程序和穿护进程以及相关文档内容
samba-common:提供主要的配置文件以及语法校验命令
samba-client:提供客户端的工具命令
Samba主要得配置文件内容
samba的主要配置目录:/etc/samba
root@samba \~\] ll /etc/samba/ imhosts文件:主要配置IP和主机名的对应关系,类似/etc/hosts smb.conf文件:Samba最主要的配置文件,指定共享目录等内容 smbpasswd文件:默认没有,存放samba的用户和密码的文件;进行用户验证需要使用 **samba主配置文件常用内容** samba的主要配置文件:/etc/samba/smb.conf 更多配置内容参考/etc/samba/smb.conf.example文件 **\[global\] #samba的全局配置** Workgroup=MYGROUP#指定工作组名称 security=user #设置安全等级,user模式需用户验证,share模式无需验证 server string=Samba Server Version#指定主机注释说明 netbiosname=MYSERVER #指定Samba默认主机名,例如在windows上查看共享显示的主机名 hosts allow=127.192.168.12.192.168.13. #允许访问samba服务器IP地址范围,默认允许所有的IP访问 \[homes
valid users = #指定允许访问用户
invalid users= #指定不允许访问用户
write list = #指定写入用户
read list = #设置只读用户
public = yes #是否可以匿名访问
Samba常用命令
smbpasswd命令:设置samba的用户以及密码,管理samba用户和密码
常用选项:
-a 添加一个用户为samba用户
-x 删除一个samba用户
pdbedit命令:管理samba用户数据库
常用选项:
-L 列出所有的samba用户
-Lv 显示详细信息
-x 删除samba用户
-a 创建samba用户
testparm命令:测试samba配置文件设置是否正确
smbclient命令:查看samba服务的共享目录。 -L指定sama服务器ip地址,-U指定用户名
Samba共享实战(一)
创建/samba目录,允许所有主机访问,登陆账户和密码分别是Sambauser和passwd
1.安装samba软件
root@samba \~\]# dnf install samba -y 2.创建/samba目录,授予目录权限 \[root@samba \~\]# mkdir /samba \[root@samba \~\]# chmod 777 /samba 3.修改smb.conf配置文件 \[share
path = /samba
comment = This is a directory
browseable = yes
writeable = yes
write list = sambauser
read list = sambauser
Samba共享实战(二)
创建/samba目录,允许所有主机访问,登录账户和密码分别是Sambauser和passwd
4.创建Samba用户,并且指定密码
root@samba \~\]# useradd -s /sbin/nologin sambauser \[root@samba \~\]# smbpasswd -a sambauser 5.启动smb服务,关闭防火墙,关闭Selinux \[root@samba \~\]# systemctl start smb \[root@samba \~\]# systemctl stop firewalld \[root@samba \~\]# setenforce 0 **Samba共享实战(三)** 创建/samba目录,允许所有主机访问,登录账户和密码分别是sambauser和passwd 6.Linux客户端配置,安装samba-client 和cifs-utils \[root@samba \~\]# dnf install -v samba-client \[root@samba \~\]# dnf install cifs-utils -y 7.查看samba服务端的共享目录 \[root@samba \~\]# smbclient -L 192.168.68.150 -U sambauser **Samba共享实战(四)** 创建/samba目录,允许所有主机访问,登录账户和密码分别是sambauser和passwd 8.Linux客户端配置,手动挂载 \[root@samba \~\]# mount -t cifs //192.168.68.150/share /mnt -o username=sambauser \[root@samba \~\]# df -Th /mnt **Samba共享实战(五)** 9.创建一个TXT文件,里面填充username,与passwd密码相关信息 \[root@samba \~\]#cat /etc/samba/password.txt username=user1 password=redhat \[root@samba \~\]# chmod 400 password.txt \[root@samba \~\]# vim /etc/fstab //192.168.10.10/SHARE /mnt/it cifs defaults,**credentials**=/etc/samba/password.txt 0 0 #Credentials (调用设置的密码本,该本只允许自己查看) \[root@samba \~\]# mount -a ## **二、配置阶段** **samba 配置** \[root@web01 \~\]# yum -y install samba \[root@web01 \~\]# systemctl enable smb.serice --now \[root@web01 \~\]# netstat -tulnp \| grep :139 \[root@web01 \~\]# netstat -tulnp l grep :445 \[root@web01 \~\]# systemctl enable smb.serice --now \[root@web01 -\]# netstat -tuinp l grep:137 \[root@web01 -\]# netstat -tulnp l grep :138 smb service: 文件和打印机共享 nmb .service: 名称解析 **需求一: 共享/public 目录,共享名为 IT,该共享允许 IT 组的所有成员可以访问,仅允许user1和 user2 用户有写入权限;** \[root@web01 -\]# vim /etc/samba/smb.conf **\[IT\]** comment =IT team public directory path = /publice write list = userl.user2 browseable = yes valid users = @it #挂载、访问权限 create mask = 64 4 directory mask = 0755 \[root@web01 \~\]# systemctl restart smb.service **samba 用户:** **1. 首先必须是本地用户(用户列表必须存在)** #useradd user1 #useradd user2 **2.将该用户转换为 samba 用户** #smbpasswd -a user1 #smbpasswd -a user2 **\[root@web01 -\]# smbpasswd -a user1** New SMB password: Retype new SMB password: Added user user1. **\[root@web01 -\]# smbpasswd -a user2** #将本地用户添加到SMB用户中 New SMB password: Retype new SMB password: Added user user2. \[root@web01 -\]# pdbedit -L #查询SMB用户列表 user1:2003: user2:2004: \[root@web01 -\]#chmod 777 /public/ **在客户端测试** \[root@web02 \~\]# yum -y install samba-client \[root@web02 \~\]#smbclient -L //192.168.6.101 \[root@web01 -\]# groupadd it \[root@web01 \~\]#usermod -aG it user1 \[root@web01 -\]#usermod -aG it user2 \[root@web01 \~\]#usermod -aG it user4 root@web01 \~\]#systemctl restart smb.service ------------------------------------------------------------------------------------------------------------------------------