1.创建用户和组
- groupadd user
- useradd -u 0 -o -g root -G root -d /home/user1 user1 创建具有root权限的账号
- -u 0 :指将uid指定为0与root相同
- -o:指因为重复了uid(与root账号的uid重复)必须指定这个参数
- g root:初始化组的组名,当用户属于多个组时,(在-G参数中指定),登录时所在组。缺省该项时,系统新建一个与用户名同名的组,并且初始化时设为该组名。而不论-G指定为哪些组。
- -d /home/user1:指定用户的属主目录。
- -M:不建立家目录。
- -s:定义其使用的 shell,例如 -s /bin/bash
- usermod -u 0 -o -g root -G root user1 更改用户权限
- passwd user1 设置/更改密码
- pwd 显示用户当前工作目录的全路径名
- mkdir 创建目录
- chgrp dong /home/dongs 变更文件或目录所属群组,将后者加入前者
- chmod 2770 /home/dongs 改变文件存取模式
- ll -d /home/dongs 列出此目录属性
2.删除与查看
- rmdir 删除目录
- rm -rf 删除文件
- cat 显示文件内容
- more 按屏幕显示文件内容
- jobs -l 显示当前作业的状态
- ifconfig 看IP
- netstat 网络信息
- netstat -antlp | grep 23
- route 路由表
- pg 分页显示文件内容
- q 退出pg命令
3.kill进程
- ps 查看进行命令 pid:进程号
- kill -17 pid 将进程挂起
- kill -9 pid 终止进程
- kill -19 pid 激活挂起的进程
4.查看文件大小
- ll-h 查看文件夹下所有文件的大小
- du -h –max-depth=1 查看文件夹大小
- df -h 所有文件系统的使用空间
- du -sh /etc/ 查看etc文件夹大小
5.查看Linux版本
- lsb_release -a
6.查看所有用户
- vim /etc/passwd
- groups 查看当前登录用户的组内成员
- groups root 查看root用户所在组以及成员
- whoami 查看当前登录用户名
- /etc/group 查看所有组
- /etc/shadow和/etc/passwd 系统存在的所有用户
7.查看安装的软件
- rpm -ql mysql
- q 询问
- a 查询全部
- l 显示列表
- rpm -qa 查询已安装软件
8.关机
- 关机
- halt
- init 0
- shutdown h
- poweroff
- 重启
- reboot
- init 1
- shutdown -r
9.查看进程
- ps命令
- ps aux |less 查看所有进程
- ps -u root -u root -N 查看非root运行的进程
- ps -u user 查看user运行的进程
- pstree 进程树状图
- top命令
- top -b -nl > /tmp/ process.log 将进程快照储存到文件中
- top -b -nl | mail -s ‘Process snapshot’ mailname@qq.com 将结果发给自己
- q 退出
- h 帮助
- 另外还有htop atop
- 显示进程ID
- pgrep sshd
- pgrep -u root sshd
10.修改DNS
vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
阿里云免费公共DNS 223.5.5.5 、223.6.6.6
11.修改静态IP
- 临时修改,重启会还原
ifconfig eth0 192.168.1.1
- 永久生效
vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改IP地址
service network restart
- 使用图形界面
setup
12.网络监听服务
- 查询已启动的网络监听服务
netstat -tulnp
- 关闭avahi-daemon服务以删除服务所使用的端口
/etc/init.d/avahi-daemon stop
chkconfig avahi-daemon off
- 查询当前所有服务的状态
service --status-all
- 查询系统监听的服务
netstat -ln
13.查看服务在每个级别运行状态
- 在3,4,5层关闭
chkconfig --level 345 httpd off
chkconfig --list | grep httpd
- 在3,4,5层开启
chkconfig --level 345 httpd on
- 查看sshd状态
service sshd status
14.谁登录系统
- who 显示有谁登录系统
- w 显示有谁登录系统及运行的工作
- whoami 查看自己用户名
- last 登录成功的用户记录
- lastb 登录不成功的用户记录
15.禁止root登录
1.建立普通用户并设置密码
2.vim /etc/ssh/sshd_config
PermitRootLogin yes 改为no
3.重启sshd服务
service sshd restart
4.远程用普通用户登录,然后 su root 切换到root下
16.Linux编码问题
windows默认编码为GBK,Linux默认编码为UTF-8
locale 指令,得到当前系统编码设置的详细
vim /etc/profile
将最下面一行改为 LC_ALL=zh_CN.UTF-8
vim /etc/sysconfig/i18n
LANG="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
17.常用端口号
- FTP 21
- SMTP 25
- Telnet 23
- DNS 53
- HTTP 80
- HTTPS 443
- POP3 110
- MySQL 3306
- 终端服务 3389
- IMAP 993
- ms-sql-s 1433
通过netstat -anp 查看哪些端口被打开,有些端口netstat查不出来,需要用
sudo nmap -sT -O localhost
需要先安装nmap
yum install nmap
18.给用户添加sudo权限
1.chmod u+w /etc/sudoers 添加此文件的写权限
2.vim /etc/sudoers
在root ALL=(ALL) ALL 下添加
user ALL=(ALL) ALL 保存退出
3.chmod u-w /etc/sudoers 撤销写权限
19.查找文件
- whereis vsftpd
- type vsftpd
- find / -name vsftpd
20.查询软件安装信息
- man rpm 更多参数
- rpm -qla vsftpd
- -qi 软件包信息
- -qc 已安装软件的配置文件
- -qR 已安装软件依赖的软件包和文件
- rpm -vih file.rpm 安装一个新的rpm包
- rpm -Uvh file.rpm 升级一个rpm包
- 命令后加 –nodeps –force 可强制安装和更新
- 对于.src.rpm结尾的文件
- rpm –recompile vim-4.6-4.src.rpm
- rpm -rebuild vim-4.6-4.src.rpm
- 初始化rpm数据库,有时rpm不能查询和安装,大多是这的问题
- rpm –initdb
- rpm –rebuilddb
- 网络查询和安装
- 查询软件安装位置
- updatedb
- locate vsftpd
- 卸载软件包
- rpm -e vsftpd
21.make方法安装软件
./config software name
make
make install
make clean
22.tar指令压缩解压缩
- tar -cf all.tar *.jpg
- -c 产生新的包
- -f 指定包名
- tar -rf all.tar *.txt
- -r 表增加
- tar -uf all.tar *.txt
- -u 表更新
- tar -tf all.tar
- -t 表列出文件
-tar -xf all.tar 解压 - -x 表解压
- -O 表将文件解开到标准输出
- -v 显示所有过程
- -t 表列出文件
- tar 调用gzip
- tar czf all.tar.gz *.jpg 打包
- tar xzf all.tar.gz 解压
- tar 调用bzip2
- tar -cjf all.tar.bz2 *.jpg 打包
- tar -xjf all.tar.bz2 解压
- tar 调用compress
- tar -cZf all.tar.Z *.jpg 打包
- tar -xZf all.tar.Z 解压
- unrar e filename.rar 解压rar文件
- unzip filename.zip 解压zip文件
23.dd 备份与恢复
- 将本地的/dev/hdb整盘备份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
- 将/dev/hdb全盘数据备份到指定路径的image文件
dd if=/dev/hdb of=/root/image
- 将备份文件恢复到指定盘
dd if=/root/image of=/dev/hdb
- 备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径
dd if=/dev/hdb | gzip > /root/iamge.gz
- 将压缩的备份文件恢复到指定盘
gzip -dc /root/image.gz | dd of=/dev/hdb
24.CentOS安装软件
- 安装 yum install
- 卸载 remove
- 更新 update
25.利用SecureCRT或XShell上传、下载文件
1.下载安装lrzsz
yum install -y lrzsz
2.建立软链接(如果可以直接用命令,就无需建立)
cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
3.上传文件到服务器
rz
4.下载到本地
sz filename
26.Linux日志
- /var/log/messages 系统启动后的信息和错误日志
- /var/log/maillog 邮件相关的日志信息
- /var/log/secure 与安全相关的日志信息
- /var/log/cron 与定时任务相关
- /var/log/spooler UUCP和news设备
- /var/log/boot.log 守护进程启动和停止
- /var/log/utmp 当前登陆的每个用户
- /var/log/wtmp 一个用户每次登录和退出时间
- /var/local/apache2/logs/access_log HTTP/web的传输
- /var/log/btmp 记录失败的记录
- xferlog FTP会话
- 查看utmp和wtmp二进制日志,用户不能用cat查看,需使用who,w,users,last和ac
- who /var/log/wtmp 显示用户
- last root 报告该用户的近期活动
- ac 报告用户连接的时间
- ac -d 每天总连接时间
- ac -p 每个用户总得连接时间
- lastlog 某用户上次登录的时间
- lastlog -u root root用户最后登录时间
- lastlog -t 7 上周的报告
27.内存不足问题的排查解决
1.free -m 查看空闲内存
2.free
3.top shift+M 按内存排序
4.cat /proc/meminfo 查看slab内存
slab用于存放内核数据缓存,通过slabtop 查看这部分内存使用情况
28.关于系统信息的指令
- uname -a 查看内核、操作系统、CPU信息
- cat /etc/issue 系统版本
- cat /etc/redhat-release 查看操作系统版本
- cat /proc/cpuinfo CPU信息
- hostname 计算机名
- lspci -tv 连接所有PCI设备
- lsusb -tv 列出所有USB设备
- lsmod 列出加载的内核模块
- env 环境变量
29.关于资源
- free -m 内存和交换区使用量
- df -h 查看各分区使用情况
- du -sh <目录名> 查看指定目录的大小
- grep MemTotal /proc/meminfo 查看内存总量
- grep MemFree /proc/meminfo 查看空闲内存量
- uptime 系统运行时间、用户数、负载
- cat /proc/wadavg 系统负载
30.关于磁盘和分区
- mount | column -t 查看挂载的分区状态
- fdisk -l 查看所有分区
- swapon -s 查看所有交换分区
31.关于网络
- ifconfig 网络接口的属性
- iptables -L 防火墙设置
- route -n 路由表
- netstat -lntp 所有监听端口
- netstat -antp 所有已经建立的连接
- netstat -s 网络统计信息
32.关于用户
- w 查看活动用户
- id 指定用户信息
- last 用户登录的日志
- cat /etc/passwd 查看所有用户
- cat /etc/group 查看所有组
cat 可以替换成more或less或tail或head或vim - crontab -l 当前用户的计划任务
33.关于服务
- chkconfig –list 系统服务
- chkconfig –list | grep on 启动的系统服务
34.入侵检测的检查步骤
1.users 当前登录信息
2.who
3.last 或 last root
4.ac -d 或 ac -p
5.lastlog 用户上次登录时间
6.netstat -an 查可疑端口和数据流
7.查/var/log下的secure日志
8.如发现可以域名,用nslookup查此域名
9.who utmp 查看这里显示的域名并用nslookup查询,找到其IP属于哪个国家。
10.定位找到的可以程序
find / -name <name>
locate <name>
11.如发现带.的目录名则为隐藏目录,如.screen
12.删除rc.local中的异常脚本和隐藏的文件夹
13.删除异常的管理员账户
35.设置自动执行
- 开机自动执行的脚本
将脚本写在/etc/rc.local中,如Date=’date +%Y%m%d’ - 用户登录后自动执行
将脚本写到相应用户的目录下 ~/.bash/profile - 任一用户登录后自动执行
写到/etc/profile中