NFS
NFS: Net File system 网络文件系统
作用:通过网络挂载方式共享文件
1.共享硬盘提供给其他服务器,增加服务器的存储空间
2.共享数据,保持多台服务器访问数据的一致性
安装软件: nfs-utils-1.3.0-0.68.el7.2.x86_64.rpm
端口: 2049
启动服务: systemctl restart rpcbind
systemctl restart nfs
配置文件: /etc/exports
服务端:
[root@robin ~]# vim /etc/exports
/nfs *(rw,sync) 共享给所有的ip地址,读写,同步
/nfs 192.168.100.0/24(rw,sync) 10.10.10.0/24(ro) 共享给多个网段
/nfs 192.168.100.129/32(rw,sync,no_root_squash) 共享给指定ip地址
[root@robin ~]# chown nfsbody /nfs/ 提供读写权限
[root@robin ~]# chmod 700 /nfs
客户端:
[root@myhost ~]# showmount -e 192.168.100.100
[root@myhost ~]# mount -t nfs 192.168.100.100:/nfs /mnt
练习:
做个NAS服务器
添加3块硬盘 做raid5 将raid5做成 LVM 通过NFS共享个其他主机
其他主机 实现NAS的自动挂载
raid:
[root@robin ~]# mdadm -C /dev/md5 -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd
[root@robin ~]# mdadm -Ds > /etc/mdadm.conf
[root@robin ~]# vim /etc/mdadm.conf
DEVICE /dev/sdb /dev/sdc /dev/sdd
ARRAY /dev/md5 metadata=1.2 name=robin.com:5 UUID=8956a357:93f72a8b:44425687:a8d8f8b1
lvm:
[root@robin ~]# pvcreate /dev/md5
[root@robin ~]# vgcreate vgtest /dev/md5
[root@robin ~]# lvcreate -L 3G -n /dev/vgtest/lvtest vgtest
[root@robin ~]# mkfs.xfs /dev/vgtest/lvtest
[root@robin ~]# mount /dev/vgtest/lvtest /nfs
nfs:
[root@robin ~]# vim /etc/exports
/nfs 192.168.100.129/32(rw,sync,no_root_squash)
[root@robin ~]# systemctl restart nfs
[root@robin ~]# systemctl enable nfs
客户端:
[root@myhost mnt]# showmount -e 192.168.100.100
Export list for 192.168.100.100:
/nfs 192.168.100.129/32
[root@myhost ~]# mount -t nfs 192.168.100.100:/nfs /mnt
自动挂载:
1.
[root@myhost ~]# vim /etc/rc.local
mount -t nfs 192.168.100.100:/nfs /mnt
[root@myhost ~]# vim /etc/fstab
192.168.100.100:/nfs /mnt nfs defaults 0 0
[root@myhost ~]# yum install -y autofs
[root@myhost ~]# mkdir /storage
[root@myhost ~]# vim /etc/auto.master
/storage /etc/auto.storage
[root@myhost ~]# vim /etc/auto.storage
nfs -fstype=nfs 192.168.100.100:/nfs
SAMBA
特点: 共享目录给其他主机使用,可以是windows 也可是linux
软件: samba-4.9.1-6.el7.x86_64.rpm
samba-client-4.9.1-6.el7.x86_64.rpm #命令测试
配置文件: /etc/samba/smb.conf
启动服务: systemctl restart smb
共享方式:
user 验证共享
map to guest = bad user 匿名共享
server windows的AD域认证
匿名模式
[root@robin ~]# mkdir /smb
[root@robin ~]# vim /etc/samba/smb.conf
[share]
comment = test smb #描述
path = /smb #共享目录
writable = yes # 是否可写
browseable = yes # 是否可见
public = yes # 公共目录
[root@robin ~]# chown nobody.nobody /smb 或者更改目录权限
[root@robin ~]# systemctl restart smb
linux测试:
1.命令测试
[root@myhost ~]# yum install samba-client
root@myhost ~]# smbclient -L //192.168.100.100 查看共享目录
[root@myhost ~]# smbclient //192.168.100.100/share 登录
smb: > help 获取可执行命令
smb: > ls
smb: > mkdir tt
2.mount测试
[root@myhost ~]# yum install cifs-utils #cifs文件系统支持
[root@myhost ~]# mount -t cifs //192.168.100.100/share /mnt
windows测试:
用户认证(samba的用户基于系统中用户)
[root@robin ~]# vim /etc/samba/smb.conf
所有用户只读
[share]
comment = test smb
path = /smb
browseable = no
valid users = robin zorro @east
只有robin可写
[share]
comment = test smb
path = /smb
browseable = no
valid users = robin zorro @east
write list = robin
只有robin不可写
[share]
comment = test smb
path = /smb
browseable = no
valid users = robin zorro @east
writable = yes
read list = robin
[root@robin ~]# useradd robin
[root@robin ~]# useradd zorro
添加smb用户密码
[root@robin ~]# smbpasswd -a robin
[root@robin ~]# smbpasswd -a zorro
[root@myhost ~]# smbclient -L //192.168.100.100
[root@myhost ~]# smbclient -U robin%123 //192.168.100.100/share #用户密码登录
权限设置
[root@robin ~]# chmod 757 /smb/
[root@robin ~]# chmod o+t /smb/
挂载测试
[root@myhost ~]# mount -t cifs -o username=zorro,password=123 //192.168.100.100/share /mnt
实现smb的自动挂载方式
fstab
//192.168.100.100/share /mnt cifs username=robin,password=123 0 0
auto.mysmb
smbdir -fstype=cifs,username=robin,password=123 ://192.168.100.100/share
windows清除用户缓存
C:\Users\Administrator>net use
会记录新的网络连接。
状态 本地 远程 网络
-------------------------------------------------------------------------------
OK \\192.168.100.100\IPC$ Microsoft Windows Network
命令成功完成。
C:\Users\Administrator>net use \\192.168.100.100\IPC$ /DELETE
\\192.168.100.100\IPC$ 已经删除。
C:\Users\Administrator>net use
会记录新的网络连接。
列表是空的。
C:\Users\Administrator>
错误: 密码验证错误
方法1:修改smb服务器配置文件追加如下内容:#global
ntlm auth = yes
FTP服务器
FTP:file transfer protocol
特点:不能挂载,可以通过浏览器访问
软件: vsftpd-3.0.2-25.el7.x86_64.rpm
lftp-4.4.8-11.el7.x86_64.rpm
配置文件:/etc/vsftpd/vsftpd.conf
端口:21 20
启动服务: systemctl restart vsftpd
数据目录: /var/ftp #权限设置必须是755
端口模式(主动模式)port
被动模式passive
[root@robin ~]# yum install vsftpd
[root@robin ~]# systemctl restart vsftpd
[root@robin ~]# netstat -anplt | grep :21
tcp6 0 0 :::21 :::* LISTEN 7916/vsftpd
linux客户端:
[root@myhost ~]# yum install lftp
[root@myhost ~]# lftp 192.168.100.100
lftp 192.168.100.100:~> ls
-rw-r--r-- 1 0 0 719323136 Jan 06 07:45 CentOS-7-livecd-x86_64.iso
drwxr-xr-x 2 0 0 6 Jun 09 2021 pub
lftp 192.168.100.100:/pub> put /etc/man_db.conf #上传文件
lftp 192.168.100.100:/pub> mirror -R /boot/ #上传目录
lftp 192.168.100.100:/pub> mirror boot/ #下载在目录
[root@robin ~]# chmod 777 /var/ftp/pub/
匿名访问(基于ftp)
anon_upload_enable=YES #匿名用户可以上传文件或目录
anon_mkdir_write_enable=YES #匿名用户可以创建文件或目录
anon_umask=022 #匿名用户上传文件权限反掩码
anon_other_write_enable=YES #匿名删除
anon_max_rate=20480 #下载限速
anon_root=/ftp #设置数据目录
本地访问(用户和密码)
[root@myhost ~]# lftp -u robin,123 192.168.100.100 本地用户登录到各自的家目录下
local_max_rate=20000 本地用户下载速度限制
ftp的额外配置文件:
/etc/vsftpd/ftpusers 写入该文件的用户不可登录系统
登录的黑白名单:
userlist_enable=YES 开启黑白名单
userlist_deny=YES 默认 即 黑名单
写入 /etc/vsftpd/user_list 文件的用户不可以登录 ftp
userlist_enable=YES 开启黑白名单
userlist_deny=NO 默认 即 白名单
只有写入 /etc/vsftpd/user_list 文件的用户可以登录 ftp
限制本地用户切换目录(黑白名单)
方式1: 限制所有的用户都不可以切换到其他目录
allow_writeable_chroot=YES #chroot后允许写
chroot_local_user=YES 限制所有用户
方式2:/etc/vsftpd/chroot_list 为白名单
allow_writeable_chroot=YES
chroot_local_user=YES # 设置是黑或者白名单
chroot_list_enable=YES #开启黑白名单
chroot_list_file=/etc/vsftpd/chroot_list #名单文件
方式3:/etc/vsftpd/chroot_list 为黑名单
allow_writeable_chroot=YES
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list