Linux基础介绍【第三篇】,linux基础第三篇
Linux基础介绍【第三篇】,linux基础第三篇
更改SSH服务端远程登录的配置
windows服务端的默认远程管理端口是3389,管理员用户是administrator,普通用户是guest。Linux的管理用户是root,普通用户默认有很多个,远程连接默认端口是22。
修改配置文件/etc/ssh/sshd_config,13行Port 22(默认端口22),改为Port 52113(范围0——65535);15行ListenAddress 0.0.0.0 (监听ip地址),改为ListenAddress 192.168.131.1;43行PermitRootLogion yes(root用户远程连接),改为PermitRootLogion no;122行UseDNS yes(DNS解析),改为UseDNS no;GSSAPIAuthentication yes(SSH连接慢),改为GSSAPIAuthentication no;
cat –n:查看行号
vim à:set nu à显示行号
diff比较2个文件的不同之处。
[root@oldboy66 ssh]# diff sshd_config sshd_config.oldboy.20161204
vimdiff以高亮方式比较2个文件的不同之处。
[root@oldboy66 ssh]# vimdiff sshd_config sshd_config.oldboy.20161204
sed替换:
重启生效:/etc/init.d/sshd restart(可能影响用户)或/etc/init.d/sshd reload(平滑重启)。
查看端口:
netstat -lntup|grep sshd
利用sudo控制用户对系统命令的使用权限
管理sudo命令:
visudo或vi /etc/sudoers,visudo更好。vi命令模式直接输入行数+gg到固定的行数,显示行号:set nu,yy(复制)+p(粘贴)复制当前行到下一行,shift+a到结尾处于编辑状态。
98+gg: 98 root ALL=(ALL) ALL
给oldboy授予root权限:
oldboy ALL=(ALL) ALL
oldboy ALL=(ALL) NOPASSWD:ALL(不提示输入密码)
用oldboy添加一个用户oldgirl:
给oldboy授予固定权限:
oldboy ALL=(ALL) /bin/touch,/usr/sbin/useradd
注意:需要命令的全路径,查看命令全路径which 命令,例如:
find查找:find / -type f -name "useradd"
whereis查找:whereis -b useradd
locate查找:locate useradd
环境变量:
PATH系统路径变量,执行ls、cp等非内置命令时,系统会查找PATH里对应的路径是否存在,如果没有就报告找不到该命令。当执行which cp来查看命令所在路径的时候,也就是从PATH变量去搜索。
PATH变量的临时修改 export PATH="/tmp:$PATH",永久生效将命令放到/etc/profile下,使用source /etc/profile 使得立刻生效。
Linux中文显示设置
查看当前字符编码:
操作前先进行备份:cp /etc/sysconfig/i18n /etc/sysconfig/i18n.oldboy.20161205
注意:客户端字符集需改为UTF-8。
设置Linux服务器时间同步
显示时间:date
修改时间:date –s "时间" àhwclock
显示日历:cal
同步互联网时间:
定时任务执行同步:
下面三种方法是等价的:
/dev/null 空设备(黑洞)
错误和正确都输出到/dev/null:
1、1>/dev/null 2>/dev/null
2、1>/dev/null 2&1
3、&>/dev/null
时间同步架构
小规模时间同步架构:
大规模时间同步架构:
设置Linux默认历史记录数
命令如下,注意此时的配置仅临时生效。
把配置参数放入配置文件,使得永久生效。
TMOUT=10:连接的超时时间控制变量。
HISTSIZE=5:命令行的历史记录数量变量。
HISTFILESIZE=10:历史记录文件的命令行数量变量(~/.bash_history)。
历史记录清空:history -c。
删除指定历史记录:history -d 10(删除10号历史记录)。
加大服务器文件描述符
文件描述符的概念
1、表示形式为整数数字(0——65535)。
2、进程使用的时候会占用文件描述符(标识打开的文件)。
查看默认文件描述符
3、调整文件描述符
方法一:
直接把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次开机启动的时候生效。
写入rc.local:
方法二:
在/etc/sercurity/limits.conf里面配置。
调整内核参数文件/etc/sysctl.conf
vim编辑:shift+g切换到文件结尾
优化参数:
执行生效:sysctl -p
查看网络状态:netstat -an
隐藏Linux版本信息
控制Linux显示版本信息的文件
清空这个两个文件就可以了。
锁定关键系统文件,防止提权被篡改
命令:
解除锁定:chattr -i
为grub菜单加密码
为grub菜单加密码的目的是防止他人修改grub做内核等启动设置。
1、先用/sbin/grub-md5-crypt产生一个MD5密码串。
2、修改grub.conf文件添加
password --md5 $1$T2zU4/$KmlABHIkQGczWjh1DdwWU.。
注意:password要加在splashimage和title之间,否则可能不生效。
禁止Linux系统被ping
命令:
升级具有典型漏洞的软件版本
首先查看相关软件的版本号
执行升级已知漏洞的软件版本到最新。
配置yum源
查看当前yum源
配置阿里云的yum源
wget:下载,wget http://url;-O:下载到指定路径并改名;--spider:爬虫,检查网站是不是好的,不会下载只是检查;-T(--timeout):指定超时时间(--timeout=seconds);--tries:指定重试的次数(--tries=2);-q(--quiet):后台下载,关闭输出;
总结:
1、不用root管理,以普通用户的名义通过sudo授权管理。
2、更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至要更改为只监听内网IP。
3、定时自动更新服务器时间,使其和互联网时间同步。
4、配置yum更新域,从国内更新源下载安装软件包。
5、关闭SELinux及iptables(在生产场景中,如果有外部IP一般要打开)
6、调整文件描述符的数量,进程及文件的打开都会消耗文件描述符。
7、定时自动清理邮件目录垃圾文件,防止inodes节点被占满。
8、精简并保留必要的开机自启动服务(如crond、sshd、network、rsyslog、stsstat)。
9、Linux内核参数优化/etc/sysctl.conf,执行sysctl -p 生效。
10、更改字符集,使其支持中文。
11、锁定关键系统文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab,处理后把chattr、lasttr改名。
12、清空/etc/issue、/etc/issue.net,去除系统及内核版本登录前的屏幕显示。
13、清楚多余的系统虚拟账号。
14、为grub菜单加密码。
15、禁止被ping。
16、升级漏洞软件。
less:按屏(空格、page up/page down)或按行(回车)查看文件。
more:按屏(空格)或按行(回车)查看文件,不能向上翻。
Linux目录结构
linux只有一个顶点/(根),其他所有目录都在根下。根下面的所有目录是一个有层次的树状结构,像一颗倒挂着的大树。
tree:显示目录结构,-L:指定显示多少层;-d:只显示目录。
linux的目录结构和磁盘分区是分离的,可以自由组合。
/
├── bin àEssential command binaries
├── boot àStatic files of the boot loader
├── dev àDevice files
├── etc àHost-specific system configuration
├── home àUser home directories(optional)
├── lib àEssential shared libraries and kernel modules
├── lib64
├── lost+found
├── media
├── mnt àMount point for mounting a filesystem temporarily
├── oldboy
├── opt àAdd-on application software packages
├── proc à进程信息及内核信息(cpu、硬盘分区、内存信息等)
├── root àHome directory for the root user(optional)
├── sbin àEssential system binaries
├── selinux
├── srv
├── sys
├── tmp àTemporary files
├── usr àSecondary hierarchy
└── var àVariable data
cat /proc/meminfo à内存信息
cat /proc/cpuinfo àcpu信息
cat /proc/mounts à挂载信息
cat /proc/loadavg à负载(系统繁忙程度)
小结:
1、linux系统的所有目录时一个有层次的倒着的树状目录结构,/根是所有目录的起点。
2、不同的目录数据可以跨越不同的磁盘分区或不同的磁盘设备。
/dev/ 设备目录
/etc/ 系统配置即服务配置文件、启动命令的目录
/proc 显示内核及进程信息的虚拟文件系统
/tmp 临时文件目录
/home 普通用户家目录
/root 超级管理员的家目录
/var 变化的目录,一般是日志文件,cache的目录
/usr 用户程序及数据、帮助文件、二进制命令等的目录
/bin、/sbin、/usr/sbin 用户命令的目录
Linux重要目录路径
/etc/sysconfig/network-scripts/ifcfg-eth0:配置网络地址及GW等。
IPADDR=10.0.0.7 #addr是IP地址
NETMASK=255.255.255.0 #子网掩码,划分网络位和主机位10.0.0.0/24
GATEWAY=10.0.0.254 #网关地址,路由器的地址
修改配置生效命令:
ifup:启动
ifdown:关闭
/etc/resolv.conf:DNS管理
小结:
1、客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)。
2、客户端DNS也可以在/etc/resolv.conf里设置。
3、网卡里的设置DNS优先于/etc/resolv.conf。
/etc/hosts:设定用户IP与域名的对应解析表
对应windows的文件C:\Windows\System32\drivers\etc\hosts。
hosts在企业里的作用:
1、开发、产品、测试等人员,用于通过正式的域名测试产品。
2、服务器之间的调用可以用域名(内部的DNS),方便迁移。
/etc/sysconfig/network:修改机器名及网卡启动,网关等配置。
更改主机名:
1、vi /etc/sysconfig/network
2、hostname 主机名
同时修改。
/etc/fstab:设置文件系统挂载信息的文件,使得开机能够自动挂载磁盘分区
fsck:磁盘检查(不要检查好磁盘),卸载的状态
挂载方式:
1、命令挂载
mount -t ext4 -o noexec /dev/sda1 /mnt
2、/etc/fstab
测试手动挂载:
1、创建一个虚拟的块设备。
dd if=/dev/zero of=/dev/sdb1 bs=4906 count=100
2、格式化
mkfs.ext4 /dev/sdb1
3、挂载
mount -t ext4 -o loop,noatime,noexec /dev/sda1 /mnt
4、查看
df -h
第一列挂载的设备可以是设备名或UUID、磁盘标签。
fstab出问题,修复方式:
1、开机提示输入密码修复。
2、救援模式rescue修改/etc/fatab只读状态,mount -o rw,remount /。
/etc/rc.local:用于存放开机自启动程序命令的文件
让一个程序开机启动:
1、chkconfig(/etc/init.d/sshd)。
2、放入/etc/rc.local。
选择建议:/etc/rc.local,工作中把/etc/rc.local作为服务器档案文件,所有程序开机启动放入/etc/rc.local并加注释。
rc.local与fstab区别:rc.local在系统启动完成最后加载。
NFS网络文件系统挂载是,网卡还没启动,就已经加载fstab。(mount -t nfs 10.0.0.7:/data /mnt)
/etc/inittab:设定系统启动时init进程将把系统设置成什么样的runlevel运行级别及加载相关的级别对应启动文件设置
Linux启动过程:
1、开机BIOS自检
2、MBR引导
硬盘0柱面0磁盘1扇区的前446byte。
3、grub引导菜单
cat /etc/grub.conf
4、加载内核kernel
5、启动init进程
ps -ef|grep init
/etc/init.d
/etc/profile:系统全局环境变量永久生效的配置文件
/etc/profile.d:登录后执行的脚本所在地
/etc/motd:登录后显示的字符串
/etc/issue:记录用户登录前显示的系统版本等信息
/etc/group:设定用户的组名与相关信息
/etc/passwd:账号信息文件
/etc/shadow:密码信息文件
/etc/gshadow:组密码信息文件
/etc/sudoers:可以执行使用sudo命令的配置文件
visudo -c:检查语法
yum remove tree -y:yum删除(会删除依赖,慎用)
评论暂时关闭