视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
linux基本服务
2025-10-02 15:41:26 责编:小OO
文档
            Linux课程指导

                                                    ——Linux基本服务

服务,其实就是运行在操作系统后台的一个或者多个应用程序,为计算机系统或用户提供某项特定的服务。

服务通常是不中断运行的,随时准备接受请求,从而提供某项服务。例如我们日常使用的网页服务,其就是由一个运行在所访问网站的服务器上的httpd服务提供的服务,我们通过在浏览器输入需要访问网站的域名,服务器端的httpd服务就会随时的接收我们发送过来的请求,并响应回给我们的用户。

我们Linux系统绝大多数服务都是网络服务,例如邮件服务、FTP服务、httpd服务等等,网络服务可以使为其他用户、其他计算机提供特定的服务。

一.查看系统有哪些服务。

在/etc/init.d下有所有System v 的服务的运行脚本,所以要看系统有哪些服务只要cd /etc/init.d 然后 ls 就可以了。下面是以ubuntu 12.04 LTS 为例截下的图片。

二.如何启用这些服务

对于Linux的所有的这些服务,我们通过 service 这个命令来进行统一的管理

命令 service 可以调用指定服务的System V脚本,并执行指定的动作具体的用法是:

service 服务名 [start | stop | restart | status]

分别是启动服务、关闭服务和重新启动服务,如果要查看以运行的服务状态,则勇敢status命令。

三.如何查看我系统中服务的运行状态

在 /etc这个目录下,除了我们刚才的 init.d 这个目录,我们还发现还有其它的一些目录,诸如 rc0.d、rc1.d等,这些目录就分别对应了系统的7种启动级别,每个目录里面都存放了许多的文件,每个文件对应着一个特定的服务,并标志有是否开机启动以及启动顺序,例如我们进入到 rc5.d 这个目录

我们如果希望某服务开机就启动,可以通过修改 rc5.d 目录下的链接文件,不过这样做很麻烦,Linux系统提供了一个chkconfig命令可以来设置服务是否开机启动

例如我们通过chkconfig --list命令来查看所有服务的开机启动情况

使用范例:

chkconfig --list        #列出所有的系统服务

chkconfig --add httpd        #增加httpd服务

chkconfig --del httpd        #删除httpd服务

chkconfig --level httpd 2345 on        #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态

chkconfig --list        #列出系统所有的服务启动情况

chkconfig --list mysqld        #列出mysqld服务设置情况

chkconfig --level 35 mysqld on        #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭

chkconfigmysqld on        #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级

等级说明:

   等级0表示:表示关机

      等级1表示:单用户模式

      等级2表示:无网络连接的多用户命令行模式

      等级3表示:有网络连接的多用户命令行模式

      等级4表示:不可用

      等级5表示:带图形界面的多用户模式

      等级6表示:重新启动

      需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。

四.常用服务介绍

1. telnet

telnet 是一条远程登陆命令,整个过程不加密,远不如ssh服务安全,推荐有需求

的同学使用ssh来代替telnet。

2. ssh

ssh可以认为是telnet 的升级版,在telnet 的基础上提供了一些安全服务。如果

我们只是使用最基本的服务的话,ssh服务是很容易配置的。标准的Ubuntu 中并没有自

带ssh服务,需要我们手动安装:

sudo apt-get install ssh

安装完成后ssh默认是开启的,如果没有,使用“sudo service ssh start”来

开启。

在宿主机中下载putty 并运行,可以看到如下界面:

ssh服务默认使用的端口号为22,输入虚拟机IP,选择连接类型为SSH,就可以打开

会话了:

输入用户名和密码登陆成功。

ssh是需要公钥密码支持的,在首次登陆时,由于缺少预密钥和一些其他的基本信息,

所以会提示与远程ssh服务器交换公钥,确认即可。

3. ftp

ftp 服务可以说是三种基本服务中最麻烦的,因为前两种是远程登录,可以说与本地登

录并没有什么区别,登录之后就拥有了登入用户的全部权限;但ftp 服务不同,基于安全

目的,它需要控制登入用户的权限。

所以就在配置过程中出现了一个很经典的错误:

500 vsftpd: refusing to run with writable root inside chroot()

这个问题我们放在后面会说,先来看基本的配置。Ubuntu 没有自带ftp 服务器,所

以需要手动下载:

sudo apt-get install vsftpd

安装完成后,在登录之前,可以先行查看ftp 服务的运行状态:

servicevsftpd status

如果服务正在运行,系统会提示:“vsftpd start/running, process [\\d]”,

否则则会提示“vsftpd stop/waiting”。这个时候就需要手动开启(重启)服务:

sudo service vsftpd start/restart

Linux 下所有的配置文件都放在/etc文件夹下,我们可以在其中找到vsftpd.conf,

这是ftp 服务器的配置文件,我们可以按照自己的需要去掉相应行的注释,来启用相应的

配置。下面是一些推荐的配置,同学们可以把之前的配置文件备份一份,然后用这个把之前

的配置覆盖掉:

listen=YES

anonymous_enable=YES

no_anon_password=YES

local_enable=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

use_localtime=YES

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

ftpd_banner=Welcome to blah FTP service.

deny_email_enable=YES

banned_email_file=/etc/vsftpd.banned_emails

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/private/vsftpd.pem

然后我们使用ftp localhost指令或者在宿主机中使用相应的ftp 软件登录服务器,

出现一开始提到的那个错误。这是因为服务器不认识我们登陆的用户名。打开

/etc/vsftpd.chroot_list文件(直接用sudo vi 打开,没有则自动新建),我们把

自己的用户名添加进去,就可以成功登陆了。

细心的同学可能发现了,在上面的配置信息中我是允许匿名用户登陆并且开放了较高权

限的(我的虚拟机使用NAT,对比较安全),如果匿名登陆不成功,则需要为匿名用户

分配一个主文件夹。如果/home 下没有ftp 文件夹,则我们可以自己手动新建一个,并输

入以下指令来为ftp 匿名用户指定主文件夹:

sudousermod -d /home/ftp ftp

至此,虚拟机基本的ftp 服务终于配置好了,在共享文件夹出现问题或者其他情况的

时候,我们就可以使用ftp 服务来在虚拟机和宿主机之间传输文件了!

FTP 登陆成功FTP 匿名登陆成功

因为整个过程中出现和解决了各种各样的问题,所以可能会有一些细节的遗漏,希望同

学们在学习的过程中如果出现了问题及时和我联系讨论,共同进步!下载本文

显示全文
专题