一招一式攻克linux(二)-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

一招一式攻克linux(二)

简介:

第二招 基本配置,基本操作,必须掌握的命令 
作者:田 逸(sery@163.com) 
<网管员世界> 2005年11期


通过第一招的实践,我们已经可以顺利的安装好linux操作系统,这仅仅是工作的一小部分,现在最迫不及待的事情就是使用这个系统。打开安装好linux操作系统计算机的电源,让机器正常引导,待系统引导完毕,我们的第一个操作---登录开始了;在这一步,能执行的任务就是输入用户名root和初始安装时设定的密码,一旦输入无误,便可取得操作整个计算机的所有权限,开始了挑战linux的艰难之旅。 

超级用户账号密码 
为安全起见,需要定期更改超级用户root的密码。这个操作十分简单,在shell提示符#后输入 passwd回车,然后两次输入新密码即可。退出root登录,然后再次登录,检验密码修改是否正确。然而不幸的事情还是偶尔会发生,刚才更改的密码记不清楚了,root用户登录不了,急人啦,难道还要重装linux操作系统?如果你还想尝试一遍安装操作,本是无可厚非的,但这并不是一个好主意,特别是在硬盘上存储很多重要数据的情形下。请参照下面的操作来解决这个问题: 
1、 手动重启系统:按计算机复位键或先关闭计算机在开启。 
2、 当引系统到达“引导加载程序(选择欲启动的操作系统)”grub时(redhat 9在安装的时候,我们默认安装的引导程序是 grub),按键盘字母“e”键,如果硬盘上安装多个操作系统的话,还需要用箭头选中linux 启动条目。将看到如下几行文本(为节省篇幅,多余的文本省略了) 
root (hd0,4) 
kernel /boot/vmlinuz-2.4.20-8 ro root=lable/ hdc=ide-scsi 
initrd /boot/initrd-2.4.20-8.img 
3、 把 “kernel /boot/vmlinuz-2.4.20-8 ro root=lable/ hdc=ide-scsi” 改成 “kernel /boot/vmlinuz-2.4.28 single root=lable/ hdc=ide-scsi”后按回车键,返回编辑屏幕。 
4、 按“b”键使用上面更改后的选项引导计算机,这样计算机就进入单用户模式(运行级别1)而不用输入用户名和密码登录。 
5、 输入命令passwd回车,两次输入新口令,然后小心保存。关于口令设置的建议有很多,可以根据自己的情况设置复杂口令。 
6、 再次重启计算机,这时便可顺利使用新密码进入系统了。 
这个操作对于管理员来讲,是十分有用的,但是如果这个服务器运行的是关键应用,那么应当把它锁在机柜里,因为不是公司聘用的非管理员也能够替你执行这个操作,很危险的。 

用户账号 
有句名言叫“linux就是网络”,这就意味着linux系统不是系统管理员一个人把玩的,有太多的理由让更多的人来使用这个资源。刚安装完的linux系统,只有一个用户root;没有任何责任让其他仅需使用一部分功能的人来共享root账号和密码。既然如此,给要用计算机资源的人开设账号吧。 
1、 开设账号:在命令提示符输入 #useradd sery 就可以成功的添加账号sery,用命令#passwd sery 来给账号sery 设置密码。通过这种方式添加的账号的主目录将是/home/sery, sery用户的环境变量.bash_profile在目录 /home/sery中。也可以指定用户的主目录,例如我们要安装数据库软件sybase ase,需要指定它的主目录为/opt/sybase,通过输入命令#useradd ╟d /opt/sybase sybse 就可以了,这样sybase用户的环境变量路径也变成 /opt/sybase/.bash_profile。可以把一些用户添加到一个组了,以满足特定的功能。上面开设的两个账号,默认产生两个组sery和sybase。 
2、 更改账号:某天,公司的sery离职了,由新来的tieny接替他的工作,可以用命令#usermod ╟l tieny ╟m ╟d /home/tieny sery来实现。当然还应当把口令也改一下。 
3、 删除账号:sery由于工作不力,被老板开除了,那么作为系统管理员应当把他的账号删除,先删除账号#userdel sery,然后还要删除sery用户的主目录/home/sery。 
需要注意的是,上述的账号操作,只有具备管理员权限的用户(比如root)才可以进行的,普通用户仅仅能更改自己的密码而已。 

