楼赛是实验楼新上线的项目挑战。不同于侧重算法的 OJ、ACM一类的,楼赛考验的是动手能力,分析和解决问题的能力。这些正是实验楼的动手实践学IT理念所推崇的。

作为实验楼第一次常规周赛,本次三道题目有很多同学询问标准答案,因此制作了题目解析文档,希望对大家有所帮助。答案并不一定是最优的方案,欢迎大家贴出。

比赛结束后,仍然可以挑战,但成绩不再计入排行榜,如果你还没试过,先去挑战下再来看解析会更有收获!

正在进行的比赛:

第1期 楼赛的主题是 Linux,涉及 Linux 用户管理、sudo 权限设置、MySQL 及 nginx 排错等知识点。题目难度不大,有过 Linux 运维经验的都可以快速完成。

题目1:为新同事创建系统账户

本题目中需要在桌面环境中创建用户,并满足一系列条件:用户名:lousai

Home 目录:/home/lousai

允许 lousai 使用 SSH 登陆系统

lousai 用户默认使用 zsh

lousai 用户需要 sudo 权限

其中1,2,4 三个要求只需要一个 adduser 命令就可以完成:

sudo adduser --home /home/lousai --shell /usr/bin/zsh lousai

由于实验楼环境的配置,新创建的用户只要有密码,默认是允许通过 SSH 登录的,所以需求 3 不需要做任何事情。

最后需求 5 需要 sudo 权限,可以直接将新用户加入到 sudo 组:

sudo usermod -aG sudo lousai

至此,五个需求都已经完成,提交结果让实验楼的系统帮你测试下吧。

题目2:数据库无法启动

在这道题目中有三个坑:MySQL 服务无法启动 - bind address 配置错误

MySQL 服务无法启动 - /var/run/mysqld 权限配置错误

MySQL root 密码忘记

前两个坑都可以在尝试 sudo service mysql start 命令后查看 /var/log/mysql/error.log 报错日志发现。

坑1相关的报错日志:

修复的方法是把 /etc/mysql/my.cnf 配置文件中的 bind-address 改为 127.0.0.1 监听到本地就可以了。

坑2相关的报错日志:

Permission denied 的错误显示出来我们就需要去看下是哪个目录是没有权限,第二句日志中表示无法创建 /var/run/mysqld/mysqld.sock,去查看 /var/run/msyqld 发现默认的所有者是 shiyanlou 用户,这就是问题所在了。修复方法:

sudo chown mysql:msyql /var/run/mysqld

最后坑3则是很常规的重制 MySQL 密码了:

# 停止 mysql 服务

sudo service mysql stop

# 使用 mysql_safe 方式启动 mysql 服务

sudo mysqld_safe --skip-grant-tables&

然后使用 mysql 命令直接登录无需密码验证:

mysql -uroot mysql

登陆 mysql 后可以重新设置 root 的密码:

> UPDATE user SET password=PASSWORD("shiyanlou") WHERE user='root';

> FLUSH PRIVILEGES;

退出后使用 sudo service mysql restart 重新启动 mysql 服务,遍可以提交结果获得美丽的 PASS 标志了。

题目3:让实验楼网站恢复访问

这道题目中也包含三个坑:nginx 的配置文件格式错误

nginx 默认端口号被占用

nginx 配置中的站点目录错误

首先尝试启动 nginx 会发现报错,查看日志:

日志里就一句话,告诉了我们真相,在 /etc/nginx/sites-enabled/default 第36 行中有语法错误。修改这个文件在下面这行后面加上缺失的分号:

try_files $uri $uri/ =404;

坑1可以通过 nginx -t 检查配置文件语法的方式发现。

坑2可以在日志中发现原因:

当前 80 端口通过访问发现是 apache,把 apache 停止就可以了:

sudo service apache2 stop

最后一个坑题目中已经给出提示:实验楼网站页面目录为 /home/shiyanlou/page。

而配置文件中写的是 /home/shiyanlou/,更新文件中的这一行:

完成后重启 nginx:

sudo service nginx restart

再次打开浏览器访问 http://localhost 就能够看到我们实验楼熟悉的主页了。

如果你对以上解析有疑问,欢迎到楼赛第1期讨论贴参与讨论!

后记

实验楼的比赛模块还在试运营中,我们期待能创建一个真实体现参与者水平的竞赛模式。楼赛我们会尽可能保持每周1期,并且会为前10名颁发徽章及奖品。

楼赛第2期传送门:数据库项目挑战

