标签:堡垒机 oldboy 切换用户 python 虚拟用户 matching su - std login
前的产生的命令通过管道后可以交给bash运行
[root@znix ~]# echo pwd |bash
/root
目标命令的形状,想让命令变成这个样子执行。
useradd stu01 ;echo 123456|passwd --stdin stu01
useradd stu02 ;echo 123456|passwd --stdin stu02
useradd stu03 ;echo 123456|passwd --stdin stu03
[root@znix ~]# echo stu{01..3}|xargs -n1
stu01
stu02
stu03
两条命令之间用 ; 表示前面的命令执行了执行后面的
两条命令之间用 && 表示前面的执行对了执行后面的
[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
使用bash执行的时候,要先确认命令是正确的。
[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.
[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:::
[root@znix ~]# su - stu01
[stu01@znix ~]$ su - stu02
Password:
[stu02@znix ~]$ su - stu03
Password:
[stu03@znix ~]$ su - stu01
Password:
[stu01@znix ~]$
&表示匹配前面所找到的内容
[root@znix ~]# echo 123456|sed ‘s#.*#<&>#g‘
<123456>
[root@znix ~]# echo 123456|sed ‘s#.#<&>#g‘
<1><2><3><4><5><6>
上面的命令就可以简写,而且& 属于基础正则,sed可以直接使用。
[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
-R 递归修改文件或目录的的所有者或组(很危险)
[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
-g 指定用户组的gid
[root@znix ~]# groupadd mysql -g 999
[root@znix ~]# grep mysql /etc/group
mysql:x:999:
-g 指定用户组 gid(这里指定gid的时候,这个组必须是存在的)
[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)
[root@znix ~]# useradd -u 999 -s /sbin/nologin -M mysql
[root@znix ~]# id mysql
uid=999(mysql) gid=999(mysql) groups=999(mysql)
查看用户是以什么身份登陆到系统。
[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登陆
last 命令与 /var/log/secure 文件记录的信息大致相同,文件更为详细
[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保存的文件位置:
[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
lastlog命令会显示相同中所有的用户,最近一次登陆状态
[root@znix ~]# lastlog
Username Port From Latest
root tty1 Wed Sep 13 10:37:46 +0800 2017
bin **Never logged in**
lastlog保存文件位置:
[root@znix ~]# ll /var/log/lastlog
-rw-r--r--. 1 root root 292000 Sep 13 10:37 /var/log/lastlog
尽量精确的查找,避免使用cat/vim 等命令就行查看。
tail /head
less
grep
- 是su命令的参数 相当于 -, -l, --login
在切换用户的时候,更新与用户有关的环境变量
使用su 进行用户切换的时候不会切换环境变量:
[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 - 进行用户切换的时候会切换环境变量:
[root@znix ~]# su - znix
[znix@znix ~]$ env |grep root
[znix@znix ~]$
[root@znix ~]# ll /var/log/secure
-rw------- 1 root root 25317 Sep 13 15:21 /var/log/secure
1、修改文件的归属(不可取)
2、修改文件的权限,为文件添加上其他用户可读权限(不安全)
3、为命令特殊权限 ,suid (运行命令的时候 相当于是命令的所有者)其他的用户也都可用,不安全。
[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
[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
[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
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
[znix@znix ~]$ sudo -l
[sudo] password for znix:
Matching Defaults entries for znix on this host:
……
znix用户可以以root用户的身份运行下面的命令
User znix may run the following commands on this host:
(ALL) /bin/ls, (ALL) /bin/touch
znix用户再/root 目录中可以进行操作.
[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
[root@znix ~]# grep znix /etc/sudoers
znix ALL=(ALL) ALL
实例3-1 使用sudo 命令 切换到root用户不需要密码
[root@znix ~]# su - znix
[znix@znix ~]$ sudo su -
[root@znix ~]#
注意: sudo ALL 权限很危险
##给自己使用。
##给其他的用户使用:需要用什么给什么,不能给过多的权限.保证安全。
查看znix用户拥有的sudo 命令
[znix@znix ~]$ sudo -l|tail -2
User znix may run the following commands on this host:
(ALL) NOPASSWD: ALL
查看配置文件 /etc/sudoers
[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
齐治的堡垒机
getone web跳板机
jump sever
crazyEYE
EPEL 是yum的一个软件源,里面包含了许多基本源里没有的软件。
[root@znix ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[root@znix ~]# yum install htop -y
标签:堡垒机 oldboy 切换用户 python 虚拟用户 matching su - std login
原文地址:http://www.cnblogs.com/znix/p/7639786.html