每一个看似轻松的结果背后都有不为人知的辛酸。又是一件小事,结果折腾了一天。

上接配置好SSH 和Samba后,开始了Python编程实践。由于实在不大会用Vim, 所以最后的编程环境实际上在Windows下用Notepad++写代码,通过Samba服务器更新直接同步到Ubuntu,当天用的还不错,把Python文件操作这部分算是小试牛刀了一下。

睡一觉起来后,悲剧开始了:SSH开始连接不上了!ssh localhost也不行。

Error 1 : connection reset by peer

Error 2: connection refused

坦言讲,这两种错误以前都遇见过,算是比较常见的错误,但google后似乎没看到特别好的解决办法,不过可以断定的是,sshd_config 配置文件有问题。

使用 grep sshd /var/log/auth.log查看下ssh服务相关的错误日志。

悲剧2: 为了查看配置文件方便,一条 chmod 777 -R /etc/ 执行了(最开始只在Python的WorkDirectory设置了777)

结果就是sudo命令再也执行不了。

Error 3:

sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

/etc/sudoers默认只有root有读权限(440),

p@VM:~$ ll /etc/sudoers
-r--r----- 1 root root 745  2月 11  2014 /etc/sudoer

看起来是系统检测到 /etc/sudoers 的读写属性发生了变化,然后给出了提醒。所以现在是sudo的所有命令都执行不了。要说以前在12.04版本的时候貌似也这么干过,但是并没有出现过这种问题,姑且认为是到14.04版本安全性又提高了。

关键词丢进google,差点没吐血。这几乎是一个致命的错误 :要么重装系统,要么用USB portable或者开机切入到recovery/single模式,进入root shell,把 文件权限设置回去。 这两种方式都不好弄,最后终于找到了一个bypass方法:

http://askubuntu.com/questions/304212/how-to-solve-sudo-etc-sudoers-d-is-world-writable

#pkexec chmod 0440 /etc/sudoers

这条命令是可以在普通用户下执行的,执行会弹出一个图形对话框,要你输入root密码,然后切入到root.

算是切回来了,捏了一把汗。当然接下来脑子一热,没有搞清楚/etc/sudoer的正确权限,手贱执行了#chmod 600 /etc -R又是另一个悲剧:

Error 4:

sudo: /etc/sudoers is owned by uid 1000, should be 0

sudo: unable to stat /etc/sudoers.d/README: No such file or directory

这回#pkexec chmod 0440 /etc/sudoers 也执行不了,而且google下来 多数也是指向最开始提到的两种方法。

(1)USB进入

由于是Hyper-V虚拟机方式,修改开机启动顺序,从光驱加载ISO启动,进入后选择 "Try Ubuntu",使用默认Ubuntu用户倒是能直接切入root,检查发现我之前的/home 目录不存在,预感这种方法不行,直接切换到下一种方法了。

(2-1)Single模式

这个在忘记root密码时经常会用到这个办法

a) 在出现grub画面时,用上下键选中你平时启动linux的那一项,然后按e键

b).再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键

c). 修改你现在见到的命令行,加入single,结果如下:

kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/

d). 回车返回,然后按b键启动,即可直接进入linux命令行

e). 输入passwd,再输入两次新密码;

f). #reboot重启

这是理想情况,以前在CentOS和 BlackTrack上也实践过,问题都不大。结果这回在Ubuntu 14.04上,进入编辑模式后,居然出现了if else模式,敢情grub也跟着变复杂了。不知道single 该加在哪里了, 想想真是恨不得马上回到12.04版本还是自己熟悉的系统好, 放弃。

(2-2)Recovery模式

这个实在是个槽点,开机启动后 一直卡在 "Booting system without full network configuration" 过不去。

以前不记得Linux系统还必须检查网络的情况(Not a Must),这回居然栽在这上面,而且Ctrl+Alt+F1 ,进入了字符界面,却一直没有出现root shell. 亦放弃。

所以最后,经过一上午的折腾,结果是:重装系统。

到这为止,又印证了上一篇文章提到的:花N多时间解决一个问题,不如直接重装系统来的快。这似乎跟开发人员所说的看懂别人的代码的过程还不如自己重新写代码。

挂机重装完系统,下午继续。

