乙巳🐍年

acc8226 的博客

检测硬件脚本

1
wget -q https://github.com/Aniverse/A/raw/i/a && bash a

服务器面板

宝塔面板

注意:必须为没装过其它环境如 Apache/Nginx/php/MySQL 的新系统,推荐使用 centos 7.X 的系统安装宝塔面板

WDCP 面板

WDCP - 下载安装

yum install -y wget && wget -O install.sh http://dl.wdcp.net/install/install.sh && sh install.sh cus

一般而言须要会安装 LAMP (apache + php + mysql + zend + pureftpd + phpmyadmin),所以我不推荐了

阅读全文 »

这一节我们将介绍这几个命令 tr(注意不是 tar),col,join,paste。实际这一节是上一节关于能实现管道操作的命令的延续,所以我们依然将结合管道来熟悉这些命令的使用。

tr

tr 命令可以用来删除一段文本信息中的某些文字。或者将其进行转换。

使用方式

1
tr [option]...SET1 [SET2]

常用的选项

选项 说明
-d 删除和 set1 匹配的字符,注意不是全词匹配也不是按字符顺序匹配
-s 去除 set1 指定的在输入文本中连续并重复的字符
阅读全文 »

日志数据可以是有价值的信息宝库,也可以是毫无价值的数据泥潭。它可以记录下系统产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统的行为。收集你想要的数据,分析出有价值的信息,可以提高系统、产品的安全性,还可以帮助开发完善代码,优化产品。日志会成为在事故发生后查明“发生了什么”的一个很好的“取证”信息来源。日志可以为审计进行审计跟踪。

常见的日志

日志是一个系统管理员,一个运维人员,甚至是开发人员不可或缺的东西,系统用久了偶尔也会出现一些错误,我们需要日志来给系统排错,在一些网络应用服务不能正常工作的时候,我们需要用日志来做问题定位,日志还是过往时间的记录本,我们可以通过它知道我们是否被不明用户登录过等等。

在 Linux 中大部分的发行版都内置使用 syslog 系统日志,那么通过前期的课程我们了解到常见的日志一般存放在 /var/log 中,我们来看看其中有哪些日志

根据图中所显示的日志,我们可以根据服务对象粗略的将日志分为两类

  • 系统日志
  • 应用日志

系统日志主要是存放系统内置程序或系统内核之类的日志信息如  alternatives.log 、btmp 等等,应用日志主要是我们装的第三方应用所产生的日志如 tomcat7 、apache2 等等。

接下来我们来看看常见的系统日志有哪些,他们都记录了怎样的信息

阅读全文 »

用户身份与能力

Linux 系统的管理员之所以是 root,并不是因为它的名字叫 root,而是因为该用户的身份号码即 UID(User IDentification)的数值为 0。

管理员 UID 为 0:系统的管理员用户。

系统用户 UID 为 1~999:Linux 系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会由独立的系统用户负责运行,进而有效控制被破坏范围。

普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户。

需要注意的是,UID 是不能冲突的,而且管理员创建的普通用户的 UID 默认是从 1000 开始的(即使前面有闲置的号码)。

为了方便管理属于同一组的用户,Linux 系统中还引入了用户组的概念。通过使用用户组号码(GID,Group IDentification),可以把多个用户加入到同一个组中,从而方便为组中的用户统一规划权限或指定任务。假设一个公司中有多个部门,每个部门中又有很多员工,如果只想让员工访问本部门内的资源,则可以针对部门而非具体的员工来设置权限。例如,通过对技术部门设置权限,使得只有技术部门的员工可以访问公司的数据库信息等。

另外,在 Linux 系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳到其他用户组,则这个其他用户组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满足日常的工作需要。

1. id 命令
id 命令用于显示用户的详细信息,语法格式为 “id 用户名”。
这个 id 命令是一个在创建用户前需要仔细学习的命令,它能够简单轻松地查看用户的基本信息,例如用户 ID、基本组与扩展组 GID。

1
2
~$ id linuxprobe
uid=1004(linuxprobe) gid=1005(linuxprobe) groups=1005(linuxprobe)
阅读全文 »

内建命令与外部命令之分

help , man , info 命令的使用以及区别

内建命令与外部命令
内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在 bash 源码的 builtins 里面的,由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。

外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调入内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在 /bin,/usr/bin,/sbin,/usr/sbin 等等。比如:ls、vi 等。

1
2
3
4
5
6
# 得到这样的结果说明是内建命令,正如上文所说内建命令都是在 bash 源码中的 builtins 的 .def 中
xxx is a shell builtin
# 得到这样的结果说明是外部命令,正如上文所说,外部命令在 /usr/bin or /usr/sbin 等等中
xxx is /usr/bin/xxx
# 若是得到 alias 的结果,说明该指令为命令别名所设定的名称;
xxx is an alias for xx --xxx

help 命令
因为 help 命令是用于显示 shell 内建命令的简要帮助信息。帮助信息中显示有该命令的简要说明以及一些参数的使用以及说明,一定记住 help 命令只能用于显示内建命令的帮助信息,不然就会得到你刚刚得到的结果。

那如果是外部命令怎么办,不能就这么抛弃它呀。其实外部命令基本上都有一个参数–help,这样就可以得到相应的帮助,看到你想要的东西了。试试下面这个命令是不是能看到你想要的东西了。

阅读全文 »
0%