码迷,mamicode.com
首页 > 系统相关 > 详细

linux基本介绍与环境搭建

时间:2018-11-15 00:11:47      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:新技术   ash   windows7   isa   同步   计时   amp   var   不完全   

1.1 Linux版本

linux kernel 2.2、2.4、2.6、3.0、4.0...
发行商:Red hat、CentOS、Ubuntu
选择适合的Linux系统学习
桌面系统:Ubuntu
稳定服务器系统:CentOS
土豪(有售后):Red Hat
对安全性有更高要求:Debian、FreeBSD
新技术,测试版:Fedora


1.2 CentOS

64位的系统版本是当前企业使用的主流
6.5 6.6版本的系统,稳定
学习平台为6.5版本X86_64系统


1.3 学习环境的重要建议

虚拟机软件:VMWare Virtual Box
windows7 建议用VM8.0
内存安装的时候最好1G,安装之后可以降到512M
网卡的模式选择:bridged桥接、NAT、host-only仅主机
NAT模式的虚拟机就是通过宿主机上网和交换数据的
bridged 逻辑对等,虚拟机可以被分配与物理机相同网段的独立IP,最接近真实网络环境的
Host-only 虚拟机的网卡连接到VMnet1上,宿主系统不为虚拟机提供路由服务,因此虚拟机只能和宿主机进行通信


1.4 32和64区别

设计时的定位不同 普通用户和企业
安装要求配置不同 64只能安装在64位电脑上,针对64位发挥最佳性能
运算速度不同 64一次提取8个字节的数据,比32快一倍
寻址能力不同 32CPU理论最大只支持4G,可以通过PAE技术支持到8G,64可支持128G
uname -m/a 查看装的是32还是64


1.5 基本分区方案
IDE /dev./hda
hda第一块盘 hda1,hda2...
hdb第二块盘 ...
SCSI /dev./sds

分区的编号1-4,只能给P+E
L分区的编号只能从5开始

Linux分区要求:
/ 根分区 用来存放系统文件及程序 5GB以上
swap(交换)分区 相当于虚拟分区,一般为物理内存容量的1.5倍,此分区不是必须
/boot分区 引导分区 一般为100-200M,不是必须的


1.6 linux系统相关设置

uname -r 查看内核版本
# 超级管理员
setup配置
保存网卡配置
ifdown eth0 && ifup eth0或者/etc/init.d/network restart==service network restart 前者更好
不要忘了更改配置:vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes 《===控制网卡是不是开机启动
提示:vi是编辑器,相当于记事本,打开后,按i编辑修改,保存命令:wq

CRT连不上linux
1.iptables防火墙关闭 /etc/init.d/iptables stop chkconfig iptables off永久关闭
2.ping

ps -ef 查看进程 ps -ef|grep ssh ps aux 类unix风格显示
netstat/ss -lntup 查看端口 netstat -lntup|grep sshd
ifconfig/ip add 查看IP

windows《=====》linux 互传数据
ftp/winscp/http/rz-sz
yum install lrzsz -y 安装rzsz
rz 回车 选择要上传的文件(不能是目录)
sz 文件 回车,下载到CRT指定的路径
-y是覆盖
halt==shutdown -h now
yum upgrade –y 更新系统 yum update –y
yum grouplist 用于查看包组列表
额外安装一些有用的软件包
yum install tree telnet dos2unix sysstat lrzsz nc nmap -y

[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.5 (Final) 版本
[root@localhost ~]# uname -r
2.6.32-431.el6.x86_64 内核
[root@localhost ~]# uname -m
x86_64 32位还是64位
[root@localhost ~]# hostname
localhost 主机名

linux 多任务、多进程、多CPU、多用户
[wangxian@localhost ~]$ 《======普通用户提示符
[root@localhost ~]# 《======超级管理员


1.7 系统基本优化

1.7.1 关闭SELinux功能
[root@localhost ~]# sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g‘ /etc/selinux/config 
[root@localhost ~]# grep =disabled /etc/selinux/config 
SELINUX=disabled
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@localhost ~]# setenforce 0

runlevel 运行级别0-6 7种
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

1.7.2 精简开机启动服务

