Ubuntu安装samba和vsftpd,以及心得体会

新装Ubuntu18.04 LTS替换之前一直作为服务器windows server系统,主要是做文件服务器,在学校的内部网络使用。

之前并没有正经搭建过,所以搭建了好久才弄完。很简单的文件服务器。

因为只做分享,管理只由实机操作或者winSCP远程管理,所以分享的权限只有只读。

samba:

安装只安装了samba,sambaclient就不装了。

~$ sudo apt-get install samba

安装完在/etc/samba下的配置文件smb.conf是samba的配置文件。建议备份一份该文件

~$ cd /etc/samba
$ cp smb.conf smb.conf.bak
$ sudo vim smb.conf

vim支持高亮,所以有效的部分就是高亮的,默认是有[global]以及下面的语句就是samba的配置。有workgroup工作组,因为主要分享给windows使用,所以这个就默认。接下来的

server string =%h server (Samba,Ubuntu)

在使用命令行界面登录samba时才能看到效果的欢迎语句,主要讲的是%h,这是配置文件的变量,一共有以下的几个(参考鸟哥的服务器架设的第三版)

%m:代表 Client 端的 NetBIOS 主机名喔!
%M:代表 Client 端的 Internet 主机名喔!就是 HOSTNAME。
%L:代表 SAMBA 主机的 NetBIOS 主机名。
%H:代表用户的家目录。
%U:代表目前登入的使用者的使用者名称
%g:代表登入的使用者的组名。
%h:代表目前这部 SAMBA 主机的 HOSTNAME 喔!注意是 hostname 不是NetBIOS name喔!
%I:代表 Client 的 IP 咯。
%T:代表目前的日期与时间 
%S:任何登入使用者

接下来还有一个就是security=user,这是安全验证层次,有share,user和domain(这个我没搞清)。

其他的看网上的详细或者鸟哥的书吧。

靠近文档底部还有两个高亮的分享配置,[printers]和[print$]看名字就可以知道是打印机的,用不到,注释掉。此配置文件可以#或;注释。这里设置两个分享。

一个默认就匿名可见共享(显示只读):

[share1] #显示的分享名
   comment = Share Test  #标注这是什么
   path = /home/guet/share1 #分享的路径
   browseable = yes #可在输入地址后见到
   read only = yes #只读
   public = yes #公有

配置完保存使用命令检验是否有错

~$  testparm

重启samba服务

~$ sudo /etc/init.d/smbd restart
[ ok ] Restarting smbd (via systemctl): smbd.service.

做到这里就完成分享了,存在分享的文件夹即可看到文件下的内容

Ubuntu安装samba和vsftpd,以及心得体会_第1张图片Ubuntu安装samba和vsftpd,以及心得体会_第2张图片

另一个需要知道路径登录进去(隐藏可写):

[share2]
   comment = Share Test
   path = /home/guet/share2
   browseable = no  #需要地址加分享名才能进入
   writable = yes #可写
   create mask= 0755 #创建文件权限
   directory mask=0755 #创建文件夹权限
   valid users = share #哪个用户登录

无错则新建一个用于登录samba的用户,不用于登录系统

~$ sudo useradd -s /sbin/nologin -g guet share

设置此账户在登录samba的登录密码,不是设置用户的系统密码(也不需要设置)

~$ sudo smbpasswd share
New SMB password:
Retype new SMB password:
Added user share.

重启samba服务

~$ sudo /etc/init.d/smbd restart
[ ok ] Restarting smbd (via systemctl): smbd.service.
看到并没有出现share2文件加在此地址下面,所以在地址后面加上分享名share2

Ubuntu安装samba和vsftpd,以及心得体会_第3张图片

可能会出现此窗口

Ubuntu安装samba和vsftpd,以及心得体会_第4张图片

当时头痛了我很久啊,经过鸟叔的书提醒,原来是创建的分享文件夹权限最低755,或者连接过了一次samba的share1的原因,并不是配置的原因。修改好了权限,再重启连接的机子或者用别的机子连接测试就知道了。

Ubuntu安装samba和vsftpd,以及心得体会_第5张图片

实际用此账户也是对应系统里的权限操作的,在这个文件夹如果有别的用户创建文件以及文件夹,权限也会限制,所以我把此账户加入到系统登录的账户组内,这样这个文件夹再设置个775权限,就可有权限操作了。

vsftpd(匿名只读):

安装vsftpd

~ $ sudo apt-get install vsftpd

安装完查看 /srv下是否有ftp文件夹,此文件夹是ftp匿名登录的文件夹,所有者root,组ftp,755权限。(很神奇的文件夹),没有就新建。

配置文件在/etc下面的vsftpd.conf,建议备份

~$ cd /etc
$ sudo cp vsftpd.conf vsftpd.conf.bak
$ sudo vim vsftpd.conf

ftp部分只做简单的匿名只读分享,不设别的账户,只有几句设置就行了。

anonymous_enable=YES #允许匿名登录
#local_enable=YES #不允许服务器用户登录
#write_enable=YES #不可写
#anon_upload_enable=YES #不允许匿名上传
#anon_mkdir_write_enable=YES #不允许匿名新建文件夹
anon_root=/home/guet/ftp #修改匿名登录的路径

神奇的事情,只要在无/srv/ftp的前提下,就算直接设置anon_root也一样不能用,很神奇!(可能我操作有问题吧!)修改的anon_root发现使用下面的命令重启ftp服务没效果

 $ sudo /etc/init.d/vsftpd restart
Stopping FTP server: vsftpd.
Starting FTP server: vsftpd.

虽然重启拂去显示结果是这样,但别的机子访问ftp地址,出现的还是之前的目录,而我直接重启系统就出现效果了,所以应该是这个命令没有起到马上应用的效果。

Ubuntu安装samba和vsftpd,以及心得体会_第6张图片

心得体会:

ftp我觉得没samba好用,所以更高级得功能没有去研究,整出来只是做备用,搞了两天,有点小爆炸,神一般得权限,还好,我的要求不高,所以不整那么麻烦。

分享出来做个简单记录,也给搭建这两个服务的大家一个参考,哪里写得不好,敬请见谅。

得益于鸟哥的书,才明白了很多,直接找网上的教程有很多实用技巧没有学到,有兴趣的大家可以看下书学习下

你可能感兴趣的:(Linux)