1.3笔记
UDP 137 138
TCP 139 445
/etc/samba/ 配置目录
/etc/samba/smb.conf 主配置文件
testparm 检查配置文件
smbd 文件及打印机等资源的共享访问
nmbd 基于netbios名称解析
[global] 全局设置
[homes] 用户家目录共享
[printers] 打印机共享
[user] 自定义共享
workgroup 定义工作组名称
server string 描述
security 认证方式(安全级别) share=匿名 user=用户名和密码 server=其它主机负责认证 domain=由域控制器进行认证
log file 定义日志文件位置
passdb backend 密码文件类型 smbpasswd=smbpasswd tdbsam=passdb.tdb
comment 对共享的描述
path 定义共享路径
browseable 共享是否可见
public(guest ok) 是否允许所有人访问
writable 是否可写
read only 是否只读
密码文件 /etc/samba/
/var/lib/samba/private/
修改smb.conf------设置共享(目录权限)--------启动相关服务-------访问共享
设置共享用户
1、系统中有相应用户 useradd username
2、为用户设置访问samba的密码
pdbedit -a -u username 设置密码
pdbedit -L 查看所有samba用户
pdbedit -Lv username 用户详细信息
pdbedit -x username 删除用户
3、启动服务 systemctl restart smb nmb
4、访问共享
smbclient -L ip(主机名) 查看共享
smbclient //ip(主机名)/共享名 -U username 访问共享
用户访问控制
valid users = hello, @test 允许访问共享资源的用户
invalid users = hello, @test 禁止访问共享资源的用户
read list = hello, @test 只读用户
write list = hello, @test 可写用户
两个共享:share,manager
访问共享的用户:admin,jingli1,jingli2 @managers
1、share所有人都能访问,只有admin能上传
2、manager只允许managers组的用户以及admin(上传&下载)
[root@node1 /]# mkdir /share /manager
[root@node1 /]# useradd admin
[root@node1 /]# useradd jingli1
[root@node1 /]# useradd jingli2
[root@node1 /]# pdbedit -a -u admin
[root@node1 /]# pdbedit -a -u jingli1
[root@node1 /]# pdbedit -a -u jingli2
[root@node1 /]# groupadd -g 1500 managers
[root@node1 /]# gpasswd -M jingli1,jingli2 managers
[root@node1 /]# chmod 777 /share/ /manager/
[root@node1 /]# vim /etc/samba/smb.conf
[share]
path = /share
public = yes
read only = yes
write list = admin
[manager]
path = /manager
public = no
read only = yes
valid users = admin,@managers
write list = admin
[root@node1 /]# systemctl restart smb nmb
smbclient -L 192.168.1.3
smbclient -L 192.168.1.3 -U admin
smbclient //192.168.1.3/share
smbclient //192.168.1.3/share -U admin
设置上传文件&目录的默认权限
directory mask = 0755 目录的权限
create mask =0644 文件的权限
帐号映射 (添加到全局设置)
username map = /etc/samba/smbusers 制定帐号映射文件
samba帐号 = 映射帐号
admin = test1
smb共享使用命令
ls put get
!ls
?/help
lcd
访问控制(添加到全局设置)
hosts allow 允许的主机 hosts allow = 192.168.1. EXCEPT 192.168.1.100
hosts deny 拒绝的主机
mount -o username=admin //192.168.1.3/share /mnt/samba/share
-t cifs
vsftp
主动模式&被动模式
端口 21 控制
20 数据
匿名、本地、虚拟
ftp 连接服务器
filezilla 图形界面工具
/etc/vsftpd/ 工作目录
/etc/vsftpd/ftpusers&user_list 用户控制文件 ftpusers=黑名单
/etc/vsftpd/vsftpd.conf 配置文件
[root@node1 ~]# yum install vsftpd -y
listen 运行方式
listen_address=IP 监听的IP地址
listen_port=21 监听的端口
write_enable 是否可写
download_enable 是否允许下载
userlist_enable 是否启用用户列表功能
userlist_deny 是否禁用user_list中的用户
max_clients=0 最大客户端数量
max_per_ip=0 每个IP地址的最大连接数
匿名用户
anonymous_enable 是否启用匿名用户 anonymous
anon_umask=022 匿名用户上传文件的权限掩码
anon_root=/var/ftp 匿名用户的根目录
anon_upload_enable 是否允许上传
anon_mkdir_write_enable 是否允许创建目录
anon_other_write_enable 是否开放其它的写入权限 删除,改名
anon_max_rate=0 限速 字节/秒
本地用户
local_enable 是否允许本地用户登陆
local_umask=022 本地用户上传文件的权限掩码
local_root=/path/ 本地用户的根目录
chroot_local_user 是否限制本地用户
local_max_rate=0
修改配置文件-----启动服务------ftp(工具)
[root@node1 vsftpd]# yum install ftp -y
开匿名用户上传权限需要在配置文件中添加
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
注意:目录在本地的权限,chmod 777 /path/
ftp 192.168.1.3
anonymous
用户列表
userlist_enable=YES
userlist_deny=NO
白名单
如果root用户无法正常登陆ftp,记得查看/etc/vsftpd/ftpusers文件中的相关设置,将指定的用户名注释
固定被动模式的端口号
pasv_enable=YES
pasv_min_port=25100 0=不限制
pasv_max_port=25200
虚拟用户
建立虚拟用户文件--------转换文件----------调整配置文件---------设置pam-------启动服务
[root@node1 vsftpd]# vim vusers.list
用户名
密码
用户名2
密码2
转换
[root@node1 vsftpd]# db_load -T -t hash -f vusers.list vusers.db
T 允许从文本读如数据
t 制定数据库类型
f 制定用户名文件
调整文件权限
[root@node1 vsftpd]# chmod 600 vusers.*
建立用来关联虚拟用户的系统帐号
[root@node1 vsftpd]# useradd -d /var/ftproot -s /sbin/nologin vftp
[root@node1 vsftpd]# chmod 755 /var/ftproot/
设置pam认证
[root@node1 vsftpd]# vim /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
修改配置文件
vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.vu 定义认证文件
guest_enable=YES 启用来宾功能
guest_username=vftp 制定来宾账户名称
allow_writeable_chroot=YES 允许写入权限
[root@node1 vsftpd]# systemctl restart vsftpd
虚拟用户独立配置文件
vsftpd.conf
user_config_dir=/etc/vsftpd/vuserdir
mkdir /etc/vsftpd/vuserdir
cd /etc/vsftpd/vuserdir
vim hello(与用户名同名)
anon_upload_enable=YES
anon_mkdir_write_enable=YES