【系统知识点】linux基础&优化命令

Xshell上传下载服务器的文件:

yum -y install lrzsz sysstat//安装对应软件

sz XXXX//下载

rz
XXXX//上传

创建用户:

Useradd vrfxie //创建用户

-c
comment 指定一段注释性描述。

-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

-g 用户组 指定用户所属的主用户组。

-G 用户组,用户组 指定用户所属的附加组。

-s Shell文件 指定用户的登录Shell。 #可以设置为/sbin/nologin意思是用户不允许登录,仅不可登陆,但可以运行某些服务

-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

Passwd
vrfxie  //创建密码

密码不符合安全设定的话 就会提醒你 但还是能创建的

一步创建到位,非交互操作:echo "vrf123" | passwd --stdin
vrfxie

for user in ‘seq 10‘;do useradd user$user;echo user$user | passwd
--stdin user$user;done //批量创建用户

Woami
//查看当前用户,检查一下

Su - //切换用户,如果使用su而不加上“-”这个参数,那么,切换前的用户的相关信息还会存在

$是普通用户的命令提示符,#是超级用户的命令提示符

su命令总结:

1)普通用户切换到root用户,可使用su
-或su - root。必须输入root密码才能完成切换。

2)root用户切换到普通用户,可使用“su
- 普通用户名”的写法。不需要输入任何密码就能完成切换。切换到普通用户后,在执行一些命令如ifconfig时,可能会遭遇到环境变量PATH路径问题而找不到某些系统命令(一般是/sbin,/usr/sbin等下面的命令),这时就需要将普通用户的PATH,配置成root的PATH内容,前面的文章已讲解过这个配置方法,不清楚的读者,可以翻阅下。

3)如果仅希望在某用户下执行命令,而不直接切换到该用户下操作,可以使用 su
- 用户名 -c "命令"的方式。

rpm软件管理

rpm -qa | grep XXX //查看对应软件有没安装

如何查看rpm包里有什么内容

rpm -qlp

如何查看rpm包的安装脚本

rpm -qp --scripts

如何查看rpm包的依赖性关系

rpm -qp --requires

如何查看rpm包详细信息

rpm -qi

如何安装rpm包

rpm -ivh

如何更新软件

rpm -Uvh

如何卸载软件

rpm -e

如何在安装过程中指定相对安装路径

rpm -ivh --nodeps
--force --root=你指定的路径

如何在安装过程中忽略依赖性关系

rpm -ivh --nodeps
--force

如何查看rpm包的更新记录

yum:

基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

设置更新源(改成国内的源):

mv   CentOS6-Base.repo  CentOS6-Base.repo.ori

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

mv CentOS6-Base-163.repo CentOS6-Base.repo

yum makecache

系统&软件更新:

rpm --import
/etc/pki/rpm-gpg/RPM-GPG-KEY* //导入验证密钥,验证安装包的安全性

yum update

安装包群:

yum grouplist //查看程序包群的安装情况

yum groupinstall "XXXX" //安装包群

yum groupremove   //卸载包组

事先规划磁盘,引导程序

建议练习机安装时的磁盘分区能有/,/boot,swap三个分区,这也是工作中常用的分区方法。如果是数据库及存储的服务器还可以在分出一个/data分区。

门户网站一般的分区方案:假设服务器16G内存,1T硬盘。

/boot 分区 100-200M

swap 分区 物理内存的1.5-2倍,如果内存大于16G,可以给8-16G

/分区 80-200G

剩余空间不分,保留给使用的人根据业务在具体问题具体分区

web服务器集群,普通服务器:600G-1T的硬盘

/boot 100-200M

swap 1.5 men(如果大于8G,就给8-16G)

/ 所有剩余的,相当于笔记本的只有C盘。

数据有集群所以不怕丢失,一块分区,使用不存在分区不够大问题。

数据库存储系统:600G-1T的硬盘

LAMP,LNMP服务器:

