ftp文件服务器通常用于直接互联网提供服务,直接提供下载。nfs通常用于小型集群存储,或者公司内部服务。samba用于linux和windows文件的共享。
ftp软件通常使用vsftpd,vsftpd使用tcp 20,21端口 21用来监听,20用来传输数据
安装软件 yum install vsftpd -y
启动vsftpd
[root@test2 ~]# service vsftpd start
starting vsftpd for vsftpd: [ ok ]
配置文件/etc/vsftpd/ 下有几个目录
ftpusers文件下的用于不允许通过ftp访问本机 user_list通过配置文件中userlist_deny选项来判定用户是否允许访问。
编辑配置文件vsftpd.conf 常见的包括是否允许匿名用户登录访问和匿名用户的权限,是否允许本机用户访问和默认端口修改等等。
#chown_uploads=yes
#chown_username=whoever
这两个选项表示如果匿名用户上传的文件,该文件的用户为whoever,当然用户不允许设置为root
#chroot_local_user=yes
#chroot_list_enable=yes
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
这几个选项表示是否禁锢本机用户,被禁锢的用户访问权限只能在本机家目录下
pam_service_name=vsftpd
userlist_enable=yes
tcp_wrappers=yes
这几个选项表示其否使用pam模块进行用户认证,是否使用tcp_wrappers控制用户访问。
使用匿名用户登录ftp服务器:匿名用户密码为空,直接访问/var/ftp/pub目录
[root@test3 ~]# ftp 192.168.1.201
connected to 192.168.1.201 (192.168.1.201).
220 (vsftpd 2.2.2)
name (192.168.1.201:root): anonymous
331 please specify the password.
password:
230 login successful.
remote system type is unix.
using binary mode to transfer files.
使用本地用户进行访问
[root@test3 ~]# ftp 192.168.1.201
connected to 192.168.1.201 (192.168.1.201).
220 (vsftpd 2.2.2)
name (192.168.1.201:root): tony
331 please specify the password.
password:
230 login successful.
remote system type is unix.
using binary mode to transfer files.
ftp>
登录成功
ftp> pwd
257 "/home/tony"
ftp>
未使用禁锢用户功能可以访问整个系统文件
chroot_local_user=yes
开启禁锢用户功能
ftp> ls
227 entering passive mode (192,168,1,201,129,238).
150 here comes the directory listing.
drwxr-xr-x 2 0 0 4096 jun 29 15:52 test
226 directory send ok.
ftp> pwd
257 "/"
ftp>
chroot_list_enable=yes
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
如果开启chroot_list_enable那么chroot_list_file中的用户将不会受到禁锢。
ftp基本功能到此结束。
接下来说下nfs服务器,nfs服务器在架构中通常用作小访问量的文件共享存储器,由于其是nas机制的结构,当访问量过大时网络和文件访问速度就会成为瓶颈,不过基于其配置简单,所以常用在小型架构中。
nfs也是基于c/s结构的,服务器端安装好软件,nfs是基于rpc实现端口定向的,没有固定端口,使用时想rpcbind注册获取一个端口在进行通信,通常使用tcp/udp 2049端口。
nfs配置文件只有一个/etc/exports
配置格式如下: path ip (权限)
假设服务器端分享出去一个目录/tmp/test 分享给192.168.1网段用户,有读写权限
应该这么写 echo "/tmp/test 192.168.1.0/24 (rw)" >>/etc/exports
nfs有个工具exportfs
exportfs -a列出所有共享目录
客户端挂载改目录
[root@test3 ~]# mount.nfs 192.168.1.201:/tmp/test redhat/
[root@test3 ~]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.1.201:/tmp/test on /root/redhat type nfs (rw,vers=4,addr=192.168.1.201,clientaddr=192.168.1.202)挂载成功
可以写入/etc/fstab实现开机自动挂载
当然需要设置好对应权限才能写入文件,nfs还有几个选项sync/rsync 这个是当文件写入时是否直接写入磁盘还是暂时写入内存
root_squash/no_root_squash 表示对于登入用户如果为root,是否允许直接使用root身份进行登录
showmount -e 192.168.1.202查看是否有权限使用该主机上的共享文夹
[root@test3 ~]# showmount -e 192.168.1.201
export list for 192.168.1.201:
/tmp/test (everyone)
阅读(2328) | 评论(0) | 转发(0) |