一.cifs网络文件系统访问
1.windows下建立共享文件夹
特别需要注意的是:在分享出文件夹后,需要在 网络共享中心 中的 所有网络 中 关闭密码保护共享。
方可使用linux的samba客户端访问cifs共享文件
2.安装smb
yuminstall samba-client -y
3.查询共享方法
1)smbclient -L //xxx.xxx.xxx.xxx(xxx为ip)-U 用户名
2)smbclient -L //主机名 -U 用户名
注:可以不使用用户名,默认为Guest用户
[root@mazha1 ~]# smbclient -L //192.168.1.172 -U Guest
Enter Guest's password:
OS=[Windows 10 Enterprise 14393] Server=[Windows 10 Enterprise 6.3]
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk 远程管理
C$ Disk 默认共享
E$ Disk 默认共享
IPC$ IPC 远程 IPC
Users Disk
种子(请勿乱看) Disk
Connection to 192.168.1.172 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
NetBIOS over TCP disabled -- no workgroup available
4.访问共享
1)命令访问
smbclient //xxx.xxx.xxx.xxx/共享目录
进入后 ? 查询所有命令,但是不是所有bash都能用
常用get命令下载
[root@mazha1 ~]# smbclient //192.168.1.172/种子(请勿乱看) -U Guest
Enter Guest's password:
OS=[Windows 10 Enterprise 14393] Server=[Windows 10 Enterprise 6.3]
smb: \> ?
? allinfo altname archive backup
blocksize cancel case_sensitive cd chmod
chown close del dir du
echo exit get getfacl geteas
hardlink help history iosize lcd
link lock lowercase ls l
mask md mget mkdir more
mput newer notify open posix
posix_encrypt posix_open posix_mkdir posix_rmdir posix_unlink
print prompt put pwd q
queue quit readlink rd recurse
reget rename reput rm rmdir
showacls setea setmode stat symlink
tar tarmode timeout translate unlock
volume vuid wdel logon listconnect
showconnect tcon tdis tid logoff
.. !
smb: \> ls
. D 0 Mon Nov 14 06:08:19 2016
.. D 0 Mon Nov 14 06:08:19 2016
rt-3897 泷泽萝拉 tokyo-hot.rmvb A 53760144 Mon Nov 14 02:04:10 2016
sc-1000中山琴.rmvb A 54061563 Mon Nov 14 02:03:58 2016
新建文本文档.txt A 0 Mon Nov 14 06:08:19 2016
26218072 blocks of size 4096. 23357075 blocks available
smb: \> exit
2)挂载访问 (推荐)
mount //xxx.xxx.xxx.xxx/共享目录 /mnt -o username=用户名
[root@mazha1 ~]# mount //192.168.1.172/种子(请勿乱看) /mnt -o username=Guest
Password for Guest@//192.168.1.172/种子(请勿乱看):
[root@mazha1 ~]# ls /mnt
rt-3897 泷泽萝拉 tokyo-hot.rmvb sc-1000中山琴.rmvb 新建文本文档.txt
5.开机自动挂载
1)vim /etc/fstab
添加一下字符段:
//172.25.254.250/dir /mnt cifs default,username=guest 0 0
2)vim /etc/rc.d/rc.local
添加开机挂载到开机自启动脚本:
mount //xxx.xxx.xxx.xxx:/dir /mnt -o username=guest
添加权限: chmod 755 /etc/rc.d/rc.local (给执行权限)
二.nfs网络文件系统访问
1.配置nfs服务器端:
1.所用服务: nfs-utils , nfs-utils-lib 以及相关
命令:yum install ufs-utils nfs-utils-lib –y
2.启用服务:
systemctl start nfs-server
systemctl start nfs
systenctl enable nfs-server
*3.共享设置:
注:其分享配置主文件为:/etc/exports
写入格式为:
<共享目录> [分享目标(选项)]
分享目录如:/dir
分享目标:可以是ip,如:192.168.1.2/24
也可以是网段如:192.168.1.0/24
也可以是 * 表示所有人
以下格式都是合法的:
/ master(rw)trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
/pub *(ro,insecure,all_squash)
/srv/www -sync,rw server @trusted @external(ro)
/foo 2001:db8:9:e54::/64(rw)192.0.2.0/24(rw)
/build buildhost[0-9].local.domain(rw)
()中为选项,主要有读写权限,忽略root用户等,具体可以 man exports
4.服务生效:
exportfs –r 或 systemctl restart nfs
*5.火墙设置
首先查看nfs相关服务所使用的端口
rpcinfo –p
[root@mazha2 /]# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 41420 status
100024 1 tcp 39952 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 60656 nlockmgr
100021 3 udp 60656 nlockmgr
100021 4 udp 60656 nlockmgr
100021 1 tcp 49486 nlockmgr
100021 3 tcp 49486 nlockmgr
100021 4 tcp 49486 nlockmgr
可以发现,现在nfs相关服务使用了端口:111,20048,2049,49486
在火墙中放行:
firewall-cmd -permanent -add-server=nfs
firewall-cmd -permanent -add-port=111/tcp
firewall-cmd -permanent -add-port=111/udp
。。。。。。。等等
之后重载火墙设置:firewall-cmd --reload
如发现访问不顺,可能是有隐藏使用的端口为开放火墙,此时可以直接关闭火墙
systemctl stop firewalld
2.配置nfs客户端:
1.安装服务:yum install nfs-utils -y
2.识别共享:showmount -e xxx.xxx.xxx.xxx
[root@mazha1 /]# showmount -e 192.168.10.128
Export list for 192.168.10.128:
/exports *
3.使用共享:mount xxx.xxx.xxx.xxx:/dir /mnt
[root@mazha1 /]# mount 192.168.10.128:/exports /mnt
[root@mazha1 /]# ll /mnt
total 4
-rw-r--r--. 1 root root 15 Nov 14 22:51 file1
4.自动挂载
1)vim /etc/fstab
172.25.254.250:/dir /mnt nfs default 0 0
2)vim /etc/rc.d/rc.local
mount xxx.xxx.xxx.xxx:/dir /mnt
chmod 755 /etc/rc.d/rc.local (给执行权限)
3.autofs自动挂载服务
此服务可以直接mount挂载网络上基于nfs文件系统的文件,其闲置时自动卸载,默认空闲卸载时间为300s,减少花销
1.安装服务:yum install autofs -y
打开服务:systemctl start autofs
2.访问方法
启动服务后:cd /net/xxx.xxx.xxx.xxx //xxx为共享服务器ip
[root@mazha1 ~]# cd /net/192.168.40.20
[root@mazha1 192.168.40.20]# ls
exports
4.设定空闲时间
vim/etc/autos.conf
timeout = ???
# timeout - set the default mount timeout in secons. The internal
# program default is 10 minutes, but the default installed
# configuration overrides this and sets the timeout to 5
# minutes to be consistent with earlier autofs releases.
#
timeout = 3
5.实现任意目录挂载访问
自定义挂载位置的上一层 子配置文件,名字随便,自己定
2)编写子配置文件
vim /etc/auto.nfs
pub1 192.168.40.20:/exports
要挂载的位置 nfs目标目录
* 192.168.40.20:/&
任意挂载位置,和&匹配 和*匹配 位置
3)重启服务:
systemctl restart autofs
效果如下:
[root@mazha1 mnt]# cd pub1/
[root@mazha1 pub1]# ls
file1
[root@mazha1 pub1]# df -la
文件系统 1K-块 已用 可用 已用% 挂载点
rootfs - - - - /
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
devtmpfs 485148 0 485148 0% /dev
securityfs 0 0 0 - /sys/kernel/security
tmpfs 500680 144 500536 1% /dev/shm
devpts 0 0 0 - /dev/pts
tmpfs 500680 7172 493508 2% /run
tmpfs 500680 0 500680 0% /sys/fs/cgroup
cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore 0 0 0 - /sys/fs/pstore
cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup 0 0 0 - /sys/fs/cgroup/devices
cgroup 0 0 0 - /sys/fs/cgroup/memory
cgroup 0 0 0 - /sys/fs/cgroup/freezer
cgroup 0 0 0 - /sys/fs/cgroup/net_cls
cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct
cgroup 0 0 0 - /sys/fs/cgroup/blkio
cgroup 0 0 0 - /sys/fs/cgroup/perf_event
configfs 0 0 0 - /sys/kernel/config
/dev/mapper/centos-root 18307072 3595888 14711184 20% /
selinuxfs 0 0 0 - /sys/fs/selinux
systemd-1 - - - - /proc/sys/fs/binfmt_misc
hugetlbfs 0 0 0 - /dev/hugepages
debugfs 0 0 0 - /sys/kernel/debug
mqueue 0 0 0 - /dev/mqueue
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
nfsd 0 0 0 - /proc/fs/nfsd
/dev/sda1 508588 160760 347828 32% /boot
tmpfs 100136 12 100124 1% /run/user/0
gvfsd-fuse 0 0 0 - /run/user/0/gvfs
fusectl 0 0 0 - /sys/fs/fuse/connections
tmpfs 500680 28 500652 1% /tmp
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
/etc/auto.misc 0 0 0 - /misc
/etc/auto.nfs 0 0 0 - /mnt //此时多出此挂载点
-hosts 0 0 0 - /net