天天看点

samba共享服务

samba服务

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务

安装samba服务

分配IP,安装yum源

<a href="https://s2.51cto.com/wyfs02/M02/9E/B0/wKioL1mUZrCDHRj8AABNc6FmCeo785.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M02/9E/B0/wKioL1mUabTBj_lpAABw6iUDkoI189.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/9E/B0/wKioL1mUZrGxB-XCAAG-qxuPjaw738.png" target="_blank"></a>

安装samba服务,并启动服务

yum install samba samba-common samba-client -y

systemctl start smb

systemctl enable smb

<a href="https://s1.51cto.com/wyfs02/M02/9E/B0/wKioL1mUZwvyQsS3AACQ4Cpz3xU815.png" target="_blank"></a>

过滤查看samba服务所开的端口

列出ip为225这台主机所共享的文件

<a href="https://s1.51cto.com/wyfs02/M01/9E/B0/wKioL1mUZ3ag0W_kAAD2281kPEY247.png" target="_blank"></a>

新建samba用户(这个用户必须是主机中已有的用户)

smbpasswd -a student

New SMB password:               #输入smb当前用户密码

Retype new SMB password:        #确认密码

<a href="https://s3.51cto.com/wyfs02/M01/9E/B0/wKioL1mUaE-jipKOAADfAGGw4eY167.png" target="_blank"></a>

pdbedit -L                      #查看smb用户信息

pdbedit -x smb用户              #删除smb用户

<a href="https://s5.51cto.com/wyfs02/M00/9E/B0/wKioL1mUaKGiSXxWAAA2CnGZs1Y730.png" target="_blank"></a>

由于有selinux这个内核级超级防火墙的存在,直接登陆访问权限会被拒,因此要关闭selinux或者设置selinux中的权限开放,推荐使用第二种方法,因为这样会更加安全

setsebool -P enable_samba_home_dirs  on       ##在selinux中设定smb用户可以访问自己的家目录

<a href="https://s3.51cto.com/wyfs02/M02/9E/B0/wKioL1mUaWujMGaMAAELm9oMs_c798.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/9E/B0/wKioL1mUaWuiA81FAACu6JtzYCc669.png" target="_blank"></a>

以student用户身份登录登陆sabmba列出共享内容

<a href="https://s5.51cto.com/wyfs02/M00/9E/B0/wKioL1mUacvgriUIAADotz8eF8w202.png" target="_blank"></a>

vim /etc/samba/smb.conf

设置主配置文件,允许/拒绝挂载的主机

<a href="https://s3.51cto.com/wyfs02/M01/9E/B0/wKioL1mUamaxXDMiAAC6LGES5Sg783.png" target="_blank"></a>

hosts deny                        ##用户黑名单,此名单用户不能挂载主机共享的文件

hosts allow                       ##用户白名单,此名单用户可以挂载使用主机共享的文件

<a href="https://s4.51cto.com/wyfs02/M02/9E/B0/wKioL1mUbEKhdUNnAAEtv24puww481.png" target="_blank"></a>

共享目录的基本设定

mkdir /westos                     ##/下新建一个westos目录

修改/westos/安全上下文,给/westos  /mnt满权限

<a href="https://s3.51cto.com/wyfs02/M02/9E/B0/wKioL1mUa5ywQhj3AADHlIBjPww246.png" target="_blank"></a>

开启可写功能

[DATA] 共享名称

comment =  对共享目录的描述

path = 共享目录的绝对路径

workgroup = WESTOS

<a href="https://s1.51cto.com/wyfs02/M00/9E/B0/wKioL1mUbOeQnbPKAAA7q60JmB8567.png" target="_blank"></a>

当共享目录为用户自建立目录时

semanage fcontext -a -t samba_share_t '目录名称(/.*)?'

restorecon -RvvF 目录名称

<a href="https://s3.51cto.com/wyfs02/M00/9E/DF/wKioL1mYTp2TJD7MAACengCWdz8705.png" target="_blank"></a>

查看用户登陆

browseable = no                 ##隐藏共享的文件,看不见但是可以使用

