【CIFS】 Common Internet File System

来源:互联网 发布:安卓游戏知乎 编辑:程序博客网 时间:2024/05/21 14:50
NAS之CIFS:
CIFS Common Internet File System . Windows和Unix系统之间共享文件的一种协议

借助于Linux平台上的Samba软件来实现CIFS共享:
============================================================================
一、Samba服务器 (存储端)
软件包: samba,samba-common
配置文件: /etc/samba/smb.conf
端口:     445/tcp  137,138,139/tcp
[root@station5 ~]# rpm -qa |grep samba
samba-common-3.0.33-3.37.el5
samba-3.0.33-3.37.el5

建立共享所需要目录
[root@station5 ~]# mkdir /share/smb1
[root@station5 ~]# mkdir /share/smb2
[root@station5 ~]# chmod 777 /share/smb1 /share/smb2
[root@station5 ~]# touch /share/smb1/file1
[root@station5 ~]# touch /share/smb2/file2

通过CIFS共享:
[root@station5 ~]# vim /etc/samba/smb.conf
[global]
security = user|share          定义安全级别

#============ Share Definitions ===============
[root@station5 ~]# vim /etc/samba/smb.conf
[smb1]
        path = /share/smb1

[smb2]
        path = /share/smb2
        comment = music
        valid users = alice
        writable = yes

建立samba用户
[root@station5 ~]# useradd alice
[root@station5 ~]# smbpasswd -a alice          设置samba密码

[root@station5 ~]# service smb restart
[root@station5 ~]# chkconfig smb on


二、客户端连接测试,建议Windows连接
Windows端: 
     \\192.168.2.168                    映射网络驱动器
Linux端:
# yum -y install samba-client    
# smbclient -L 192.168.2.168 -U alice  查看服务器共享(不指定账户时会使用匿名登录,密码为空)
# mkdir /mnt/smb1
# mkdir /mnt/smb2
# mount -t cifs //192.168.2.168/smb1 /mnt/smb1 -o username=alice%1
# mount -t cifs //192.168.2.168/smb2 /mnt/smb2 -o username=alice%1               用户名%密码
# df
文件系统               1K-块        已用     可用 已用% 挂载点
//192.168.2.168/smb1  19840924   9285328   9531456  50% /mnt/smb1
//192.168.2.168/smb2  19840924   9285328   9531456  50% /mnt/smb2

[root@station230 ~]# ls /mnt/smb1
file1
[root@station230 ~]# touch /mnt/smb1/file2
touch: 无法触碰 “/mnt/smb1/file2”: 权限不够
[root@station230 ~]#
[root@station230 ~]# ls /mnt/smb2
file2
[root@station230 ~]# touch /mnt/smb2/file4


如果你不希望共享用户的HOME:
[root@station5 ~]# vim /etc/samba/smb.conf
;[homes]
;       comment = Home Directories
;       browseable = no
;       writable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S


=======================存储端实现访问控制:===================
基于用户:
基于主机:

案例1:使用samba实现公司文件服务器
用户
[root@station5 ~]# groupadd hr
[root@station5 ~]# groupadd it
[root@station5 ~]# useradd -G hr hr01
[root@station5 ~]# useradd -G hr hr02
[root@station5 ~]# useradd -G it it_01
[root@station5 ~]# useradd -G it it_02
[root@station5 ~]# smbpasswd -a hr01
[root@station5 ~]# smbpasswd -a hr02
[root@station5 ~]# smbpasswd -a it_01
[root@station5 ~]# smbpasswd -a it_02

目录、权限
[root@station5 ~]# mkdir /home/hr
[root@station5 ~]# mkdir /home/it
[root@station5 ~]# mkdir /home/public
[root@station5 ~]# chmod 1770 /home/hr                    //若要限制组的配额,设置 3770  +磁盘配额
[root@station5 ~]# chmod 1770 /home/it
[root@station5 ~]# chgrp hr /home/hr
[root@station5 ~]# chgrp it /home/it
[root@station5 ~]# ll -d /home/hr /home/it
drwxrwx--T 2 root hr 4096 11-12 10:45 /home/hr
drwxrwx--T 2 root it 4096 11-12 10:46 /home/it

[root@station5 ~]# vim /etc/samba/smb.conf
[public]
        path = /home/public
        guest ok = yes
[hr]
        path = /home/hr
        valid users = +hr   //+和@都表示组
        writable = yes
[it]
        path = /home/it
        valid users = @it
        write list = it_01
[root@station5 ~]# service smb restart


Windows:
C:\>net use
会记录新的网络连接。
状态       本地        远程                      网络
-------------------------------------------------------------------------------
OK                     \\192.168.2.168\IPC$      Microsoft Windows Network
命令成功完成。
C:\>net use \\192.168.2.168\IPC$ /d
\\192.168.2.168\IPC$ 已经删除。


基于主机:
==针对整个服务器  用于限制对该服务器的访问
hosts allow = 192.168.2. 192.168.3.

==针对某个共享目录 用于限制对特定共享的访问
[hr]
        path = /home/hr
        valid users = +hr
        writable = yes
     create mask = 0775          上传的文件默认权限为0775
        hosts allow = 192.168.3.
[it]
        path = /home/it
        valid users = @it
        write list = it_01
        hosts allow = 192.168.2.
====================================================================
配置SAMBA服务器

步骤1: samba默认安装,不用手动安装(下面是查看结果)
步骤2:修改主配置文件,更改工作组。
     [root@sjd2 ~]#vi /etc/samba/smb.conf
     workgroup = 工作组名(设置成与windows真机一致)
步骤3:启动SAMBA服务,为防止服务之前已经启动,尽量用restart。
     [root@sjd2 ~]#service smb restart
步骤4:添加系统用户,并生成相应的samba用户。(注:可以用root用户,密码可以与系统的root账户密码不同。)
     [root@sjd2 ~]#smbpasswd  –a  root
步骤5:打开真机的网上邻居,点击左栏的查看工作组计算机,查看是否有SAMBA服务器。如果没有查看工作组计算机,请点击工具菜单->文件夹选项,勾选在文件夹中显示常见任务
步骤6:在网上邻居中打开SAMBA服务器,输入SAMBA账户名及密码登录。用共享用户root登录要用共享的密码。默认登录到的是在root账户的宿主目录
步骤7:在linux虚机中运行smbstatus命令并记录结果。

================使用SAMBA客户端======================
步骤8:在真机中建立共享文件夹,并确认管理员已经设置密码。
步骤9:在虚机中登录真机的共享文件夹
查看真机共享列表:(此命令是显示指定服务器上的共享资源,不指定账户时会使用匿名登录,密码为空)
     [root@sjd2 ~]#smbclient  –L  真机IP
登录共享文件夹:-u命令选项指定使用的用户登录名,要输入密码,要指定共享名称
     [root@sjd2 ~]#smbclient  //真机IP/共享名  –U administrator
          登录后可以使用get命令下载和put上传
步骤10:在虚机中挂载真机的共享文件夹
# mount -t cifs //192.168.2.168/smb2 /mnt/smb2 -o username=alice%1


0 0
原创粉丝点击