搭建企业级网络文件共享服务(FTP,NFS,Samba)

时间:2024-04-17 07:43:45

网络文件共享服务相关概念

DAS(Direct Access Storage—直接连接存储)是指将存储设备通过SCSI接口或光纤通道直接连接到一台计算机上。

NAS(Network Attached Storage)—网络连接存储,即将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上。NAS是部件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。需要共享大型CAD文档的工程小组就是典型的例子。

SAN(Storage Area Network,存储区域网络)通过光纤通道连接到一群计算机上。在该网络中提供了多主机连接,但并非通过标准的网络拓扑。

1.FTP

FTP基础概念和原理

File Transfer Protocol 早期的三个应用级协议之一

  • 基于C/S结构
  • 双通道协议:数据和命令连接
  • 数据传输格式:二进制(默认)和文本

两种模式:(从服务器角度

  • 主动(PORT style):服务器主动连接 命令(控制):客户端:随机port ---   服务器:tcp21 数据:客户端:随机port+1 ---服务器:tcp20
  • 被动(PASV style):客户端主动连接 命令(控制):客户端:随机port --     服务器:tcp21 数据:客户端:随机port+1 ---服务器:随机port

服务器被动模式数据端口示例: 227 Entering Passive Mode (192,168,175,138,224,59) 服务器数据端口为:224*256+59

FTP服务器: Wu-ftpd,Proftpd,Pureftpd,ServU,IIS,vsftpd:Very Secure FTP Daemon

vsftpd是CentOS默认FTP服务器 高速,稳定,下载速度是WU-FTP的两倍,单机最多可支持15000个并发,vsftpd程序包

客户端软件: ftp,lftp,lftpg et,wget,curl 

状态码:

  • 1XX:信息 125:数据连接打开
  • 2XX:成功类状态 200:命令OK 230:登录成功
  • 3XX:补充类 331:用户名OK
  • 4XX:客户端错误 425:不能打开数据连接
  • 5XX:服务器错误 530:不能登录

用户认证:

  • 匿名用户:ftp或anonymous,对应Linux用户ftp
  • 系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
  • 虚拟用户:特定服务的专用用户,独立的用户/密码文件

FTP配置文件详解

用户认证配置文件:/etc/pam.d/vsftpd

配置文件:/etc/vsftpd/vsftpd.conf (man 5 vsftpd.conf )格式:option=value 注意:=前后不要有空格

命令端口 listen_port=21
主动模式端口 connect_from_port_20=YES 主动模式端口为20    ftp_data_port=20 指定主动模式的端口
linux客户端默认使用被动模式 ,windows 客户端默认使用主动模式
pasv_min_port=6000 0为随机分配 pasv_max_port=6010
使用当地时间 use_localtime=YES 使用当地时间(默认为NO,使用GMT)
anonymous_enable=YES 支持匿名用户
no_anon_password=YES(默认NO) 匿名用户略过口令检查
anon_world_readable_only (默认YES)只能下载全部读的文件
anon_upload_enable=YES 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES
anon_other_write_enable=YES 可删除和修改上传的文件
anon_umask=077 指定匿名上传umask 指定上传文件的默认的所有者和权限
chown_uploads=YES(默认NO)
chown_username=wang chown_upload_mode=0644
guest_enable=YES 所有系统用户都映射成guest用户
guest_username=ftp 配合上面选项才生效,指定guest用户 local_enable=YES 是否允许linux用户登录
write_enable-YES 允许linux用户上传文件
local_umask=022 指定系统用户上传文件的默认权限
local_root=/ftproot 非匿名用户登录所在目录

禁锢所有系统用户在家目录中 chroot_local_user=YES(默认NO,不禁锢)禁锢系统用户

禁锢或不禁锢特定的系统用户在家目录中,与上面设置功能相反

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

当chroot_local_user=YES时,则chroot_list中用户不禁锢 当chroot_local_user=NO时,则chroot_list中用户禁锢

登录提示信息:

ftpd_banner=“welcome to heiye ftp server"

banner_file=/etc/vsftpd/ftpbanner.txt 优先上面项生效

目录访问提示信息:

dirmessage_enable=YES (默认)

message_file=.message(默认)信息存放在指定目录下.message

使用pam(Pluggable Authentication Modules)完成用户认证:

传输参数调整:

anon_max_rate=0 匿名用户的最大传输(速率字节/秒)
local_max_rate=0 本地用户的最大传输速率 
connect_timeout=60 主动模式数据连接超时时长(连接时间:秒为单位 )accept_timeout=60 被动模式数据连接超时时长
data_connection_timeout=300 数据连接无数据输超时时长
idle_session_timeout=60 无命令操作超时时长
ascii_upload_enable=YES(优先以文本方式传输)
ascii_download_enable=YES
View Code

配置FTP服务以非独立服务方运行:listen=NO,默认为独立方式 cat /etc/xinetd.d/vsftpd

service ftp {
  flags = REUSE
  socket_type = stream
  wait = no
  user = root
  server = /usr/sbin/vsftpd
  log_on_failure += USERID
  disable = no } 

FTP复杂功能实现

实现基于SSL的FTPS :

查看是否支持SSL ldd `which vsftpd` 支持可查看到libssl.so

创建自签名证书 cd /etc/pki/tls/certs/   && make vsftpd.pem openssl x509 -in vsftpd.pem -noout –text

配置vsftpd服务支持SSL:

/etc/vsftpd/vsftpd.conf ssl_enable=YES 启用

SSL allow_anon_ssl=NO 匿名不支持

SSL force_local_logins_ssl=YES 本地用户登录加密

force_local_data_ssl=YES 本地用户数据传输加密

rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem

vsftpd虚拟用户 : 所有虚拟用户会统一映射为一个指定的系统帐号:访问共享位 置,即为此系统帐号的家目录 ,各虚拟用户可被赋予不同的访问权限,通过匿名用户的权限控 制参数进行指定

虚拟用户帐号的存储方式: 文件:编辑文本文件,此文件需要被编码为hash格式 (奇数行为用户名,偶数行为密码 )

实现基于文件验证的vsftpd虚拟用户

一、创建用户数据库文件

vim /etc/vsftpd/vusers.txt    (heiye   wangpass  \n  xiaoyao xiaoyaopass)
cd /etc/vsftpd/
db_load -T -t hash -f vusers.txt vusers.db
chmod 600 vusers.db  

二、创建用户和访问FTP目录 •

useradd -d /var/ftproot -s /sbin/nologin vuser
chmod +rx /var/ftproot/    
centos7 还需要执行以下操作:
chmod -w /var/ftproot/
mkdir /var/ftproot/upload
setfacl -m u:vuser:rwx /var/ftproot/upload

三、创建pam配置文件

vim /etc/pam.d/vsftpd.db

  • auth required pam_userdb.so db=/etc/vsftpd/vusers
  • account required pam_userdb.so db=/etc/vsftpd/vusers

四、指定pam配置文件

vim /etc/vsftpd/vsftpd.conf

  • guest_enable=YES
  • guest_username=vuser
  • pam_service_name=vsftpd.db

五、SELinux设置: 禁用SELinux 或者 setsebool -P ftpd_full_access 1

六、虚拟用户建立独立的配置文件

mdkir /etc/vsftpd/vusers.d/ 创建配置文件存放的路径

vim /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/vusers.d/

cd /etc/vsftpd/vusers.d/ 进入此目录

允许heiye用户可读写,其它用户只读

vim heiye 创建各用户自已的配置文件

  • anon_upload_enable=YES
  • anon_mkdir_write_enable=YES
  • anon_other_write_enable=YES

vim xiaoyao 创建各用户自已的配置文件local_root=/ftproot 登录目录改变至指定的目录

实现基于MYSQL验证的vsftpd虚拟用户:

一、安装所需要包和包组: 在数据库服务器上安装包,在FTP服务器上安装vsftpd和pam_mysql包,需手动编译安装的 :

yum -y groupinstall "Development Tools"

yum -y install mariadb-devel pam-devel vsftpd

下载pam_mysql-0.7RC1.tar.gz

./configure --with-mysql=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security  && make &&  make install

二、在数据库服务器上创建虚拟用户账号 

1.建立存储虚拟用户数据库和连接的数据库用户 mysql> CREATE DATABASE vsftpd; mysql> SHOW DATABASES;

  • ftp服务和mysql不在同一主机: mysql> GRANT SELECT ON vsftpd.* TO vsftpd@\'172.18.%.%\' IDENTIFIED BY \'centos\';
  • ftp服务和mysql在同一主机: mysql> GRANT SELECT ON vsftpd.* TO vsftpd@localhost IDENTIFIED BY \'heiye\';

2.准备相关表

mysql> USE vsftpd;

mysql> CREATE TABLE users ( id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, name CHAR(50) BINARY NOT NULL, password CHAR(48) BINARY NOT NULL );

3.添加虚拟用户

mysql>DESC users; mysql> INSERT INTO users(name,password) values(‘heiye\',password(\'magedu\'));

mysql> INSERT INTO users(name,password) values(‘heiye\',password(\'centos\'));

mysql> SELECT * FROM users;

三、在FTP服务器上配置vsftpd服务

1.在FTP服务器上建立pam认证所需文件 vi /etc/pam.d/vsftpd.mysql 添加如下两行

auth required pam_mysql.so user=vsftpd passwd=centos  host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

account required pam_mysql.so user=vsftpd passwd=centos host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

注意:crypt是加密方式,0表示不加密,1表示crypt(3)加密,2表示 使用mysql password()函数加密,3表示md5加密,4表示 sha1加密

配置字段说明

• auth 表示认证
• account 验证账号密码正常使用
• required 表示认证要通过
• pam_mysql.so模块是默认的相对路径,是相对/lib64/security/路 径而言,也可以写绝对路径;后面为给此模块传递的参数
• user=vsftpd为登录mysql的用户
• passwd=magedu 登录mysql的的密码
• host=mysqlserver mysql服务器的主机名或ip地址
• db=vsftpd 指定连接msyql的数据库名称
• table=users 指定连接数据库中的表名
• usercolumn=name 当做用户名的字段
• passwdcolumn=password 当做用户名字段的密码
• crypt=2 密码的加密方式为mysql password()函数加密
View Code

2.建立相应用户和修改vsftpd配置文件,使其适应mysql认证 建立虚拟用户映射的系统用户及对应的目录

useradd -s /sbin/nologin -d /var/ftproot vuser
chmod 555 /var/ftproot(centos7 需除去ftp根目录的写权限 )
mkdir /var/ftproot/{upload,pub}
setfacl –m u:vuser:rwx /var/ftproot/upload
确保/etc/vsftpd.conf中已经启用了以下选项 anonymous_enable=YES
添加下面两项
guest_enable=YES
guest_username=vuser
修改下面一项,原系统用户无法登录
pam_service_name=vsftpd.mysql  

四、启动vsftpd服务

service vsftpd start
systemctl start vsftpd
chkconfig vsftpd on
systemctl enable vsftpd 

查看端口开启情况 netstat -tnlp |grep :21

五、Selinux相关设置:在FTP服务器上执行

restorecon -R /lib64/security
setsebool -P ftpd_connect_db 1
setsebool -P ftp_home_dir 1
chcon -R -t public_content_rw_t /var/ftproot/  

六、测试:利用FTP客户端工具,以虚拟用户登录验证结果

tail /var/log/secure

七、在FTP服务器上配置虚拟用户具有不同的访问权限

vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以 定义其ftp服务访问权限,每个虚拟用户的配置文件名同虚拟用 户的用户名。配置文件目录可以是任意未使用目录,只需要在 vsftpd.conf指定其路径及名称即可

1、配置vsftpd为虚拟用户使用配置文件目录 vim /etc/vsftpd/vsftpd.conf 添加如下选项

user_config_dir=/etc/vsftpd/vusers_config

2、创建所需要目录,并为虚拟用户提供配置文件

mkdir /etc/vsftpd/vusers_config/
cd /etc/vsftpd/vusers_config/
touch xiaoyao  heiye 

3、配置虚拟用户的访问权限

虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。如果需要让用户heiye具有上传文件的权限,可以修改/etc/vsftpd/vusers_config/wang文件,在里面添加如下选项并设置为YES即可,只读则设为NO 注意:需确保对应的映射用户对于文件系统有写权限

  • anon_upload_enable={YES|NO}
  • anon_mkdir_write_enable={YES|NO}
  • anon_other_write_enable={YES|NO}

2.NFS

NFS:Network File System 网络文件系统,基于内核的文件系统。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol远程过程调用)实现

RPC采用C/S模式。客户机请求程序调用进程发送一个有进程 参数的调用信息到服务进程,然后等待应答信息。在服务器端 ,进程保持睡眠状态直到调用信息到达为止。当一个调用信息 到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息, 获得进程结果,然后调用执行继续进行。

NFS优势:节省本地存储空间,将常用的数据如:home目录, 存放在一台NFS服务器上且可以通过网络访问,那么本地终端 将可以减少自身存储空间的使用

软件包:nfs-utils ,Kernel支持:nfs.ko,端口:2049(nfsd), 其它端口由portmap(111)分配

配置文件:/etc/exports , /etc/exports.d/*.exports (CentOS7不支持同一目录同时用nfs和samba共享,因为使用锁机制不同)

相关软件包:rpcbind(必须),tcp_wrappers (CentOS6开始portmap进程由rpcbind代替 )

NFS服务主要进程:

  • rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
  • rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
  • rpc.lockd 非必要,管理文件锁,避免同时写出错
  • rpc.statd 非必要,检查文件一致性,可修复文件

日志:/var/lib/nfs/

配置NFS使用固定端口 vim /etc/sysconfig/nfs

  • RQUOTAD_PORT=875
  • LOCKD_TCPPORT=32803
  • LOCKD_UDPPORT=32769
  • MOUNTD_PORT=892
  • STATD_PORT=662
  • STATD_OUTGOING_PORT=2020

防火墙除开放上述端口,还需开放TCP和UDP的111和2049 共4个端口

NFS配置文件 导出的文件系统的格式: /dir  主机1(opt1,opt2)  主机2(opt1,opt2) ...

每个条目指定目录导出到的哪些主机,及相关的权限和选项

•默认选项:(ro,sync,root_squash,no_all_squash)

• ro,rw 只读和读写
• async 异步,数据变化后不立即写磁盘,性能高
• sync(1.0.0后为默认)同步,数据在请求时立即写入共享
• no_all_squash (默认)保留共享文件的UID和GID
• all_squash 所有远程用户(包括root)都变成nfsnobody
• root_squash (默认)远程root映射为nfsnobody,UID为 65534,早期版本是4294967294 (nfsnobody)
• no_root_squash 远程root映射成root用户
• anonuid和anongid 指明匿名用户映射为特定用户UID和组 GID,而非nfsnobody,可配合all_squash使用 NFS配置文件
在/etc/exports文件中定义导出目录
• /myshare server.example.com
• /myshare *.example.com
• /myshare server?.example.com
• /myshare server[0-20].example.com
• /myshare 172.25.11.10
• /myshare 172.25.0.0/16
• /myshare 2000:472:18:b51:c32:a21
• /myshare 2000:472:18:b51::/64
• /myshare *.example.com 172.18.0.0/16
• /myshare desktop.example.com(ro)
• /myshare desktop.example.com(ro) server[0- 20].example.com(rw)
• /myshare diskless.example.com(rw,no_root_squash)  

NFS工具  

rpcinfo :

  • rpcinfo -p hostname
  • rpcinfo –s hostname 查看RPC注册程序

exportfs:

  • –v 查看本机所有NFS共享
  • –r 重读配置文件,并共享目录
  • –a 输出本机所有共享
  • –au 停止本机所有共享

showmount -e hostname

mount.nfs 挂载工具

NFSv4支持通过挂载NFS服务器的共享“根”,从而浏览 NFS服务器上的共享目录列表 mount nfsserver:/ /mnt/nfs 

NFS相关的挂载选项:

fg(默认)前台挂载
bg后台挂载 hard(默认)持续请求
soft 非持续请求
intr 和hard配合请求可中断
rsize和wsize 一次读和写数据最大字节数,rsize=32768 _netdev 无网络不挂载  

示例: mount -o rw,nosuid,fg,hard,intr 172.18.64.107:/testdir /mnt/nfs/

开机挂载:/etc/fstab 172.18.64.107:/public /mnt/nfs nfs defaults 0 0

自动挂载 :可使用autofs按需要挂载NFS共享,在空闲时自动卸载

系统管理器指定由/etc/auto.master自动挂载器守护进程控 制的挂载点 ,自动挂载监视器访问这些目录并按要求挂载文件系统 , 文件系统在失活的指定间隔5分钟后会自动卸载 ,为所有导出到网络中的NFS启用特殊匹配 -host 至 “browse”  

示例:

/etc/auto.master:   /- /etc/auto.direct    

/etc/auto.direct:  

/foo   server1:/export/foo  

/user/local/    server1:/usr/local 

实现NFS服务

systemctl start nfs-server
systemctl enable nfs-server
mkdir /nfsshare
chown nfsnobody /nfsshare
vi /etc/exports    
     /nfsshare desktopX(rw)
exporfs –r
mkdir /mnt/nfsshare
mount serverX:/nfsshare /mnt/nfsshare
vim /etc/fstab    
    nfsserver:/nfsshare /mnt/nfsshare nfs defaults 0 0 
mount -a

实现NFS伪根

配置NFS服务器
vi /etc/fstab
    /data/read  /exports/read none bind 0 0
    /data2/write  /exports/write none bind 0 0
vi /etc/exports
    /exports *(fsid=o,rw,crossmnt)
    /exports/read 172.18.64.0/24(ro)
    /exports/write 172.18.0.0/24(rw)
配置NFS客户端
mount nfsserver:/  /mnt/nfs
vi /etc/fstab nfsserver:/    
     /mnt/ nfs4 ro 0 0

3.Samba

SMB:Server Message Block服务器消息块,IBM发布,最早是DOS网络文件共享协议

Cifs:common internet file system,微软基于SMB发布

SAMBA:1991年Andrew Tridgell,实现windows和UNIX相通

SAMBA的功能:

• 共享文件和打印,实现在线编辑

• 实现登录SAMBA用户的身份认证

• 可以进行NetBIOS名称解析

• 外围设备共享

相关包: Samba 提供smb服务 Samba-client  客户端软件 samba-common  通用软件 cifs-utils smb客户端工具 samba-winbind 和AD相关

相关服务进程:

  • smbd 提供smb(cifs)服务 TCP:139,445
  • nmbd NetBIOS名称解析 UDP:137,138

主配置文件:/etc/samba/smb.conf (帮助参看:man smb.conf)

smb.conf继承了.ini文件的格式,用[ ] 分成不同的部分

全局设置: [global] 服务器通用或全局设置的部分

特定共享设置:

[homes] 用户的家目录共享

[printers] 定义打印机资源和服务

[sharename] 自定义的共享目录配置

其中:#和;开头的语句为注释,大小写不敏感

Security三种认证方式:

  • share:匿名(CentOS7不再支持)
  • user:samba用户(采有linux用户,samba的独立口令)
  • domain:使用DC(DOMAIN CONTROLLER)认证

passdb backend = tdbsam 密码数据库格式

samba用户须是Linux用户,建议使用/sbin/nologin

SAMBA服务器全局配置

管理SAMBA用户

添加samba用户

  • smbpasswd -a  user
  • pdbedit -a -u  user

修改用户密码:smbpasswd  user

删除用户和密码:

  • smbpasswd –x  user
  • pdbedit –x –u user

查看samba用户列表:

  • /var/lib/samba/private/passdb.tdb
  • pdbedit –L –v

查看samba服务器状态: smbstatus

配置目录共享 :每个共享目录应该有独立的[ ]部分

[共享名称] 远程网络看到的共享名称
comment 注释信息
path 所共享的目录路径
public 能否被guest访问的共享,默认no,和guest ok 类似
browsable 是否允许所有用户浏览此共享,默认为yes,no为隐藏
writable=yes 可以被所有用户读写,默认为no
read only=no 和writable=yes等价,如与以上设置冲突,放在 后面的设置生效,默认只读
write list 三种形式:用户,@组名,+组名,用,分隔 如writable=no,列表中用户或组可读写,不在列表中用户只读
valid users 特定用户才能访问该共享,如为空,将允许所有用 户,用户名之间用空格分隔  

基于特定用户和组的共享 , 编辑/etc/samba/smb.conf

[share]
path = /app/dir
valid users=heiye,@admins
writeable = no
browseable = no  

SMB客户端访问 ,通用命名规范 格式:\\sambaserver\sharename

终端下使用smbclient登录服务器 :

  • smbclient -L instructor.example.com
  • smbclient -L instructor.example.com  -U wang

> cd directory

> get file1

> put file2 smbclient //instructor.example.com/shared -U heiye

可以使用-U选项来指定用户%密码,或通过设置和导出USER和 PASSWD环境变量来指定

实现SMB共享

一、在samba服务器上安装samba包 yum -y install samba  

二、创建samba用户和组

groupadd -r admins
useradd -s /sbin/nologin -G admins heiye
smbpasswd -a heiye
useradd -s /sbin/nologin xiaoyao
smbpasswd -a heiye

三、创建samba共享目录,并设置SElinux

mkdir /testdir/smbshare
chgrp admins /testdir/smbshare
chmod 2775 /testdir/smbshare
semanage fcontext -a -t samba_share_t \'/testdir/smbshare(/.*)?\'
restorecon -vvFR /testdir/smbshare   

三、samba服务器配置

vim /etc/samba/smb.conf
  security = user passdb
  backend = tdbsam
  [share]
  path = /testdir/smbshare
  write list = @admins
systemctl start smb nmb 
systemctl enable smb nmb  
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload  

四、samba客户端访问

安装包 yum -y install cifs-utils

用heiye用户挂载smb共享并访问

  • mkdir /mnt/heiye
  • mount -o username=heiye   //smbserver/share   /mnt/wang
  • echo "Hello heiye" >/mnt/heiye/heiyefile.txt

用xiaoyao用户挂载smb共享并访问

  • mkdir /mnt/heiye
  • mount -o username=heiye   //smbserver/share   /mnt/mage
  • touch /mnt/heiye/heiyefile.txt

SAMBA共享默认只支持同时用一个用户挂载SMB共享 ,CentOS7中可启用多用户挂载功能 客户端挂载samba共享目录后,在客户端登录的不同用户 访问同一个samba的挂载点,可获得不同权限 多用户SMB挂载

多用户SMB挂载

一、samba服务器配置

• yum install samba

• mkdir /multiuser

• vim /etc/samba/smb.conf 

[smbshare]
  path=/multiuser
  writable=no
  write list= @admins 63 

二、samba服务器创建samba用户

useradd –s /sbin/nologin smbuser
smbpasswd –s smbuser
useradd –s /sbin/nologin –G admins heiye   
smbpasswd –a heiye
useradd –s /sbin/nologin xiaoyao
smbpasswd –a xiaoyao 

三、samba服务器设置目录权限和SELinux

对heiye,admins组分配目录读写权限

  • chmod 777 /testdir/multiuser 或者 setfacl –m u:heiye:rwx /testdir/multiuser
  • setfacl –m g:admins:rwx /testdir/multiuser

设置SELinux标签:

  • semanage fcontext -a -t samba_share_t \'/testdir/multiuser (/.*)?\'
  • restorecon /testdir/multiuser

四、samba客户端启用多用户挂载

• yum -y install cifs-utils
• mkdir /mnt/smb
• echo \'username=smbuser\' >/etc/multiuser
• echo \'password=centos\' >>/etc/multiuser
• chmod 600 /etc/multiuser
•vim /etc/fstab
  //smbserver/smbshare   /mnt/smb  cifs
  credentials=/etc/multiuser,multiuser,sec=ntlmssp 0 0
• mount -a  

五、在samba客户端用实现多用户访问

useradd heiye;useradd xiaoyao

用root访问 ls /mnt/smb  ;  touch /mnt/smb/root.txt

用heiye访问

  • ls /mnt/smb; touch /mnt/smb/heiye.txt
  • cifscreds add –u heiye smbserver
  • touch /mnt/smb/wang.txt

用xiaoyao访问

  • cifscreds add –u xiaoyao smbserver
  • ls /mnt/smb
  • touch /mnt/smb/xiaoyao.txt

实现图形化管理

一、在CentOS6(第二张光盘)上安装包 yum install samba-swat

二、配置swat服务

vim /etc/xinetd.d/swat

  disable = no port = 901

  only_from = 127.0.0.1 此行改成172.18.0.0/16

service xinetd restart

三、浏览器访问管理 http://127.0.0.1:901 以root用户登录 (注意:commit changes后会自动重新加载配置,且自动 将/etc/samba/smb.conf中原有的注释全删除 )