开机必须保留的启动
sshd,远程连接linux服务器时需要的服务
rsyslog,日志相关软件,系统的守护程序通常会使用rsyslog程序将各种信息写到各个系统日志文件中
network,系统启动时,若想激活/关闭各个网络接口,则应开启此服务
crond,该服务用于周期性的执行系统及用户配置的任务计划
sysstat,sysstat是一个软件包,包含检测系统性能及效率的一组工具
sysstat软件包集成的主要工具为:
iostat工具:提供CPU使用率及硬盘吞吐效率的数据
mpstat工具:提供与单个或多个处理器相关的数据
sar工具:负责收集、报告并存储系统活跃的信息
设置开机自动服务的方法:
1)setup 勾选开机启动的服务
2)ntsysv 设置
3)用脚本编写chkconfig统一关闭

[root@localhost ~]# chkconfig --list atd
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@localhost ~]# chkconfig --level 3 atd off
[root@localhost ~]# chkconfig --list atd       
atd             0:off   1:off   2:off   3:off   4:on    5:on    6:off
[root@localhost ~]# chkconfig --level 2345 atd off
[root@localhost ~]# chkconfig --list atd          
atd             0:off   1:off   2:off   3:off   4:off   5:off   6:off

[root@localhost ~]# for name in `chkconfig --list|grep 3:on|awk ‘{print $1}‘|grep -Ev "sshd|network|rsyslog|crond|sysstat"`;do chkconfig $name off;done

关闭在3级别开启的除了sshd,rsyslog,network,crond,sysstat之外所有服务

1.7.3 关闭防火墙

[root@localhost ~]# /etc/init.d/iptables stop
[root@localhost ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@localhost ~]# chkconfig iptables off

1.7.4 更改linux远程SSH连接端口

vim /etc/ssh/sshd_config  :set  nu   表示显示行数
#####2017-05-21#####
Port 52113
PermitRootLogin no
PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no
ListenAddress 192.168.4.180
#####2017-05-21#####

 /etc/init.d/sshd reload
 /etc/init.d/sshd restart
 netstat -lntup
 netstat -an|grep EST

利用sed命令实现快速增加
sed –ir ’13 i Port 52113\n PermitRootLogin no\n PermitEmptyPasswords no\n UseDNS no\n GSSAPIAuthentication no\n ListenAddress 192.168.4.180’ sshd_config

1.7.5 利用sudo工具来对用户进行集权管理

visudo ==vi /etc/sudoers 不完全等价,前者更多功能
vi编辑器 输入98gg切换到98行 yy复制 p粘贴

[wangxian@localhost ~]$ useradd yaoyao
-bash: /usr/sbin/useradd: 权限不够
[wangxian@localhost ~]$ 
[wangxian@localhost ~]$ 
[wangxian@localhost ~]$ sudo useradd yaoyao
[sudo] password for wangxian: 
[wangxian@localhost ~]$ tail -l /etc/passwd
yaoyao:x:501:501::/home/yaoyao:/bin/bash

环境变量:
PATH 系统路径变量,执行ls,cp等非内置命令时,系统会首先查找PATH里对应的路径是否有,如果没有就报告找不到该命令
当执行which cp来查看命令所在路径的时候,也是从PATH变量去搜索
临时修改export PATH="/tmp:$PATH",永久修改前面临时修改的命令放到/etc/profile下,
使用source /etc/profile使得修改立刻生效

1.7.6 字符集修改

[root@localhost ~]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
[root@localhost ~]# cp /etc/sysconfig/i18n /etc/sysconfig/i18n.wx.20170521
[root@localhost ~]# sed -i ‘s#en_US.UTF-8#zh_CN.UTF-8#g‘ /etc/sysconfig/i18n
[root@localhost ~]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
[root@localhost ~]# source /etc/sysconfig/i18n  修改后执行
[root@localhost ~]# echo $LANG
zh_CN.UTF-8

1.7.7 linux服务器时间同步

[root@localhost ~]# date
2017年 05月 21日 星期日 20:53:12 CST
[root@localhost ~]# date -s "2017/05/21 20:55"
2017年 05月 21日 星期日 20:55:00 CST
[root@localhost ~]# hwclock
2017年05月21日 星期日 20时55分35秒  -0.861008 seconds

同步互联网时间

/usr/sbin/ntpdate ntp1.aliyun.com

也可以将同步时间写进crond定时任务

crontab -e
 */5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1   #每5分钟同步一次

