一、共享

Windows共享:Windows键+R --> services.msc --> Computer、Server(CIFS协议,实现跨平台)、Workstation(SMB协议,实现共享)

Linux共享:Samba(CIFS、SMB)

协议:多方达成某种条款

Samba共享:smb:实现数据的共享及访问(TCP 139、445)、nmb:实现Netbios解析(DNS)、(TCP 137、138)

Samba访问方式:匿名、本地用户、服务器认证、域服务器认证

二、部署Samba匿名访问

需配置静态IP

1.安装Samba共享

rm -rf /etc/yum.repos.d/* //删除系统中默认自带官方YUM源

vim /etc/yum.repos.d/local.repo

[local] //仓库名
name=local
baseurl=file:///mnt //软件包存储位置
enabled=1 //启动该仓库
gpgcheck=0 //不检测公钥信息

yum clean all && yum repolist //清除所有yum缓存,并重新新建缓存

yum -y install samba

2.编辑配置文件

vim /etc/samba/smb.conf

:% g/^$/d //删除文本中所有空行

:% g/^;/d //删除文本中以;开头行

:% g/^#/d //删除文本中以#开头行

[global]

workgroup = WORKGROUP               //指定工作组名称,需修改
server string = Samba Server Version %v     //服务器描述信息

# logs split per machine
log file = /var/log/samba/log.%m        //日志文件的位置
# max 50KB per log file, then rotate
max log size = 50               //日志文件最大值(默认为KB)

security = share                //安全级别(share匿名访问、user本地用户认证、server服务器认证、domain域认证)
passdb backend = tdbsam         //密码认证文件

# the login script name depends on the machine name
# the login script name depends on the unix user used
# disables profiles support by specifing an empty path

disable spoolss = yes           //新增,禁用打印机共享
load printers = yes             //默认共享打印机
cups options = raw              //共享打印机的选项
#obtain list of printers automatically on SystemV

[hehe] //共享名
comment = He is He //描述信息
path = /data //共享目录
browseable = yes //是否可浏览
guest ok = yes //是否可读
writable = yes //是否可写

6)mkdir /data && chmod -R o=rwx /data/ //给予共享目录允许其它用户拥有完全权限

3.启动服务

/etc/init.d/smb restart

/etc/init.d/nmb restart

chkconfig --level 35 smb on

chkconfig --level 35 nmb on

4.访问

Windows系统

Windows+R键 --> 运行 --> \服务器IP

Linux系统

安装samba-client软件包

yum -y install samba-client

2.查看指定IP所有共享内容

smbclient -L 共享IP -U 用户名 //如为匿名访问,用户名为anonymous、密码为空

3.访问共享IP下的所有内容

smbclient -U 用户名 -P 密码 //共享IP/共享名

smb: \> put 文件 //将本地文件上传到共享目录

smb: \> get 文件 //从共享目录下下载指定内容到本地

smb: \> exit

4.mount命令临时挂载共享到本地目录

mount -o username=用户名,password=密码 //共享IP/共享名 /挂载目录

5.mount命令永久挂载共享到本地目录

1)vim /etc/fstab

//共享IP/共享名 /挂载目录 cifs defaults,username=用户名,password=密码 0 0

2)mount -a

3)ls /挂载目录

三、部署本地访问的Samba

1.安装Samba共享

yum -y install samba

2.编辑配置文件

1)useradd -s /sbin/nologin hehe

2)pdbedit -a -u hehe //将系统用户hehe转换为Samba共享用户并设置密码

3)vim /etc/samba/smb.conf

:% g/^$/d //删除文本中所有空行

:% g/^;/d //删除文本中以;开头行

:% g/^#/d //删除文本中以#开头行

[global]

workgroup = WORKGROUP               //指定工作组名称,需修改
server string = Samba Server Version %v     //服务器描述信息

# logs split per machine
log file = /var/log/samba/log.%m        //日志文件的位置
# max 50KB per log file, then rotate
max log size = 50               //日志文件最大值(默认为KB)

# the login script name depends on the machine name
# the login script name depends on the unix user used
# disables profiles support by specifing an empty path

security = user                 //安全级别为user(使用本地用户认证)
passdb backend = tdbsam             //密码认证文件

disable spoolss = yes           //新增,禁用打印机共享
load printers = yes             //默认共享打印机
cups options = raw              //共享打印机的选项
#obtain list of printers automatically on SystemV

[hehe] //共享名
comment = He is He //描述信息
path = /data //共享目录
browseable = yes //是否可浏览
guest ok = yes //是否可读
writable = yes //是否可写

4)mkdir /data && chmod -R o=rwx /data/ //给予共享目录允许其它用户拥有完全权限

3.启动服务

/etc/init.d/smb restart

/etc/init.d/nmb restart

chkconfig --level 35 smb on

chkconfig --level 35 nmb on

4.验证

1)使用hehe用户登录可读取并写入

四、Samba多用户权限控制

1.安装Samba共享

yum -y install samba

2.编辑配置文件

1)useradd -s /sbin/nologin hehe

2)useradd -s /sbin/nologin haha

3)pdbedit -a -u hehe //将系统用户hehe转换为Samba共享用户并设置密码

4)pdbedit -a -u haha //将系统用户haha转换为Samba共享用户并设置密码

4)vim /etc/samba/smb.conf

:% g/^$/d //删除文本中所有空行

:% g/^;/d //删除文本中以;开头行

:% g/^#/d //删除文本中以#开头行

[global]

workgroup = WORKGROUP               //指定工作组名称,需修改
server string = Samba Server Version %v     //服务器描述信息

# logs split per machine
log file = /var/log/samba/log.%m        //日志文件的位置
# max 50KB per log file, then rotate
max log size = 50               //日志文件最大值(默认为KB)

security = user                 //安全级别为user(使用本地用户认证)
passdb backend = tdbsam             //密码认证文件

# the login script name depends on the machine name
# the login script name depends on the unix user used
# disables profiles support by specifing an empty path

disable spoolss = yes           //新增,禁用打印机共享
load printers = yes             //默认共享打印机
cups options = raw              //共享打印机的选项
#obtain list of printers automatically on SystemV

[hehe] //共享名
comment = He is He //描述信息
path = /data //共享目录
browseable = yes //是否可浏览
guest ok = no //禁止所有人读取
valid users = hehe,haha //定义允许读取的用户列表
writable = no //禁止所有人写入
write list = hehe //定义允许写入的用户列表

4)mkdir /data && chmod -R o=rwx /data/ //给予共享目录允许其它用户拥有完全权限

3.启动服务

/etc/init.d/smb restart

/etc/init.d/nmb restart

chkconfig --level 35 smb on

chkconfig --level 35 nmb on

4.验证

1)使用hehe用户登录可读取并写入

2)使用haha用户登录只可读取

关于客户端访问共享慢的解决方案

1.vim /etc/resolv.conf

nameserver 服务器IP

2.客户端将DNS指定为服务器IP

五、Samba安全控制

1.别名

1)vim /etc/samba/smbusers

hehe = a b c

用户名 = 别名(空格分割多个别名)

2)vim /etc/samba/smb.conf

[global]

username map = /etc/samba/smbusers

3)/etc/init.d/smb restart && /etc/init.d/nmb restart

2.访问控制

vim /etc/samba/smb.conf

[global]

hosts allow = IP(网段、域名) //只允许指定IP访问共享,其余主机拒绝访问

hosts deny = IP(网段、域名) //除指定IP拒绝访问,其余的全部允许

注:hosts allow与hosts deny不能同时使用

3.权限

vim /etc/samba/smb.conf

[global]

create mask = 权限 //设置用户上传或新建文件权限(建议将x权限取消)

directory mask = 权限 //设置用户上传或新建目录的权限(建议为755)

Samba:实现Windows与Linux等之间的共享访问

一、NFS(Network File System)网络文件系统

1.与Samba对比

1)NFS配置简单

2)NFS权限比较简单

3)只能用于Linux之间访问

4)数据明文传输

2.通过TCP的NFS协议实现共享

3.软件包:nfs-utils、rpcbind(RPC,实现服务器的内容映射到本地)

二、配置NFS

1.配置IP

1)rm -rf /etc/udev/rules.d/70-persistent-net.rules //删除存放网卡名称的配置文件

2)reboot

3)vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0

4)/etc/init.d/network restart

2.YUM安装NFS软件包

1)rm -rf /etc/yum.repos.d/* //删除自带YUM源配置文件

2)vim /etc/yum.repos.d/local.repo

[local]
name=local
baseurl=file:///mnt
gpgcheck=0

3)mount /dev/cdrom /mnt

4)yum -y install rpcbind nfs-utils

3.准备共享路径

1)mkdir /data

2)touch /data/hehe

4.修改NFS文件配置

1)vim /etc/exports

共享目录 允许访问地址(选项)

/data *(rw,sync,no_root_squash)

选项:

rw:读写

ro:只读

sync:同步写入

no_root_squash:客户端使用root身份访问时保持原有权限

root_squash:客户端使用root身份访问时,将使用nfsnobody用户权限

注:如有多个允许的客户端,需写多行配置

5.启动服务并设置为开机自启

1)/etc/init.d/rpcbind start && chkconfig --level 35 rpcbind on

2)/etc/init.d/nfs start && chkconfig --level 35 nfs on

6.客户端验证

1)客户端配置IP、并配置好YUM

2)yum -y install nfs-utils

3)mount 192.168.1.10:/data /media //将NFS服务器中/data目录挂载到本地/meida

4)vim /etc/fstab

192.168.1.10:/data /media nfs defaults,_netdev 0 0

5)mount -a //读取/etc/fstab文件并重新加载

选项:

_netdev:当有网络时自动挂载