TB_信息安全_点滴

collect info about work need

CENTOS7布署VSFTPD服务器关键步骤1105

2020-11-5 admin linux

1、安装vsftpd
dnf -y install vsftpd
2、配置VSFTPD
# line 12: no anonymous
anonymous_enable=NO
# line 82,83: uncomment ( allow ascii mode )
ascii_upload_enable=YES
ascii_download_enable=YES
# line 100, 101: uncomment ( enable chroot )
chroot_local_user=YES
chroot_list_enable=YES
# line 103: uncomment ( specify chroot list )
chroot_list_file=/etc/vsftpd/chroot_list
# line 109: uncomment
ls_recurse_enable=YES
# line 114: change ( if use IPv4 )
listen=YES
# line 123: change ( turn to OFF if it's not need )
listen_ipv6=NO
# add follows to the end
# specify root directory ( if don't specify, users' home directory become FTP home directory)
local_root=public_html
# use localtime
use_localtime=YES
# turn off for seccomp filter ( if you cannot login, add this line )
seccomp_sandbox=NO

3、配置chroot_list
vi /etc/vsftpd/chroot_list
# add users you allow to move over their home directory
cent

4、新增用户cent
useradd -d /var/ftp/pub cent  #新增用户并指定FTP访问目录
passwd cent #配置用户登陆密码
usermod -s /sbin/nologin cent #配置用户不可登陆服务器
usermod -d /var/ftp/pub/public  cent  #重新指定用户cent访问目录

5、开放防火墙FTP访问
 firewall-cmd --add-service=ftp --permanent 
 firewall-cmd --reload 

6、开放SELINUX中FTP模块访问功能
setsebool -P ftpd_full_access on 

标签: vsftpd

评论:

admin
2021-11-24 11:53
samba passwd 的几种方式
  passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。

  1.smbpasswd

  passdb backend = smbpasswd

  该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。

  smbpasswd -a 用户名 #添加一个samba用户
  smbpasswd -d 用户名 #禁用一个samba用户
  smbpasswd -e 用户名 #恢复一个samba用户
  smbpasswd -x 用户名 #删除一个samba用户

  2.tdbsam

  passdb backend = tdbsam

  该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb 用户数据库可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户并由其pdbedit管 理。

  用户的建立可以先用mksmbpasswd建立一个smppasswd文件,然后用pdbedit将文件里的用户导入数据库。

  cat /etc/passwd | mksmbpasswd > /etc/samba/smbpasswd

  pdbedit命令的参数很多,我们列出几个主要的:

  pdbedit -i smbpasswd:/etc/samba/smbpasswd
  pdbedit -a username:新建Samba账户。
  pdbedit -x username:删除Samba账户。
  pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。
  pdbedit -Lv:列出Samba用户列表的详细信息。
  pdbedit -c “[D]” –u username:暂停该Samba用户的账号。
  pdbedit -c “[]” –u username:恢复该Samba用户的账号。

  3.ldapsam

  passdb backend = smbpasswd

  该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”。

  注:samba3.x的早期版本默认使用tdb库也就是smb.conf默认设定为passdb backend = tdbsam,只需要注释掉该行添加smb passwd file = /etec/samba/smbpasswd即可使用smbpasswd存储加密密钥。samba3.5.6更加规范了passdb backend参数的使用,取消了smb passwd file设定,如果简单注释掉passdb backend参数,密钥文件也不会被存储到smbpasswd。所以很多人说怎么修改smb.conf的配置,smbpasswd文件都无法生成,就算 手工创建,内容也是0字节。

  这里只能说samba版本升级了,规则也变化了。现在无论是使用tdb数据库存储密钥还是smbpasswd文本存储密钥都要设定相对应的 passdb backend参数。要用传统的文本方式存储只需这样设定passdb backend = smbpasswd:/etc/samba/smbpasswd(后面跟的是绝对路径)>,不要再画蛇添足的写上smb passwd file = /etec/samba/smbpasswd,该参数已经不适用于新版本的samba了。

  注意,这里的用户名必须是linux中存在的用户,可以使用useradd命令在系统中添加一个用户,然后再增加一个对应的samba用户,也 就是一个用户名使用的是两套密码。一个是系统用户密码,另一个密码存储在/etc/samba/smbpasswd文件中的samba密码,这样可以防止 系统用户密钥外泄带来的安全隐患。

  除了上面的措施外,samba还提供了一个更安全的方法,用户名映射功能,这样做的好处是防止系统内的真实用户名暴露,在smb.conf中增 加username map = /etc/samba/smbuser设定,再手工建立该文件。username map参数详解,比如有一个系统用户名为zyhyt.org,同时我们也设定其为samba的登录名,虽然是两套独立的密码,但依然告诉了用户,我系统内 也存在zyhyt.org这个用户。严格的说这也是违背系统安全规则的,不法人士可能会利用该用户名暴力猜解获得系统内帐户权限。samba提供的用户名 映射功能,只需编辑smbuser文>件,格式为:真实的用户名 = 映射出的用户名(随便自定义);zyhyt.org = nas_guest nas_nobody(可以映射出多个用户名,注意中间的空格)。设定完成后,我们只需将nas_guest告诉用户即可,无须担心真实的 zyhyt.org用户名暴露。

发表评论: