linux服务器统一配置,linux服务器配置

目录

添加删除用户

自动化修改密码

踢掉登录的用户

修改主机名

查看linux系统版本

查看磁盘空间

scp远程拷贝

禁止用户登录

linux定时任务 crontab

添加删除用户

购买ecs服务器之后,就可以直接采用root用户远程登陆了, 接下来,我们创建一个普通用户,首先通过root登录服务器:

ssh root@ip

使用root用户登录Ubuntu系统以后,打开一个终端,在终端中执行如下Shell命令,创建一个新的普通用户(比如,这里创建的用户名为mt):

sudo useradd -m mt -s /bin/bash

这条命令创建了可以登陆的 mt 用户,并使用 /bin/bash 作为 shell。

修改用户指定的shell

如果要修改创建用户时指定的shell,有两种方式, 一种是直接修改/etc/passwd文件(需要切到root用户),另一种是通过以下命令:

usermod -s /bin/csh abc

修改用户密码

接着使用如下命令为这个新用户设置密码,请按系统提示输入两次密码:

sudo passwd mt

此时mt用户创建好了, 但是mt没有管理员权限, 可为mt 用户增加管理员权限,方便部署:

sudo adduser  mt sudo

然后,使用mt用户登录,命令如下:

ssh mt@ip

sudo su

接下来可以先更新一下 apt,后续我们使用 apt 安装软件

sudo apt-get update

删除用户

# userdel -r haha

-r是为了同时删除用户的home目录和邮箱(/var/spool/mail), 这样才能彻底删除用户, 否则会导致用户的资料删除不完全,导致下次创建同名的用户时,提示用户已存在.

自动化修改密码

see 自动化修改linux密码

踢掉登录的用户

首先使用w命令查看所有在线用户:

[root@vm /]# w

20:50:14 up 9 days, 5:58, 3 users, load average: 0.21, 0.05, 0.02

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 101.45.224.253 20:48 0.00s 0.00s 0.00s w

root pts/1 101.45.224.253 20:49 17.00s 0.00s 0.00s -bash

踢掉用户命令:

命令格式:

pkill -kill -t TTY值

踢掉root pts/1:

pkill -kill -t pts/1

再用w命令查看是否已经强制踢掉:

[root@vm /]# w

20:55:10 up 9 days, 6:03, 2 users, load average: 0.03, 0.03, 0.00

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 101.45.224.253 20:48 0.00s 0.00s 0.00s w

修改主机名

服务器主机默认主机名非常不好看,可以通过以下方式修改

cp /etc/hostname /etc/hostname.bak

vi /etc/hostname //修改

cat /etc/hostname >> /proc/sys/kernel/hostname

退出,重新登录

查看linux系统版本

# cat /etc/issue

Ubuntu 18.04.2 LTS \n \l

# cat /proc/version

Linux version 4.15.0-52-generic (buildd@lgw01-amd64-051) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019

# cat /etc/lsb-release

DISTRIB_ID=Ubuntu

DISTRIB_RELEASE=18.04

DISTRIB_CODENAME=bionic

DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"

# lsb_release -a

LSB Version:core-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch

Distributor ID:Ubuntu

Description:Ubuntu 18.04.2 LTS

Release:18.04

Codename:bionic

# uname -a

Linux luckzone 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

查看磁盘空间

df命令是Linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间:

df -hl

1

显示格式为:

文件系统 容量 已用 可用 已用% 挂载点

Filesystem Size Used Avail Use% Mounted on

udev 976M 0 976M 0% /dev

tmpfs 200M 2.7M 197M 2% /run

/dev/vda1 40G 3.4G 35G 9% /

tmpfs 997M 0 997M 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 997M 0 997M 0% /sys/fs/cgroup

tmpfs 200M 0 200M 0% /run/user/1000

tmpfs 200M 0 200M 0% /run/user/0

以下面的输出为例,表示的意思为:

/dev/vda1 40G 3.4G 35G 9% /

容量是40G,用了3.4G,可用是35G,被挂载到根分区目录上(/)。

其他命令:

df -hl 查看磁盘剩余空间

df -h 查看每个根路径的分区大小

du -sh [目录名] 返回该目录的大小

du -sm [文件夹] 返回该文件夹总M数

df –help

du –help

scp远程拷贝

scp  -r a xx@xx.com:     拷贝文件夹到用户mt的根目录下

scp  a.txt @xx.com:/home/xxwork    拷贝文件到work目录下

禁止用户登录

1. 通过修改shell类型,来禁止用户登录,该方式不仅可以禁止用户登录,还可以告诉他无法登录的原因;

chsh user -s /usr/sbin/nologin #将用户user的shell进行更改

nologin在不同版本的linux中可能位于不同的目录下, 可使用whereis命令查找。

该方式设置后依然会显示登录界面,效果如下:

$ ssh xxx@lo.com

xxx@lo.com's password:

Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-52-generic x86_64)

* Documentation: https://help.ubuntu.com

* Management: https://landscape.canonical.com

* Support: https://ubuntu.com/advantage

* Overheard at KubeCon: "microk8s.status just blew my mind".

https://microk8s.io/docs/commands#microk8s.status

* Canonical Livepatch is available for installation.

- Reduce system reboots and improve kernel security. Activate at:

https://ubuntu.com/livepatch

Welcome to Alibaba Cloud Elastic Compute Service !

Last login: Tue Nov 26 16:16:32 2019 from 103.37.140.24

This account is currently not available.

Connection to lo.com closed.

2.  更严格的禁止登录

使用命令usermod

usermod -L user  禁止帐号user登录

usermod -U user 允许账号登录

该方式的效果如下:

$ ssh xxx@lo.com

xxx@lo.com's password:

Permission denied, please try again.

仿佛用户不存在一样。

linux定时任务 crontab

借助crontab可以实现定时任务,通过shell脚本来定时监控应用程序的运行,一旦发现应用程序崩溃,则重新启动应用程序

crontab [-u user] [ -e | -l | -r ]

选项说明

u 设置为某个用户设置crontab命令 ,通常有root执行

e 编辑crontab命令

l 查询现有的任务

r 删除所有任务

命令格式

分钟     小时    日期    月份     周     命令

0-59    0-23    1-31    1-12    0-7     cmd

// 每5分钟执行一次 /x.sh

*/5 * * * * /x.sh

从命令格式可以看出,可以实现分钟级的定时任务,如要实现秒级的任务,则需要采取一些技巧.

添加定时任务命令:

crontab -e

编辑定时任务:

* * * * * sleep 10; /sh/monitor.sh #每10s执行一次

查看定时任务列表:

crontab -l

监控脚本:

监控脚本用于检测应用程序进程是否还在,如果不在,则重新启动应用程序.

#!/bin/bash

DIR="/js/"

MAINPID=`ps -ef | grep "node xx.js" | grep -v grep `

if [ ! "$MAINPID" ];then

cd $DIR

node btc_usdt.js

echo "***************************************************"

echo "***********server node xx.js up**************"

echo "***************************************************"

else

echo "***************************************************"

echo "*******server node xx.js already up**********"

echo "***************************************************"

fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值