前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用户管理下

用户管理下

作者头像
惨绿少年
发布2017-12-27 15:59:42
9730
发布2017-12-27 15:59:42
举报
文章被收录于专栏:惨绿少年惨绿少年

第1章 批量添加3个用户stu01-stu03,设置密码为123456.

1.1 预备知识

前的产生的命令通过管道后可以交给bash运行

代码语言:javascript
复制
[root@znix ~]# echo pwd |bash
/root

1.2 命令的样子

目标命令的形状,想让命令变成这个样子执行。

代码语言:javascript
复制
useradd stu01 ;echo 123456|passwd --stdin stu01
useradd stu02 ;echo 123456|passwd --stdin stu02
useradd stu03 ;echo 123456|passwd --stdin stu03

1.3 命令的生成

1.3.1 第一步 生成名字

代码语言:javascript
复制
[root@znix ~]# echo stu{01..3}|xargs -n1
stu01
stu02
stu03

1.3.2 第二步 拼接出想要的形状

两条命令之间用 ; 表示前面的命令执行了执行后面的

两条命令之间用 &&  表示前面的执行对了执行后面的

代码语言:javascript
复制
[root@znix ~]# echo stu{01..3}|xargs -n1|sed -r 's#(.*)#useradd \1;echo 123456|passwd --stdin \1#g'
useradd stu01;echo 123456|passwd --stdin stu01
useradd stu02;echo 123456|passwd --stdin stu02
useradd stu03;echo 123456|passwd --stdin stu03

1.3.3 第三步 交给bash执行

使用bash执行的时候,要先确认命令是正确的。

代码语言:javascript
复制
[root@znix ~]# echo stu{01..3}|xargs -n1|sed -r 's#(.*)#useradd \1;echo 123456|passwd --stdin \1#g'|bash
Changing password for user stu01.
passwd: all authentication tokens updated successfully.
Changing password for user stu02.
passwd: all authentication tokens updated successfully.
Changing password for user stu03.
passwd: all authentication tokens updated successfully.

1.3.4 第四步 检查结果

代码语言:javascript
复制
[root@znix ~]# grep "stu" /etc/passwd
stu01:x:889:889::/home/stu01:/bin/bash
stu02:x:890:890::/home/stu02:/bin/bash
stu03:x:891:891::/home/stu03:/bin/bash

[root@znix ~]# grep "stu" /etc/shadow
stu01:$6$7XjTYZn2$aVGsKaJDjKD0eKlRoWkxbKePEFF0Vopot5nw1dxCmzaeQ3ZYDDhmuoKHif9avWb/l06xzeUfj2I6HMPOBHr0e.:17422:0:99999:7:::
stu02:$6$6tLZy0ua$erjJFSLK7qiYgXKE3fkLyjAgsY23elGDiUvJwHHrkw9kUTQbGeDqQAc6X1MXmuv2pwQY9qbpO7DAICxgDXh0Y0:17422:0:99999:7:::
stu03:$6$a3FCqg//$WS9kjhD62naNSl1oRupYO/2DTNRN38j97wVSz4oNvlqAAYgZe.UzcDdUOx/DSpW93Q070Sdmmls7t9RBDR82D1:17422:0:99999:7:::

1.3.5 第五步 密码验证

代码语言:javascript
复制
[root@znix ~]# su - stu01
[stu01@znix ~]$ su - stu02
Password:

[stu02@znix ~]$ su - stu03
Password:

[stu03@znix ~]$ su - stu01
Password:

[stu01@znix ~]$

1.4 简化命令

1.4.1 预备知识

&表示匹配前面所找到的内容

代码语言:javascript
复制
[root@znix ~]# echo 123456|sed 's#.*#<&>#g'
<123456>

[root@znix ~]# echo 123456|sed 's#.#<&>#g'
<1><2><3><4><5><6>

1.4.2 简化命令

上面的命令就可以简写,而且& 属于基础正则,sed可以直接使用。

