samba
1.samba
提供cifs协议实现共享文件
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
2.安装
yum install samba samba-common samba-client -y
systemctl start smb nmb
systemctl enable smb nmb
安装所需服务
3.添加smb用户
smb用户必须是本地用户
smbpasswd -a student
New SMB password: #输入smb当前用户密码
Retype new SMB password: #确认密码
pdbedit -L #查看smb用户信息
pdbedit -x smb用户 #删除smb用户
setsebool -P enable_samba_home_dirs on ##在selinux中设定smb用户可以访问自己的家目录
匿名用户查看共享目录信息
添加student到smb用户,尝试添加不存在的用户westos不成功,用命令查看是否添加成功
student用户查看共享目录的信息
以student用户查看student共享目录,查看selinux状态为强制,更改状态为警告,再进行查看
已经可以在别的主机进行挂载
修改sebool值,打开家目录访问权限,设定smb用户可以访问自己的家目录
vim /etc/samba/smb.conf
[haha] 共享名称
comment = 对共享目录的描述
path = 共享目录的绝对路径
workgroup = WESTOS
更改域名为westos,允许172.25.254.0/24网段查看
域名已被更改
创建两个共享目录,一个路径为自建的/westos,一个为系统建立目录/mnt
student用户登陆,可以看到新添加的共享目录
semanage fcontext -a -t samba_share_t '目录名称(/.*)?'
restorecon -RvvF 目录名称
当共享目录为系统建立目录
setsebool -P samba_export_all_ro on #只读共享
setsebool -P samba_export_all_rw on #读写共享
5.samba的配置参数
#匿名用户访问
guest ok = yes
map to guest = bad user
在DATA目录配置下写入匿名用户可登陆
在26主机测试可以以匿名用户的形式挂载共享目录
26自动挂载配置
#访问控制
hosts allow = #仅允许
hosts deny = #仅拒绝
valid users = #当前共享的有效用户
valid users = westos #当前共享的有效用户为westos
valid users = @westos #当前共享的有效用户为westos组
valid users = +westos #当前共享的有效用户为westos组
#读写控制
所有用户均可写
chmod o+w /mnt
setsebool -P samba_export_all_rw on
vim /etc/samba/smb.conf
writable = yes
挂载后尝试建立文件失败
更改配置为所有用户均可写
在126主机给/westos一个满权限
可以创建和删除文件
设定指定用户可写
write list = student #可写用户
write list = +student #可写用户组
write list = @student
admin users = westos #共享的超级用户指定
配置CONFIG内容如下
给与/mnt满权限,打开读写权限
挂载共享目录到26主机的/mnt,可以创建文件和删除文件
6.smb多用户挂载
创建新用户lee,且让lee成为smb用户
lee用户可以挂载,但权限不够
添加student组可以执行读写操作
把lee添加进student组
可以删除
设定lee登陆后创建的文件属于root
因为26主机中没有uid为1001的用户,所以显示的为1001,126主机中显示为lee
在client上
vim /root/haha
username=student
password=lee
chmod 600 /root/haha
yum install cifs-utils -y
mount -o credentials=/root/haha,multiuser,sec=ntlmssp //172.25.254.100/haha /mnt/
#credentials=/root/haha 指定挂载时所用到的用户文件
#multiuser 支持多用户认证
#sec=ntlmssp 认证方式为标准smb认证方式
ls /mnt
ls: cannot access /mnt: Permission denied #因为没有作smb的认证所以无法访问smb共享
cifscreds add -u westos 172.25.254.100
Password: ##smb用户westos的密码
ls /mnt
转载于:https://blog.51cto.com/13132406/1956901