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转化为空格
也可以直接写进vim编辑器,但是注意使用的用户,针对使用的是普通用户cxg,退出后会自动失效,针对全局的话,在超户上设置就可以。
[cxg@severe1 ~]$ vim
:set ts=2
##在下方命令框内输入,再返回编辑模式就可以了
或者
任意找位置
##任意找输入位置就行
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
       ##剩下的都是正确的
[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