Linux 文件共享samba、vsftpd

Linux文件共享服务

    |-Windows与Linux文件共享-Samba
    |-FTP应用-vsftpd

一、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  端口扫描工具

posted on 2017-06-28 16:13  gimin  阅读(418)  评论(0)    收藏  举报