码迷,mamicode.com
首页 > 系统相关 > 详细

Linux文件共享服务

时间:2015-08-08 19:37:04      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:

Linux文件共享服务
    |-Windows与Linux文件共享-Samba
    |-FTP应用-vsftpd
    |-UNIX类操作系统文件共享-NFS
    |-UNIX类操作系统文件共享-SSH

一、Samba
启动服务:/etc/rc.d/init.d/smb start
Samba有两个守护进程:smbd和nmbd
——smbd监听139TCP端口
——nmbd监听137和138UDP端口
smbd进程的作用是处理SMB请求包,负责用户验证和文件共享;
nmbd进程的作用是处理浏览共享和计算机名称解析

Samba配置文件存放:
    /etc/samba/smb.conf
包括4个设置段:
[global]        设置全局环境选项
[homes]        设置用户宿主目录共享
[printers]    设置打印机共享
[sharefiles]    设置文件共享
注:行号有分号“;”或英镑符“#”表示注释

【global】段主要选项设置:
workgroup=指定工作组或域
service string=描述
security=指定安全模式
1、share 无权限验证        2、user  缺省,推荐,由linux samba服务器做验证
3、server    第三方主机验证     4、domain 第三方主机验证(第三方必须是windows域控制器)
hosts allow=限定主机访问
服务基本限定:
1、哪些主机访问
hosts allow
hosts deny
2、哪些用户访问
log file=指定日志文件存放位置
max log size=指定日志文件大小

【homes】段主要选项设置:
comment    描述
browseable=no    无权限共享目录隐藏
writable= no 只读 yes 可写

Samba应用示例一:
允许用户通过Windows客户端访问自己的宿主目录。
1、安装Samba,不需要对配置文件做修改,即可实现此功能
    Netfilter/Iptables     # iptables -F
    SELinux        /etc/selinux/config    SELINUX=disabled
    如果安装启用了SELinux,需要先执行:
    setsebool -P samba_enable_home_dirs on
    *查看selinux策略状态
      gesebool    -a    | grep    samba    
2、设置用户Samba验证密码
    smbpasswd    -a    用户名
3、启动Samba服务
    /etc/rc.d/init.d/smb start
Windows客户端访问Samba服务器共享资源:
“开始”-》“运行”,输入\\Samba服务器地址
断开所有连接    net use * /delete /y
Samba服务器端查看访问的客户端信息:
    #  smbstatus

Samba应用示例二:
设置Samba共享目录/software,允许用户jack和mary可以通过Windows客户端访问,并具有读写权限。
1、创建目录/software,添加用户jack与mary
2、如果安装了SELinux,执行命令启动用户可以访问系统目录:
    chcon -t    samba_share_t    共享目录
3、在Samba配置文件/etc/samba/smb_conf末尾添加:
    [software]
    path = /software
    valid users = jack mary
    writable = yes
1)samba是否授予写权限
2)用户在linux系统中是否对共享目录有些权限
# groupadd softadm
# usermod -G softadm jack
# usermod -G softadm mary
# chgrp softadm /software
# chmod g+w /software
# ls -ld /software
drwxrwxr-x 2 root softadm 4096 Jul 23 17:08 /software/
# grep softadm /etc/group
softadm:x:8891:jack,mary

Samba服务器检测命令
测试语法错误:
#  testparm

Samba示例三:
建立一个公共的只读目录
/public,所有人可以浏览目录的内容。
[public]
comment = Read Only Public
Path = /public
writable = no

Samba应用示例四:
建立部门资料共享目录/hr,部门每个人都能读写,但不能删除别人的文件。
[hr]
path =  /hr
valid users = zhangsan lisi wangwu
writable = yes
# chmod 1777 /hr


二、FTP应用-vsftpd
FTP服务器配置
Wu-FTP:古老、配置复制
Proftp:功能强大
vsftp:安全、高速、稳定。
系统默认FTP软件
启动:# /etc/rc.d/init.d/vsftpd start
    (默认启动后即支持用户宿主目录访问及匿名访问)
配置文件:/etc/vsftpd/vsftpd.conf

1)匿名访问
匿名FTP用户名:ftp anonymous
密码:
ftp伪用户宿主目录   /var/ftp
[root@localhost  ~]# grep ftp /etc/passwd
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

anonymous_enable=YES
允许匿名登录,默认访问为ftp用户宿主目录
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
激活上传和下载日志
ftpd_banner=Welcome to Sam‘s FTP service,enjoy it
设置欢迎信息
anon_max_rate=100000
设置匿名用户最大传输速率为100KB/s
ftp  FTP地址
ftp >
ls            查看目录下文件
cd          切换目录
bin         二进制传输
lcd         切换下载目录(本地)
get        下载单个文件
mget     下载多个文件
put        上传单个文件
mput     上传多个文件
prompt    关闭交互模式
bye          退出
open    连接TP服务器
user        输入FTP服务器用户名和密码

ftp  -n  <   auto.ftp    (执行自动化脚本)

2)用户访问
local_enable=YES
write_enable=YES
local_umask=022
允许用户登录
local_max_rate=200000
用户最大传输速率为200KB/s
若启用SELinux允许用户上传文件到宿主目录,执行命令:
setsebool  -P ftp_home_dir 1
setsebool  -p allow_ftpd_full_access 1
*关闭SELinux,编辑/etc/selinux/config

