基于linux的samba服务

#############cifs################

在Unix Like 上面可以分享档案数据的 file system 是 NFS,那么在 Windows 上面使用的『网络邻居』所使用的档案系统则称为Common Internet File System, CIFS )

CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。

共享文件
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
一:######samba######
在###server####中
1:yum install samba samba-client samba-common -y
2:start  ebable(开启并设置开机自启动samba服务)

3:关火墙


4:默认接口为445  139
在###client####中
1:yum install samba-client -y

2:smbclient -L //172.25.66.167   看不到任何文件

此处为匿名用户登陆,没有密码直接回车即可

在###server####中
1:添加用户
smbpasswd -a student    #####这个用户必须是已经存在的,下面输入的密码跟用户以前的密码无关##
2:pdbedit -L    ####查看添加的用户
3:pdbedit -x student    ###删除添加的用户

4:将用户重新添加   (sudent,westos)


在###client####中
1:访问server的student目录

smbclient -L //172.25.66.167 -U student   ####可以看见student文件


2:进入student目录
smbclient //172.25.66.167/student -U student

ls后如果出现 NT_STATUS_ACCESS_DENIED 原因是selinux没开


在server中:

查看selinux开关   ##  getsebool -a | grep samba


打开 samba_enable_home_dirs    ###setsebool -P(永久生效) samba_enable_home_dirs on


在client中:
3:ls

二:######从client向server中上传文件  ####只能上传当前目录中的文件####
1:在client中

进入要上传的文件所在的目录    put 文件 (举例:上传    /etc下的passwd文件到服务端的student目录)

(1):进入/etc  (2):smbclient //172.25.66.167student -U student (3):put passwd


这种方法太麻烦
2:挂载
mount //172.25.254.203/student /mnt cifs -o defaults,username=student,password=1234

进入/mnt操作


3:开机自动挂载

编写  /etc/rc.d/rc.local

mount //172.25.254.203/student /mnt -o username=student,password=1234


重启后df查看挂载

三:########samba黑白名单####
在###server####

1:rpm -qc samba-common  ##查看samba的配置文件


2:vim /etc/samba/smb.conf


hosts deny = IP / hosts allow = IP

编辑完成后重启samba服务

###进入client###

smbclient //172.25.66.167/student -U student


#########系统目录的共享与临时目录的共享######
临时目录:在server中
1:建立目录 /westos
2:vim /etc/samba/smb.conf   ###写在最后
    [DIR]
    comment = westos dir

    path = /westos


3:semanager fcontext -a -t samba_share_t '/westos(/.*)?'

restorecon -FvvR /westos/   ###同步安全上下文

systemctl restart smb


在client中
1:进入/westos

2:ls   可以进入



系统目录:在server中
1:vim /etc/samba/smb.conf
    [mnt]
    comment = mnt dir

    path = /mnt


2:touch /mnt/file{1..5}

2:修改布尔值
setsebool -P samba_export_all_ro on

systemctl restart smb


在client中
1:进入/mnt

2:ls  可以看到刚在server的/mnt中创建的文件

############samba多用户认证#########
在客户端client###
1:yum install cifs-utlis -y
2:man mount.cifs
3:vim /root/smbpass
username=student

password=1234


4:mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.203/DIR /mnt

5:cd /mnt

6:ls


7:su - test
8:cd /mnt

9:ls

10:cifscreds add -u westos 172.25.254.203
11:cd /mnt

12:ls





########匿名用户查看共享#########
在服务端server###
1:vim /etc/samba/smb.conf
map to guest = bad user

guest ok = yes


在客户端client###
smbclient //172.25.254.203/DIR

ls






猜你喜欢

转载自blog.csdn.net/gd0306/article/details/80572555
今日推荐