/boot 100-200M

swap 1.5 men(如果大于8G,就给8-16G)

/ 40-80-100G

/data 所有剩余空间都给/data

提示:一般有重要数据的业务,尽可能数据所在的分区独立分出来。

SElinux

Linux的一个扩张强制访问控制安全模块

Getenforce //查看Selinux的状态

Setenforce 0/1 //开关Selinux,一般选择关闭,开启性价比不高

linux运行级别

关机        
                0
- halt (Do NOT set initdefault to this)

单用户模式  
                1
- Single user mode

多用户模式,没有NFS 2 - Multiuser, without NFS (The same as 3, if you do not have
networking)

全功能多用户模式(命令行模式)3 - Full multiuser mode

图形化环境 
            5 - X11

重启  
                                6
- reboot (Do NOT set initdefault to this)

init
x(x=0,1,3,5,6) 
#切换运行级别

startx   #init 5,进入图形化环境

查看运行级别配置

[[email protected] /
12:27:13]# cat /etc/inittab

# 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)

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

#

id:5:initdefault: //默认运行级别

开机服务设置:

命令的处理方法:1)ntsysv 2)setup-system service 3)脚本一键完成处理

脚本:

# LANG=en

# for
SS in ‘chkconfig --list | grep 3:on | awk ‘{print $1}‘‘;do chkconfig --level 3
$SS off;done #把所有服务关闭

# for
SS in crond network syslog sshd;do chkconfig --level 3 $SS on;done #只开启自己想要的服务

# chkconfig --list|grep 3:on #查询开启的服务

acpid         
        0:off        1:off        2:on        3:on        4:on        5:on        6:off

atd           
        0:off        1:off        2:off        3:on        4:on        5:on        6:off

auditd        
        0:off        1:off        2:on        3:on        4:on        5:on        6:off

设置开机自启动服务原则:最小化原则---尽量不安装不适用的软件,尽量不开启不需要开启的而服务。即只要不用就不要开启,这样的系统的性能和安全性才是最好的。

sudo权限管理

# visudo //授权给各用户

user   
MACHINE(授权哪个角色的权力)      COMMANDS(对应命令)

## Allow root to run any commands anywhere

root   
ALL=(ALL)       ALL

rex    
ALL=(ALL)       NOPASSWD:ALL //无敌,密码都不用

rex2    ALL=(root)      !/usr/bin/passwd,/usr/bin/passwd
[A-Za-z]*,!/usr/bin/passwd root

授权后,对应用户用sudo+命令然后输入自己密码即可以root身份执行,短时间内再操作,可不需要密码

[[email protected] ~
15:56:22]$ sudo /usr/sbin/useradd kkk

[sudo] password for
rex2:

Which //查看命令所在位置

重要的环境变量:

PATH //路径变量,路径变量里面有的路径,就可以直接执行路径里面的命令

#echo $PATH //查看路径变量

#vim .bash_profile //修改路径变量(全局)

SSH服务优化:

//优化配置,防止黑客

主配置文件:/etc/ssh/sshd_config

Port 1631 //修改端口号,对应防火墙要开启

PermitRootLogin no
//root很敏感,不允许root远程登录

PermitEmptyPasswords no //禁止空密码

UseDNS no//不适用DNS

/etc/init.d/sshd restart //重启服务,生效配置

netstat -n | grep -i est//查看ssh连接情况

合适字符集设置:

简单的说就是一套文字符号及其编码。常用的字符集有:

GBK 定长 双字节 不是国际标准,支持的系统不少

UTF-8 非定长 1-4字节 广泛支持,mysql也使用

通过快捷的命令方式在/etc/sysconfig/il8n中添加内容即可//设置字符集

cat /etc/sysconfig/i18n //查看字符集

LANG="C"

SYSFONT="latarcyrheb-sun16"

cp
/etc/sysconfig/i18n /etc/sysconfig/i18n.ori