配置key认证登陆Ubuntu (上)的更多相关文章

  1. 配置key认证登陆Ubuntu (下)

    梗概: 使用证书登陆,可以减少密码的使用,避免密码泄露,证书登陆更加方便.安全. Secure CRT 和Putty 原理相同,生成 密钥对(Key pair)操作有所不同. 1.生成key pair ...

  2. linux SecureCRT ssh key认证登陆

    转自:http://blog.chinaunix.net/uid-20639775-id-3207171.html 通过SecureCRT创建key登录认证 一.生成公钥/密钥对 使用SecureCR ...

  3. Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) (转载)

    Hadoop在处理海量数据分析方面具有独天优势.今天花了在自己的Linux上搭建了伪分布模式,期间经历很多曲折,现在将经验总结如下. 首先,了解Hadoop的三种安装模式: 1. 单机模式. 单机模式 ...

  4. Ubuntu上配置SQL Server Always On Availability Group(Configure Always On Availability Group for SQL Server on Ubuntu)

    下面简单介绍一下如何在Ubuntu上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 目前在Linux上可以搭 ...

  5. Configure Always On Availability Group for SQL Server on Ubuntu——Ubuntu上配置SQL Server Always On Availability Group

    下面简单介绍一下如何在Ubuntu上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 目前在Linux上可以搭 ...

  6. ubuntu上vsftpd服务配置

    Ubuntu上提供两种常用的ftp服务应用:vsftpd 和 tftpd,区别如下: 1)vsftpd 支持客户端上下传文件,支持浏览器显示及下载,支持用户名密码认证,支持匿名访问,默认端口TCP:2 ...

  7. 微软KinectV2深度传感器在Ubuntu上的配置和使用

    最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents   ------------------------------------------ ...

  8. ubuntu上配置nginx实现反向代理

    反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...

  9. Ubuntu上latex+atom配置

    网上流传的latex+atom大都是windows上的,Ubuntu与windows上的配置方式大同小异,这里写下自己的经验: 分为三个步骤,首先安装texlive,texlive是latex的依赖库 ...

随机推荐

  1. Node.js小白开路(一)-- fs篇

    文件操作在我们的日常功能模块之中是十分的常见的内容,nodeJS也不例外的为我们提供了之一操作内容,当时在我们了解文件操作的之前我们先来了解一下链接. 连接可以理解成为一个纸箱相关文件内容的地址,其主 ...

  2. 【scala】Option类型

    一般来说,对于每种语言都会有一个关键字来表示一个对象引用的“无”.在Java中使用的是null. 而Scala则融合了函数式编程的风格,当预计到变量或者函数返回值可能不会引用任何值的时候,使用Opti ...

  3. hibernate映射(一对一、一对多、多对一、多对多)配置 【转】

    多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向一 一对多关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是一指向多 也就是说一对多和多对一的映射策略是一样的,只是站 ...

  4. Ubuntu語言支持爲灰色修復方法

    Ubuntu語言支持爲灰色修復方法 在Ubuntu12.04中,在下不知爲何將 語言支持 中 應用到整個系統 和 添加語言 這2個按弄成了灰色,導致ibus不能輸入中文,現在唔將修復方法公告天下: 1 ...

  5. android线程 Handler Message Queue AsyncTask线程模型 线程交互 + 修改Button样式 示例 最终easy整合版

     首先原谅我把文章的标题写的这么长.其实我还嫌弃它短了因为 写不下去了所以我就不写了.因为我实在不知道该怎么定义这篇文章的标题或许应该叫 "乱谈"比较合适. 这样可能还体现了 ...

  6. Win7系统64位环境下使用Apache——Apache2.4整合Tomcat与mod_jk

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/70398091 本文出自[我是干勾鱼的博客] 之前的几篇文章: Win7系统64位 ...

  7. 阿里云,腾讯云,等等的云 Ubuntu14.04升级16.04

    16.04有很多好处.在此不说了 这几天来回折腾了各种的云,然后发现国内的都没有16.04 但是ubuntu可以直接在线升级 在此记下来升级的过程 不管是腾讯云也好 阿里云也好,或者别的什么云,只要是 ...

  8. E: Could not get lock /var/lib/dpkg/lock解决

    ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决 通过终端安装或卸载程序sudo apt-get install/autoremove xxx时出 ...

  9. 卷积神经网络实战-----0001(移植卷积神经网络c++ to python or java)

    1. https://github.com/174high/simple_cnn  自己fork的 2. https://github.com/can1357/simple_cnn   最初始的 3. ...

  10. (二)canvas边框问题

    lineWidth 设置边框的大小 fillStyle 设置div的颜色 strokeStyle 设置边框的颜色 注: 边框在不设置的情况下默认为1px 黑色,但是x,y轴的距离是以图形的正中心为原始 ...