代码语言:javascript
复制
[root@znix ~]# echo stu{01..3}|xargs -n1|sed  's#.*#useradd & ;echo 123456|passwd --stdin & #g'
useradd stu01 ;echo 123456|passwd --stdin stu01
useradd stu02 ;echo 123456|passwd --stdin stu02
useradd stu03 ;echo 123456|passwd --stdin stu03

第2章 用户管理

2.1 相关命令

2.1.1 chown  修改文件的所有者或属组

 -R    递归修改文件或目录的的所有者或组(很危险)

代码语言:javascript
复制
[root@znix tmp]# ll data/
total 4
drwxr-xr-x 78 root root 4096 Aug 24 10:28 etc
[root@znix tmp]# chown -R znix.znix data/
[root@znix tmp]# ll data/
total 4
drwxr-xr-x 78 znix znix 4096 Aug 24 10:28 etc

2.1.2 groupadd 添加用户组

-g 指定用户组的gid

代码语言:javascript
复制
[root@znix ~]# groupadd mysql -g 999
[root@znix ~]# grep mysql /etc/group
mysql:x:999:

2.2 添加一个虚拟用户用户 mysql 指定用户的uid gid都是999

2.2.1 注意 useradd -g -u

-g 指定用户组 gid(这里指定gid的时候,这个组必须是存在的)

2.2.2 先创建组,再进行创建用户,指定gid

代码语言:javascript
复制
[root@znix ~]# groupadd mysql -g 999
[root@znix ~]# useradd -u 999 -g mysql -s /sbin/nologin -M mysql
[root@znix ~]# id mysql
uid=999(mysql) gid=999(mysql) groups=999(mysql)

2.2.3 默认添加的时候uid与gid相同

代码语言:javascript
复制
[root@znix ~]# useradd -u 999 -s /sbin/nologin -M mysql
[root@znix ~]# id mysql
uid=999(mysql) gid=999(mysql) groups=999(mysql)

2.3 用户查询命令

2.3.1 w 显示谁远程登陆了系统,在做什么

查看用户是以什么身份登陆到系统。

代码语言:javascript
复制
[root@znix ~]# w
 10:25:35 up  1:02,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                10:37    2:21m  0.00s  0.00s -bash
root     pts/0    10.0.0.1         09:23    0.00s  0.12s  0.00s w
root     pts/1    10.0.0.1         09:23    1:01m

登陆是指使用 ssh 远程里连接时使用的用户。登陆后切换用户不会显示。

本地用户登陆 FROM 显示为 -  为tty登陆

2.3.2 last 显示系统用户的登陆信息

last 命令与 /var/log/secure 文件记录的信息大致相同,文件更为详细

代码语言:javascript
复制
[root@znix ~]# last
root     tty1                          Wed Sep 13 10:37   still logged in  
root     pts/1        10.0.0.1         Wed Sep 13 09:23   still logged in  
root     pts/0        10.0.0.1         Wed Sep 13 09:23   still logged in 

last保存的文件位置:

代码语言:javascript
复制
[root@znix ~]# ll /var/log/wtmp /var/log/btmp
-rw-------  1 root utmp   1536 Sep 13 10:37 /var/log/btmp
-rw-rw-r--. 1 root utmp 122496 Sep 13 10:37 /var/log/wtmp

2.3.3 lastlog  显示系统中用户最近一次的登陆信息

lastlog命令会显示相同中所有的用户,最近一次登陆状态

代码语言:javascript
复制
[root@znix ~]# lastlog
Username         Port     From             Latest
root             tty1                      Wed Sep 13 10:37:46 +0800 2017
bin                                        **Never logged in**

lastlog保存文件位置

代码语言:javascript
复制
[root@znix ~]# ll /var/log/lastlog
-rw-r--r--. 1 root root 292000 Sep 13 10:37 /var/log/lastlog

2.3.4 查看日志的方式

尽量精确的查找,避免使用cat/vim 等命令就行查看。

