重定向,用户管理,密码管理,权限管理

1.利用自设的vim编辑器,将yaml的TAB设置为两个空格,此设置是针对ymal文件的使用习惯,为了方便写代码

方法(一)

自己设置一个vim编辑器(设置tab为2个空格)
/home/cxg       ##在这个普通用户上
[cxg@severe1 ~]$ vim .vimrc        ##自定编辑
autocmd FileType yaml setlocal ai ts=2 sw=2 et      ##文档输入内容(对yaml类型的高级语言的TAB键设置为两个)

[cxg@severe1 ~]$ vim vimrc.yaml

此时TAB就已经变成两个空格了
PS:其中:autocmd FileType yaml setlocal ai ts=2 sw=2 et
autocmd    ##自动响应
yaml    ##针对调整的文件类型
setlocal    ##本地
ts=2 sw=2    ##向前向后2个空格
et    ##把TAB转化为空格


方法(2)

也可以直接写进vim编辑器,但是注意使用的用户,针对使用的是普通用户cxg,退出后会自动失效,针对全局的话,在超户上设置就可以。
[cxg@severe1 ~]$ vim
:set ts=2   ##在下方命令框内输入,再返回编辑模式就可以了


方法(3)

在这里插入图片描述
或者
在这里插入图片描述
任意找位置在这里插入图片描述
##任意找输入位置就行


2输入输出重定向

##################重定向主要为了将文件内部的文件信息进行迁移和移动####################

补充:>>重定向不会覆盖原文件
&>c重定向所有的文件(不管正确与否)
<输入重定向
<<输入重定向不会覆盖原文件

在这里插入图片描述##列出根目录下面所有文件的详细信息
在这里插入图片描述##列出etc文件下面所有文件的详细信息

[cxg@localhost ~]$ find /etc -name passwd ##寻找etc目录下名字叫做passwd的文件(下方为输出)
在这里插入图片描述
##因为文件有对有错因此,
[cxg@localhost ~]$ find /etc -name passwd 2> /dev/null ` ## 把错误的输出重定向,2> /dev/null 代表把错误的都移动到dev/null(相当于一个回收站)

/etc/pam.d/passwd
/etc/passwd
 &#160;&#160;&#160;&#160;&#160;&#160; ##剩下的都是正确的

[cxg@localhost ~]$ find /etc -name passwd 1> /dev/null ## 把正确的输出重定向,1> /dev/null 代表把正确的的都移动到dev/null(相当于一个回收站)

find:/etc/pki/CA/private’: Permission denied
find:/etc/pki/rsyslog’: Permission denied
find:/etc/grub.d’: Permission denied
find:/etc/selinux/targeted/active’: Permission denied
find:/etc/selinux/final’: Permission denied
find:/etc/dhcp’: Permission denied
find:/etc/lvm/archive’: Permission denied
find:/etc/lvm/backup’: Permission denied
find:/etc/lvm/cache’: Permission denied
find:/etc/polkit-1/rules.d’: Permission denied
find:/etc/polkit-1/localauthority’: Permission denied
find:/etc/sudoers.d’: Permission denied
find:/etc/vmware-tools/GuestProxyData/trusted’: Permission denied
find:/etc/audisp’: Permission denied
find:/etc/audit’: Permission denied
find:/etc/ipsec.d’: Permission denied
find:/etc/libvirt’: Permission denied
find:/etc/cups/ssl’: Permission denied
find:/etc/firewalld’: Permission 

##剩下的都是错误的
[cxg@localhost ~]$ find /etc -name passwd 2> /dev/null 1> test       ##正确的移动到test文件

[cxg@localhost ~]$ cat test

/etc/pam.d/passwd
/etc/passwd

[cxg@localhost ~]$ find /etc -name passwd 2> /dev/null 1>> test##1>>不会覆盖原文件
[cxg@localhost ~]$ find /etc -name passwd 2> /dev/null 1>> test
[cxg@localhost ~]$ cat test

/etc/pam.d/passwd
/etc/passwd
/etc/pam.d/passwd
/etc/passwd
/etc/pam.d/passwd
/etc/passwd

##后面输出结果是两个
[cxg@localhost ~]$ find /etc -name passwd &> test##&>错误正确都输出
[cxg@localhost ~]$ cat test

find:/etc/pki/CA/private’: Permission denied
find:/etc/pki/rsyslog’: Permission denied
/etc/pam.d/passwd
find:/etc/grub.d’: Permission denied
/etc/passwd
find:/etc/selinux/targeted/active’: Permission denied
find:/etc/selinux/final’: Permission denied
find:/etc/dhcp’: Permission denied
find:/etc/lvm/archive’: Permission denied
find:/etc/lvm/backup’: Permission denied
find:/etc/lvm/cache’: Permission denied
find:/etc/polkit-1/rules.d’: Permission denied
find:/etc/polkit-1/localauthority’: Permission denied
find:/etc/sudoers.d’: Permission denied
find:/etc/vmware-tools/GuestProxyData/trusted’: Permission denied
find:/etc/audisp’: Permission denied
find:/etc/audit’: Permission denied
find:/etc/ipsec.d’: Permission denied
find:/etc/libvirt’: Permission denied
find:/etc/cups/ssl’: Permission denied
find:/etc/firewalld’: Permission denied

##结果正确和错误的都有

[cxg@localhost ~]$ cat >test <<EOF

> casdsad
 > sddsd
> sda
> 
> sddsad
> EOF

[cxg@localhost ~]$ cat test

casdsad
sddsd
sda`

