linux下用非root用户重启导致ssh无法连接的问题

问题描述

安装好了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无法连接的问题

时间: 2024-10-08 05:05:50

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

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

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.特点: Mysql是开源的,所以你不需要支付额外的费用.Mysql支持大型的数据库.可以处理拥有上千

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

linux下使用非root账号安装zabbix-client使用非root账号rusky登录:[[email protected]]#tar zxvf zabbix-2.4.5.tar.gz #cd zabbix-2.4.5 编译安装:# ./configure --prefix=/home/rusky/zabbix --enable-agent# make install 修改配置文件: cd /home/rusky/zabbix$ lsbin etc lib sbin sharevi ./e

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

perl下安装模块可以使用cpan命令,但是通常我们不具有root用户权限,所以只能以sudo方式安装模块. 例如需要安装Net::SCP::Expect模块, 执行cpan Net::SCP::Expect 首次使用cpan命令会出现 choice  local or sudo的样式,默认为local,建议使用sudo. 最后会出现 ERROR: Can't create '/usr/local/man/man3' Do not have write permissions on '/usr/

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

sudo 用于提升非root用户的某些命令执行权限 1,使用root用户,复制vim /etc/sudoers 文件的第91行修改为,想提升的用户名称 root ALL=(ALL) ALL admin ALL=(ALL) ALL 2,切换到admin用户 sudo poweroff 原文地址:https://www.cnblogs.com/duguangming/p/11116252.html

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

有时,在linux系统中非root用户运行sudo命令,会提示类似信息: xxx is not in the sudoers file. This incident will be reported. 这里,xxx是当前用户名,该用户无法执行sudo命令,这时候,解决方法如下: 1.进入超级用户模式.也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式.(也可以直接用root登录): 2.给配置文件“/etc/sudoers”添加“写”权限.输入命令: c

Linux下 mysql忘记root用户密码

今天在接收一台MYSQL服务器的时候发现忘记MYSQL的root用户的密码,查找资料发了各种文档里面也没有root用户密码,因此需要修改root用户密码. 首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库.因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改MySQL的信息.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 1.修改MySQL的登录设置: 在[mysqld]的段中加上的s

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

以linux指定git用户在linux开机时执行启动gogs git为例: 以root登录linux 执行vi /etc/rc.d/rc.local 在文档末尾添加一行语句:su git -c "/data/gogs/gogs  web > /data/gogs/log/gogs_web.log 2>&1 &" 保存rc.local即可.

【翻译自mos文章】在hp-ux操作系统下以非root用户安装tusc

来源于: Installing TUSC for HP-UX 11.00, 11.11,11.23,11.31(PA-RISC and Itanium) on the fly as a non-root user (文档 ID 314533.1) APPLIES TO: ALL PRODUCT ACCESS - Version: HP-UX PA-RISC (64-bit) HP-UX PA-RISC (32-bit) HP-UX Itanium GOAL The goal of this do

Linux环境下非root用户安装Python及相关库

以前在使用python的时候,都是使用root用户安装好的全局python,现在,因为root用户安装的Python版本太低,同时自己没有root权限去对全局Python升级,所以要在非root用户下安装自己指定的Python.因此,就重新整理了一份如何在Linux环境下使用非root用户安装python及其相关的库,以备不时之需. 安装python python版本库https://www.python.org/ftp/python/,此处我选择2.7.5版本的,在安装python的时候,使用