1 .CIFS系统:Internet文件共享系统,也称服务器信;适用于MicrosoftWindows服务器和客户端的标准文件和打印机的共享系统息块(SMB)
2 .Samba服务:用于将linux文件系统作为CIFS/SMB网络文件进行共享,并将linux打印机作为CIFS/SMB打印机进行共享
1 .安装smb服务
samba ##服务端程序 samba-common ##samba命令 samba-client ##客户端程序
2 .打开smb,列出共享文件系统信息
systemctl start smb ##打开smb服务 smbclient -L //172.25.254.116 ##列出116的共享文件信息
3 .用户登陆
**必须是本地用户 smbpasswd -a westos ##设定westos用户密码 pdbedit -L ##列出smb用户 pdbedit -x westos ##删除westos用户 smbclient -L //172.25.254.116 -U student ##student用户查看的共享目录 smbclient //172.25.254.116/student -U student ##进入student用户的student家目录进行编辑 smb: \> ls ##列出远程文件 smb: \> ! ls ##列出本地主机文件
4 .设置默认域名 ( /etc/samba/smb.conf )
5 .设置黑白名单
*)设置白名单(116可以登陆)
*)设置黑名单(116不能登陆)
1 . 当Selinux=Disabled时
进入用户家目录进行编辑smb: \> ls ##列出远程文件 smb: \> ! ls ##列出本地主机文件 smb: \> put anaconda-ks.cfg ## 上传 smb: \> rm anaconda-ks.cfg ## 删除
mount //172.25.254.116/westos /mnt/ -o username=westos,password=westos vim /etc/fstab ##永久挂载 //172.25.254.116/westos /mnt cifs defaults,username=westos,password=westos 0 0 mount -a ##刷新挂载
2 .当Selinux=Enforing时
samba_enable_home_dirs ##允许本地主目录作为CIFS文件共享 use_samba_home_dirs ##允许挂载远程CIFS文件共享并将其用作本地主目录 samba_share_t ##smb共享目录的selinux安全上下文 samba_export_all_ro ##共享目录只读 samba_export_all_rw ##共享目录读写1.进入用户家目录编辑
**用户建立目录:** 修改配置文件,共享linux目录 /etc/samba/smb.conf [linux] comment = dir from westos path = /westos 重启smb,可以看到linux目录共享信息 但是,westos用户登陆无法编辑 修改linux目录的安全上下文,重启后再次登陆编辑 semanage fcontext -a -t samba_share_t '/westos(/.*)' restorecon -RvvF /westos/ ##刷新
**系统目录:** 修改配置文件,共享mnt系统目录 [mnt] comment = dir from /mnt path = /mnt 重启后查看共享目录信息 设定samba的sebool值,打开所有共享目录的读写权限
[linux] common = dir from westos path = /westos valid users = @westos ##westos组可以挂载 ;writable = yes ##所有用户可以写 write list = student ##student用户可以写 guest ok = yes ##匿名登陆 map to guest =bad user ##匿名用户映射为guest browseable = no ##查看时隐藏linux共享目录 admin users = westos ##westos用户编辑时属于westos组
四、多用户挂载
客户端: 安装 cifs-utils软件
vim /root/smbauth username=student password=student mount //172.25.254.100/linux /mnt -o multiuser,credentials=/root/smbauth,sec=ntlmssp ##多用户挂载
切换普通用户,访问/mnt被拒绝,通过用户认证cifscreds add -u westos 172.25.254.116 即可访问
若密码输入错误则必须cifscreds clear -u westos 172.25.254.116 ,登陆成功后,touch file1,ll查看file1的uid,gid为abc 即可