echo ‘LANG="zh_CN.GB18030"‘ > /etc/sysconfig/i18n //中文显示配置要跟SSH客户端一样

source
/etc/sysconfig/i18n

//修改为中文显示

ps:当然能不用中文就不用中文,这里只是以中文为例子

时间同步:

# ntpdate time.nist.gov  //手动更新

# echo ‘*/5 * * * * /sbin/ntpdate time.nist.gov > /dev/null
2>&1‘ >> /var/spool/cron/root  //建立定时更新,正确错误信息不显示

加大服务器描述符:

内核(kernel)利用文件描述符(file
descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。

习惯上,标准输入(standard
input)的文件描述符是 0,标准输出(standard output)是 1,标准错误(standard error)是 2。尽管这种习惯并非

Unix内核的特性,但是因为一些
shell 和很多应用程序都使用这种习惯,因此,如果内核不遵循这种习惯的话,很多应用程序将不能使用。

文件描述符是由

无符号整数表示的句柄,进程使用它来标识打开的文件。文件描述符与包括相关信息(如文件的打开模式、文件的位置类型、文件的初始类型等)的文件对象相关联,这些信息被称作文件的上下文。

ulimit -n //查看当前描述符限制量为多少

设置描述符数量:

1.在文件/etc/security/limits.conf末尾配置 *     -       
nofile        65535

2.ulimit -SHn
65535 //openfile   ulimit -s 65535//stacksize    #也可以加入/etc/rc.local,每次重启生效

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

#此优化适合apache,nginx,squid多种等web应用,特许业务也可能需要略作调整

所谓内核优化,主要是在linux系统中针对业务服务应用而进行的系统内核参数优化,优化并无特殊的标准,

下面以常见生产环境linux的内核优化条目,自行百度其意义&测试适合自己的配置值

net.ipv4.tcp_fin_timeout

net.ipv4.tcp_tw_reuse

net.ipv4.tcp_tw_recycle

net.ipv4.tcp_syncookies

net.ipv4.tcp_keepalive_time

net.ipv4.tcp_local_port_range

net.ipv4.tcp_max_syn_backlog

net.ipv4.tcp_max_tw_buckets

net.ipv4.tcp_synack_retries

net.ipv4.tcp_syn_retries

net.ipv4.tcp_max_orphans

net.core.somaxconn

net.core.netdev_max_backlog

sysctl -p //激活生效

锁定关键系统文件:

chattr +i
/etc/passwd

chattr +i
/etc/shadow

chattr +i /etc/group

chattr +i
/etc/gshadow

chattr +i
/etc/inittab

然后把chattr改名,也就是把锁命令隐藏

mv /usr/bin/chattr /usr/bin/yincang

隐藏我们的版本(放烟幕弹给黑客):

修改 /etc/issue

更多优化可参考:http://oldboy.blog.51cto.com/2561410/988726

【系统知识点】linux基础&优化命令

时间: 2024-10-03 09:26:58

【系统知识点】linux基础&优化命令的相关文章

Linux基础文件管理命令之ls,cd

Linux中提供了大量的命令,使用他们可以简化我们的工作,也许在图形化界面中要点击鼠标十几下操作,而在linux系统中一条命令就可以轻松解决.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统,就必须从Linux命令学起. linux系统中的命令格式一般如下: 命令格式:   命令  选项  参数     选项:       短选项: -       多个选项可以组合:-a -b = -ab       长选项: -- 参数:命令的作用对象 下面主要介绍ls和cd命

Linux基础文件管理命令之rm,mv,cp,touch

在linux系统下,一切皆文件,就连光盘也看作文件,要使用光盘首先要先建立一个目录,然后通过挂载来操作这个光盘,就连鼠标,键盘都是被看作文件.所以学习文件的相关操作命令是很重要的. rm命令 rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件保持不变. 注:rm是一个危险的命令,使用的时候要特别小心,尤其对于新手,否则整个系统就会毁在这个命令,比如以root身份在根目录下执行rm * rf

Linux基础tree命令

tree命令以树状图列出文件目录结构.不过某些Linux上(Centos 6.4)没有tree命令,本文将介绍安装方法. 常用参数: tree -d 只显示目录. tree -L 1 只显示第一层目录. [[email protected] tree-1.7.0]# tree -bash: tree: command not found 安装tree命令: [[email protected] 下载]# tree -bash: tree: command not found 到ftp://mam

Mac OSX系统、Linux、Windows命令行教程

Mac OSX系统.Linux.Windows命令行教程 一.各系统终端的使用方法 二.各系统命令的功能 用你的终端做一些事情 (command line, Terminal, PowerShell). 一.各系统终端的使用方法 Mac OSX 在Mac OSX系统上,你应该 按住 command 键,并敲空格键. 屏幕顶部会弹出一个蓝色的"搜索框". 输入"terminal". 点击终端应用程序,这个程序的图标看起来有点像一个黑盒子. 终端就打开了. 现在你可以在

Linux运维第七课----Linux基础优化

一.find找出文件,并替换文件内容[[email protected] ~/data]# find /root/data/ -type f -name '.txt' ./oldboy.txt./acheng.txt./magua.txt./op.txt1.方法一 [[email protected] ~/data]# find /root/data/ -type f -name '.txt' -exec sed -i 's#sh#hs#g'[[email protected] ~/data]#

linux文件目录权限和系统基础优化命令

一.用户 1.介绍 我们都知道linux中有root用户和普通用户,但是同样是普通用户,为什么有些用户的权限却不一样呢?其实这就类似于我们的QQ群,root用户就是QQ群主,他拥有最高的权利,想干什么就干什么,其他人都是普通用户,某一天,群主看这个小伙子不错,于是群主给了一些权限这个小伙子,于是这个小伙子就成了QQ群的管理员,这个小伙子就比其他用户多了一些权限. 注意:root用户需要慎用,尤其是rm命令,必须慎用!!!因为root能把自己给搞死... 2.关于用户的一些命令 1. id id

Linux运维第六课----Linux命令及Linux基础优化

一.替换文件1.已知在/root/data中存在op.txt,如何把/root/afeng/op.txt拷贝到data目录并替换2.1[[email protected] /]# \cp /root/afeng/op.txt /root/data/2.2[[email protected] ~]# /bin/cp /root/data/op.txt /root/afeng/二.vim的快捷键G到达底层gg到达首层o进入下行编辑u撤销:wq 保存并退出:q!强制退出三.设置别名1.为什么设置别名安

Linux基础优化与安全归纳总结

一名运维工程师在运维岗位上时间久了,就会发现Linux优化的重要性,同时会给运维工作带来很多的便利性.本人逐渐认识到了这一点,所以特意在工作闲暇之余,通过阅读Linux相关书籍及向同事.同行高手咨询,针对Linux系统的一些基本优化做了如下归纳总结,如有不足之处,还望大伙补充完善. 本文主要描述一些基本的系统优化知识点,并未涉及Linux深化优化,关于Linux的深化优化知识本人后期会更新. 第一点:Linux的管理尽量不用root用户,利用sudo命令来控制普通用户对系统的管理 新建一个用户,

Linux 基础优化配置

Linux操作系统基础优化配置 在安装完成Linux系统之后,我们是需要进行一些优化,使操作系统更加的安全,同样也是一些必备的准备工作(为日后的生产环境) 1:为系统添加操作用户 系统安装完成后,尽量避免使用ROOT用户登陆用户进行操作,减少不必要的风险,所以是需要根据日常维护需求添加操作用户的 2:安装系统必要的软件包 系统安装完成后,是需要检查下日后实际使用环境中需要用到软件是否都已全部安装完成 此命令是查看包组列表 检查是否安装某软件 如果没有安装,可以使用yum install http