代码语言:javascript
复制
tail /head
less
grep

第3章 sudo 临时让用户获得root权限

3.1 su 与 su - 的区别

 -   是su命令的参数 相当于 -, -l, --login  

在切换用户的时候,更新与用户有关的环境变量

使用su 进行用户切换的时候不会切换环境变量:

代码语言:javascript
复制
[root@znix ~]# su znix  
[znix@znix root]$ env |grep root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
MAIL=/var/spool/mail/root
PWD=/root

使用su - 进行用户切换的时候会切换环境变量:

代码语言:javascript
复制
[root@znix ~]# su - znix
[znix@znix ~]$ env |grep root
[znix@znix ~]$

3.2 给znix用户查看日志的权限。

代码语言:javascript
复制
[root@znix ~]# ll /var/log/secure
-rw------- 1 root root 25317 Sep 13 15:21 /var/log/secure

3.2.1 其他方法(不安全)

1、修改文件的归属(不可取)

2、修改文件的权限,为文件添加上其他用户可读权限(不安全)

3、为命令特殊权限 ,suid (运行命令的时候 相当于是命令的所有者)其他的用户也都可用,不安全。

3.2.2 使用sudo 让znix用户临时获得root权限

代码语言:javascript
复制
[znix@znix ~]$ sudo tail -1  /var/log/secure
Sep 13 15:59:05 znix sudo:     znix : TTY=pts/0 ; PWD=/home/znix ; USER=root ; COMMAND=/usr/bin/tail -1 /var/log/secure

3.3 sudo权限的配置

3.3.1 查看当前有什么特权

代码语言:javascript
复制
[znix@znix ~]$ sudo -l
Matching Defaults entries for znix on this host:
    ……
User znix may run the following commands on this host:
    (ALL) NOPASSWD: ALL

3.3.2 第一次使用sudo的时候会提示设置密码,并告知没有可用命令。

代码语言:javascript
复制
[znix@znix ~]$ sudo -l
 
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.

    #2) Think before you type.

    #3) With great power comes great responsibility.

[sudo] password for znix:  设置密码为znix用户
Sorry, user znix may not run sudo on oldboyedu-40.

抱歉, 用户 znix 没有 可以使用的  sudo 在znix

3.3.3 为znix用户添加sudo 命令

visudo  进入编辑即编辑 /etc/sudoers 文件。直接编辑该文件需要强制保存。

92gg   第92行,放在这里是为了有个对比

i      进行编辑

  90 ## Allow root to run any commands anywhere

  91 root    ALL=(ALL)       ALL

  92 znix    ALL=(ALL)       /bin/ls, /bin/touch

3.3.4 查看现在znix用户的sudo权限

代码语言:javascript
复制
[znix@znix ~]$ sudo -l
[sudo] password for znix:
Matching Defaults entries for znix on this host:
 ……

 znix用户可以以root用户的身份运行下面的命令

代码语言:javascript
复制
User znix may run the following commands on this host:
    (ALL) /bin/ls, (ALL) /bin/touch

3.3.5 测试znix用户的sudo权限

znix用户再/root 目录中可以进行操作.

代码语言:javascript
复制
[znix@znix ~]$ ls /root/
ls: cannot open directory /root/: Permission denied

[znix@znix ~]$ sudo ls /root/
1       dir035   install.log         oldboy.txt       test.txt
123     ett.txt  install.log.syslog  passwd.txt       test.txt-hard

[znix@znix ~]$ sudo touch /root/znix.txt
[znix@znix ~]$ sudo ls /root/znix.txt
/root/znix.txt

3.3.6 给znix用户 sudo所有命令

代码语言:javascript
复制
[root@znix ~]# grep znix /etc/sudoers
znix    ALL=(ALL)       ALL

实例3-1        使用sudo 命令 切换到root用户不需要密码

代码语言:javascript
复制
[root@znix ~]# su - znix
[znix@znix ~]$ sudo su -
[root@znix ~]#

