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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值