问题描述

安装好了centOS服务器,一直用Secure CRT工具通过ssh服务来远程连接linux,很方便的进行各种操作。今天偶然尝试了一下在非root的一般用户下执行重启服务器的命令,发现一般用户是没有权限执行重启的,果断使用sudo命令再次执行,终于重启成功,却发现Secure CRT再也连不上服务器了,郁闷不已,去网上查找各种资料总算有了一点粗浅的认识,记录下来,也让其他的linux beginner们能够少走些弯路吧。

普通用户下执行重启命令:

shutdown -r now  或者  reboot

其中-r为重启,改为-h则为关机;而now为马上,也可以改成数字,单位是分钟,也是使用shutdown命令可以实现定时关机和重启。

以上的命令在普通用户下是没有权限执行的,需要sudo,有关sudo命令的配置在之前的博文中已经详细解释过(参见:http://www.cnblogs.com/bxljoy/p/3868494.html):

sudo shutdown -r now

input passwd:

根据提示输入该用户的密码,回车执行,系统开始重启,Secure CRT的ssh连接自动断开,然后就会无法连接了。

原因及解决方案

我经过测试发现,如果切换到root用户下,执行上述的重启命令是正常的,可以用ssh连接到服务器,所以问题的原因应该是普通用户重启之后网络不通。

在之前的博文中我们曾经介绍过linux的网络配置,/etc/sysconfig/network-scripts/ifcfg-eth0的配置文件中,ONBOOT=yes必须设置,这样可以保证系统重启时,网络服务也会自启动,否则会导致网络不通。

而我们知道,重启动网络服务的命令为:

service network restart

而重启服务的命令的执行必须要有root用户的权限,所以通过一般用户进行重启后,执行此类重启服务的命令都没有足够的权限,从而导致了服务的启动失败。

这也是我自己猜测,并没有找到太详细的资料,希望有高手能够对这个问题进行详细的解释。

另外,linux重启时,会执行/etc/rc*.d目录下的各种服务启动脚本,而/etc/rc*.d其实是/etc/rc.d/rc*.d的链接(类似于windows的快捷方式),其中,我在/etc/rc.d/rc.local文件中找到了service network restart的命令,不知道是否执行的就是这里的服务启动命令,希望高手指正。

linux下用非root用户重启导致ssh无法连接的问题的更多相关文章

  1. Linux系统下给非root用户添加sudo权限

    Linux系统下给非root用户添加sudo权限 有时,在linux系统中非root用户运行sudo命令,会提示类似信息:  xxx is not in the sudoers file. This ...

  2. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...

  3. linux下使用非root账号安装zabbix-client

    linux下使用非root账号安装zabbix-client使用非root账号rusky登录:[rusky@testServer]#tar zxvf zabbix-2.4.5.tar.gz #cd z ...

  4. perl 下使用非root用户安装模块

    perl下安装模块可以使用cpan命令,但是通常我们不具有root用户权限,所以只能以sudo方式安装模块. 例如需要安装Net::SCP::Expect模块, 执行cpan Net::SCP::Ex ...

  5. Linux暂时提升非root用户的权限

    sudo 用于提升非root用户的某些命令执行权限 1,使用root用户,复制vim /etc/sudoers 文件的第91行修改为,想提升的用户名称 root ALL=(ALL) ALL admin ...

  6. linux指定某非root用户执行开机启动项的方法(gogs git)

    以linux指定git用户在linux开机时执行启动gogs git为例: 以root登录linux 执行vi /etc/rc.d/rc.local 在文档末尾添加一行语句:su git -c &qu ...

  7. Linux下非root用户运行Tomcat

    PS:Linux下使用非root用户运行tomcat的原因 由于项目需求,也由于root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限. 这意味着你的任何一个页面脚本(htm ...

  8. 非root用户安装科学计算包blas、lapack和FFTW

    一.安装FFTW 1.下载安装包 下载地址:http://www.fftw.org/download.html  2.编译安装 tar -zxvf fftw-3.3.10.tar.gz cd fftw ...

  9. [转载]Linux下非root用户如何安装软件

    [转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之 ...

随机推荐

  1. margin的BUG

    在进行简单的div盒子嵌套时,发现设置margin-top时存在bug,然后就去谷歌搜索了一下,发现margin确实存在bug. bug的现象是父子元素嵌套时,如果子元素是块元素时,对块元素设置mar ...

  2. php 文件上传一例简单代码

    1.程序文件 <?php //判断临时文件存放路径是否包含用户上传的文件 if(is_uploaded_file($_FILES["uploadfile"]["tm ...

  3. 使用 Visual Studio Team Test 进行单元测试和java中的测试

    C#中test测试地 方法一. 1.从NUnit官网(http://www.nunit.org/index.php)下载最新版本NUnit,当前版本为NUnit2.5.8. 2.安装后,在VS2008 ...

  4. cadence16.6 如何对齐元件

    1.选中Setup-->Application Mode-->Placement Edit mode2.按"CTRL"键,选中需要对齐的所有对象.3.点击右键右,或者在 ...

  5. iOS的SandBox的结构研究

    在模拟器中运行iOS程序,都会为该程序创建一个沙盒(SandBox).首先声明,我用的系统是Max OS X 10.7.3,编译器是Xcode 4.3.2.想要找到沙盒目录,先运行Finder,然后在 ...

  6. .net视图中日期格式化

    昨天在做一个功能,要在界面上按照规定的格式显示一个时间,如果直接在expression那里格式化的话(如下:) @Html.DisplayFor(c => Convert.ToDateTime( ...

  7. 微软职位内部推荐-SDE2 (Windows - Audio)

    微软近期Open的职位: SDE2 (Windows - Audio) Windows Partner Enablement team in Operating System Group is loo ...

  8. 输入adb shell 时 提示error: more than one device and emulator

    第一种情况:确实用多个设备或者模拟器 解决办法:(指定连接某一个设备或者模拟器) 1.获取模拟器/设备列表   adb devices 2.指定device来执行adb shell   adb -s ...

  9. 机器学习中的数学-线性判别分析(LDA), 主成分分析(PCA)

    转:http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html 版权声明: 本文由L ...

  10. hibernate中增加annotation @后不提示信息【转】

    此文转自:http://blog.knowsky.com/252047.htm 所需要用到的3个jar包分别是: hibernate-annotations.jar ejb3-persistence. ...