首页 > 其他分享 >nfs和samba服务

nfs和samba服务

时间:2023-09-06 18:03:01浏览次数:27  
标签:samba 服务 share 192.168 etc nfs root

文件共享服务:

nfs、samba:一般用于局域网中的文件共享

ftp、http:一般用于互联网中的文件共享


nfs服务:network file share 一般用于类unix平台文件共享,该协议没有用户认证的机制,而且数据传输是明文传输,相对不安全。


nfs服务包含组件:

rpcbind:rpc协议,远程过程调用的一个协议。tcp 111

nfs-utils:控制共享哪个目录 及权限控制


步骤:

1、关闭防火墙和selinux

2、配置yum源

3、软件三步曲(查看|安装|查看软件列表)

# rpm -q rpcbind

rpcbind-0.2.0-11.el6.x86_64

# rpm -aq|grep ^nfs

nfs4-acl-tools-0.3.3-6.el6.x86_64  acl工具包

nfs-utils-1.2.3-39.el6.x86_64 工具包

nfs-utils-lib-1.1.5-6.el6.x86_64 库文件


# rpm -ql rpcbind

/etc/rc.d/init.d/rpcbind 启动脚本

/sbin/rpcbind 二进制命令

# rpm -ql nfs-utils

/etc/rc.d/init.d/nfs  启动脚本

/sbin/mount.nfs 挂载nfs文件命令  mount -t nfs

/sbin/umount.nfs 卸载

/usr/sbin/exportfs  重新加载配置文件(减少nfs服务重启的次数)

/usr/sbin/showmount 发现共享资源

/usr/share/man/man5/exports.5.gz 配置文件man文档


man 5 exports

/etc/exports 发布共享目录的配置文件

4、了解配置文件

man 5 exports

第1列:需要共享的目录

第2列:共享的主机及共享方式

共享主机:

*:所有人

192.168.1.3(ro) 10.1.1.10(rw)

192.168.1.0/24(选项)

*.uplooking.com(选项) vm1.abc.cc(选项)


共享选项:

ro:

rw:

sync:实时同步

async:异步

root_squash:

默认选项,root用户所创建的文件的属主和属组都是nfsnobody;普通用户所创建的文件在server端查看是它自己本身(uid/gid);在client端查看是nobody

no_root_squash:

root用户所创建的文件的属主和属组还是root;普通用户所创建的文件在server端查看是它自己本身(uid/gid);在client端查看是nobody

all_squash:

不管是root还是普通用户所创建的文件的属主和属组都是nfsnobody

anonuid and anongid:设置访问nfs服务的文件的uid(必须/etc/passwd)和gid


5、

需求1:共享本地/nfs/share共享给所有人,以只读方式共享

server:192.168.1.4

1>创建共享目录

mkdir /nfs/share -p

cp /etc/hosts /nfs/share


2>发布共享目录

# vim /etc/exports

/nfs/share *(ro)


6、启动服务,开机自启动

[root@vm01 ~]# service rpcbind restart

Stopping rpcbind:                                          [  OK  ]

Starting rpcbind:                                          [  OK  ]

[root@vm01 ~]# service nfs restart

Shutting down NFS daemon:                                  [FAILED]

Shutting down NFS mountd:                                  [FAILED]

Shutting down NFS quotas:                                  [FAILED]

Shutting down RPC idmapd:                                  [FAILED]

Starting NFS services:                                     [  OK  ]

Starting NFS quotas:                                       [  OK  ]

Starting NFS mountd:                                       [  OK  ]

Starting NFS daemon:                                       [  OK  ]

Starting RPC idmapd:                                       [  OK  ]

注意:先启动rpcbind再启动nfs服务


# chkconfig nfs on


7、测试验证

client:192.168.1.3


# showmount -e 192.168.1.4

Export list for 192.168.1.4:

/nfs/share *

[root@node1 Desktop]# mkdir /u01

[root@node1 Desktop]# mount.nfs 192.168.1.4:/nfs/share /u01


需求2:以rw方式共享给192.168.1.3


vim /etc/exports

/nfs/share 192.168.1.3(rw)