<a href="https://s1.51cto.com/wyfs02/M00/00/30/wKiom1mYUC3D-Xc0AAFBz5gw3bo659.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M01/00/30/wKiom1mYUFigKRB1AAD_2W4ddC0940.png" target="_blank"></a>

挂载

陌生用户挂载

设置前

<a href="https://s2.51cto.com/wyfs02/M01/9E/E0/wKioL1mYUJHDmfD5AABsFfx8qtU185.png" target="_blank"></a>

设置后

<a href="https://s3.51cto.com/wyfs02/M01/00/30/wKiom1mYUMeTONcxAAA7q60JmB8681.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/9E/E0/wKioL1mYUMOAQVhCAAA6OrWGdOk980.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M01/00/30/wKiom1mYUMjg_uNnAAFRS7PpDG8196.png" target="_blank"></a>

设置自动挂载

<a href="https://s3.51cto.com/wyfs02/M02/00/30/wKiom1mYUPjTnrbGAACHenJt6K0936.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M02/9E/E0/wKioL1mYUPTzFOphAAFWYU9LU4U422.png" target="_blank"></a>

访问控制

valid usrs = lee              #当前共享的有效用户为lee

<a href="https://s2.51cto.com/wyfs02/M01/00/30/wKiom1mYU6DTSjU0AAA3gjJgH8M812.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M01/9E/E0/wKioL1mYU7OxwuNvAACMXDmtFwM554.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/00/30/wKiom1mYVE3yNtbDAACo4s5HZ74881.png" target="_blank"></a>

valid usrs = +(@)lee         #当前共享的有效用户组为lee

<a href="https://s2.51cto.com/wyfs02/M00/00/30/wKiom1mYVP6hVuUxAAA4g2DZpio771.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M01/00/30/wKiom1mYVQCigSIxAAC0ypi1R7k794.png" target="_blank"></a>

读写控制

writable = yes

<a href="https://s1.51cto.com/wyfs02/M02/9E/E0/wKioL1mYUz6xcnwvAABn9VcNZ6I165.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/00/30/wKiom1mYU2yTeju9AABLelzmynw437.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M02/9E/E0/wKioL1mYU2jQA-DiAAAy9sR-oIs153.png" target="_blank"></a>

设定指定用户可写

write list = student              #可写用户

<a href="https://s2.51cto.com/wyfs02/M01/9E/E0/wKioL1mYVabT0nSHAABLMNx7iNo679.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/00/30/wKiom1mYVaux8laQAADtbdeqMJk884.png" target="_blank"></a>

write list = +lee                 #可写用户组

write list = @lee

usermod -G lee student

将student加入lee组中,这样student也可写了

admin users = lee  #共享的超级用户指定

<a href="https://s2.51cto.com/wyfs02/M02/00/30/wKiom1mYVVbDGAz4AACGG67F-GM611.png" target="_blank"></a>

smb多用户挂载

6.smb多用户挂载

在client上

vim /root/smbpasswd

username=student

password=student

<a href="https://s1.51cto.com/wyfs02/M01/00/30/wKiom1mYVc_iKRC5AAAbggFu8uc060.png" target="_blank"></a>

chmod 600 /root/smbpasswd

yum install cifs-utils -y

mount -o credentials=/root/smbpasswd,multiuser,sec=ntlmssp //172.25.254.225/CONFIG /mnt/

credentials=/root/smbpasswd 指定挂载时所用到的用户文件

multiuser  支持多用户认证

sec=ntlmssp  认证方式为标准smb认证方式

ls /mnt

ls: cannot access /mnt: Permission denied #因为没有作smb的认证所以无法访问smb共享

<a href="https://s4.51cto.com/wyfs02/M02/9E/E0/wKioL1mYVnWCBi5LAAB4W-qpkR4964.png" target="_blank"></a>

cifscreds add -u student 172.25.254.225

Password: ##smb用户westos的密码

<a href="https://s4.51cto.com/wyfs02/M00/9E/E0/wKioL1mYVoSQXcC9AABKTP6MBPQ739.png" target="_blank"></a>

本文转自 happy_newbie  51CTO博客,原文链接:http://blog.51cto.com/12971521/1957758,如需转载请自行联系原作者