前言

环境: virtualbox + Ubuntu 16.04

情况:

  • 可以进入虚拟机中Ubuntu系统的桌面,但是外部可以访问到 ssh,输入正确的用户名和密码无法登录
  • 无法正常启动 Apache

最后解决方法是 增加一个新用户并分配为sudoers,然后外部可以通过ssh 方式可以登录进服务器中


Apache 无法启动的修复笔记

apachectl configtest

输出:

AH00526: Syntax error on line 109 of /etc/apache2/apache2.conf:
Error:\tApache has not been designed to serve pages while\n\trunning as root. There are known race conditions that\n\twill allow any local user to read any file on the system.\n\tIf you still desire to serve pages as root then\n\tadd -DBIG_SECURITY_HOLE to the CFLAGS env variable\n\tand then rebuild the server.\n\tIt is strongly suggested that you instead modify the User\n\tdirective in your httpd.conf file to list a non-root\n\tuser.\n
Action 'configtest' failed.
The Apache error log may have more information.

/etc/apache2/apache2.conf 109行左右是

# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

apache的环境变量文件/etc/apache2/envvars

修改里面的用户名为稍后需要新增的新用户名www-data2

# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
#export APACHE_RUN_USER=www-data
#export APACHE_RUN_GROUP=www-data
export APACHE_RUN_USER=www-data2
export APACHE_RUN_GROUP=www-data

然后新增用户:

# add a user name is www-data2
sudo useradd www-data2
# set www-data2 user nologin
sudo usermod -s /sbin/nologin www-data2
# set www-data2 user to www-data usergroup
sudo usermod -a -G www-data
#set www-data2 user home directory is /var/www
sudo usermod -d /var/www www-data2

新增完用户之后,然后重启 apache sudo service apache2 restart


apt install 过程中输出

WARN: /etc is world writable!
WARN: /etc is group writable!
WARN: /etc/default/ufw is world writable!
WARN: /etc/default/ufw is group writable!
WARN: /etc/default is world writable!
WARN: /etc/default is group writable!
WARN: /lib/ufw/ufw-init is world writable!
WARN: /lib/ufw/ufw-init is group writable!
WARN: /lib/ufw is world writable!
WARN: /lib/ufw is group writable!
WARN: /lib is world writable!
WARN: /lib is group writable!

重新给上面提示的文件夹恢复文件夹权限

sudo chmod 755 /etc/ufw
sudo chmod 644 /etc/ufw/* -R
sudo chmod 755 /lib/ufw
sudo chmod 644 /lib/ufw/* -R

References

使用ubuntu的一些操作笔记20191203的更多相关文章

  1. mysql在ubuntu中的操作笔记(详)

    1.安装mysql客户端流程: -  登录navicat官网下载 -  将压缩包拷贝ubuntu中进行解压,解压命令:tar zxvf navicat.tar.gz -  进入解压目录,运行命令./s ...

  2. Centos7系统下修改主机名操作笔记

    习惯了在Centos6系统下修改主机名的操作,但是Centos7下修改主机名的操作却大不相同!操作笔记如下: 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient) ...

  3. C语言 字符串操作 笔记

    /* C语言字符串的操作笔记 使用代码和注释结合方式记录 */ # include <stdio.h> # include <string.h> int main(void) ...

  4. Ubuntu设置终端操作行为的回收站

    Ubuntu设置终端操作行为的回收站(默认情况下,在终端删除文件,会直接删除) 参考自:https://help.aliyun.com/knowledge_detail/41359.html?spm= ...

  5. 初入 Ubuntu 的一些操作 · Lei's blog

    查看系统版本 cat /etc/os-release 修改 root 密码 passwd 新建用户 新建用户: adduser username 将新用户加入 sudo 组,这样就可以用 sudo 命 ...

  6. Oracle 日常应用和操作笔记

    简单整理oracle日常应用笔记. 1.采用excel表格中的数据直接粘贴数据库记录中,默认会在后面加一个空格“”,操作完成后一定要记得对空格匹配然后修改一下. 2.查询数据库里的所有表结构, 采用s ...

  7. MongoDb的副本集搭建教程(个人操作笔记)

    很多公司都在用MongoDb ,一直没有时间研究,最近好好的整了一下,做下笔记,直接上操作步骤,关于Mongodb的理论知识可以搜索其他资料,也可以联系我索取 mongoDB官方已经不建议使用主从模式 ...

  8. ubuntu linux c学习笔记----共享内存(shmget,shmat,shmdt,shmctl)

    shmget int shmget(key_t key, size_t size, int flag); key: 标识符的规则 size:共享存储段的字节数 flag:读写的权限 返回值:成功返回共 ...

  9. Docker操作笔记(二)容器

    容器 一.启动容器 启动一个容器有两种方式: 1.基于镜像新键并启动一个容器: 所需要的主要命令为docker run docker run ubuntu:18.04 /bin/echo " ...

随机推荐

  1. 真的,移动端尺寸自适应与dpr无关

    做移动端自适应时可能很多人都对自适应和dpr之间的关系产生疑问,也有一些人会疑虑比如我的自适应方案没有加dpr会不会出问题,针对这些疑问我说一下我的见解. 1. 什么是尺寸自适应 首先标题说的自适应, ...

  2. Python"sorted()"和".sort()"的区别

    sorted(A-LIST)会返回一个新的object,不改变**A-LIST*本身. A-LIST.sort()会直接改变A-List,不产生新的object.

  3. Struts2基础-3 -继承ActionSupport接口创建Action控制器+javaBean接收请求参数+ 默认Action配置处理请求错误 + 使用ActionContext访问ServletAPI

    1.目录结构及导入的jar包 2.web.xml 配置 <?xml version="1.0" encoding="UTF-8"?> <web ...

  4. POJ 3525 Most Distant Point from the Sea (半平面交)

    Description The main land of Japan called Honshu is an island surrounded by the sea. In such an isla ...

  5. 使用juqery-ui完成联想查询功能

    最近公司的项目有个需求,需要使用联想查询功能.就是一个文本输入框,在输入的时候获取值去后端模糊查询然后按照列表显示在下面.效果如下图: 经过搜索找到这个插件,查阅资料可以完成这个功能,即可以实现静态数 ...

  6. tp5怎么验证手机号码

    直接上干货

  7. Map:template

    ylbtech-Map-Amap|Baidu: 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部   9. ...

  8. write(byte[] b, int off, int len)

    write(byte[] b, int off, int len)就是将数组 b 中的 len 个字节按顺序写入输出流. 所以如果 b 为 null,则抛出 NullPointerException. ...

  9. PromQL

    PromQL (Prometheus Query Language) 是 Prometheus 自己开发的数据查询 DSL 语言,语言表现力非常丰富,内置函数很多,在日常数据可视化以及rule 告警中 ...

  10. FFT&NTT数学解释

    FFT和NTT真是噩梦呢 既然被FFT和NTT坑够了,坑一下其他的人也未尝不可呢 前置知识 多项式基础知识 矩阵基础知识(之后会一直用矩阵表达) FFT:复数基础知识 NTT:模运算基础知识 单位根介 ...