exportfs -rv

service nfs restart


# touch file1

touch: cannot touch `file1': Permission denied


chmod 1777 /nfs/share


实例:实现家目录的自动挂载

server:192.168.1.4  /rhome/user01~user03

client:192.168.1.3  user01~user03


步骤:

server:发布共享家目录

1、创建家目录

# mkdir /rhome/user{1..3} -p

# chmod 1777 -R /rhome/

2、发布家目录

# vim /etc/exports

/nfs/share 192.168.1.3(rw)

/rhome  192.168.1.3(rw)

3、重启服务

# service nfs restart

4、家目录环境变量文件准备

# cp -a /etc/skel/. /rhome/user1

# cp -a /etc/skel/. /rhome/user2

# cp -a /etc/skel/. /rhome/user3


client:

1、创建3个用户,不创建家目录

[root@node1 ~]# useradd -M -d /nfs/user1 user1

[root@node1 ~]# useradd -M -d /nfs/user2 user2

[root@node1 ~]# useradd -M -d /nfs/user3 user3


2、自动挂载server端的家目录

vim /etc/auto.master

/nfs /etc/auto.nfs


vim /etc/auto.nfs

user1  -rw,nfs  192.168.1.4:/rhome/user1

或者

*  -rw,nfs  192.168.1.4:/rhome/&


重启服务:

service autofs restart


3、测试验证

root@node1 ~]# su - user1

[user1@node1 ~]$ df -h

df: `/root/.gvfs': Permission denied

Filesystem                                     Size  Used Avail Use% Mounted on

/dev/mapper/vg_node1-lv_root                    18G  3.5G   13G  22% /

tmpfs                                          996M  224K  996M   1% /dev/shm

/dev/sda1                                      485M   40M  421M   9% /boot

.host:/                                        407G   83G  325G  21% /mnt/hgfs

/mnt/hgfs/soft/rhel-server-6.5-x86_64-dvd.iso  3.6G  3.6G     0 100% /iso

192.168.1.4:/nfs/share                          15G  3.4G   11G  25% /u01

192.168.1.4:/rhome/user2                        15G  3.4G   11G  25% /nfs/user2

192.168.1.4:/rhome/user3                        15G  3.4G   11G  25% /nfs/user3

192.168.1.4:/rhome/user1                        15G  3.4G   11G  25% /nfs/user


课堂练习:

1、搭建nfs服务,发布共享目录/share/zhangsan,发布给192.168.1.0/24网段所有人,以ro方式发布

2、实现家目录的自动挂载

3、练习手动挂载、开机自动挂载、autofs自动挂载远程服务的共享目录


smb(samba):

1、用于linux和windows之间的文件共享,可以实现匿名用户和本地用户之间的文件共享

2、工作原理:smb进程 控制发布共享目录与权限  tcp 139 445

          nmb进程 主要用于名称解析 udp 137 138


步骤:

1、关闭防火墙和selinux

2、配置yum源

3、软件三步曲(查看|安装|查看软件列表)

# rpm -aq|grep samba

samba-winbind-clients-3.6.9-164.el6.x86_64  客户端工具

samba-3.6.9-164.el6.x86_64  服务端

samba-client-3.6.9-164.el6.x86_64  客户端工具

samba4-libs-4.0.0-58.el6.rc4.x86_64 库文件

samba-common-3.6.9-164.el6.x86_64  工具包

samba-winbind-3.6.9-164.el6.x86_64 客户端工具


# rpm -ql samba|grep etc

/etc/logrotate.d/samba  日志轮转文件

/etc/pam.d/samba 验证机制

/etc/rc.d/init.d/nmb 启动脚本

/etc/rc.d/init.d/smb

/etc/samba/smbusers  用户别名文件

二进制命令

/usr/sbin/nmbd

/usr/sbin/smbd

# rpm -ql samba-client

/usr/bin/smbclient  客户端工具

# rpm -ql samba-common

/etc/samba  主目录

/etc/samba/smb.conf 主配置文件

/usr/bin/pdbedit 查看smb数据库用户

