十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Linux下登录提示是记录在/etc/issue和/etc/motd中,这两者的区别是,前者是在用户登录前就显示,而后者则是在用户登录后显示。我们当然需要更改/etc/issue中的内容。而Linux在重新启动过程中会执行一系列脚本,使更改的Banner恢复脚本定议的内容,用户可以用#注释掉相关脚本,用户也可以在rc.local脚本中添加内容,这样就可以在启动过程中执行。在Arch上rc.local位于/etc/rc.local,而在Slackware中,其位于/etc/rc.d/rc.local。
10年积累的网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有霍山免费网站建设让你可以放心的选择与我们合作。
知道了以上的信息后就不难办了。使用管理员权限修改rc.local文件的内容如下所示:
#!/bin/bash
ipaddr=$(ifconfig | sed -ne 's/ *inet
addr:\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\) *B.*/\1/p')
echo $'\x1b\x5b\x48\x1b\x5b\x32\x4a\x0a''Arch
Linux \r ['$ipaddr'] (\n) (\l)' /etc/issue
以上需要说明的是第二行,是通过正则获取ifconfig命令输出的ip地址,最后一行是输出信息到issue文件。
最后一行中前边的字符串是用来清除终端显示的,而issue文件中转义字符也有不同的含义,可以通过man
agetty 8来获取所有转义字符的含义。
一,ftp服务Linux
Banner修改法:
wu-ftp修改
用十六进制文本编辑器修改/usr/sbin/in.ftpd文件,找到如下几行:
/var/log/lastlog
Could
not write %.100s:%.100s
Version wu-2.6.1-16
改成:
Microsoft FTP
Service(Version.6.0)
或者:
Serv-U FTP Server v6.4 for WinSock ready...
通过上面的方法将自己的WU-FTP修改成SERV-U或IIS自带的FTP,从而达到迷惑黑客的目的。
vsftpd的修改 编辑配置文件 vsftpd.conf 找到这行#ftpd_banner= 将#号删除,把=号后面的修改成你要的名称
我这里修改成了 ftpd_banner=Serv-U FTP Server v6.4 for WinSock ready...
二,Telnet Linux
Banner修改法:
编辑文件/etc/issue.net,找到类似这几行(不同版本的Linux内容不太一样):
Red
Hat Linux release 8.0(Psyche)
Kernel \r on an \m
改成:
Microsoft Windows
Version 5.00(Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server
Build
5.00.99206.1
由于issue.net重启后会自动恢复,为了保护这些伪造的信息,还需要编辑文件/etc/rc.local,
在这些行前加“#”号,注释掉恢复的功能:
#echo””/etc/issue
#echo”$R”/etc/issue
#echo
“Kernel $(uname –r) on $a $SMP$(umame
–m)”/etc/issue
#cp-f/etc/issue/etc/issue.net
#echo/etc/issue通过上面的方法将自己linux系统下的telnet服务修改成windows下的telnet服务,从而达到迷惑黑客的目的。
三,Apache Linux
Banner修改法:
在安装Apache前,在源文件/src/include目录下找到httpd.h头文件。此文件定义了Apache的版本信息,Apache安装时需要调用它。编辑http.h文件,找到如下几行:
#define
Server_BASEVENDOR “Apache Group”
#define Server_BASEPRODUCT
“Apache”
#define Server_BASEREVISION
“1.3.20”
可以根据自己的意愿改成其他信息,笔者改的是Microsoft-IIS/5.0。
编辑文件/etc/ssh/sshd_config,找到这行:
Banner/etc/issue.net
在此行前加#进行注释就可以不显示SSH的Banner了。通过上面的方法将自己的APACHE
banner修改成windows下的IIS,从而达到迷惑黑客的目的。
四,Sendmail Linux
Banner修改法:
在sendmail.mc文件中去掉$v、$z这两个宏,并包含下面的内容:
define(confSMTP_LOGIN_MSG’,$j
Sendmail
Sencure/Recure/Rabid;$b)
然后生成sendmail.cf文件
#m4/etc/mail/sendmail.mc/etc/sendmail.cf
如果sendmail.mc中没有include(‘/usr/share/sendmail.cf/m4/cf.m4’)这一行就需要
和Sendmail
提供的预设的配置文件cf.m4一起使用来生成文件sendmail.cf:
#m4 /usr/share/sendmail-cf/m4/cf.m4
/etc/mail/sendmail.mc/etc/sendmail.cf通过上面的方法有效的对sendmail服务的banner进行修改,从而达到迷惑黑客的目的。
五,修改linux机器的ttl值运行
echo 128
/proc/sys/net/ipv4/ip_default_ttl 将数字128写入ip_default_ttl文件,128段通常为windows系统
可以将此语句写入启动,/etc/rc.local 这样开机有自动修改了ttl数值了,保护了linux安全
总结:
经过上述的几个步骤,Linux系统的基本安全性能就得到了很大的增强。我们成功的将黑客阻挡在入侵之外。当然要得到最大化的安全性能,当然还要根据实际需求配置Apache等,由于篇幅所限,这里就不详细介绍了。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。
使用单用户模式进入系统,具体方法如下:
开机出现grub启动画面后按e,然后将反亮条移动到第二行按e,这个时候可以编辑第二行的语句,进入编辑模式后按空格,然后按1,然后按esc,再按b,系统就可以用单用户来启动了,启动后执行
passwd -d root 删除root密码
passwd root重新设置密码
linux下 oracle常用命令
打开图形化窗口:
1)Database Configuration Assistant windows (添加数据库实例)
$ dbca
2)Oracle Net Configuration Assistant windows (配置监听)
$ netca
3)打开EM
$ oemapp dbastudio (打开企业管理器图形界面)
$ opemapp console (打开企业管理器图形界面(和上面的命令效果一样))
常用命令:
$ lsnrctl start|stop|status (启动|停止|活动状态 监听)
$ isqlplusctl start|stop (启动|停止 isqlplus 可以在浏览器登录 5560端口)
$ sqlplus /nolog (以不连接数据库的方式启动sqlplus)
$ sqlplus system/manager @ file.sql (执行sql脚本文件)
$ sqlplus system/manager (使用system用户登录sqlplus)
$ imp system/manager file=/tmp/expfile.dmp log=/tmp/implogfile.log ignore=y fromuser=expuser touser=impuser (用户模式表数据导入,如果没有特别指定值,就使用默认的值)
$ exp username/password file=/tmp/expfile.dmp log=/tmp/proV114_exp.log (用户模式表数据导出,这是最简单的导出方法)
SQL conn / as sysdba (以sysdba用户连接)
SQL startup
SQL shutdown
SQL shutdown immediate (立即关闭实例)
SQL desc dba_users; (查询dba_users表结构)
SQL select username from dba_users; (查询当前sid下的所有用户的username)
SQL select count(*) from username.tablename; (查询tablename表的行数)
SQL drop user username cascade; (删除名称为username的oracle用户)
SQL select distinct table_name from user_tab_columns; (查看当前user模式下所有表名)
一、ORACLE的启动和关闭
1、在单机环境下
要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下
su - oracle
a、启动ORACLE系统
oraclesvrmgrl
SVRMGRconnect internal
SVRMGRstartup
SVRMGRquit
a、启动ORACLE系统
oraclesvrmgrl
SVRMGRconnect internal
SVRMGRstartup
SVRMGRquit
2、在双机环境下
要想启动或关闭ORACLE系统必须首先切换到root用户,如下
su - root
a、启动ORACLE系统
hareg -y oracle
b、关闭ORACLE系统
hareg -n oracle
Oracle数据库有哪几种启动方式
说明:
有以下几种启动方式:
1、startup nomount
非安装启动,这种方式启动下可执行:重建控制文件、重建数据库
读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件
2、startup mount dbname
安装启动,这种方式启动下可执行:
数据库日志归档、
数据库介质恢复、
使数据文件联机或脱机,
重新定位数据文件、重做日志文件。
执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,
但此时不对数据文件和日志文件进行校验检查。
3、startup open dbname
先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
这种方式下可访问数据库中的数据。
4、startup,等于以下三个命令
startup nomount
alter database mount
alter database open
5、startup restrict
约束方式启动
这种方式能够启动数据库,但只允许具有一定特权的用户访问
非特权用户访问时,会出现以下提示:
ERROR:
ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用
6、startup force
强制启动方式
当不能关闭数据库时,可以用startup force来完成数据库的关闭
先关闭数据库,再执行正常启动数据库命令
7、startup pfile=参数文件名
带初始化参数文件的启动方式
先读取参数文件,再按参数文件中的设置启动数据库
例:startup pfile=E:Oracleadminoradbpfileinit.ora
8、startup EXCLUSIVE
二、用户如何有效地利用数据字典
ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化,
体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。
数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。
我们不能手工修改数据字典里的信息。
很多时候,一般的ORACLE用户不知道如何有效地利用它。
dictionary 全部数据字典表的名称和解释,它有一个同义词dict
dict_column 全部数据字典表里字段名称和解释
如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句:
SQLselect column_name,comments from dict_columns where table_name='USER_INDEXES';
依此类推,就可以轻松知道数据字典的详细名称和解释,不用查看ORACLE的其它文档资料了。
下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。
1、用户
查看当前用户的缺省表空间
SQLselect username,default_tablespace from user_users;
查看当前用户的角色
SQLselect * from user_role_privs;
查看当前用户的系统权限和表级权限
SQLselect * from user_sys_privs;
SQLselect * from user_tab_privs;
2、表
查看用户下所有的表
SQLselect * from user_tables;
查看名称包含log字符的表
SQLselect object_name,object_id from user_objects
where instr(object_name,'LOG')0;
查看某表的创建时间
SQLselect object_name,created from user_objects where object_name=upper('table_name');
查看某表的大小
SQLselect sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('table_name');
查看放在ORACLE的内存区里的表
SQLselect table_name,cache from user_tables where instr(cache,'Y')0;
3、索引
查看索引个数和类别
SQLselect index_name,index_type,table_name from user_indexes order by table_name;
查看索引被索引的字段
SQLselect * from user_ind_columns where index_name=upper('index_name');
查看索引的大小
SQLselect sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('index_name');
4、序列号
查看序列号,last_number是当前值
SQLselect * from user_sequences;
5、视图
查看视图的名称
SQLselect view_name from user_views;
查看创建视图的select语句
SQLset view_name,text_length from user_views;
SQLset long 2000; 说明:可以根据视图的text_length值设定set long 的大小
SQLselect text from user_views where view_name=upper('view_name');
6、同义词
查看同义词的名称
SQLselect * from user_synonyms;
7、约束条件
查看某表的约束条件
SQLselect constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper('table_name');
SQLselect c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
where c.owner = upper('table_owner') and c.table_name = upper('table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position;
8、存储函数和过程
查看函数和过程的状态
SQLselect object_name,status from user_objects where object_type='FUNCTION';
SQLselect object_name,status from user_objects where object_type='PROCEDURE';
查看函数和过程的源代码
SQLselect text from all_source where owner=user and name=upper('plsql_name');
三、查看数据库的SQL
1、查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
2、查看表空间物理文件的名称及大小
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
3、查看回滚段名称及大小
select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
max_extents, v.curext CurExtent
From dba_rollback_segs r, v$ro
服务器一般分为两种操作系统,windows server 和 Linux。接下来介绍如何通过SecureCRT连接到Linux系统。
为了仿真linux系统,需要下载一个虚拟机,我用的是VMWare,新建一个虚拟机,操作系统选择Linux centos。
然后下载SecureCRT,安装完成。
首先,打开虚拟机中的linux操作系统,我们假设它为服务器系统。
选择左上角的应用程序 --- 工具 --- 终端(类似于windows下的cmd)
在终端中输入ifconfig,用来查看服务器IP地址。
Paste_Image.png
然后找到安装好的SecureCRT,找到SecureCRT.exe的路径。
Paste_Image.png
然后打开windows系统下的命令行终端,开始 --- 运行 --- 输入cmd。
并在cmd中进入SecureCRT文件夹。
Paste_Image.png
之后拼接参数,如果还想使用其他功能,输入help可以了解更多。
言归正传,如图:
Paste_Image.png
下面解释一下参数的意思:
SecureCRT.exe 执行SecureCRT程序
-2 表示使用SSH2连接方式
nzh Linux系统中的用户名
192.168.241.128 代表服务器地址,就是最开始在Linux系统中ifconfig查出来的。
/password 123456 代表linux中的用户名密码,也是linux中登录的密码。
输入上面命令之后,会跳转到SucureCRT软件的连接界面,此时已经和Linux系统建立了连接。
Paste_Image.png
最后,在查资料时看到一个博客不错,是记录SecureCRT相关命令的,链接如下:
在windows本地用SecureCRT+SecureFX连接远程linux
[转载]windows机器 cmd命令下能否使用什么命令通过ssh连接到远程lin