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 端口扫描工具
浙公网安备 33010602011771号