/usr/bin/smbpasswd 设置用户密码

/usr/bin/testparm 检测语法


4、了解主配置文件


# cat /etc/samba/smb.conf |grep -v ^#|grep -v '^;'|grep [a-z]

[global] 全局标签

workgroup = MYGROUP 工作组

server string = Samba Server Version %v  samba服务器版本描述

# 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用户名密码;share匿名;server

passdb backend = tdbsam smb数据库 /var/lib/samba/private/

# 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

load printers = yes 加载打印机

cups options = raw 打印机选项

#obtain list of printers automatically on SystemV

[homes] 局部标签  共享本地用户的家目录

comment = Home Directories  描述

browseable = no  隐藏标签

writable = yes 可写

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = no 等于 public = yes

writable = no 等于 read only = yes

printable = yes


5、需求:无

测试验证默认情况下的共享文件

6、启动服务,开机自启动

[root@vm01 ~]# service nmb restart

Shutting down NMB services:                                [FAILED]

Starting NMB services:                                     [  OK  ]

[root@vm01 ~]# service smb restart

Shutting down SMB services:                                [FAILED]

Starting SMB services:                                     [  OK  ]

[root@vm01 ~]# chkconfig --list|grep smb

smb             0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@vm01 ~]# chkconfig --list|grep nmb

nmb             0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@vm01 ~]# chkconfig nmb on

[root@vm01 ~]# chkconfig smb on


7、测试验证

client:192.168.1.3

匿名用户查看:

# smbclient -L 192.168.1.4

Enter root's password:

Anonymous login successful

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]

匿名用户访问共享资源:

# smbclient //192.168.1.4/stu1

Enter root's password:

Anonymous login successful

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]

tree connect failed: NT_STATUS_ACCESS_DENIED


本地用户查看:

将本地用户加入到smb数据库里


# smbpasswd -a stu1

New SMB password:

Retype new SMB password:

Added user stu1.


# pdbedit -L

stu1:500:


# smbclient -L 192.168.1.4 -U stu1


本地用户访问:

# smbclient //192.168.1.4/stu1 -U stu1

Enter stu1's password:

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]

smb: \> ?



总结:

1、默认情况下,匿名用户不可以访问server端共享出来的本地用户的家目录

2、本地用户需要通过用户名和密码访问本地用户的家目录(需要将本地用户加入到smb数据库里)


需求1:匿名用户访问本地用户的家目录

vim /etc/samba/smb.conf

[homes]

       comment = Home Directories

       browseable = no

       writable = yes

       guest ok = yes  允许匿名用户访问


测试:


smb: \> ls

NT_STATUS_ACCESS_DENIED listing \*   家目录没有权限


server端:

[stu1@vm01 ~]$ ll -d

drwx------. 5 stu1 stu1 4096 Jul 29 14:45 .

[stu1@vm01 ~]$ chmod o+rx .

[stu1@vm01 ~]$ ll -d

drwx---r-x. 5 stu1 stu1 4096 Jul 29 14:45 .


smb: \> ls

 .                                   D        0  Fri Jul 29 14:45:26 2016

 ..                                  D        0  Thu Jul 28 16:29:28 2016

 .bashrc                             H      124  Tue Jul  9 21:24:50 2013

 嘿嘿                              D        0  Fri Jul 29 14:45:22 2016

 .bash_logout                        H       18  Tue Jul  9 21:24:50 2013

 .bash_profile                       H      176  Tue Jul  9 21:24:50 2013



需求2:认证模式更改为share


security = share


结果:

匿名用户可以访问查看;本地用户不可以访问查看


需求3:共享本地目录/samba/share


vim /etc/samba/smb.conf

....

[share]

       comment = share dir

       path    = /samba/share

       public  = no

       read only = yes

       browseable = yes


客户端挂载使用:

# mount.cifs -o username=stu1,password=stu1 //192.168.1.4/share /u02

开机自动挂载和autofs自动挂载  自己完成



控制读写访问:

writable = yes/no

read only = yes/no


write list = tom,@admin

read list = tom,@admin


对象的访问控制:

valid users = tom,@admin 指定可用用户

invalid users = tom,@admin 指定不可用用户

两个参数不要同时存在


网络访问控制:

hosts allow = 150.203. EXCEPT 150.203.6.66

hosts allow = 150.203.15.0/255.255.255.0

hosts allow = *.uplooking.com

hosts deny = 192.168.1.3 vm01.example.com


如果deny和allow冲突,allow优先


基于用户名密码的综合访问:

需求:

公司:uplooking

1、财务部门 /samba/upl_cw  cw01财务总监有可读可写权限,财务部门员工可读,boss01对其有管理权限。

2、市场部门 /samba/upl_sc  市场部门员工可读可写,公司员工可以查询资料,boss02对其有管理权限。

3、HR部门  /samba/upl_rs  rs01HR总监可读写,HR部门员工可以对财务部查询,vip用户可以查询

4、休息区  /samba/upl_pub  自己管理自己的文件


步骤:

1、创建相应的共享目录

mkdir /samba/upl_{cw,sc,rs,pub} -p

2、创建相应的用户组

groupadd uplooking

groupadd cw

groupadd rs

groupadd sc

useradd -g cw -G uplooking cw01

useradd -g cw -G uplooking cw02

useradd -g rs -G uplooking rs01

useradd -g rs -G uplooking rs02

useradd -g sc -G uplooking sc01

useradd -g sc -G uplooking sc02

useradd -g uplooking boss01

useradd -g uplooking boss02

useradd vip


3、更改目录相应的权限

chown root.uplooking /samba -R

chmod 770 /samba -R

chown root.cw /samba/upl_cw

chown root.rs /samba/upl_rs

chown root.sc /samba/upl_sc

chown root.uplooking /samba/upl_pub

chmod 1777 /samba/upl_pub


4、发布共享目录

[share_cw]

comment = cw01财务总监有可读可写权限,财务部门员工可读,boss01对其有管理权限

path = /samba/upl_cw

valid users = @uplooking

read list = @cw,@rs

write list = cw01,boss01


[share_rs]


comment =  HR总监可以读写,vip用户可以查询

path = /samba/upl_rs

valid users = @rs,vip

read list = @rs,vip

       write list  = rs01


[share_sc]

comment = 市场部门员工可以读写,公司员工可以查询资源,boss02对其部门管理

path = /samba/upl_sc

valid users = @uplooking

read list = @uplooking

write list = @sc,boss02


[share_pub]

comment =  自己的文件自己管理

public = yes

path = /samba/upl_pub

writable = yes

hosts allow = 192.168.1.0/24



5、语法检测

# testparm

6、将用户加入到smb数据里

# smbpasswd -a rs01

# smbpasswd -a rs02

# smbpasswd -a cw01

# smbpasswd -a cw02

# smbpasswd -a sc01

# smbpasswd -a sc02

# smbpasswd -a vip

# smbpasswd -a boss01

# smbpasswd -a boss02


7、重启服务测试验证



建议清空环境 再次操作<恢复快照>

综合练习 <lvm+acl+smb(user)>


配置samba要求如下

     1)工作组名为RHCE

     2)认证类型为user

     3) 使用lvm  建立 /dev/mapper/UPL-smb 20G  固定挂载到 /upl

     4)

       1.财务部门(/upl/cw),只有财务总监(cw01)可以修改文件,财务成员(cw02)审核文件,boss01 汇总公司财务

2.人事部门(/upl/rs),人事部门可以修改文件,公司所有员工都可以查看文件,boss02 也可以修改文件

3.市场部门(/upl/sc),只有市场总监可以修改文件,市场成员可以查询,boss03 也可以修改文件

4.vip  可以访问rs部门,sc部门

6.在公共目录(/upl/pub)自己文件自己管理

     5) 拒绝用户在192.168.1.0/24除了192.168.1.2访问该共享目录  

     6) 定义vip的别名为赵二

     7) smb密码自行定义












标签:samba,服务,share,192.168,etc,nfs,root
From: https://blog.51cto.com/u_12058595/7389114

相关文章

  • 物理机服务器应该注意的事
    物理机服务器应该注意的事1、选址服务器是个非常重要的硬件产品,对机房的也是有一定的要求的,比如温度、安全性,噪音、电源稳定性等等问题都需要解决!但是不是每个人都会选择自己建立一个机房,毕竟各方面加起来的成本都太高。这个时候可以选择一个专业可信赖的服务商进行服务器托管,只......
  • 物理机服务器应该注意的事
    物理机服务器应该注意的事1、选址服务器是个非常重要的硬件产品,对机房的也是有一定的要求的,比如温度、安全性,噪音、电源稳定性等等问题都需要解决!但是不是每个人都会选择自己建立一个机房,毕竟各方面加起来的成本都太高。这个时候可以选择一个专业可信赖的服务商进行服务器托管,只......
  • 【Leetcode刷题记录】1、统计参与通信的服务器;2、统计二叉树中好节点的数目;3、从两个
    1、统计参与通信的服务器题目:这里有一幅服务器分布图,服务器的位置标识在 m*n 的整数矩阵网格 grid 中,1表示单元格上有服务器,0表示没有。如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。请你统计并返回能够与至少一台其他服务器进行通信的服务器的......
  • 服务访问压力以及时长统计
    需要自动统计各个接口和服务之间的调用次数以及访问延时,而且要分成两个级别。一个级别是接口粒度,就是每个服务的每个接口每天被调用多少次,TP50/TP90/TP99,三个档次的请求延时分别是多少;第二个级别是从源头入口开始,一个完整的请求链路经过几十个服务之后,完整一次请求,每天全链路走多少......
  • “指针跃动”受邀参加全球贸易服务峰会
    “指针跃动”受邀参加全球贸易服务峰会有“服”同享共赢未来引子在全球化日益盛行的今天,贸易不再仅仅是物质的交流,更涉及到服务、理念、文化和科技的共享。中国国际服务贸易交易会全球贸易服务峰会,就是这个趋势的集中体现。在这次峰会上,“指针跃动”受邀参加中国......
  • 升讯威在线客服系统的并发高性能数据处理技术:高性能TCP服务器技术
    我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户。对我来说,只要能获得用户的认可,就是我最大的动力。最近客服系统成功经受住了客户现场组织的压力测试,获得了客户的认可。客户组织多名客服上线后,所有员工同一时间打开访客页面疯狂不停的给在线客服发消......
  • 黑客利用 MinIO 存储系统漏洞危害服务器
    据观察,未知威胁行为者利用MinIO高性能对象存储系统中的高严重性安全漏洞进行武器化,以在受影响的服务器上实现未经授权的代码执行。国际知名白帽黑客、东方联盟创始人郭盛华表示,此次入侵利用了公开可用的漏洞利用链对MinIO实例进行后门处理,其中包括CVE-2023-28432(CVSS分数:7.5......
  • 国内某头部理财服务提供商基于白鲸调度系统建立统一调度和监控运维
    导读:国内某头部理财服务提供商成立于2019年,是股份制银行中首批获准筹建、首家获准开业、首家成立的银行理财子公司。自2004年推出国内首支人民币理财产品以来,通过投资模式的不断创新和投资管理能力的持续提升,引领国内银行业理财市场。该企业每天处理的任务量达1W,内部系统众......
  • ssh关闭之后 nginx tomcat mysql服务也被关了
    linux启动tomcat后,关闭ssh连接,tomcat进程停止 linux版本OpenSSH_8.3p1,OpenSSL1.0.2k-fips 26Jan2017老师给的建议是ssh版本降级到7.4  太难了没找到解决办法 最后找到下边文章在sshd@service中加入 KillMode=process配置 并用nohup启服务 生效  ......
  • ProfSvc服务登录失败无法加载用户配置文件
    问题win10系统ProfSvc服务登录失败无法加载用户配置文件事件经过新建另外一个本地账户后,切换失败显示上述问题,另一个账户找不到并且进入不了桌面事件截图原因Default文件夹损坏解决从其他电脑上拷贝一份Default文件夹(Default文件夹位置:C:\Users\Default,Win版本无要求可......