linux搭建文件服务器 linux 文件服务器怎么搭建
很多朋友对于linux搭建文件服务器和linux 文件服务器怎么搭建不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
如何搭建一个局域网文件存储服务器
最简单的办法:
找一台机器,把其中一个文件夹做成共享,guest权限全开,然后将该文件夹映射驱动器到每个人的电脑上,在他们的电脑上显示的就是一个本地硬盘一样。熟练一点的10分钟搭建完毕。
但是这个有个问题,局域网内每个人都能下载和修改文件,对文件安全性存在一定隐患。但是这个满足基本的存储和共享是没有问题的。
复杂一点的办法:
搭建专业服务器,不管是windows还是linux服务器都有专业的FTP服务器,网上搜一下什么教程啥的都出来了,但是这个不熟练的话,得花些时间搞定。但是这个对文件安全性绝对有保障,控制也更严格,容易管理。
linux怎么搭建ftp服务器
ftp工作是会启动两个通道:
控制通道,数据通道
在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)
PORT模式:
在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21)发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的TCP 20端口和PORT中包含的端口建立新的连接来传送数据。
PASV模式:
传送数据时,ftp_client--PASV命令-->ftp_server(21)发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。
安装ftp
#rpm-qa vsftpd查看是否已经安装
#yum install-y vsftpd
#rpm-ql vsftpd
/etc/logrotate.d/vsftpd. vsftpd的日志文件
/etc/pam.d/vsftpd PAM认证文件
/etc/rc.d/init.d/vsftpd启动脚本
/etc/vsftpd vsftpd的配置文件存放的目录
/etc/vsftpd/ftpusers禁止使用vsftpd的用户列表文件
/etc/vsftpd/user_list禁止或允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd.conf主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd操作的一些变量和设置
/usr/sbin/vsftpd vsftpd的主程序
其他一些说明文档和手册文件略!
/var/ftp匿名用户主目录
/var/ftp/pub匿名用户的下载目录
#service vsftpd start
#chkconfig--level vsftpd
#chkconfig--level 2345 vsftpd on
2匿名用户的登录名:ftp(anonymous)密码空,登录的目录为/var/ftp
用匿名用户登录的时候默认是只有下载的权限,没有上传,创建和删除的权限:
#vim/etc/vsftpd/vsftpd.conf
anon_upload_enable=YES上传
anon_mkdir_write_enable=YES创建
anon_other_write_enable=YES删除
#service vsftpd restart
为了安全应该禁止匿名用户的登录:
123456#vim/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#anon_upload_enable=YES上传
#anon_mkdir_write_enable=YES创建
#anon_other_write_enable=YES删除
#service vsftpd restart
3创建一个直接登录系统用户来登录ftp:
#useradd-s/sbin/nologin viong
#passwd viong
用户具有上传创建下载切换目录
------------------------------------------------------------------
4加强vsftp安全设置:
限制系统用户锁定在家目录:
#vim/etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list限制更多的系统用户,把需要限制的用户加入/etc/vsftpd/chroot_list中即可
#touch/etc/vsftpd/chroot_list
#cut-d:-f 1/etc/passwd>>/etc/vsftpd/chroot_list将本地用户都加入到chroot_list
限制重要系统用户不能登录ftp:
#cat/etc/vsftpd/ftpusers默认已经添加了系统中一些比较重要的用户
#echo"viong">>/etc/vsftpd/ftpusers此时viong不能登录ftp
利用ftp用户策略允许登录ftp的系统用户:
/etc/vsftpd/user_list只有在这个文件中的用户才能登录系统:
#vim/etc/vsftpd/vsftpd.conf
#在userlist_enable=YES的后面添加
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
设置登录ftp目标ip地址:用iptables设置
---------------------------------------
搭建支持SSL加密传输的vsftpd:
#openssl req-x509-nodes-days 365-newkey rsa:1024-keyout/etc/vsftpd/vsftpd.pem-out/etc/vsftpd/vsftpd.pem生成证书
#vim/etc/vsftpd/vsftpd.conf
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
下面是ssl参数一些定义,根据自己需求去修改:
ssl_enable=yes/no//是否启用 SSL,默认为no
allow_anon_ssl=yes/no//是否允许匿名用户使用SSL,默认为no
rsa_cert_file=/path/to/file//rsa证书的位置
dsa_cert_file=/path/to/file//dsa证书的位置
force_local_logins_ssl=yes/no//非匿名用户登陆时是否加密,默认为yes
force_local_data_ssl=yes/no//非匿名用户传输数据时是否加密,默认为yes
force_anon_logins_ssl=yes/no//匿名用户登录时是否加密,默认为no
force_anon_data_ssl=yes/no//匿名用户数据传输时是否加密,默认为no
ssl_sslv2=yes/no//是否激活sslv2加密,默认no
ssl_sslv3=yes/no//是否激活sslv3加密,默认no
ssl_tlsv1=yes/no//是否激活tls v1加密,默认yes
ssl_ciphers=加密方法//默认是DES-CBC3-SHA
#service vsftpd restart
用flashftp连接:
连接类型为:FTP使用公开SSL(验证SSL)
地址:192.168.137.130:21
登录类型:普通
用户:viong
密码:123
linux 文件服务器怎么搭建
在前面一个章节学习的FTP文件传输服务确确实实让咱们在主机之间传输文件变得非常方便,但FTP协议的本质是传输文件,并不是共享文件,要想让客户端能够直接在服务端上面修改文件内容还是比较麻烦的事情。于是在1987年时,由微软和英特尔公司共同制订了SMB服务器通信协议(Server MessagesBlock),这项技术的诞生是为了解决局域网内的文件或打印机等资源的共享服务问题,让多个主机之间共享文件变成越来越简单。
后来到了1991年,当年还在读大学的学生Tridgwell为了解决Linux与Windows系统之间的文件共享问题,便基于了这项SMB技术协议开发出了SMBserver这一款服务程序,SMBserver服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,通过非常简单的配置就能够实现Linux系统与Windows系统之间的文件共享工作。当时还在上学的Tridgwell想要把这款SMBServer软件注册成为商标,但却被商标局以SMB是没有意义的字符而拒绝了他的申请,经过Tridgwell不断的翻看词典,突然看到一个拉丁舞蹈的名字——SAMBA,如图12-1所示,这个热情洋溢的舞蹈名字中又恰好包含了SMB(SAMBA),于是这便是Samba服务程序名字的由来,现在已经成为了Linux系统与Windows系统之间共享文件的最佳选择。
Samba服务程序的配置方法跟咱们以前学习过的服务很相似,首先咱们需要先通过yum软件仓库来安装samba服务程序,这款软件也恰巧是软件包的名字,很好记吧~:
[root@linuxprobe~]#yuminstallsamba
Loadedplugins:langpacks,product-id,subscription-manager
………………省略部分输出信息………………
Installing:
sambax86_644.1.1-31.el7rhel527k
TransactionSummary
================================================================================
Install1Package
Totaldownloadsize:527k
Installedsize:1.5M
Isthisok[y/d/N]:y
Downloadingpackages:
Runningtransactioncheck
Runningtransactiontest
Transactiontestsucceeded
Runningtransaction
Installing:samba-4.1.1-31.el7.x86_641/1
Verifying:samba-4.1.1-31.el7.x86_641/1
Installed:
samba.x86_640:4.1.1-31.el7
Complete!
安装后打开Samba服务程序的主配置后发现竟然有320行呢!有没有被吓到?但仔细一看发现其实大多都是以#(井号)开头的注释信息行,既然您手中已经拥有了刘遄老师的经验之书,就肯定不会让您去“死啃”这些东东的~:
[root@linuxprobe~]# cat/etc/samba/smb.conf
# This is the main Samba configuration file. For detailed information about the
# options listed here, refer to the smb.conf(5) manual page. Samba has a huge
# number of configurable options, most of which are not shown in this example.
#
# The Official Samba 3.2.x HOWTO and Reference Guide contains step-by-step
# guides for installing, configuring, and using Samba:
# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
#
# The Samba-3 by Example guide has working examples for smb.conf. This guide is
# generated daily: http://www.samba.org/samba/docs/Samba-Guide.pdf
#
# In this file, lines starting with a semicolon(;) or a hash(#) are
# comments and are ignored. This file uses hashes to denote commentary and
# semicolons for parts of the file you may wish to configure.
#
# Note: Run the"testparm" command after modifying this file to check for basic
# syntax errors.
#linuxprobe.com
………………省略部分输出信息………………
由于这次配置文件中的注释信息行实在太多,不便于分析里面的重要参数,因此咱们可以先将配置文件改个名字,然后使用cat命令读入主配置文件内容后通过grep命令-v参数(反向选择)分别去掉所有以#(井号)和;(分号)开头的注释信息行,对于剩余的空白行可以再用^$来表示并反选过滤,最后将过滤后的可用参数信息通过重定向符覆盖写入到原始文件名称中即可。samba服务程序过滤后的参数并不复杂,为了更方便同学们查阅参数功能,刘遄老师在重要参数行后面都写上了注释说明:
[root@linuxprobe~]#mv/etc/samba/smb.conf/etc/samba/smb.conf.bak
[root@linuxprobe~]#cat/etc/samba/smb.conf.bak|grep-v"#"|grep-v";"|grep-v"^$">/etc/samba/smb.conf
[root@linuxprobe~]#cat/etc/samba/smb.conf
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!