文本编辑器vi 
要使用unix/linux来完成工作,你没有办法来回避使用文本编辑器这个工具。在unix/linux的世界里,vi是赫赫有名的,ibm的aix、sun的solaris、sco unix、redhat linux等等,没有一个不用vi 这个编辑工具的。因此,作为unix/linux系统管理员,必须熟练掌握这个基本技能。 
vi文本编辑器打开以后,有两种模式:命令模式和输入(或者编辑)模式。在使用过程中,这两种模式是需要来回相互切换的,初学者对此往往感到迷惑,下面举一个例子来说明一下: 
我们在此要把计算机的主机名改成sery,那么就用vi编辑器修改配置文件/etc/hosts文件。输入命令 #vi /etc/hosts 回车,立刻进入vi的命令模式。在这种模式下,可以进行查找、保存文件等操作,按字母“i”键切换到编辑模式---屏幕底部显示“insert”,然后光标定位,输入相关的字符;输入完毕并检查无误后,按“esc”键切换到命令模式,接着输入“:”加wq回车就把刚才的输入保存在文件/etc/hosts里。整个过程总结一下流程就是:vi filename 打开文件---切换到编辑模式(“i”)----输入文本----切换到命令模式(“esc” ,“:”)----保存文件(wq)。 
[root@sybase root]# vi /etc/hosts 

# do not remove the following line, or various programs 
# that require network functi will fail. 
127.0.0.1 localhost.localdomain localhost //按i切换编辑模式 

202.108.93.200 sery //这行是加上去的 
//按esc键回到命令模式,再输入“:” 
:wq //保存文件退出 

有时,文件修改后不想保存它,则在命令模式下输入“:q!”,如果只是打开文件而没有做任何修改,在命令模式下输入“:q”就可以了。有一个技巧还是需要掌握的,那就是在文件中查找字符。编辑一个小的文件(字符数不多)用光标定位就可以完成修改,但是如果要编辑的一个文件较大,例如修改apache的配置文件,根据实际应用,我们仅需对/etc/httpd/conf/httpd.c /etc/httpd/conf/httpd.c vi 使用技能。随着linux版本不断的升级,vi也越来越便于使用,例如在linux桌面环境下,可以用鼠标选定文本,然后使用复制功能来简化操作。 

配置网络参数 
如果linux服务器不连入网络,除了供管理员测试而外,再没有别的实际意义,因此把linux服务器连入网络就是必须的了。在第一招安装linux时,我们已经把网络的一些参数手动输入了,但是有时还得在实际应用中更改某些参数。网络参数主要包括:ip地址、子网掩码、默认网关和指定dns服务器。ip地址、子网掩码、默认网关由文件/etc/sysc vi 打开/etc/sysconfig/network-scripts/ifcfg-eth0,修改对应的值,我本人习惯把默认网关加在这个文件里,即在这个文件里插入一行“gateway=x.x.x.x”。默认网关是个非常重要的设置,如果设置错误,linux服务器就只能访问同一网段的主机而不能与其他网段的计算机互访尽管其他的网络参数设置完全无误。我曾有意无意的犯过这个错误,结果每次都是一样让人沮丧。在讲授网络的课程里,默认网关被定义成一个三层设备,讲得通俗一点就是路由器,它的作用是连接不同网段/子网的通信,它记录与它某一端口直连的同一网段的机器mac与ip地址对应值(称为arp)。路由器/网关不会自动获得同一网段主机的mac-ip值,只有通过手动指定默认网关把主机的mac-ip值通告给网关。指定dns服务器地址可以让linux服务器以域名的方式访问互联网上的其他机器。指定域名服务器地址过程很简单,只需用vi编辑文件/etc/resolve.c nameserver 202.106.0.20 保存退出。需要特别注意的是,不要把指定dns服务器与设定本linux服务器为dns服务器搞混了,这是两个完全不同的东西:前者为客户端,后者为服务器端。 
还有一种特殊情况,在只有一个网络设备的条件下,我们需要设置几个ip地址,比如基于ip地址的虚拟主机。这种操作称为设备别名。eth0的第一个别名是/etc/sysc 
在系统提示符下,用命令#ifc eth0 200.200.200.200 255.255.255.248 up也可指定或修改网络设备的网络参数。但是这种修改方式是动态进行的,系统重启以后就无效了。以命令#route add default gw x.x.x.x 添加的默认网关也是同样的效果。 
修改网络参数后,要使修改立即生效,不需要重启计算机,重新启动网络服务就可以了。在redhat linux 9以后的版本,只要输入命令#service network restart即可,然后用命令#ifc ╟a来检验修改的结果。 
修改网络参数需要管理员权限才能进行。 

