跨平台共享,可以实现Linux与Linux之间,也可以实现Linux与windows之间的共享(反向编译)
samba基础配置
Samba软件项目
用途:为客户机提供共享使用的文件夹
协议:SMB,CIFS
软件包:samba
系统服务:smb
管理共享帐号
Samba服务端配置文件:/etc/samba/smb.conf
Samba共享账号:存在独立的账号数据文件里,必须有同名系统账号(方便给权限)
Samba账号管理工具:
pdbedit -a 用户名 //添加用户
pdbedit -L [用户名] //查询用户
pdbedit -x 用户名 //删除用户
测试Samba共享资源:
smbclient -L 服务器地址 【密码为空(直接回车)】
smbclient -U 用户名 //服务器地址/共享名 【需要密码
服务端虚拟机server0
1.安装软件包
yum -y install samba
2.建立Samba共享使用的帐号
[root@server0 ~]# useradd harry //准备同名系统用户
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd chihiro
[root@server0 ~]# pdbedit -a harry //将本地用户添加到Samba共享帐号
[root@server0 ~]# pdbedit -a kenji //配置两次密码
[root@server0 ~]# pdbedit -a chihiro
[root@server0 ~]# pdbedit -L //显示所有Samba共享帐号
3.配置文件及参数
修改/etc/samba/smb.conf
[global] //全局设置
woekgroup = 工作组
[ 自定义共享名]
path = 文件夹绝对路径
[root@server0 ~]# vim /etc/samba/smb.conf //vim命令模式 /woekgroup 命令模式 输入大写G 到最后一行
修改
woekgroup = 此服务器指定工作组
未行添加
[common]
path = /common
[root@server0 ~]# mkdir /common
[root@server0 ~]# echo 123 > /common/123.txt
[root@server0 ~]# ls /common/
123.txt
4.重起smb服务
[root@server0 ~]# systemctl restart smb #重起smb服务
[root@server0 ~]# systemctl enable smb #设置smb服务开机自启动
5.SELinux 布尔值(开与关 on与off)功能开关
//需要加 -P 选项才能实现永久设置
//查看SELinux影响所有服务的功能开关
[root@server0 ~]# getsebool -a | grep samba
修改SELinux影响服务的功能开关
[root@server0 ~]# setsebool samba_export_all_ro on //修改SELinux功能
[root@server0 ~]# getsebool -a | grep samba
客户端虚拟机desktop0:了解内容
1.安装测试软件
[root@desktop0 ~]# yum -y install samba-client
2.利用smbclient进行访问
列出共享资源
[root@desktop0 ~]# smbclient -L 172.25.0.11
Enter root's password: //直接回车
连接到共享文件夹
smbclient -U 用户名 //服务器地址/共享名
[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common
Enter harry's password:
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
smb: \>
这里有许多命令和ftp命令相似,如ls(列出)cd 、lcd、get(获取)、megt、put、mput等
详细命令:http://man.linuxde.net/smbclient
客户端访问服务端资源影响方面
1.防火墙规则
2.服务的本身的访问控制
3.服务端SELinux规则限制
4.服务端目录的本地权限
客户端虚拟机Desktop0
1.安装支持samba挂载的软件,支持cifs文件系统
yum -y install cifs-utils
2.挂载访问(手动临时挂载)
mkdir /mnt/nsd/
mount -o user=共享用户名,pass=创建密码 //挂载IP/共享文件夹 /挂载路径
df -hT 查看挂载点
ls /挂载路径 查看挂载点文件
例:
mkdir /mnt/nsd
mount -o user=harry,pass=123 //172.25.0.11/common /mnt/nsd/
df -h
ls /mnt/nsd
3.自动挂载
_netdev:网络设备(先启动网络服务配置号IP地址,然后在挂载该设备)
[root@desktop0 ~]# vim /etc/fstab
共享IP地址 共享文件夹 挂载点 类型 参数
例:
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/common /mnt/nsd cifs defaults,user=harry,pass=123,_netdev 0 0
[root@desktop0 ~]# umount /mnt/nsd
[root@desktop0 ~]# df -h
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
SMB读写共享文件
服务端虚拟机server0
1.修改配置文件/etc/samba/smb.conf
[root@server0 ~]# vim /etc/samba/smb.conf
[devops]
path = /devops
write list = chihiro #允许chihiro可以写
2.创建共享目录结构
[root@server0 ~]# mkdir /devops
[root@server0 ~]# echo haha > /devops/test.txt
[root@server0 ~]# ls /devops/
3.重起smb服务
[root@server0 ~]# systemctl restart smb
客户端Desktop0:挂载访问
[root@desktop0 ~]# mkdir /mnt/stu
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/devops /mnt/stu cifs defaults,user=chihiro,pass=123,_netdev 0 0
[root@desktop0 ~]# mount -a 内存会卡住,可能是服务端未重启
[root@desktop0 ~]# df -h
读写Samba共享补充
服务端虚拟机Server0:
1.判断客户端访问服务端时,身份
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops
[root@server0 ~]# getfacl /devops
2.设置SELinux策略
[root@server0 ~]# getsebool -a | grep samba
[root@server0 ~]# setsebool samba_export_all_rw on
[root@server0 ~]# getsebool -a | grep samba
客户端虚拟机Desktop0:
[root@desktop0 ~]# df -h
[root@desktop0 ~]# touch /mnt/stu/1.txt
[root@desktop0 ~]# ls /mnt/stu
了解:多用户的samba访问,专不同权限的普通用户设计
multiuser,提供对客户端多个用户身份的区分支持
sec=ntlmssp,提供NT局域网管理安全支持
在 desktop0 上访问 server0 提供的共享 devops
1)将此共享永久挂载在 /mnt/dev 目录
2)挂载时以用户 kenji 作为认证
3)必要的时候,任何普通用户都可以通过用户 chihiro 来临时获取写的权限
[root@desktop0 /]# umount /mnt/stu/
[root@desktop0 /]# vim /etc/fstab
//172.25.0.11/devops /mnt/stu cifs defaults,user=kenji,pass=123,_netdev,multiuser,sec=ntlmssp 0 0
[root@desktop0 /]# mount -a
[root@desktop0 /]# df -h
[root@desktop0 /]# su - natasha
[natasha@desktop0 stu]$ cd /mnt/stu
[natasha@desktop0 stu]$ cifscreds add -u chihiro 172.25.0.11
Password:
[natasha@desktop0 stu]$ ls
samba基础配置
Samba软件项目
用途:为客户机提供共享使用的文件夹
协议:SMB,CIFS
软件包:samba
系统服务:smb
管理共享帐号
Samba服务端配置文件:/etc/samba/smb.conf
Samba共享账号:存在独立的账号数据文件里,必须有同名系统账号(方便给权限)
Samba账号管理工具:
pdbedit -a 用户名 //添加用户
pdbedit -L [用户名] //查询用户
pdbedit -x 用户名 //删除用户
测试Samba共享资源:
smbclient -L 服务器地址 【密码为空(直接回车)】
smbclient -U 用户名 //服务器地址/共享名 【需要密码
服务端虚拟机server0
1.安装软件包
yum -y install samba
2.建立Samba共享使用的帐号
[root@server0 ~]# useradd harry //准备同名系统用户
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd chihiro
[root@server0 ~]# pdbedit -a harry //将本地用户添加到Samba共享帐号
[root@server0 ~]# pdbedit -a kenji //配置两次密码
[root@server0 ~]# pdbedit -a chihiro
[root@server0 ~]# pdbedit -L //显示所有Samba共享帐号
3.配置文件及参数
修改/etc/samba/smb.conf
[global] //全局设置
woekgroup = 工作组
[ 自定义共享名]
path = 文件夹绝对路径
[root@server0 ~]# vim /etc/samba/smb.conf //vim命令模式 /woekgroup 命令模式 输入大写G 到最后一行
修改
woekgroup = 此服务器指定工作组
未行添加
[common]
path = /common
[root@server0 ~]# mkdir /common
[root@server0 ~]# echo 123 > /common/123.txt
[root@server0 ~]# ls /common/
123.txt
4.重起smb服务
[root@server0 ~]# systemctl restart smb #重起smb服务
[root@server0 ~]# systemctl enable smb #设置smb服务开机自启动
5.SELinux 布尔值(开与关 on与off)功能开关
//需要加 -P 选项才能实现永久设置
//查看SELinux影响所有服务的功能开关
[root@server0 ~]# getsebool -a | grep samba
修改SELinux影响服务的功能开关
[root@server0 ~]# setsebool samba_export_all_ro on //修改SELinux功能
[root@server0 ~]# getsebool -a | grep samba
客户端虚拟机desktop0:了解内容
1.安装测试软件
[root@desktop0 ~]# yum -y install samba-client
2.利用smbclient进行访问
列出共享资源
[root@desktop0 ~]# smbclient -L 172.25.0.11
Enter root's password: //直接回车
连接到共享文件夹
smbclient -U 用户名 //服务器地址/共享名
[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common
Enter harry's password:
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
smb: \>
这里有许多命令和ftp命令相似,如ls(列出)cd 、lcd、get(获取)、megt、put、mput等
详细命令:http://man.linuxde.net/smbclient
客户端访问服务端资源影响方面
1.防火墙规则
2.服务的本身的访问控制
3.服务端SELinux规则限制
4.服务端目录的本地权限
客户端虚拟机Desktop0
1.安装支持samba挂载的软件,支持cifs文件系统
yum -y install cifs-utils
2.挂载访问(手动临时挂载)
mkdir /mnt/nsd/
mount -o user=共享用户名,pass=创建密码 //挂载IP/共享文件夹 /挂载路径
df -hT 查看挂载点
ls /挂载路径 查看挂载点文件
例:
mkdir /mnt/nsd
mount -o user=harry,pass=123 //172.25.0.11/common /mnt/nsd/
df -h
ls /mnt/nsd
3.自动挂载
_netdev:网络设备(先启动网络服务配置号IP地址,然后在挂载该设备)
[root@desktop0 ~]# vim /etc/fstab
共享IP地址 共享文件夹 挂载点 类型 参数
例:
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/common /mnt/nsd cifs defaults,user=harry,pass=123,_netdev 0 0
[root@desktop0 ~]# umount /mnt/nsd
[root@desktop0 ~]# df -h
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
SMB读写共享文件
服务端虚拟机server0
1.修改配置文件/etc/samba/smb.conf
[root@server0 ~]# vim /etc/samba/smb.conf
[devops]
path = /devops
write list = chihiro #允许chihiro可以写
2.创建共享目录结构
[root@server0 ~]# mkdir /devops
[root@server0 ~]# echo haha > /devops/test.txt
[root@server0 ~]# ls /devops/
3.重起smb服务
[root@server0 ~]# systemctl restart smb
客户端Desktop0:挂载访问
[root@desktop0 ~]# mkdir /mnt/stu
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/devops /mnt/stu cifs defaults,user=chihiro,pass=123,_netdev 0 0
[root@desktop0 ~]# mount -a 内存会卡住,可能是服务端未重启
[root@desktop0 ~]# df -h
读写Samba共享补充
服务端虚拟机Server0:
1.判断客户端访问服务端时,身份
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops
[root@server0 ~]# getfacl /devops
2.设置SELinux策略
[root@server0 ~]# getsebool -a | grep samba
[root@server0 ~]# setsebool samba_export_all_rw on
[root@server0 ~]# getsebool -a | grep samba
客户端虚拟机Desktop0:
[root@desktop0 ~]# df -h
[root@desktop0 ~]# touch /mnt/stu/1.txt
[root@desktop0 ~]# ls /mnt/stu
了解:多用户的samba访问,专不同权限的普通用户设计
multiuser,提供对客户端多个用户身份的区分支持
sec=ntlmssp,提供NT局域网管理安全支持
在 desktop0 上访问 server0 提供的共享 devops
1)将此共享永久挂载在 /mnt/dev 目录
2)挂载时以用户 kenji 作为认证
3)必要的时候,任何普通用户都可以通过用户 chihiro 来临时获取写的权限
[root@desktop0 /]# umount /mnt/stu/
[root@desktop0 /]# vim /etc/fstab
//172.25.0.11/devops /mnt/stu cifs defaults,user=kenji,pass=123,_netdev,multiuser,sec=ntlmssp 0 0
[root@desktop0 /]# mount -a
[root@desktop0 /]# df -h
[root@desktop0 /]# su - natasha
[natasha@desktop0 stu]$ cd /mnt/stu
[natasha@desktop0 stu]$ cifscreds add -u chihiro 172.25.0.11
Password:
[natasha@desktop0 stu]$ ls