注意: sudo ALL 权限很危险

    ##给自己使用。

    ##给其他的用户使用:需要用什么给什么,不能给过多的权限.保证安全。

3.3.7 给znix用户 sudo所有命令,并且使用的时候不用密码

查看znix用户拥有的sudo 命令

代码语言:javascript
复制
[znix@znix ~]$ sudo -l|tail -2
User znix may run the following commands on this host:
    (ALL) NOPASSWD: ALL

查看配置文件 /etc/sudoers

代码语言:javascript
复制
[znix@znix ~]$ sudo grep znix /etc/sudoers
#znix    ALL=(ALL)      /bin/ls, /bin/touch
#znix    ALL=(ALL)       ALL
#znix    ALL=(ALL)       /bin/*
znix    ALL=(ALL)       NOPASSWD: ALL

第4章 行为日志审计

4.1 行为日志审计的概念

4.2 商业产品,硬件产品

齐治的堡垒机

4.3 python开源产品

getone web跳板机

jump sever

crazyEYE

4.4 shell跳板机

第5章 在系统中安装一个软件 htop

5.1 方法一 yum 安装

5.1.1 先配置上 epel 软件源

EPEL 是yum的一个软件源,里面包含了许多基本源里没有的软件。

代码语言:javascript
复制
[root@znix ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

5.1.2 使用 yum 即可安装

代码语言:javascript
复制
[root@znix ~]# yum install htop -y
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第1章 批量添加3个用户stu01-stu03,设置密码为123456.
    • 1.1 预备知识
      • 1.2 命令的样子
        • 1.3 命令的生成
          • 1.3.1 第一步 生成名字
          • 1.3.2 第二步 拼接出想要的形状
          • 1.3.3 第三步 交给bash执行
          • 1.3.4 第四步 检查结果
          • 1.3.5 第五步 密码验证
        • 1.4 简化命令
          • 1.4.1 预备知识
          • 1.4.2 简化命令
      • 第2章 用户管理
        • 2.1 相关命令
          • 2.1.1 chown  修改文件的所有者或属组
          • 2.1.2 groupadd 添加用户组
        • 2.2 添加一个虚拟用户用户 mysql 指定用户的uid gid都是999
          • 2.2.1 注意 useradd -g -u
          • 2.2.2 先创建组,再进行创建用户,指定gid
          • 2.2.3 默认添加的时候uid与gid相同
        • 2.3 用户查询命令
          • 2.3.1 w 显示谁远程登陆了系统,在做什么
          • 2.3.2 last 显示系统用户的登陆信息
          • 2.3.3 lastlog  显示系统中用户最近一次的登陆信息
          • 2.3.4 查看日志的方式
      • 第3章 sudo 临时让用户获得root权限
        • 3.1 su 与 su - 的区别
          • 3.2 给znix用户查看日志的权限。
            • 3.2.2 使用sudo 让znix用户临时获得root权限
            • 3.3.1 查看当前有什么特权
            • 3.3.3 为znix用户添加sudo 命令
            • 3.3.4 查看现在znix用户的sudo权限
            • 3.3.5 测试znix用户的sudo权限
            • 3.3.6 给znix用户 sudo所有命令
            • 3.3.7 给znix用户 sudo所有命令,并且使用的时候不用密码
        • 第4章 行为日志审计
          • 4.1 行为日志审计的概念
            • 4.2 商业产品,硬件产品
              • 4.3 python开源产品
                • 4.4 shell跳板机
                • 第5章 在系统中安装一个软件 htop
                  • 5.1 方法一 yum 安装
                    • 5.1.1 先配置上 epel 软件源
                    • 5.1.2 使用 yum 即可安装
                相关产品与服务
                堡垒机
                腾讯云堡垒机(Bastion Host,BH)可为您的 IT 资产提供代理访问以及智能操作审计服务,为客户构建一套完善的事前预防、事中监控、事后审计安全管理体系,助力企业顺利通过等保测评。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档