文件系统和原始设备 
在这里介绍文件系统和原始设备( raw device)的目的主要是为将来安装大型数据库oracle或sybase奠定一些基础,因为这些数据库可以使用文件系统或原始设备作为逻辑存储区域。 
文件系统是一种存储数据的方法,采用分层目录结构来存储文件,由一个根目录和许多子目录、文件组成(ibm aix 5l系统管理技术定义)。redhat linux 9主要包括以下一些目录: 
1、/bin:linux通用命令。 
2、/dev:系统设备文件。 
3、/etc:管理配置文件。 
4、/home:各用户的目录。 
5、/mnt:挂接设备的位置。 
6、/root:根用户的主目录。 
7、/sbin:系统管理命令和守护进程。 
8、/tmp:临时文件目录。 
9、/var:应用程序使用的数据目录,如系统日志文件目录、匿名ftp目录等。 
10、/usr:手动安装程序的目录。 
对于文件系统的目录及其目录下的文件,我们可以直接进行访问,例如在/tmp下创建目录/tmp/test。 
原始设备指不是由基础操作系统可以管理的磁盘,这句话不太好理解。给linux服务器添加一个硬盘,创建分区,但是不能直接用基本命令对这个分区进行操作,比如直接在上面创建目录,只有通过挂接才可以进行磁盘i/o操作。例子的命令:#mount /dev/sdb1 /mnt/dsk2, cd /mnt/dsk2,在这个目录下就可以创建文件等基本操作了。sybase等数据库可以直接指定原始设备为存储空间,其目的是使数据的修改立即写入磁盘。 

运行级别 
redhat linux 有0-6等几种运行级别。与solaris和aix的运行级别的定义差异较大。按照前面安装linux的设定,系统启动后进入的运行级别是3。要切换到别的运行环境只需输入#init <runlevel> 。下面列出各个运行级别的功能: 
1、 运行级别0:关机操作。 
2、 运行级别1:单用户维护模式。这种模式只能是用户root,上文我们更改遗忘的 root 密码就是在这种模式下进行的。另外,有时文件系统损坏时进行修复,也要在这种模式下进行。运行级别1相当与ms windows 2000的安全模式。 
3、 运行级别2:多用户模式。所有配置文件系统被挂装,但nfs资源不可用。运行级别2与ms windows 2000的带网络的安全模式有些类似。 
4、 运行级别3:这是linux服务器的正常模式,系统资源完全可用。 
5、 运行级别4:用户自定义。 
6、 运行级别5:多用户带网络服务加图形界面(init 3加图形)。这相当于ms windows的正常模式。如果没有安装xwindow就不能启用这个级别,用命令#startx也可从运行级别3切换到运行级别5。 
7、 运行级别6:重新启动计算机。 
在一般情况下,我们需要linux服务器工作在运行级别3下,偶尔为了操作方便会使用5这个级别。linux还有另外一些运行级别,但不多用。熟练掌握上述几个运行级别对于系统维护是很有帮助的。 

远程操作linux服务器 
linux服务器基本配置完成后,需要把它撤离测试台,也许要把它放在隔自己办公室很远的idc机房,或者由于同事无法忍受机器巨大的噪音而必须把它放在某个隔离的小房间的机柜里。我们更愿意坐在自己的办公桌前,用桌面系统或笔记本来远程控制和操作放在在某个地方的linux服务器,然后惬意的喝一杯咖啡。 
telnet曾作为最主要的远程管理工具,由于其存在安全隐患而逐渐失宠,从redhat linux 7.1开始,默认情况下 telnet 服务是不启用的。安全shell包(ssh)由于它提供对数据的加密传输,具备较高的安全特性,因此越来越多的系统管理员正在在使用ssh来管理远程的 linux服务器。 
要使用ssh服务,应当保证openssh-server软件包被安装,一般情况下,ssh服务器被配置成自动启动,在 linux服务器端,不必对ssh做任何设置,只需保证它被安装和启动就可以了。redhat linux 允许root用户远程登录,而redflag linux则在默认情况下不允许root 用户远程登录。可通过修改文件 /etc/sshd/sshd_c no”表示不允许root用户远程登录,“permitrootlogin yes”表示允许root用户远程登陆。我本人习惯使用root远程登录。 
1、 从linux连接:输入命令#ssh <远程linux服务器的ip地址或域名>,回车后输入 root密码就可以得到root的shell环境,与直接操作linux服务器一样。 
2、 从windows连接:有多款用来连接linux服务器的远程管理工具,比较有名的有securecrt、netterm、xmanager、putty等。securecrt是个不错的工具,它不仅支持ssh,还支持文件上传功能。windows下配置securecrt是比较容易的,在此不做介绍。 
下图是securecrt使用ssh登录linux服务器的事例: 

当作好上述的准备后,真正的远程操作/控制可以开始了。 



















本文转自sery51CTO博客,原文链接: http://blog.51cto.com/sery/5542,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: