在进行文件传输及共享时,B技术是一种非常常用的技术。B技术是由微软公司开发的一种网络文件共享协议,它允许网络中的计算机之间进行文件共享及打印机共享。在局域网环境中,使用B技术可以方便的对文件进行管理和传输,在一些需要进行文件传输的企业中被广泛的应用。
在使用B技术进行文件传输及共享时,最常见的需求就是将本地文件夹挂载到B服务器上。本地文件夹挂载到B服务器上后,就可以方便的对本地文件夹进行操作和管理,而不必将文件拷贝到共享文件夹上。本文将介绍如何将本地文件夹挂载到B服务器,以下是具体操作步骤。
一、安装必要的软件
在将本地文件夹挂载到B服务器上之前,我们需要先安装必要的软件。在Linux操作系统下,我们需要安装Samba软件包,该软件包提供提供了Linux系统下B服务器的相关功能。
可以通过以下命令安装Samba:
“`linux
sudo apt-get install samba
“`
二、创建B服务器共享文件夹
在开始将本地文件夹挂载到B服务器之前,我们需要先创建B服务器共享文件夹,以下是创建B服务器共享文件夹的操作步骤。
1. 在任意目录下创建文件夹,例如:
“`linux
sudo mkdir /home/share_folder
“`
2. 给该文件夹赋予可写权限,例如:
“`linux
sudo chmod 777 /home/share_folder
“`
3. 编辑Samba配置文件,以下是编辑Samba配置文件的命令:
“`linux
sudo vi /etc/samba/b.conf
“`
4. 在Samba配置文件中添加以下内容:
“`linux
[share_folder]
comment = share folder
browseable = yes
writable = yes
path = /home/share_folder
create mask = 777
directory mask = 777
“`
以上配置中,[share_folder]是共享文件夹的名称,comment是共享文件夹的说明,path是共享文件夹的路径,create mask和directory mask则是文件夹的权限设置。
5. 保存并退出Samba配置文件。
6. 重新启动Samba服务,以下是重启Samba服务的命令:
“`linux
sudo service bd restart
“`
至此,我们已经创建了B服务器共享文件夹。
三、将本地文件夹挂载到B服务器
在创建了B服务器共享文件夹之后,接下来的步骤就是将本地文件夹挂载到B服务器上了。以下是具体的操作步骤。
1. 在本地创建一个目录,例如:
“`linux
sudo mkdir /mnt/share_folder
“`
2. 将B服务器的共享文件夹挂载到本地目录下,以下是挂载B服务器共享文件夹的命令:
“`linux
sudo mount -t cifs //server_ip/share_folder /mnt/share_folder -o username=user,password=password
“`
上述命令中,server_ip是B服务器的IP地址,share_folder是共享文件夹的名称,username和password则是账户名和密码。
3. 如果挂载成功,则可以在本地访问该目录下的文件,例如:
“`linux
cd /mnt/share_folder
ls
“`
四、取消挂载
在操作完成后,我们可以使用以下命令将挂载的共享文件夹取消挂载:
“`linux
sudo umount /mnt/share_folder
“`
以上就是如何将本地文件夹挂载到B服务器的操作步骤。通过以上步骤,我们可以轻松的将本地文件夹挂载到B服务器上,并进行实时的文件操作和管理。
相关问题拓展阅读:
- 求助,如何ftp和samba共用同一个目录
- 如何共享linux中的b服务器?
求助,如何ftp和samba共用同一个目录
FTP的目录是可以自己选择的,可以选择
C盘
D盘 E盘,也可以随便选择一个文件夹或者新建一个文件夹当做FTP文件夹。这个可以在搭建
FTP服务器
的时候选择路径。
而使用
B协议
的话,需要右键选择你需要的桐梁高那个文件夹,点击属性设置为共享。你可以选择用户为everyone,这样渣迹方便点。局尺
按以上步骤即可实现FTP文件夹和B共享文件夹都是一个文件夹。
一、FTP协议
1、FTP原理知识
是一种C/S架构,基于套接字通信,用来在两台机器之间相互传此汪输文件。FTP协议用到2种tcp连接:一是命令连接,用于客户端和服务端之间传递命令,监听在tcp/21端口;另一个是数据传输连接,用来传输数据,监听的端口是随机的。
2、FTP的被动模式、主动模式
主动模式的原理如下图:
主动模式存在的问题是,在客户端一般都会有防火墙的设置,当服务端与客户端数据进行数据通信时,客户端的防火墙会将服务端的端口挡在外面。此时,通信就会受阻。因此,被动模式就产生了。
被动模式的原理图如下:
被动模式也会存在防火墙的问题,客户端与服务端传输数据时,在服务端也会有防火墙,但在服务端的防火墙有连接追踪的功能,解决了防火墙的问题。因此,一般使用被动模式比较多。
3、FTP的用户认证
FTP支持系统用户,匿名用户,和虚拟用户三种用户认证。
匿名用户:登陆用户名是anonymous,没有密码
系统用户:是FTP服务器端的本地用户和对应的密码,默认访问的是用户家目录
虚拟用户:仅用于访问服务器中特定的资源,常见的虚拟用户认证的方式有使用文件认证或使用数据库进行认证。最终也会将这些虚拟用户同一映射为一个系统用户,访问的默认目录就是这个系统用户的家目录。
4、常见的状态信息码
1**:提示信息
2**:成功执行的状态码
3**:需要进一步提供补充类的信息码,例如在输入用户账号信息后出现此状态,提示继续输入密码
4**:客户端类的错误
5**:服务端错误
5、常见的实现FTP协议的工具
服务端:
Linux端:wu-ftpd,pureftp,vsftpd(Centos 6上默认提供的)
windows端:ServU,FileZilla-Server
客户端工具:
Linux操作系统:ftp,lftp,lftpget,wget,cul,gftp等
windows操作系统:FileZilla
6、vsftpd
在CentOS上默认提供的是vsftpd(Very Secure FTP),以安全著称。
用户认证配置文件:/etc/pam.d/vsftpd
服务脚本:/毁芹etc/rc.d/init.d/vsftpd
配置文件目录:/etc/vsftpd
主配置文件:vsftpd.conf
匿名用户(映射为ftp用户)共享资源位置:/var/ftp
系统用户通过ftp访问的资源的位置:用户自己的家目录
虚拟用户通过ftp访问的资源的位置:给虚拟用户指定的映射成为的系统用户的家目录
7、常见的的vsftpd的参数设置
匿名用户的配置:
anonymous_enable=YES #允许匿名用户登录
anon_upload_enable=YES #允许匿名用户上传文件
anon_mkdir_write_enable=YES #允许匿名用户创建目录
anon_ohter_write_enable=YES #允许其他的写权限(删除目录,文件)
系统用户的配置:
local_enable=YES #允许本地纤扒毕用户的登录
write_enable=YES # 本地用户可写
local_umask=# 本地用户的umask
禁锢所有的ftp本地用户于其家目录中:
chroot_local_user=YES #允许本地用户只能访问自己的家目录,不允许访问其他目录,适用于所有的用户
禁锢文件中指定的ftp本地用户于其家目录中:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
目录消息:
dirmessage_enable=YES # 开启目录提示信息
在对应的目录下创建一个.message的文件,里面的内容当我们在访问时此目录时,会看到提示的信息。
日志:
xferlog_enable=YES # 打开传输日志
xferlog_std_format=YES # 是否使用标准格式
xferlog_file=/var/log/xferlog #日志文件路径
改变上传文件的属主:
chown_uploads=YES
chown_username=whoever #上传文件后立即改变文件的属主名
vsftpd使用pam完成用户认证,其用到的pam配置文件:
pam_service_name=vsftpd #用户认证文件,在/etc/pam.d/目录下
是否启用控制用户登录的列表文件
userlist_enable=YES
userlist_deny=YES|NO # 为yes的意思是,userlist_file是黑名单文件;是no的意思是userlist_file是白名单文件
userlist_file=/etc/vsftpd/user_list,默认文件为/etc/vsftpd/user_list
连接限制:
max_clients: 更大并发连接数;
max_per_ip: 每个IP可同时发起的并发请求数;
传输速率:
anon_max_rate: 匿名用户的更大传输速率, 单位是“字节/秒”;
local_max_rate: 本地用户的更大传输速率, 单位是“字节/秒”;
8、虚拟用户(基于mysql实现)
一、安装所需要程序
1、安装mysql和pam_mysql
# yum -y install vsftpd mysql-server mysql-devel pam_mysql
注意:pam_mysql由epel源提供。
二、创建虚拟用户账号
1.准备数据库及相关表
首先请确保mysql服务已经正常启动。而后,按需要建立存储虚拟用户的数据库即可,
这里将其创建为vsftpd数据库。
mysql> create database vsftpd;
mysql> grant select on vsftpd.* to vsftpd@’%’ identified by ‘vsftpd’;
mysql> flush privileges;
mysql> use vsftpd;
mysql> create table users (
-> id int AUTO_INCREMENT NOT NULL,
-> name char(20) binary NOT NULL,
-> password char(48) binary NOT NULL,
-> primary key(id)
-> );
2、添加测试的虚拟用户
根据需要添加所需要的用户,需要说明的是,这里将其密码为了安全起见应该使用PASSWORD
函数加密后存储。
mysql> insert into users(name,password) values(‘tom’,password(‘tom’));
mysql> insert into users(name,password) values(‘jerry’,password(‘tom’));
三、配置vsftpd
1.建立pam认证所需文件
#vi /etc/pam.d/vsftpd.mysql
添加如下两行
auth required /lib/security/pam_mysql.so user=vsftpd passwd=
www.magedu.com
host=localhost
db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=
www.magedu.com
host=localh
ost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
注意:由于mysql的安装方式不同,pam_mysql.so基于unix sock连接mysql服务器时可能会出问题,
此时,建议授权一个可远程连接的mysql并访问vsftpd数据库的用户。
2.修改vsftpd的配置文件,使其适应mysql认证
建立虚拟用户映射的系统用户及对应的目录
# useradd -s /in/nologin -d /var/ftproot vuser
# chmod go+rx /var/ftproot
请确保/etc/vsftpd.conf中已经启用了以下选项
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
而后添加以下选项
guest_enable=YES
guest_username=vuser
并确保pam_service_name选项的值如下所示
pam_service_name=vsftpd.mysql
四、启动vsftpd服务
# service vsftpd start
# chkconfig vsftpd on
五、配置虚拟用户具有不同的访问权限
vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以定义其ftp服务访问权限,
每个虚拟用户的配置文件名同虚拟用户的用户名。配置文件目录可以是任意未使用目录,
只需要在vsftpd.conf指定其路径及名称即可。
1、配置vsftpd为虚拟用户使用配置文件目录
# vim vsftpd.conf
添加如下选项
user_config_dir=/etc/vsftpd/vusers_config
2、创建所需要目录,并为虚拟用户提供配置文件
# mkdir /etc/vsftpd/vusers_config/
# cd /etc/vsftpd/vusers_config/
# touch tom jerry
3、配置虚拟用户的访问权限
虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。比如,如果需要让tom用
户具有上传文件的权限,可以修改/etc/vsftpd/vusers_config/tom文件,在里面添加如下选项即可。
anon_upload_enable={YES|NO}
anon_mkdir_write_enable={YES|NO}
anon_other_write_enable={YES|NO}
二、NFS协议
1、NFS的几个概念
RPC(Remote Procedure Call Protocol远程过程调用协议):
简单的说是函数调用(远程主机上的函数) 一部分功能由本地程序完成 另一部分功能由远程主机上的函数完成。客户端挂载了nfs服务器的文件系统时,进行一些操作,但是这些操作服务端如何知道呢??这可是在内核级别上实现协议。RPC就解决了这个问题,它会将客户端的操作的函数调用发送到服务器端,由服务器端执行这些函数调用。
idmapd:
想想这种情形,nfs客户端在挂载文件系统以后,在本地以某用户的身份创建了一个文件,在服务器端这个文件的属主和属组是哪个用户呢?早期是通过NIS(Network Information Services网络信息服务)来解决这个问题的,但是在传输账号和密码时,使用的是明文传输,现在使用LDAP+clbbler来实现的。但是,NFS使用的是idmapd这个服务,有rpc提供,将所有的用户后映射为nfsnobody,但是在访问的时候,还是以本地UID对应的本地用户来使用的。
mounted:
NFS是通过什么来控制那些客户端可以访问,那些不可以访问的呢?NFS只支持通过IP来控制客户端,而这个功能是由守护进程mounted来实现的,它监听的端口是半随机的。所谓的半随机指的是,这个随机端口是由rpc服务来决定的,而rpc是通过随机的方式。作用等等同于小区大门保安的作用。
2、NFS请求过程
在CentOS6.5中,NFS服务端监听在tcp和udp的2023端口,服务名是nfs、pc监听于tcp和udp的111号端口,服务名是portmapper。
请求过程:当客户端试这去挂载使用nfs共享的文件系统是,客户端首先回去与postmapper(tcp/111)端口去注册使用,此时postmapper会随机分配一个端口给mounted,然后mounted这个守护进程会来验证客户端的合法性,验证通过后,会把请求交给nfs服务,客户端此时可以挂载使用了,用户在创建文件时,会使用到idmapd的守护进程来映射属主。其实idmapd也是有rpc服务提供的,只不过在这里,nfs服务使用到用户映射的功能时,会自动的去调用此守护进程。
3、服务的配置
在服务端,只需要安装nfs-utils就可以直接使用,nfs服务直接是内核的模块。
# od | grep nfs
nfsd
lockdnfsd
nfs_aclnfsd
auth_rpcgssnfsd
sunrpcnfsd,lockd,nfs_acl,auth_rpcgss
exportfsnfsd
服务端共享的目录是通过 /etc/exports这个文件共享出去的。这个文件的书写格式如下:
共享目录 客户端(选项1,选项2) 客户端(选项1,选项2) … 示例:
/mydata 172.16.0.0/16(ro,async,no_root_squash)
www.example.com
(ro)
########################客户端的表示方式##########################
主机IP地址:例如 192.168.1.10
网络地址:例如 172.16.0.0/24
域名表示:例如
www.example.com
(指定主机),*.example.com(对应域名下的所有主机)
*:表示所有的主机
##############################常见的选项###############################
有几个常用的选项可以对 NFS 实现进行定制。这些选项包括:
secure: 这个选项是缺省选项,它使用了 1024 以下的 TCP/IP 端口实现 NFS 的连接。
指定 insecure 可以禁用这个选项。
rw: 这个选项允许 NFS 客户机进行读/写访问。缺省选项是只读的。
async: 异步存储(所有的客户端操作先在内存中缓存,等待cpu空闲的时候写入磁盘)。
这个选项可以改进性能,但是如果没有完全关闭 NFS 守护进程就重新启动了 NFS 服务器,
这也可能会造成数据丢失。与之相反的是syns,是同步写入磁盘。
no_wdelay: 这个选项关闭写延时。如果设置了 async,那么 NFS 就会忽略这个选项。
nohide: 如果将一个目录挂载到另外一个目录之上,那么原来的目录通常就被隐藏起来
或看起来像空的一样。要禁用这种行为,需启用 hide 选项。
no_subtree_check: 这个选项关闭子树检查,子树检查会执行一些不想忽略的安全性检查。
缺省选项是启用子树检查。
no_auth_nlm: 这个选项也可以作为 insecure_locks 指定,它告诉 NFS 守护进程不要对加
锁请求进行认证。如果关心安全性问题,就要避免使用这个选项。缺省选项是 auth_nlm 或
secure_locks。
mp (mountpoint=path): 通过显式地声明这个选项,NFS 要求挂载所导出的目录。
fsid=num: 这个选项通常都在 NFS 故障恢复的情况中使用。如果希望实现 NFS 的故障恢复,
请参考 NFS 文档。
#####################用户映射的选项############################
root_squash: 这个选项不允许 root 用户访问挂载上来的 NFS 卷。
no_root_squash: 这个选项允许 root 用户访问挂载上来的 NFS 卷。
all_squash: 这个选项对于公共访问的 NFS 卷来说非常有用,它会限制所有的 UID 和 GID,
只使用匿名用户。缺省设置是 no_all_squash。
anonuid 和 anongid: 这两个选项将匿名 UID 和 GID 修改成特定用户和组帐号。
4、常用命令
showmount是用来查看nfs服务的情况
用法:showmount
可以使用短选型,也可以使用长选项。
-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。
-e :显示指定的NFS SERVER上export出来的目录。
exportfs:一般用在当NFS服务启动后,使用此命令来控制共享目录的导出
用法:exportfs
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount目录
-v :在export的时候,将详细的信息输出到屏幕上。
具体例子:
# exportfs -au 卸载所有共享目录
# exportfs -rv 重新共享所有目录并输出详细信息
5、客户端的使用
先使用 showmont -e SER_NAME 来发现服务端的共享的目录
然后使用mount挂载使用,格式:
mount -t nfs SER_NAME:/data /parth/to/someponit
mount -t nfs 192.168.1.99:/mydat /mnt -o rsize=4096
rsize 的值是从服务器读取的字节数。wsize 是写入到服务器的字节数。默认都是1024, 如果使用比较高的值,如8192,可以提高传输速度。
三、samba服务(基本介绍)
1、协议
b: Service Message Block
CIFS: Common Internet File System通用网络文件系统,是windows主机之间共享的协议,samba实现了这个协议,所以可以实现wondows与linux之间的文件共享服务。
监听的端口有:
tcp/137 udp/137 tcp/139 udp/139
137:是实现NetBIOS协议,实现解析windows之间主机名的解析,实现在windows的网上邻居可以看到Linux的主机名。
139:是实现cifs协议
2、如何访问?
在Linux中:
交互式数据访问:
bclient -L HOST -U USERNAME
获取到共享信息之后,
bclint //SERVER/shared_name -U USERNAME
基于挂载的方式访问:
mount -t cifs //SERVER/shared_name /mount_point -o username=USERNAME,password=PASSWORD
3、如何配置samba服务器(Linux)
# yum -y install samba
服务脚本:
/etc/rc.d/init.d/nmb # 实现 NetBIOS协议
/etc/rc.d/init.d/b # 实现cifs协议
主配置文件:
/etc/samba/b.conf
samba用户:
账号:都是系统用户, /etc/passwd
密码:samba服务自有密码文件,
将系统用户添加为samba的命令:bpasswd
bpasswd:
a Sys_User: 添加系统用户为samba用户
d :禁用用户
e: 启用用户
x: 删除用户
配置文件:
/etc/samba/b.conf 配置文件包括全局设定,特定共享的设定,私有家目录,打印机共享,自定义共享
全局配置:
workgroup = MYGROUP # 工作组
hosts allow = 127. 192.168.12. 192.168.13. # 访问控制,IP控制
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 # 接口+ip控制
自定义共享:
#共享名称
path = /path/to/share_directory #共享路径
comment = Comment String # 注释信息
guest ok = {yes|no} | public = {yes|no} # 是否启用来宾账号
writable = {yes|no} | read only = {yes|no} # 共享目录是否可写
write list = +GROUP_NAME # 允许可写的用户列表,前面有+是代表允许可写的组
测试配置文件是否有语法错误,以及显示最终生效的配置:
testparm
如何共享linux中的b服务器?
以下是我在学习linux时所做的实验:
环境是:A 为SAMBA服务器:IP 192.168.0.2
B 为SAMBA客户端:IP 192.168.0.3
C 为XP测试机 :IP 192.168.0.4
下面我们就开始架设SAMBA服务首先我们要安装SAMBA这里有4个SAMBA包我们都需要安装其中SWAT我们在后面会讲到的
配置IP地址 netconfig
启服务:service network
/etc/samba/b.conf是samba的主配置文件其实我们不需要任何修改就可以用
samba了默认需要用户名和密码的
安装RPM包: rpm –ivh samba-conmmon-3.0.10-1.4E
system-config-samba-1.2.21-1
samba-3.0.10-1.4E
samba-client-3.0.10-1.4E
主配置文件:/etc/samba/b.conf
查看文件的清新路径:grep –v “^#” /文件路径/ | grep –v “^;”
在这里先说明samba的用户密码必须自己设置,不能用系统的用户,但是帐号可以一样的,我们现在就创建samba用户和密码:
建立SAMBA用户帐号:Useradd (用户名) bpasswd –a (密码)
Smbpasswd –a (用户系统存在): 添加指定的用户帐户
Smbpasswd –d (用户系统存在): 禁止指定的用户帐户
Smbpasswd –e (用户系统存在): 启用指定的用户帐户
Smbpasswd –x (用户系统存在): 删除指定的用户帐户
刚才在XP里的用户是在/home/ 也就是说默认的samba用户登陆到服务器其实就是自己的目录是吧!并且能删除上传和下载是吧!
清除用户帐户密码缓存:net use * /del
对SAMBA文件配置测试:testparm
默认有没匿名用户登陆?默认在58行我们只要:
security =
添加就可以了修改配置文件后重启服务:service b restart
并赋予权限:shmod 757 /文件所在路径
3,我们怎么样自己定制共享目录陪蔽李,在主配置文件中添加:
comment = crazy linux
path = /文件路径
browseable = yes 宿主目录
guest ok =yes 开启来宾
writable =yes 可写
配置完后重启服务:service b restart
4,我们在来看看只读的怎么做的不需要密码的
comment = zhidu 说明信息
path = /文件路径
browseable = yes 宿主目录
guest ok = yes 开启来宾
配置完后重启服务:service b restart
并加入组中:chown 组名:组名 文件名
并赋予权限:chmod 777 文件名/
添加公共目录设置芦迟:/etc/samba/b.conf
Path = /文件路径 共享文件的路径
Only guest = yes 验证身份
Writable = yes 可写
启动SAMB服务器: service b
以上是用WIN测试的那么我们来看看用LINUX下怎么做的
LINUX下的软件:bclient-*
bclient -L 服务器IP地址: 查看共享资源
bmount //服务器IP地址/共享名 /挂载点
Smbclient //服务器IP地址/共享文件夹 –u 帐户
Smbbstatus:状态服务器
Mount –t bfs –o username=用户 //服务IP地址/共享目录/挂载点
关于本地目录挂载到b服务器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。