用户管理
1、用户管理配置文件
用户数据文件:/etc/passwd
[root@CentOS-Test software]# grep test /etc/passwd
test:x:500:500:test:/home/test:/bin/bash

用户账号包含的信息:
test:用户名,用户登录时使用的  用户名   x:密码位 500:UID, 用户标识号 500:缺省组标识号
test:注释性描述,例如存放用户全名等信息
/home/test:用户的宿主目录
/bin/bash:用户使用的shell,默认为bash
-----------------------------------------------------------------------------------------------
linux用户账号的分类:
分为三种:超级用户(root,UID=0) 具有一切操作权限
普通用户(UID500-65536) 操作权限受到限制
伪用户(缺省用户):(UID 1-499)假用户或虚拟用户
注意:用户的UID的取值,除0外,其它值不允许用户取相同的值,伪用户与系统和程序服务相关:bin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户,伪用户没有登录密码和宿主目录
每个用户都至少属于一个用户组,每个用户组可以包括多个用户,同一用户组的用户享有该组共有的权限
-----------------------------------------------------------------------------------------------
用户口令文件:/etc/shadow 保存了用户口令等重要信息,该文件只有root用户可以读写
用户组文件:/etc/group
用户组密码文件:/etc/gshadow
用户配置文件:/etc/login.defs /etc/default/useradd
新用户信息文件:/etc/skel
登录信息:/etc/motd
-----------------------------------------------------------------------------------------------
如何阅读Apache访问日志:
这只是一系列日志条目,每行记录一个条目。每个条目的每条信息由一个空格分隔。特别是在所谓的“组合”格式,这意味着它包含以下信息,按顺序:

远程主机(客户端IP地址)
用户身份,或短划线,如果没有(经常不使用)
用户名,通过HTTP认证,或破折号如果不使用
Apache收到HTTP请求的时间戳
来自客户端的实际请求本身
Apache响应请求返回状态码
引荐者标题或短划线(如果不使用)(换句话说,他们是否点击另一个网站上的URL来访问您的网站)
用户代理(包含关于请求者的浏览器/ OS /等的信息)
所以,如果你要解析访问日志,你首先将它标记为一行,然后用空格标记为一系列条目。或者,换一种方式来考虑一下,将Apache访问日志导入到Excel并在那里查看将会非常简单。
-----------------------------------------------------------------------------------------------
后门chrootkit安装检查:
[opop@opop2 chkrootkit-0.52]# mkdir chrootkit
[opop@opop2 chkrootkit-0.52]# cd chrootkit/
[opop@opop2 chkrootkit-0.52]# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
[opop@opop2 chkrootkit-0.52]# tar zxvf chkrootkit.tar.gz
[opop@opop2 chkrootkit-0.52]# cd chkrootkit-0.50/
[opop@opop2 chkrootkit-0.52]# yum install -y glibc-static
[opop@opop2 chkrootkit-0.52]# make
[opop@opop2 chkrootkit-0.52]# ./chkrootkit
[opop@opop2 chkrootkit-0.52]# ./chkrootkit
ROOTDIR is `/'
Checking `amd'... not found
Checking `basename'... not infected
Checking `biff'... not found
Checking `chfn'... not infected
Checking `chsh'... not infected
Checking `cron'... not infected
Checking `crontab'... not infected
Checking `date'... not infected
Checking `du'... not infected
Checking `dirname'... not infected
Checking `echo'... not infected
Checking `egrep'... not infected
Checking `env'... not infected
//注:后面是not infected则表明没有后门
-----------------------------------------------------------------------------------------------
修复升级命令:
yum -y install yum-downloadonly
yum -y install bash-4.1.2-33.el6_7.1.x86_64.rpm
完成后做了如下措施:
1.修改了系统账号密码。
2.修改了sshd端口为2220
3.修改nginx用户nologin。
-----------------------------------------------------------------------------------------------
centos 6 字符界面到图形化需安装的东西:
yum groupinstall "X Windows System" "Desktop"
yum groupinstall "Chinese Support"

centos 7 字符界面到图形化所需安装的东西:

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

systemctl get-default      # 获取当前模式
systemctl set-default graphical.target      # 设置开机为图形界面
systemctl set-default multi-user.target      # 设置开机为字符界面

-----------------------------------------------------------------------------------------------
/var/log/messages中的信息:
Mar 17 12:38:53 localhost kernel: __ratelimit: 1 callbacks suppressed
Mar 17 12:39:33 localhost kernel: __ratelimit: 1 callbacks suppressed
Mar 17 12:40:39 localhost kernel: __ratelimit: 2 callbacks suppressed
Mar 17 12:40:58 localhost kernel: __ratelimit: 6 callbacks suppressed
解析:Linux有一种避免DoS攻击的机制- 关于日志 - 称为速率限制。每个由内核(包括它的模块)记录的消息,包括printk(),都会被检查是否允许通过这种机制实际打印。
可以通过调整文件/ proc / sys / kernel / printk_ratelimit和/ proc/sys/kernel/printk_ratelimit_burst来配置限制。
这些文件的值默认是5和10,这意味着:每5秒允许10条消息。超出此范围会使内核丢弃该消息并打印出“ratelimit N:callbacks suppress”之类的内容
要禁用此机制并允许记录每条消息,只需将间隔设置为0即可:
vim /etc/sysctl.conf
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.rp_filter = 1
# net.core.message_cost = 0 # 关闭此机制并允许记录每条消息,但是一旦关闭ratelimit,系统就可能存在被日志攻击的风险。
kernel.printk_ratelimit = 25 # 调大一点
kernel.printk_ratelimit_burst = 150 # 调大一点
释上两句:
// [root@gateway ~]# cat /proc/sys/kernel/printk_ratelimit
// 5
// [root@gateway ~]# cat /proc/sys/kernel/printk_ratelimit_burst
// 10
-----------------------------------------------------------------------------------------------
定时任务:
service crond start          //启动服务
service crond stop          //关闭服务
service crond restart      //重启服务
service crond reload      //重新载入配置
service crond status       //查看服务状态
/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,
比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。

/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab
/etc/crontab 中的 MAILTO=root是说,当 /etc/crontab 这个档案中的例行性命令发生错误时,会将错误讯息或者是屏幕显示的讯息传给谁?由于 root 并无法再用户端收信,
因此,默认是root,当然也可以设置成其他的用户(不建议设置成其他用户)

/etc/crontab 中有示例(在最下面一行),分别代表:
原:    *    *    *   *    *    user-name    command to be executed
代表:分  时 日 月 周        用户名              被执行的命令

分的取值范围:0-59
时的取值范围:0-23
日的取值范围:1-31
月的取值范围:1-12
周的取值范围:0-6(周日可以用0或7来表示)
用户名:可以指定以哪个用户的名义来执行"后面"的命令
被执行的命令:计划任务中要执行的命令

除了数字还有几个个特殊的符号就是: " ,   /  -  "
 , (逗号)代表所有的取值范围内的数字," "分开几个离散的数字。
 /  (根号)代表每的意思, /5表示每5个单位,
 -  代表从某个数字到某个数字
----------------------------------
crontab  -l 在标准输出上显示当前的crontab
crontab  -r 删除当前的crontab文件。
crontab  -e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时,编辑后的文件将自动安装。
----------------------------------
典型:
*  1  *  *  *  root  run-parts   /kkkk/opop/
释:run-parts代表后面接的/kkkk/opop是一个目录(目录内有可执行文件),
也就是说每个小时系统会以root身份去/kkkk/opop/这个目录下执行所有可执行的文件
----------------------------------
权限:
crontab权限问题到/etc下一看,文件cron.allow和cron.deny是否存在
用法:
1、如果两个文件都不存在,则只有root用户才能使用crontab命令。
2、如果cron.allow存在但cron.deny不存在,则只有列在cron.allow文件里的用户才能使用crontab命令,如果root用户也不在里面,则root用户也不能使用crontab。
3、如果cron.allow不存在, cron.deny存在,则只有列在cron.deny文件里面的用户不能使用crontab命令,其它用户都能使用。
4、如果两个文件都存在,则列在cron.allow文件中而且没有列在cron.deny中的用户可以使用crontab。
5、如果两个文件中都有同一个用户,以cron.allow文件里面是否有该用户为准,如果cron.allow中有该用户,则可以使用crontab命令。
附:
AIX 中普通用户默认都有 crontab 权限,如果要限制用户使用 crontab ,就需要编辑/var/adm/cron/cron.deny
HP-UNIX 中默认普通用户没crontab 权限 ,要想放开普通用户的crontab 权限可以自己写
----------------------------------
创建cron脚本
第一步:写cron脚本文件并赋可执行权限,命名为opop.sh:
内容为:
15,30,45,59   *   *   *   *   echo  "xgmtest....." >> xgmtest.txt            #表示每隔15分钟,执行打印一次命令
第二步:添加定时任务。执行命令 crontab opop.sh
第三步:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
注意:这操作是直接替换该用户下的crontab,而不是新增
----------------------------------
/etc/crontab 中写任务的示例:
每天早上6点整:(以linux系统时间为准)
0 6 * * * root echo "Good morning." >> /tmp/test.txt
//注意单纯echo在屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
----------------------
每两个小时:
0 */2 * * * root echo "Good morning." >> /tmp/test.txt
----------------------
晚上11点到早上8点之间每两个小时和早上八点:
0 23-7/2,8 * * * root echo "Good morning." >> /tmp/test.txt
----------------------
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点:
0 11 4 * 1-3 root echo "Good morning." >> /tmp/test.txt
----------------------
每小时执行/etc/cron.hourly内的所有脚本:
0 */1 * * * root run-parts /etc/cron.hourly
每天的凌晨3点整执行/etc/cron.hourly内的所有脚本:
0 3 */1 * * root run-parts /etc/cron.hourly
注意: 如果去掉 "run-parts" 这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名
----------------------
每周一,三,五的下午3:00整重新启动系统,3:00时间到了后会延长5分钟后重启:
00 15 * * 1,3,5 shutdown -r +5
----------------------
每小时的10分,40分ping一次192.168.0.49这台机器:
10,40 */1 * * * root /bin/ping -c 3 192.168.0.49
每天早晨三点二十分ping 192.168.0.50和看下根下的文件:(每个命令用 ; 号隔开)
20 3 * * * (ping 192.168.0.50;ls /)
----------------------

-----------------------------------------------------------------------------------------------

linux随手笔记(Centos为主)的更多相关文章

  1. Linux学习笔记-centos查看版本号和内核信息

    1.查看centos系统版本号: 打开终端窗口: cat /etc/redhat-release 2.查看Linux内核版本信息: uname -a 或者 在图形化桌面右上角点开设置,在设置窗口选择详 ...

  2. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  3. linux学习之centos(三):网卡配置

    Linux系统版本:Centos 6.5 在linux学习之centos(二):虚拟网络三种连接方式和SecureCRT的使用中,使用远程工具SecureCRT,通过“ifconfig eth0 + ...

  4. Linux分类笔记(一)-权限管理

    Linux分类笔记(一) 权限管理 普通权限 文件的普通权限 对一个普通的文件使用ls -ll命令后,看到下面的输出内容   而对于文件权限中的每一位,又分别代表了以下的意思 文件类型又有以下几类: ...

  5. 20160127 linux 学习笔记

    Linux学习笔记第一天 Linux基本介绍 Linux的起源和发展: 简单说linux是一种操作系统,可以安装在包括服务器.个人电脑,乃至PDA.手机.打印机等各类设备中. 起源: Linux起源于 ...

  6. Linux~学习笔记目录索引

    回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...

  7. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  8. Linux 应用笔记

    Linux 应用笔记 Linux 应用笔记 小书匠 Raspberry Pi 常用命令 CentOs Raspberry Ubuntu python 实用教程 Vim 权限问题 内存分配 shell ...

  9. Linux 学习笔记 1 使用最小的系统,从分区安装系统开始

    我们常用的linux系统在安装过程中大多都省略了对系统进行分区的操作,以至于后期,不了解什么是分区以及分区当中最基本的一些概念, 我们不说最细的知识,只求了解这个过程,那直接步入正题,开始第一节的学习 ...

随机推荐

  1. java常用设计模式

    一个程序员对设计模式的理解: "不懂"为什么要把很简单的东西搞得那么复杂. 后来随着软件开发经验的增加才开始明白我所看到的"复杂"恰恰就是设计模式的精髓所在,我 ...

  2. iOS学习笔记---oc语言第一天

    第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++  java   ...

  3. Set Matrix Zeroes -- LeetCode

    原题链接: http://oj.leetcode.com/problems/set-matrix-zeroes/ 这是一个矩阵操作的题目,目标非常明白,就是假设矩阵假设有元素为0,就把相应的行和列上面 ...

  4. Java相关面试题总结+答案(一)

    [Java基础] 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,即Java开发工具包,提供了Java 的开发环境和运行环境. JRE:Java Ru ...

  5. x86汇编语言实践(1)

    0 写在前面 为了更深入的了解程序的实现原理,近期我学习了IBM-PC相关原理,并手工编写了一些x86汇编程序. 在2017年的计算机组成原理中,曾对MIPS体系结构及其汇编语言有过一定的了解,考虑到 ...

  6. 201671010142 2017-2 《java第十章学习感悟》

    组件:Java把由Component类的子类或间接子类创建的对象称为一个组件. 容器:是Java中能容纳和排列组件的组件. Container类提供了一个方法add(),用来在容器类组件对象中添加其他 ...

  7. python 进程介绍 进程简单使用 join 验证空间隔离

    一.多道程序设计技术(详情参考:https://www.cnblogs.com/clschao/articles/9613464.html) 所谓多道程序设计技术,就是指允许多个程序同时进入内存并运行 ...

  8. SQLSERVER数据导入到MYSQL

    SQLSERVER数据导入到MYSQL http://hi.baidu.com/luck001221/item/cb4462299f9ea79ab73263d2?qq-pf-to=pcqq.group ...

  9. coding 绑定腾讯云开放平台注意事项

    coding升级后需要绑定腾讯云开放平台,按照coding文档的提示操作就好 1.创建腾讯云平台后,不要自定义邮箱和用户名 2.直接绑定原来我们使用的coding账号即可 绑定成功后,邮箱和用户名会自 ...

  10. js 终止 forEach 循环

    1.因为 forEach() 无法通过正常流程终止,所以可以通过抛出异常的方式实现终止. try{ var array = ["first","second", ...