3)用户访问控制
限制指定的用户不能访问,而其他用户可以访问:
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list
限制指定的用户可以访问,而其他用户不可以访问:
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

4)设置chroot    
在ftp用户把宿主目录当中/目录
设置所有用户执行chroot
chroot_local_user=YES
设置指定的用户不执行chroot
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

5)其他设置选项
idle_session_timeout=600
用户回话空闲10分钟后被挂断
max_clients=50
服务器的总的并发连接数50
max_per_ip=3
每个客户机的最大连接数为3
listen_port=10011
指定非标准端口

nmap  端口扫描工具

三、NFS-网络文件服务
安装和启动NFS服务
# rpm -q posrtmap(实现动态分配端口)
# rpm -qa  | grep nfs
查看是否安装NFS相关组件
# service portmap start
# service nfs start
注意:portmap一定要优先于nfs启动
查看RPC程序是否启动
由于NFS是通过RPC(Remote Procedure Call,远程过程调用)协议来使用远程计算机上的文件,因此
系统中的PRC服务必须启动。
# rpcinfo -p

设置共享目录
设置NFS服务器共享目录/etc/exports
格式:共享目录 预先访问主机(权限)
实例:
/public
允许所有主机访问/public目录
/website   192.168.16.128(ro)
允许192.168.16.128只读权限访问/website
exportfs  重新输出共享目录格式:exportfs -rv(或重启服务)

NFS客户端设置
1)# mkdir /mnt/website
    创建挂载点
2)# showmount -e NFS服务器地址
    查看NFS服务器共享目录
    [root@localhost ~]# showmount -e 192.168.1.104
    Export list for 192.168.1.104:
    /bak  *
    /home 192.168.1.122
3)# mount NFS服务器地址:/website    /mnt/website
    将NFS服务器的共享目录,挂载到挂载点
4)#df -h
    查看NFS挂载的共享目录
5)# umount  /mnt/website
    卸载
开机时自动挂载NFS共享
写入/etc/fstab配置文件
格式:
NFS共享目录               本机挂载点        文件系统  权限  是否检测  检测顺序
实例:
192.168.1.104:/public  /mnt/public          nfs          ro          0                 0

四、UNIX类操作系统文件共享-SSH
1、ssh远程登录(SecureCRT)
2、sftp文件共享(类FTP)    sftp    -2 -p 10023    sam@192.168.1.104
3、scp文件共享(类cp)
ssh远程登录:ssh  用户名@远程主机IP地址
常用选项:-2:强制使用第二代SSH协议
             -p:端口号
示例:
ssh    -2 -p 10023    sam@192.168.1.104
ssh 1、空密码用户登录禁止 2、root登录禁止(centos5.5没有禁止)

配置文件:/etc/ssh/sshd_config
#PermitRootLogin yes    禁止root直接登录
#Port 22    取消注释,更改端口号

本机拷贝文件到远程主机:
scp    本地文件    用户名@远程主机地址:远程主机目标目录
scp    -r    本地目录    用户名@远程主机地址:远程主机目标目录
从远程主机拷贝文件到本地:
scp    用户名@远程主机地址:远程文件        本地目录
scp    -r    用户名@远程主机地址:远程目录        本地目录
常用选项:
    -p:保存原有文件属性
    -r: 复制目录
    -P:指定端口号
--------------------------------------------------------------------------------
服务器/website  192.168.1.104        -->备份服务器(localhost)
A)每周日    做一次完全备份
1、crontab  -e
0 2 * * 0 /usr/bin/scp    -rp    webadm@192.168.1.104:/website    /backup/website_$(date +%F)

用公钥加密,私钥解密    --加密文件
用私钥加密,用公钥解密     --数字签名

※建立信任主机:
1)备份服务器生成密钥,拷贝公钥给服务器
2)服务器生成认证密钥
-----------------------------------------------------
(本机)主机一    root
建立密钥对
#    ssh-keygen -t rsa
生成公钥  /root/.ssh/id_rsa.pub
-----------------------------------------------------
(192.168.1.104)主机二       miniamin
获得主机一公钥,并生成认证密钥:
#  cat  id_rsa.pub >> .ssh/authorized_keys
#  chmod  600   .ssh/authorized_keys
#  chmod   700  .ssh
------------------------------------------------------
此时从主机一访问主机二将不再需要输入密码

操作:
(本机)
# ssh-keygen -t rsa
# scp /root/.ssh/id_rsa.pub miniamin@192.168.1.104:/home/miniamin
(服务器)
$  mkdir  .ssh
$  cat  id_rsa.pub >> .ssh/authorized_keys
$  chmod  600   .ssh/authorized_keys
$  chmod  700  .ssh

B)周一到周六    做一次增量备份
2、crontab -e
0 2 * * 1-6 /usr/bin/rsync  -arHz --progress  --delete -e ssh  miniamin@192.168.1.104:/home/miniamin   /bak
-a    保存文件属性
-r    子目录递归处理
-H    保持文件硬链接
-z    备份文件传输时压缩处理
--progress    在传输时显示传输过程
--delete    删除目标备份没有的文件
-e ssh    使用SSH加密隧道传输

rsync应用
启用rsync:
编辑配置文件/etc/xinetd.d/rsync
设置  disable=no
重启xinetd进程 service xinetd restart
# rsync -arHz --progress --delete  miniamin@192.168.1.104:/home/miniamin /bak

Linux文件共享服务

标签:

原文地址:http://www.cnblogs.com/gimin/p/4713595.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!