优化清单:
基本操作
添加普通用户
系统配置
内核配置
一、企业笔试题
1.1怎么选择linux系统发行版本?
1.232位系统和64位系统的区别?
1.3ssh联接不上怎么排查?
1.4linux的7种运行级别,及其应用?
1.5linux从系统开机到登录之前的启动流程。
二、基础环境
你的系统是哪些版本的?
[root@oldboyedu ~]# cat /etc/redhat-release #或者centos-release 或os-release
CentOS release 6.7 (Final) ç这是系统版本信息
[root@oldboyedu ~]# uname -r
2.6.32-573.el6.x86_64 ç这是内核kernel的版本号
[root@oldboyedu ~]# uname -m
x86_64 这表示为64位系统
三、添加普通用户帐号
linux/unix是一个多用户、多任务的操作系统。
超级管理员(root):root默认在unix/linux操作系统中拥有最高的管理权限。
普通用户:管理员或则具备管理权限的用户创建的。权限:系统管理仅可以读、看,不能增、删、改。
权限越大,责任越大。
可使用如下命令添加一个普通用户帐号,并为其设置口令:
[root@oldboyedu ~]# useradd oldboy
[root@oldboyedu ~]# passwd oldboy **###****问你新的密码,然后你输入 交互设置密码**
Changing password for user oldboy.
New password:
BAD PASSWORD: it is too simplistic/systematic **#****ç提示密码太简单了,但可以不理会。**
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
提示:
echo "123456"|passwd --stdin oldboy && history -c
尝试切换用户角色,命令如下:
[root@oldboyedu ~]# su - oldboy <==由root管理员,切换到普通用户oldboy
[oldboy@oldboyedu ~]$ whoami <==查看当前用户是什么
oldboy
[oldboy@oldboyedu ~]$ su - root <==切回到root用户
Password:
说明:
1)超级用户root切换到普通用户下边,无需输入对应用户密码,这相当于“皇帝”去“大臣”家里。
2)普通用户切换到root或其他普通用户下,须要输入切换的对应用户密码。
3)普通用户的权限比较小,只能进行基本的系统信息查看等操作,难以修改系统配置和管理服务。
4)$符号是普通用户的命令行提示符,#符号是超级管理员的提示符。示例如下:
[oldboy@oldboyedu ~]$ #ç普通用户oldboy对应的提示符
[root@oldboyedu ~]# #ç超级管理员root对应的提示符
5)提示符@后面的字符代表当前用户(可用whoami查询),前面的为主机名(可用hostname查询),~所在的位置是窗口当前用户所在的路径。示例如下:
[oldboy@oldboyedu ~]$ #çoldboy为当前用户,oldboyedu为主机名,~表示当前目录,即家目录。
6)Linux命令提示符由PS1环境变量控制。示例如下:
[root@oldboyedu ~]# echo $PS1
[u@h W]$
这儿的PS1='[u@hW]$',可以通过全局变量配置/etc/profile文件调整PS1='[u@hWt]$'。
注意:PS1必须小写的。
PS1---变量的名子------藏经阁上面的武功秘笈(葵花宝典)秘技名子(书名)
$PS1---查看变量上面的内容---手端着书(葵花宝典)看书的内容(读书)
PS1=新的内容---向变量上面装入东西----更改书的内容(升级书)
欲练此功,必先自宫,若不自宫,也能成功。
linux变量名子(书名)小写的通常是自己用(linux环境变量)linux操作系统中什么版本比较好红旗linux官网,在那里都可以用的变量。
四、使用阿里云镜像做yum源
默认美国的yum源(软件库房)比较慢,所以换成国内的。
[root@oldboyedu ~]# cd /etc/yum.repos.d/
[root@oldboyedu yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo
[root@oldboyedu yum.repos.d]#cp CentOS-Base.repo CentOS-Base.repo.ori #改配置文件要备份
[root@oldboyedu yum.repos.d]# wget -O CentOS-Base.repo [http://mirrors.aliyun.com/repo/Centos-6.repo](http://mirrors.aliyun.com/repo/Centos-6.repo)
安装必要的软件包
补充yum命令
#yum -y install tree nmap sysstat lrzsz dos2unix telnet
yum install -y tree lrzsz
五、关闭SELinux功能
SELinux(Security-EnhancedLinux)是德国国家安全局(NSA)对于强制访问控制的实现,这个功能让系统管理员又爱又恨,这儿我们还是把它给关掉了吧,至于安全问题,旁边通过其他手段来解决linux操作系统中什么版本比较好,这也是大多数生产环境的做法,假如非要开启也是可以的。关掉形式如下。
第一个脚印-永久关掉selinux第一个里程碑-操作前备份
[root@oldboyedu ~]# cp /etc/selinux/config /etc/selinux/config.bak
[root@oldboyedu ~]#
[root@oldboyedu ~]#
[root@oldboyedu ~]#
第二个里程碑-sed更改,瞧瞧结果,不加-i
[root@oldboyedu ~]# sed 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
第三个里程碑-确认并使用sed-i更改文件内容
[root@oldboyedu ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
第四个里程碑-检测结果
[root@oldboyedu ~]# grep "disabled" /etc/selinux/config
# disabled - No SELinux policy is loaded.
SELINUX=disabled
第二个脚印-临时关掉selinux
临时关掉SElinux,可在命令行执行如下命令:###****命令行更改,重启失效
[root@oldboyedu ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
ç数字0表示Permissive,即给出警告提示,但不会制止操作,相当于disabled。
数字1表示Enforcing,即表示SElinux为开启状态。
[root@oldboyedu ~]# setenforce 0 ##<==临时将selinux调成Permissive状态。
[root@oldboyedu ~]# getenforce ##<==查看selinux当前状态
Permissive
命令说明:
提示:更改配置SElinux后,要想使其生效,必需要重启系统。因而,可配合使用setenforce0这个临时使其关掉的命令,这样在重启前后都可以促使SElinux关掉生效了linux就该这么学,也就是说无须立即重启服务器了,在生产场景下Linux机器是不能随便重启的(不要给自己找任何理由重启)。
总结selinux关掉:
第一个里程碑-操作前备份cat,cp,sed-i.bak
第二个里程碑-永久的更改
a)cat/vim先看一眼-找目标
b)sed's#SELINUX=enforcing#SELINUX=disabled#g'/etc/selinux/config
c)执行成功了再加上-i参数
d)再查看,cat/grep
第三个里程碑-临时生效
a)setenforce
六、设定运行级别为3(文本模式)
设定运行级别(runlevel)为3,即表示使用文本命令行模式管理Linux,倘若依照上面要求完成的系统安装,则无需设置,检测一下即可。检测命令如下:
[root@web01 ~]# cat /etc/inittab
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
**#linux不同状态,用不同数字表示。**
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode #单用户模式
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) #多用户模式,没有NFS。
# 3 - Full multiuser mode #完全的多用户模式,命令行模式
# 4 - unused #没有使用
# 5 - X11 #图形界面模式,桌面模式
# 6 - reboot (Do NOT set initdefault to this) #重启
#
id:3:initdefault:
[root@oldboyedu ~]# runlevel #<==查看当前系统运行级别
N 3
切换运行级别:
init6##重启笔记本
init0##死机
[root@oldboyedu ~]# grep 3:initdefault /etc/inittab
id:3:initdefault:chkconfigiptablesoff
[root@oldboyedu37 ~]# chkconfig |grep ipt
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@oldboyedu37 ~]# ##我在执行了chkconfig iptables off 之后 ,对当前正在运行iptables 会有什么影响
[root@oldboyedu37 ~]#
[root@oldboyedu37 ~]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@oldboyedu37 ~]# /etc/init.d/iptables stop
[root@oldboyedu37 ~]# ###chkconfig 管理的是 开机的时候 某个软件是否启动 (开机自启动)
八、Linux英文显示设置(怎样避免显示英文乱码)
此项优化为可选项,即调整Linux系统的字符集设置,这么,哪些是字符集呢?
简单的说,字符集就是一套文字符号及其编码。目前Linux下常用的字符集有:
[root@oldboyedu ~]# echo $LANG ###查看系统当前的字符集
en_US.UTF-8
[root@oldboyedu ~]# cat /etc/sysconfig/i18n #####系统字符集配置文件的位置
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@oldboyedu ~]# cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori ####备份
[root@oldboyedu ~]# echo 'LANG="zh_CN.UTF-8"' >/etc/sysconfig/i18n ####修改配置文件
→相当于用vi/etc/sysconfig/i18n添加LANG="zh_CN.UTF-8"内容
[root@oldboyedu ~]# source /etc/sysconfig/i18n #→使上文修改生效 ###让配置文件生效
[root@oldboyedu ~]# echo $LANG ###****查看系统当前的字符集
zh_CN.UTF-8
提示:
q乱码的核心解决方式:
系统字符集(utf-8)
xshell软件的字符集保持一致(utf-8)
文件使用的字符集一致
zh_CN.GBK
q注意“zh_CN.UTF-8”的大小写字母。
q这个英文显示配置要跟你自己的SSH顾客端的配置一致。
q调整SSH顾客端CRT的字符集,使其和Linux服务端一致(UTF-8)。
查看字符集设置的结果。
[root@oldboyedu ~]# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
登陆Linux系统查看英文字符正常显示的步骤如下:
1)将服务器端字符集(/etc/sysconfig/i18n)改为LANG="zh_CN.UTF-8"。
2)将顾客端字符集(CRT)调整为UTF-8。
3)命令行执行setup命令见到原先英文乱码的窗口不乱了,正确显示英文字符了(如图所示)。
九、linux特殊变量===调整历史记录以及终端超时
9.1命令行临时生效:
export TMOUT=300 #连接超时时间控制变量
export TMOUT=3 #3秒之后,没有任何输入,则自动退出。timed out waiting for input: auto-logout
export HISTSIZE=5 #history size命令行历史记录数量 history 命令显示的条数
export HISTFILESIZE=5 #命令行命令对应的历史记录文件,文件中命令记录数 ~/.bash_history
9.2永久生效:
装入到/etc/profile
source生效
了解怎样配置即可,我们学习环境可以不配置。
270 shutdown -h 10
271 tree
272 history
273 history -d 270
274 history
[root@oldboyedu-30 ~]# !271
tree
.
├── anaconda-ks.cfg
├── a.txt
├── ett.txt
├── install.log
├── install.log.syslog
└── test.txt
0 directories, 6 files
十、隐藏Linux版本信息显示
<v:shape id="图片_x0020_7" o:spid="_x0000_i1025" type="#_x0000_t75" style="width:294.6pt;
height:53.4pt;visibility:visible;mso-wrap-style:square"><v:imagedata src="file:///C:/Users/lee/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png" o:title=""></v:imagedata></v:shape>
在登陆到Linux主机本地(非CRT联接的窗口)前,会显示系统的版本和内核,如图所示。
登陆后执行如下命令上产上述登陆Linux前的终端内容显示的实际储存文件。
[root@oldboyedu ~]# cat /etc/issue
CentOS release 6.7 (Final)
Kernel r on an m
[root@oldboyedu ~]# cat /etc/issue.net
CentOS release 6.7 (Final)
Kernel r on an m
执行如下命令消除Linux系统版本及内核信息
[root@oldboyedu ~]# > /etc/issue
[root@oldboyedu ~]# > /etc/issue.net
[root@oldboyedu ~]# cat /etc/issue
[root@oldboyedu ~]# cat /etc/issue.net
重
磅
消
息
老男孩教育作为率先举办Linux和Python培训的领跑者,
Linux云估算&&安全运维工程师2019重磅升级,持续领跑高档IT教育:
课程更新7大亮点:
1、增加Python手动化CMDB平台实战项目(约4-10天);
2、增加大量网路安全课程(约10-20天);
3、增加阿里云企业级云服务实战环境项目实践(约2-4天);
4、增加个人成长、职场高薪、成为管理者职场思想课(约10-20天);
5、增加Docker、K8S企业级实战实战项目(约5-10天);
6、增加ELK日志搜集项目实战(约2天);
7、全程提供教学教材、习题、考试,中学生人手多本;
将Linux运维工程师、网络安全工程师、云估算工程师、运维开发、高级构架师、数据库管理员全运维类技术岗位一网打尽。
老男孩IT教育【Linux云估算运维&网路安全】课程,开办有全日制一年制班、周末班和网路在线班,以帮助更多有须要的盆友们提高技能。了解更多课程内容及资料,请点击本文左下方“阅读原文”~
看完本文有收获?那就分享给更多同学吧~