实验楼python挑战答案_楼赛第1期-Linux项目挑战 题目解析相关推荐

  1. python单元测试答案_知到Python程序设计基础单元测试答案

    程序测试美容最新章节0知学时答案到A与艺测试术(. 设计免费0智小说慧树考试导论答案期末路遥题库. 基础智慧课答案章案计_节答流行与设服装树网.慕课中国_现考试大学代教答案育技术_.众号学习科学库公启 ...

  2. 知道python测试答案_大数据分析的python基础知道章节测试答案

    大数据分析的python基础知道章节测试答案 更多相关问题 下列是内流湖的是[ ]A.青海湖 B.洪泽湖 C.洞庭湖 D.西湖 下列河流冬季有结冰现象的是[ ]A.松花江 B.黄河 C.珠江 D.长江 ...

  3. 上海交通大学出版社python教材答案_上海交通大学出版社python答案

    上海交通大学出版社python答案 python中布尔变量的值为 对负数取平方根,即使用函数math.sqrt(x),其中x为负数,将产生 python函数定义中没有对参数指定类型,这说明,参数在函数 ...

  4. 高中信息技术python及答案_高中信息技术《Python语言》模块试卷 -

    12. a的7倍减3的结果,对b(b不等于0)取余,正确的表达式是( ) (A)(7a-3)/b (B)7*a-3%b (C)(7a-3)%b (D)(7*a-3)%b 13.下列可以将变量x和y的值 ...

  5. 高中信息技术python及答案_高中信息技术《Python语言》模块试卷.doc

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 线 _ - - _ - _ - _ - - _ - _ - _ - _ - - ...

  6. 阿尔法python课程答案_阿尔法编程python答案

    阿尔法编程python答案 s = "abcd1234",find()函数可以在字符串中搜索子串,s.find("cd")返回的结果是__________. 以 ...

  7. 智慧树python程序设计答案_智慧树知道Python程序设计完整答案

    智慧树知道Python程序设计完整答案 更多相关问题 已知函数f(x)=a(1-2|x-12|),a为常数且a>0.(1)f(x)的图象关于直线x=12对称:(2)若x0满足f(f(x0))=x ...

  8. 趣学python编程答案_《趣学Python编程》习题总结

    上周买了本书叫<趣学Python编程>(英文名:Python for kids),昨天看完后把书后面的题都做了下.由于第1.2章没有习题,第13章及之后都是描写实例的章节,因此这个总结性的 ...

  9. 职教云python程序设计答案_智慧职教云课堂Python程序设计基础题目及答案

    智慧职教云课堂Python程序设计基础题目及答案 更多相关问题 轻症感染合理应用抗菌药物A.内服给药疗效差B.治疗剂量高限,静脉滴注 C.治疗剂量低限,静脉滴注D. 传导速度最慢的是A.窦房结 B.心 ...

最新文章

  1. 【怎样写代码】小技巧 -- 关于引用类型的两种转换方式
  2. 【已解决】window10任务栏图标显示异常解决方法--有详细解释
  3. 03 | 基础篇:经常说的 CPU 上下文切换是什么意思?(上)
  4. java 内存快照怎么看_jvm内存快照dump文件太大,怎么分析
  5. Truncated SVD for faster dection
  6. Mongodb 备份 还原 导出 导入 等批量操作
  7. C++之get、getline探究
  8. php能开发管理系统吗,PHP《个人管理系统》希望大家一起来开发
  9. houdini 渲染wireframe
  10. jvm与dvm两种虚拟机的不同
  11. xmind试用模式会过期吗_汽车可以一直用s档吗?运动模式到底会不会伤车?
  12. android 嵌入web容器,Github最火开源项目-H5和Android通信容器BridgeWebView的使用
  13. SpringBoot java配置类@Configuration 的两种写法
  14. Python 过滤a文件中每一行内容,保存到b文件中
  15. 大数据python之简单的网络爬虫代码实现(单一与循环代码进行网络爬虫)
  16. 信息系统项目管理师学习笔记3—项目立项管理
  17. RNN网络对新冠疫情进行预测
  18. 基于SpringBoot的医疗管理系统(Java毕业设计)
  19. 浏览器使用华视电子设备读取身份证信息
  20. 2D-Driven 3D Object Detection in RGB-D Images

热门文章

  1. BZOJ 2442 [Usaco2011 Open]修剪草坪:单调队列优化dp
  2. 设计模式之adapter模式
  3. Vue系列:通过vue-router如何传递参数
  4. 利用openpyxl来读取Excel数据
  5. 很实用的一个ext表格,具有很好的分页功能。
  6. Chapter 3: 常用SQL * PLUS命令
  7. HDU2023 求平均成绩【入门】
  8. Bailian4122 切割回文【DP】
  9. EDUCoder编程练习题解(循环)
  10. HDU2077 汉诺塔IV【递推+打表】