一、需求:子公司可以***到总公司访问samba内网服务器
二、设备:D-link 7100普通路由器当pptp服务端,浪潮2U服务器
三、设置服务器管理口报警,8块2T SATA硬盘配置两组raid5和全局热备
四、设置:d-link 7100路由器wan口地址为电信ip,路由器修改网关地址为192.168.10.1,设置端口为7908
0.配置7100路由器wan口地址,启动为nat模式,设置ip、掩码、网关、dns和线路带宽。
4.设置pptp服务,启动pptp服务,pptp客户端地址为192.168.10.100-192.168.10.200
5.添加pptp用户和密码类型为主机模式
6.设置远程管理地址端口为7908,内网管理口就是http://192.168.10.1:7908 公网地址就是http://wan:7908
7.windows客户端创建***,填写好公网地址,直接拨号即可,如果慢就选择pptp类型。
8.设置服务器管理口地址第一次DEL设置进入浪潮bios设置专用管理口ip,设置之后就可以web管理了,默认用户名admin密码为admin.
浪潮物理磁盘信息8块2t SATA 硬盘
逻辑盘如下所示:两个raid5加一个全局热备。
9.设置浪潮BMC选择专用口设置管理ip和dns,保证专用口能上网才能邮件报警。
10.smtp服务器点勾设置启动,smtp地址为邮件服务器IP地址,设置发件人邮箱,设置用户名和密码。
11.用户设置可以添加也可以用默认的用户名admin密码admin进入,也可以设置其它账户,最主要是设置接收邮箱地址填写正确才能发送硬件报警邮件。
12.告警策略设置点勾,选择LAN通道为专用管理口,告警类型Email或者snmp,告警目标就是我们创建的用户,点击保存测试,如果要设置web端口就在服务设置选项中设置。
13.samba服务器配置:centos6.8 64位操作系统,创建用户1001-1010读和执行的权限加入rxgroup中 ,2001-2010用户为特殊权限rwt权限,root用户为超级管理员账户可以删除任何人创建的数据,统一密码为123456,安装samba,httpd、gcc软件,利用changepassword.cgi web形式修改个人samba密码,由于fdisk支持不了超过2T硬盘,所以分区用parted来分区,分别挂载到/data和/backup目录,利用系统crontab -e编辑计划任务 10 1 * * * /usr/bin/rsync -a /data/* /backup/ & 每天凌晨1点10分备份/data下所有数据到/backup目录保留所有权限。
[root@localhost changepassword-0.9]# yum -y install samba httpd gcc //安装软件包
[root@localhost changepassword-0.9]# chkconfig smb on //设置开机启动
[root@localhost changepassword-0.9]# chkconfig httpd on //设置开机启动
[root@localhost changepassword-0.9]# cat /etc/httpd/conf/httpd.conf //httpd.conf配置文件如下所示:
ServerTokens OS
ServerRoot "/etc/httpd"
PidFile run/httpd.pid
Timeout 60
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
StartServers 4
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
Listen 80
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule version_module modules/mod_version.so
Include conf.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
UseCanonicalName Off
DocumentRoot "/var/www/html"
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
UserDir disabled
DirectoryIndex index.html index.html.var
AccessFileName .htaccess
Order allow,deny
Deny from all
Satisfy All
TypesConfig /etc/mime.types
DefaultType text/plain
MIMEMagicFile conf/magic
HostnameLookups Off
ErrorLog logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access_log combined
ServerSignature On
Alias /icons/ "/var/www/icons/"
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
DAVLockDB /var/lib/dav/lockdb
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
AllowOverride None
Options None
Order allow,deny
Allow from all
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/p_w_picpath2.gif) p_w_picpath/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddDefaultCharset GB2312 //添加编码字符集为GB2312不然changepassword会乱码
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Alias /error/ "/var/www/error/"
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
14.[root@localhost changepassword-0.9]# cat /etc/samba/smb.conf //samba配置文件如下红色为添加部分
[global]
workgroup = WORKGROUP
netbios name = file-server02
server string = file-server02
unix charset = gb2312
dos charset = gb2312
client code page=936
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
#log file = /var/log/samba/%m.log
log file = /var/log/samba/%I.log
max log size = 0
pam password change = no
passwd chat = **NEW*UNIX*password* %nn *Retype*new*UNIX*password* %nn *successfully*
passwd program = LANG=en_US /usr/bin/passwd %u
unix password sync = yes
security = user
passdb backend = smbpasswd
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = no
dns proxy = no
[测试]
comment = test
path = /data/test
read only = no
public = no
15. 下载编译changepassword软件包
[root@localhost~] # wget http://prdownloads.sourceforge.net/changepassword/changepassword-0.9.tar.gz
[root@localhost~] # tar -zxvf changepassword-0.9.tar.gz
[root@localhost~] # cd changepassword-0.9
[root@localhost changepassword-0.9]# cd smbencrypt/
[root@localhost smbencrypt]# tar -zxvf libdes-4.04b.tar.gz
[root@localhost smbencrypt]# cd des
[root@localhost des]# make
[root@localhost des]# cp libdes.a ../
cp:是否覆盖"../libdes.a"? y
[root@localhost des]# cd ../..
[root@localhost changepassword-0.9]# ./configure --enable-cgidir=/var/www/cgi-bin/ --enable-language=Chinese --enable-smbpasswd=/etc/samba/smbpasswd --disable-squidpasswd --enable-logo=logo.jpg //配置参数logo.jpg要放在/var/www/html,不然会找不到图片就会有一个小红叉。
注:-enable-cgidir=... # 自定义apache根目录路径
-enable-language=Chinese # 设置页面为简体中文
-enable-smbpasswd=/etc/samba/smbpasswd # 自定义samba密码的库文件
(这里smbpasswd并非修改smb用户密码的系统命令,请注意不要混淆)
-disable-squidpasswd # 禁用squid
-enable-logo= # 设置web根目录logo文件,此处的相对路径对应的是apache根目录
这里创建samba账户时必须设置系统账户密码,以及smb账户密码
因为changepassword更改密码的机制是,先修改系统账户密码,然后将系统账户密码同步到 /etc/samba/smbpasswd SMB密码库文件下。
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for main in -lcrypt... yes
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for unistd.h... (cached) yes
checking for sys/types.h... (cached) yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking for string.h... (cached) yes
checking for stdlib.h... (cached) yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking shadow.h usability... yes
checking shadow.h presence... yes
checking for shadow.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for crypt in -lcrypt... yes
changepassword 0.9 Configuration
--------------------------------
Samba password file: /etc/samba/smbpasswd
Squid password file: no
Logo p_w_picpath : /var/www/cgi-bin/logo.jpg
Using Language file: languages/Chinese.h
Apache cgi-bin dir : /var/www/cgi-bin/
configure: creating ./config.status
config.status: creating Makefile
Don't forgot to copy /var/www/cgi-bin/logo.jpg to your website root htdocs //别忘了拷贝logo.jpg 207x46
Now, type "make" and "make install"
[root@localhost changepassword-0.9]# make&&make install //安装changepassword软件
gcc -c -o smbencrypt/SMBPasswdGen.o smbencrypt/SMBPasswdGen.c
gcc -c -o smbencrypt/encrypt.o smbencrypt/encrypt.c
gcc -c -o smbencrypt/md4.o smbencrypt/md4.c
gcc -c -o smbencrypt/smbencrypt.o smbencrypt/smbencrypt.c
gcc changepassword.c -o changepassword.cgi smbencrypt/SMBPasswdGen.o smbencrypt/md4.o smbencrypt/smbencrypt.o smbencrypt/encrypt.o -lcrypt -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DHAVE_LIBCRYPT=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_STDIO_H=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_PWD_H=1 -DHAVE_ERRNO_H=1 -DHAVE_SIGNAL_H=1 -DHAVE_SHADOW_H=1 -DHAVE_TIME_H=1 -DChinese -DSMBPASSWD=\"/etc/samba/smbpasswd\" -DSQUIDPASSWD=\"no\" -DLOGO=\"/var/www/cgi-bin/logo.jpg\" -L./smbencrypt -ldes
cp changepassword.cgi /var/www/cgi-bin//changepassword.cgi
chmod 4755 /var/www/cgi-bin//changepassword.cgi
16.测试changepassword软件,要使用changepassword程序实现客户端更改密码,必须设置系统密码和samba密码同步,访问地址为http://ip/cgi-bin/changepassword.cgi
17.创建1001-1010 加入rxgroup组中,创建2001-2010用户,samba初始密码为123456,创建超级管理员账号为root密码为123456
[root@localhost changepassword-0.9]# groupadd rxgroup //创建rxgroup组
[root@localhost ~]# cat useradd.sh //添加1001-1010账户到rxgroup组中
#!/bin/sh
PASSWD="123456"
for i in {1001..1010}
do
useradd -G rxgroup -s /sbin/nologin $i
echo $PASSWD | passwd --stdin $i
done
[root@localhost ~]# sh useradd.sh
更改用户 1001 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 1002 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 1003 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 1004 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 1005 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 1006 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 1007 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 1008 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 1009 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 1010 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost ~]# cat useradd.sh //添加2001到2010用户
#!/bin/sh
PASSWD="123456"
for i in {2001..2010}
do
useradd -s /sbin/nologin $i
echo $PASSWD | passwd --stdin $i
done
[root@localhost ~]# sh useradd.sh
更改用户 2001 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 2002 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 2003 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 2004 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 2005 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 2006 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 2007 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 2008 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 2009 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
更改用户 2010 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
18.[root@localhost ~]# mkdir -p /data/test //创建/data和test目录
[root@localhost data]# chown -R root.rxgroup test //修改主为root,组为rxgroup
[root@localhost data]# chmod 757 -R test //修改权限
[root@localhost data]# chmod o+t -R test//修改特殊权限
[root@localhost data]# ll //查看test权限
总用量 4
drwxr-xrwt 2 root rxgroup 4096 5月 6 10:14 test
19.[root@localhost ~]# sh smbpasswd.sh //添加samba用户1001-1010和123456密码
Added user 1001.
Added user 1002.
Added user 1003.
Added user 1004.
Added user 1005.
Added user 1006.
Added user 1007.
Added user 1008.
Added user 1009.
Added user 1010.
#!/bin/sh
PASSWD="123456"
for i in {1001..1010}
do
echo -e "$PASSWD\n123456" |smbpasswd -s -a $i
done
20.[root@localhost ~]# sh smbpasswd.sh //添加samba用户2001-2010和123456密码
Added user 2001.
Added user 2002.
Added user 2003.
Added user 2004.
Added user 2005.
Added user 2006.
Added user 2007.
Added user 2008.
Added user 2009.
Added user 2010.
#!/bin/sh
PASSWD="123456"
for i in {2001..2010}
do
echo -e "$PASSWD\n123456" |smbpasswd -s -a $i
done
21.[root@localhost data]# smbpasswd -a root //创建超级管理员账号可以删除所有samba文件,这个密码一定不要和系统一样。
New SMB password:
Retype new SMB password:
Added user root.
22.测试samba权限和changepassword修改密码
创建2001目录
切换用户到1001
1001进入不能删除2001文件,也不能创建文件。
修改1001账户旧密码为123456,这里旧口令就是passwd出来的密码,而不是smbpasswd出来的密码。直接smbpasswd -a 修改密码,虽然可以登录samba服务器,但是旧密码还是123456。
修改成功提示
遇到的问题:
1.由于logo.jpg显示不了,原因是写了绝对路径。
2.由于浪潮服务器smtp测试提示身份类型不支持,暂时发不了报警邮件。