1:nfs
常用的linux之前的网络共享,内网用的,最简单的,没设置任何权限的设置类似于:
vim /etc/exports:
/home/samba *
复杂点的 配置权限和限定ip来源的:
/home/david 192.168.1.0/24(rw)
查看nfs
showmount -e nfs_server_ip
[[email protected] etc]# showmount -e 10.1.2.136
Export list for 10.1.2.136:
/home/samba *
挂载 mount -t nfs 10.1.2.136(nfs_server_ip):/home/samba /mnt(注:mountpoint)
下面这段是抄的 我平时就用rw,ro:
--start
NFS主要有3类选项:
访问权限选项
- 设置输出目录只读:ro
- 设置输出目录读写:rw
用户映射选项
- all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
- no_all_squash:与all_squash取反(默认设置);
- root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
- no_root_squash:与rootsquash取反;
- anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
- anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项
- secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
- insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
- sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
- async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
- wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
- no_wdelay:若有写操作则立即执行,应与sync配合使用;
- subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
- no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
---end
关于nfs的文件
/etc/exports NFS服务的主要配置文件
/usr/sbin/exportfs NFS服务的管理命令
/usr/sbin/showmount 客户端的查看命令
/var/lib/nfs/etab 记录NFS分享出来的目录的完整权限设定值
/var/lib/nfs/xtab 记录曾经登录过的客户端信息
------------------------------------------------------------------------------------
2:samba
一般windows和linux之间用samba windows那个共享出来的默认都是samba
需要smb服务和nmb服务
配置/etc/samba/smb.conf,在文件最后边添加:
[hello]
comment = hello
path = /home/samba
public = yes
writable = yes
path是共享文件夹,public公共的,writable 可写
还有一种详细的:
[global]
workgroup = Hello
netbios name = Hello1
server string = Hello world
security = share
[hello]
path = /home/samba
writeable = yes
browseable = yes
guest ok = yes
匿名用户guest,browseable是否能在组目录里浏览,其他的不是很清楚 serverstring明显是介绍之类的;netbios name就是在windows中显示出来的计算机名
创建samba用户 必须是系统已存在的,可以自己创建 useradd hello,然后创建samba用户hello的samba密码:smbpasswd hello
[[email protected] etc]# smbpasswd hello
New SMB password:
Retype new SMB password:
xxx成功之类的话
设置iptable的:
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
iptables -I INPUT -p udp -m udp --dport 137 -j ACCEPT
iptables -I INPUT -p udp -m udp --dport 138-j ACCEPT
iptables-save
service iptables restart
设置selinux的(抄的 ,我基本不开selinux,没那么高功力,受不了,直接disabled)
setsebool -Psamba_enable_home_dirs on
setsebool -Psamba_export_all_rw on
getsebool -a | grep samba
下面还是抄的,很多都不怎么用:
--start
dos charset = GB2312 ←将Windows 客户端的文字编码设置为简体中文 GB2312
unix charset =GB2312 ←指定Samba所在的CentOS服务端新建文件或目录时的编码为 GB2312
display charset= GB2312 ←指定使用SWAT(一种通过浏览器控制Samba的工具)时页面的默认文字编码
directory mask =0777 ←指定新建目录的属性(以下4行)
force directorymode = 0777
directorysecurity mask = 0777
force directorysecurity mode = 0777
create mask =0777 ←指定新建文件的属性(以下4行)
force createmode = 0777
security mask =0777
force securitymode = 0777
--end
查看用smbclient -L smb_server_ip -U hello:
[[email protected] etc]# smbclient -L localhost -U hello
Enter hello‘s password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-151.el6]
Sharename Type Comment
--------- ---- -------
hello Disk hello
IPC$ IPC IPC Service (Samba Server Version 3.6.9-151.el6)
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-151.el6]
Server Comment
--------- -------
10 Samba Server Version 3.6.9-151.el6
Workgroup Master
--------- -------
MYGROUP 10
挂载 mount -t cifs //smb_server_ip/hello /mnt -o username=hello,password=hello
3:autofs
这个是自动挂载,进入目录的时候才会自动挂载 有点像网页异步加载那种的,原理不知道是否相同,反正现象挺像的:
vim /etc/auto.master:
里头添加:
/mnt /etc/auto.test mnt是挂载点 auto.test 是详细(子)配置,定义挂载的
vim /etc/auto.test:
pub -ro,intr.soft localhost:/home/samba
重启autofs
service autofs restart
cd /mnt这个挂载点下 执行ls 什么都没有,但是输入cd pub,系统就会自动挂载,并cd进已挂载的目录中,如下:
[[email protected] etc]# cd /mnt/
[[email protected] mnt]# ls ----这里显示是什么都没有的
[[email protected] mnt]# cd pub
[[email protected] pub]# ls ----进入pub 也就是/home/samba中了
CentOS-7.0-1406-x86_64-DVD.iso
[[email protected] pub]# cd ..
[[email protected] mnt]# ls ----退回到刚才ls什么都没有的/mnt中 再次ls,pub出现
pub
[[email protected] mnt]#
再给个例子 :iso -fstype=iso9660,ro,nosuid,nodev,loop :/root/rhel5u5.iso
这个参数跟挂载方式有关
下边还是抄的:
--start
mount命令参数非常多,如下为与NFS相关的参数。
(1)-a:把/etc/fstab中列出的路径全部挂载。
(2)-t:需要mount的类型,如nfs等。
(3)-r:将mount的路径定为read only。
(4)-v mount:过程的每一个操作都有message传回到屏幕上。
(5)rsize=n:在NFS服务器读取文件时NFS使用的字节数,默认值是1 024个字节。
(6)wsize=n:向NFS服务器写文件时NFS使用的字节数,默认值是1 024个字节。
(7)timeo=n:从超时后到第1次重新传送占用的1/7秒的数目,默认值是7/7秒。
(8)retry=n:在放弃后台mount操作之前可以尝试的次数,默认值是7 000次。
(9)soft:使用软挂载的方式挂载系统,若Client的请求得不到回应,则重新请求并传回错误信息。
(10)hard:使用硬挂载的方式挂载系统,该值是默认值,重复请求直到NFS服务器回应。
(11)intr:允许NFS中断文件操作和向调用它的程序返回值,默认不允许文件操作被中断。
(12)fg:一直在提示符下执行重复挂载。
(13)bg:如果第1次挂载文件系统失败,继续在后台尝试执行挂载,默认值是失败后不在后台处理。
(14)tcp:对文件系统的挂载使用TCP,而不是默认的UDP。
说明:mount NFS服务器的另一个重要参数是hard(硬)mount或soft(软)mount
&&各种文件系统的挂载实例如下
( 这里以/etc/auto.misc为例)
nfs -ro,soft,intr 172.16.0.3:/pub/syd168(可以使用域名)
cd -fstype=iso9660,iocharset=cp936,ro :/dev/cdrom
fd -fstype=vfat :/dev/fd0
win -fstype=smbfs ://10.8.22.18/syd168
local -fstype=ext3 :/dev/hda1
Daily english:
Think like a man of action,act like a man of thought
像行动者那样思考,像思考者一样行动