主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

5

听众

1015

主题
发表于 2022-2-11 16:27:25 | 查看: 164| 回复: 0
Samba 平台搭建和用户自行修改密码环境搭建笔记
系统:CentOS release 6.5 (Final)x86_64
软件: samba #服务端
samba-client #客户端
samba-common #通用工具和库
Apache:httpd
Web: changepassword-0.9.tar.gz #GCC 编译源码包,make 安装
硬件:Vmware10
说明:工作组环境下的 Samba



Samba 平台搭建注意事项及遇到故障的解决方法
1. 共享目录权限设置及所属组员、组的关系;
2. Samba 服务的核心配置文件 smb.conf.中共享目录参数设置与上述 1 要对应,
否则出错;

3. 用户和组创建细节:
3-1 系统创建 OS 账户(不能登陆 OS创建密码 #changepassword 程序修改密码;

3-2 Samba 用户、密码创建 #smbpasswd 创建访问文件服务用户及密码;

3-3 创建组用户加入组 #不同服务应用需求用户,加入不同的组;

4. 单机环境测试 samba 服务:

4-1 smbclient //IP/共享目录 –U 账号 #输入密码进入目录

4-2 smb>dir→list #读取文件及文件夹

4-3 testparm 测试 smb 加载是否正常

4-4 service smb status #检测 smbd 服务运行状态

5. 设置 smb 服务开机运行:chkconfig –level 345 smb on

Samba 服务 windows 平台不能访问解决方法:

1. 关闭 Selinux 安全机制

#vi /etc/selinux/config 修改 SELINUX=disabled #关闭安全检测

2. 防火墙添加规则开放 137.138.139.445 端口


#vi /etc/sysconfig/iptables

添加以下规则

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

说明一点:
samba3.x 的早期 版本默 认使用 tdb 库 也就是 smb.conf 默 认设定为 passdb backend = tdbsam , 只 需 要 注 释 掉 该 行 添 加 smb passwd file =/etec/samba/smbpasswd 即可使用 smbpasswd 存储加密密钥。从 samba3.5.6 开始 samba 规范了 passdb backend 参数的使用,取消了 smb passwd file 设定, 如果简单注释掉 passdb backend 参数,密钥文件也不会被存储到 smbpasswd。所 以很多人说怎么修改 smb.conf 的配置,smbpasswd 文件都无法生成,就算手工创建, 内 容也 是 0 字 节 。 要 用 传统 的 文 本方 式 存 储 只 需这 样 设 定 passdb backend = smbpasswd:/etc/samba/smbpasswd ( 后面 跟 的是 绝对 路 径 ), 不要 再 写 smb passwd file = /etc/samba/smbpasswd,该参数已经不适用于新版本的 samba

Apache:Httpd 服务安装遇到问题和解决方法:

1. 中文乱码解决:

httpd 的配置文件 /etc/httpd/conf/httpd.conf 中 :

1-1 AddDefaultCharset UTF-8 改为 AddDefaultCharset zh_CN.UTF-8

或者 AddDefaultCharset 的值改为 GB2312

1-2 防火墙端口开放添加规则:80 端口开放

Web-changepassword 客户端安装遇到问题解决方法:

1-1 在安装过程中可能会遇到以下一个报错 collect2ld returned 1 exit status make***[changepassword.cgi] Error 1
这是因为缺少一个依赖包的原因,这个依赖包就在 changepassword-0.9.tar.gz 的目录包里, 解压后在目录里有一个 smbencrypt 的目录,进入该目录,目录里有一个
libdes-4.0.tar.gz 文 件,这个是 changerpassword 的一个依赖包,解压缩

tar -zxvf libdes-4.0.tar.gz 解压后有一个 des 目录,进入后 make
cp libdes.a ../ 系统提示: cp:是否覆盖../libdes.a
Enter 确认覆盖,退回 changepassword 目录

1-2 编译 changepassword 源码包自定义路径等:


./configure --enable-cgidir=/var/www/cgi-bin --enable-language=Chinese


--enable-smbpasswd=/etc/samba/smbpasswd --disable-squidpasswd


--enable-logo=samba.jpg

注意:logo 图片只能放在/var/www/html 目录下调用才会生效,html cgi-bin 默认目录

注:

--enable-cgidir=/var/www/cig-bin:指定 httpd 下的 cig-bin 路径

--enable-language=Chinese:设定语言为中文

--enable-smbpasswd=/etc/samba/smbpasswd:指定 smbpasswd 路径

--disable-squidpasswd:关闭 squid 密码(changepassword 是支持 squid 认证用户 密码更改的)
Samba 用户系统密码修改与系统账号密码同步:重要修改以下文件和配置参数

1. 修改 samba/smb.conf 配置

security = user

passdb backend = smbpasswd:/etc/samba/smbpasswd pam password change = no
passwd chat = **NEW*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n

*successfully*

passwd program = LANG=en_US /usr/bin/passwd %u unix password sync = yes
2.专门用于使用 pam 来管理密码的模块:

pam_smbpass.so 位置位于:
x86 : /lib/security/pam_smbpass.so #32 位系统 x64 : /lib64/security/pam_smbpass.so
#64 位系统 然后我们只需要将这个模块加入到密码验证的机制里即可: vim /etc/pam.d/system-auth
编辑 system-auth 这个 pam 文件
修改里面的 password 段插入一行新的 password 行(这里我的 system-auth 的配置,注意我加了一行
关于 pam_smbpass.so 的内容):

auth required pam_env.so

auth sufficient pam_unix.so nullok try_first_pass auth requisite
pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so
account required pam_unix.so

account sufficient pam_succeed_if.so uid < 500 quiet account required
pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3

password required /lib64/security/pam_smbpass.so nullok use_authtok try_first_pass
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok password
required pam_deny.so
session optional pam_keyinit.so revoke session required
pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so


组环境问题:在浏览器上通过 changepassword 修改用户密码时,输入正确也提示旧密码错误

原因:1-1 changepassword 修改密码,必须和/etc/passwd 内的密码同步,如果只设 置 samba 密码,不 设置系统密码,该程序是无法修改用户密码的;用户必
须具有系统密码,并且这个系统密码要与 samba 密码一致
1-2 创建 samba 用户是不能登录系统的用户,所以也忘记给用户设置系统密码了

解决方法:passwd 命令创建修改 samba 系统用户与 samba 服务用户相同的密码,在浏
览器上 changepassword 可以成功修改密码


SD-WAN-MPLS组网http://www.kd010.com/

收藏回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-4-29 11:42 , Processed in 0.075404 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表