/dev/null 空设备 黑洞
下面的方法是等价的,习惯选择第二种
1) 1>/dev/null 2>/dev/null 正确的、错误的输出都扔到黑洞
2)***** 1>/dev/null 2>&1
3) &>/dev/null
etc/init.d/ntpdate start 自身的时间同步服务器开启

1.7.8 超时时间设置

export TMOUT=100 设置超时时间为100S
echo "export TMOUT=100">/etc/profile 添加到配置
tail -l /etc/profile 查看是否修改成功
source /etc/profile或者. /etc/profile 永久生效配

1.7.9 历史记录条数修改

export HISTSIZE=100          命令行的历史记录修改成100条
[root@localhost ~]# echo "export HISTSIZE=100" >>/etc/profile
[root@localhost ~]# tail -l /etc/profile
export HISTSIZE=100
[root@localhost ~]# . /etc/profile
[root@localhost ~]# HISTFILESIZE=100     历史记录文件的命令数量修改
[root@localhost ~]# echo "export HISTFILESIZE=100" >>/etc/profile
[root@localhost ~]# cat ~/.bash_history 

1.7.10 增大文件描述符
文件描述符概念:
1、表示形式为整数数字,一般使用范围(0-65535)
2、进程使用的时候会占用文件描述符(标识打开的文件)
查看默认文件描述符:
[root@localhost ~]# ulimit -n
1024
调整文件描述符:
[root@localhost ~]# ulimit -SHn 65535 临时生效
[root@localhost ~]# ulimit -n
65535
断开连接重新进入生效
[root@localhost ~]# echo "* - nofile 65535" >>/etc/security/limits.conf
[root@localhost ~]# tail -1 /etc/security/limits.conf

    • nofile 65535

      1.7.11 调整内核参数文件/etc/sysctl.conf

      vim /etc/sysctl.conf   shift+g切换到文件结尾  shift+insert粘贴
      net.ipv4.tcp_fin_timeout = 2
      net.ipv4.tcp_tw_reuse = 1
      net.ipv4.tcp_tw_recycle = 1
      net.ipv4.tcp_syncookies = 1
      net.ipv4.tcp_keepalive_time =600
      net.ipv4.ip_local_port_range = 4000    65000
      net.ipv4.tcp_max_syn_backlog = 16384
      net.ipv4.tcp_max_tw_buckets = 36000
      net.ipv4.route.gc_timeout = 100
      net.ipv4.tcp_syn_retries = 1
      net.ipv4.tcp_synack_retries = 1
      net.core.somaxconn = 16384
      net.core.netdev_max_backlog = 16384
      net.ipv4.tcp_max_orphans = 16384
      #以下参数是对iptables防火墙的优化,防火墙不开会有提示,可以忽略不理。
      net.ipv4.ip_conntrack_max = 25000000
      net.ipv4.netfilter.ip_conntrack_max = 25000000
      net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
      net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
      net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
      net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

      sysctl -p 生效

1.7.12 系统其他的一些优化设置

隐藏版本信息显示,设置开机提示信息
> /etc/issue     /etc/motd
编辑界面
vi /etc/motd
为grub引导菜单添加密码     不是很重要
锁定系统重要文件
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
禁止ping    一般不用   都用防火墙设置禁ping
[root@localhost ~]# echo "net.ipv4.icmp_echo_igore_all=1" >> /etc/sysctl.conf 
[root@localhost ~]# sysctl.conf
更新部分有漏洞软件
yum install openssl openssh bash –y
定时清理/var/spool/clientsqueue/
定时清理/var/spool/clientsqueue/,写脚本,放在定时任务里面定时清理
搭建系统的yum源,以及进行优化(upgrade)
/etc/yum.repos.d/
清除多余的系统虚拟帐号,例如:bin、adm、lp、halt、mail、dbus、postfix等

1.7.13 优化安全最小化思想

1、安装系统最小化,开机启动最小化,无用的东西不装,不启动;
2、操作命令最小化,例如:用rm -f test.txt 不用rm -fr test.txt
3、登录linux用户最小化,平时没有需求不用root登录
4、普通用户授权权限最小化,只给必须的管理系统的命令
5、linux系统文件及目录的权限设置最小化,禁止随意创建、更改、删除

linux基本介绍与环境搭建

标签:新技术   ash   windows7   isa   同步   计时   amp   var   不完全   

原文地址:http://blog.51cto.com/zaizheni/2317065

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!