sddsad

##针对多行的输出
[cxg@localhost ~]$ echo westos > test ##针对单行输出
[cxg@localhost ~]$ cat test

westos

[cxg@localhost ~]$ tr 'a-z' 'A-Z' < test ##将test文件的转化为大写,tr用于转换文件中的字符

WESTOS

##针对单行输出
[cxg@localhost ~]$ find /etc -name passwd | cat > test## 将含有passwd文件通过管道转送到test文件

find:/etc/pki/CA/private’: Permission denied
find:/etc/pki/rsyslog’: Permission denied
find:/etc/grub.d’: Permission denied
find:/etc/selinux/targeted/active’: Permission denied
find:/etc/selinux/final’: Permission denied
find:/etc/dhcp’: Permission denied
find:/etc/lvm/archive’: Permission denied
find:/etc/lvm/backup’: Permission denied
find:/etc/lvm/cache’: Permission denied
find:/etc/polkit-1/rules.d’: Permission denied
find:/etc/polkit-1/localauthority’: Permission denied
find:/etc/sudoers.d’: Permission denied
find:/etc/vmware-tools/GuestProxyData/trusted’: Permission denied
find:/etc/audisp’: Permission denied
find:/etc/audit’: Permission denied
find:/etc/ipsec.d’: Permission denied
find:/etc/libvirt’: Permission denied
find:/etc/cups/ssl’: Permission denied
find:/etc/firewalld’: Permission denied

[cxg@localhost ~]$ cat test

/etc/pam.d/passwd
/etc/passwd

##我们可以看出通过管道的传输可以自动过滤掉错误的,只保留正确的
[cxg@localhost ~]$ find /etc -name passwd 2>&1| cat > test## 2>&1错误的转化为正确的 输出
[cxg@localhost ~]$ cat test

find:/etc/pki/CA/private’: Permission denied
find:/etc/pki/rsyslog’: Permission denied
/etc/pam.d/passwd
find:/etc/grub.d’: Permission denied
/etc/passwd
find:/etc/selinux/targeted/active’: Permission denied
find:/etc/selinux/final’: Permission denied
find:/etc/dhcp’: Permission denied
find:/etc/lvm/archive’: Permission denied
find:/etc/lvm/backup’: Permission denied
find:/etc/lvm/cache’: Permission denied
find:/etc/polkit-1/rules.d’: Permission denied
find:/etc/polkit-1/localauthority’: Permission denied
find:/etc/sudoers.d’: Permission denied
find:/etc/vmware-tools/GuestProxyData/trusted’: Permission denied
find:/etc/audisp’: Permission denied
find:/etc/audit’: Permission denied
find:/etc/ipsec.d’: Permission denied
find:/etc/libvirt’: Permission denied
find:/etc/cups/ssl’: Permission denied
find:/etc/firewalld’: Permission denied

##通过管道的输出全为错误的
[cxg@localhost ~]$ find /etc -name passwd 2> /dev/null | wc -l##错误的扔到回收站,其中wc -l代表通过管道输出为行数

2

##输出的结果行数为2
[cxg@localhost ~]$ ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:2d:92:fa brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:bd:87:59 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:bd:87:59 brd ff:ff:ff:ff:ff:ff

[cxg@localhost ~]$ ifconfig virbr0 | grep inet##过滤出inet这行关键字(grep是过滤的关键字的意思)

 inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255

[cxg@localhost ~]$ ifconfig virbr0 | grep inet| awk '{print $2}'##在过滤inet这行的基础上再过滤第二个空格的内容

192.168.122.1

##因此IP地址就被我们过滤出来了

3.用户管理方面

/etc/psswd       ##用户信息
/etc/group       ##组
/etc/shadow       ##密码管理
/etc/username       ##用户主目录
/etc/skel       ##用户主目录骨架
usermod      ##针对已经存在的用户进行修改

[root@localhost ~]# useradd user1##创建user1
[root@localhost ~]# id user1##user1的信息

uid=1001(user1) gid=1001(user1) groups=1001(user1)

[root@localhost ~]# cat /etc/passwd##查看etc目录下的用户信息(我们主要是查看后面几行)

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:996:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
colord:x:997:995:User for colord:/var/lib/colord:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
cxg:x:1000:1000:cxg:/home/cxg:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash

[root@localhost ~]# tail -2 /etc/passwd##查看passwd文件的最后两行(查看最后一行2改为1,tail命令就是查看最后几行)

cxg:x:1000:1000:cxg:/home/cxg:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash

[root@localhost ~]# head -2 /etc/passwd##查看passwd文件的前两行(查看第一行2改为1,head命令就是查看前几行)

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

[root@localhost ~]# tail -1 /etc/group

user1:x:1001:

[root@localhost ~]# tail -4 /etc/shadow

cxg:$6$L9IoPznJgPy4EKsu$kmmLaY6dZPlSwrAMPdP34LqLZcyVCymY5sxB32ybkghUfd0KKwPYSe8HSxeNYpvGOigw969Kw7q6A6LSrLHux1::0:99999:7:::
user1:!!:18370:0:99999:7:::  

##这两个感叹号!!代表他的密码被锁定,不能直接查看和登录
##默认情况下每创建一个用户同时也把他创建在一个组里面,同时也自动存在一个密码文件里面
##同样的我们也可以使用vim编辑器把passwd,group,shadow的信息都编辑进去,也可以生成一个user1,但是远不如,useradd user1简单方便。

[root@localhost ~]# groupadd group1##创建一个名为group1的组
[root@localhost ~]# tail -1 /etc/group

group1:x:1005:

[root@localhost ~]# tail -1 /etc/passwd##passwd里面不存在group1这个组
[root@localhost ~]# tail -1 /etc/shadow##shadow里面也不存在group1这个组

[root@localhost ~]# useradd -g group1 user2##创建一个user2在组group1里面
[root@localhost ~]# tail -1 /etc/group

uid=1004(user5) gid=1005(group1) groups=1005(group1)

##可以明显看到1005是group1的编号,1004是user5的编号

[root@localhost ~]# tail -1 /etc/passwd

user5:x:1004:1005::/home/user5:/bin/bash

##这个1004是用户编号user5,1005是代表他所属的组的编号group1(1005),/home/user5,代表用户位置。

----------------------------------------------------------usermod命令的使用---------------------------------------

[root@localhost ~]# id user1

uid=1001(user1) gid=1001(user1) groups=1001(user1)

##此时我们可以看到user1从属于user1这个组里面
[root@localhost ~]# usermod -G group1 user1##把user1用户附加到group1这个组里面(其中usermod针对已经存在的用户进行修改,-G代表附加进去的意思)
[root@localhost ~]# id user1

uid=1001(user1) gid=1001(user1) groups=1001(user1),1005(group1)

##此时我们可以看出user1不但从属于user1这个组,还从属于group1这个组

总结:这个我们一般用来usermod主要应用于我们对用户权限的管理,一般情况下用户的权限是通过组来赋予的,我们给了组的足够的权限,然后添加同样权限的用户,我们只需要进行迁移就可以


[root@localhost ~]# usermod -s /sbin/nologin user1##将user1移动到sbin/nologin目录下
[root@localhost ~]# tail -5 /etc/passwd

cxg:x:1000:1000:cxg:/home/cxg:/bin/bash
user1:x:1001:1001::/home/user1:/sbin/nologin
user:x:1002:1002::/home/user:/bin/bash
user2:x:1003:1004::/home/user2:/bin/bash
user5:x:1004:1005::/home/user5:/bin/bash

##此时我们可以看到user1已经不在我们的bash内核里面,所以后面用户切换的时候就不能进行切换,用户的交互必须在内核里面
[root@localhost ~]# su - user1

Last login: Sat Apr 18 19:09:15 CST 2020 on pts/0
This account is currently not available.

[root@localhost ~]# userdel -r user1
[root@localhost ~]# userdel -r user2
[root@localhost ~]# userdel -r user3##删除掉user1,2,3
也可以直接删除
[root@localhost ~]# userdel user1
[root@localhost ~]# userdel user2
[root@localhost ~]# userdel user3##和前面的区别就是-r这个删除的是用户还有用户的主目录,而后者只删除用户,其的主目录还依然存在

也可以使用下面的和上方的userdel -r user1是一个功能
[root@localhost ~]# rm -fr user1##完成对用户1的彻底删除
[[root@localhost home]# cat /etc/group##查看组信息
[[root@localhost home]# groupdel group1##完成对组的删除,(一般情况下,删除主目录的时候也自动删除组,但是向我们附加的这种groupadd这种组,需要自己删除)


[root@localhost home]# cat /etc/passwd ##

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:996:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
colord:x:997:995:User for colord:/var/lib/colord:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
chrony:x:995:990::/var/lib/chrony:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
unbound:x:994:989:Unbound DNS resolver:/etc/unbound:/sbin/nologin
gluster:x:993:988:GlusterFS daemons:/run/gluster:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:992:986:User for geoclue:/var/lib/geoclue:/sbin/nologin
setroubleshoot:x:991:985::/var/lib/setroubleshoot:/sbin/nologin
saned:x:990:984:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
cxg:x:1000:1000:cxg:/home/cxg:/bin/bash

##在passwd里面存在很多用户,但是只有bin/bash结尾的才能运行,其他的用户相当于把他隔离起来,每个用户都有一个独立的内存,如何有黑客进来,也可以保证系统的安全性
[root@localhost home]# ps aux##相当于任务管理器一样

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 195064  6912 ?        Ss   17:23   0:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    17:23   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    17:23   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   17:23   0:00 [kworker/0:0H]
root          7  0.0  0.0      0     0 ?        S    17:23   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    17:23   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        S    17:23   0:02 [rcu_sched]
root         10  0.0  0.0      0     0 ?        S<   17:23   0:00 [lru-add-drain]
root         11  0.0  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值