案例让一个命令在开机的时候自动运行的方法

案例让一个命令在开机的时候自动运行的方法
 
[root@oldboy-200 ~]# vim /etc/init.d/oldboy
[root@oldboy-200 ~]# cat /etc/init.d/oldboy
# chkconfig: 2345 99 99
echo aaa(表示脚本的文件内容,oldboy表示开机启动的脚本名称)
[root@oldboy-200 ~]# ll /etc/init.d/oldboy
-rw-r--r-- 1 root root 34 Nov 13 22:15 /etc/init.d/oldboy
[root@oldboy-200 ~]# chmod u+x /etc/init.d/oldboy
[root@oldboy-200 ~]# ll /etc/init.d/oldboy
-rwxr--r-- 1 root root 34 Nov 13 22:15 /etc/init.d/oldboy
[root@oldboy-200 ~]# chkconfig --add oldboy
[root@oldboy-200 ~]# chkconfig |grep oldboy
oldboy           0:off 1:off 2:on 3:on 4:on 5:on 6:off
注解:
[root@oldboy-200 ~]# # 案例2 让一个命令在开机的时候自动运行的方法
[root@oldboy-200 ~]# (方法1)把这个命令或脚本放到/etc/rc.local 下面
-bash: syntax error near unexpected token `把这个命令或脚本放到/etc/rc.local'
[root@oldboy-200 ~]# #(方法1)把这个命令或脚本放到/etc/rc.local 下面
[root@oldboy-200 ~]# #(方法2)该命令通过chkconfig 命令来管理
[root@oldboy-200 ~]# # 方法1 就是 vim /etc/init.d/oldboy(oldboy 文件名)里面写入要执行 的脚本内容保存退出、
[root@oldboy-200 ~]# # ll /etc/init.d/oldboy 发现oldboy默认的权限是644 没有执行权限、所以 chmod +x /etc/init.d/oldboy ^C
[root@oldboy-200 ~]# # 方法1 就是 vim /etc/init.d/oldboy(oldboy 文件名)里面写入要执行 .脚本内容保存退出、脚本的内容格式的的脚本内容保存退出、脚本的内容格式的开头必须是
[root@oldboy-200 ~]# # 方法1 就是 vim /etc/init.d/oldboy(oldboy 文件名)里面写入要执行 的脚本内容保存退出、脚本的内容格式的开头必须是 (# chkconfig: 2345 99 99 )这是chkconfig 管理脚本的条件。2345 表示在开机启动的时候级别,运行级别一般是2345,第一个99表示开机 启动的顺序,第二99表示关机的时候的顺序,我们关注的是开机的,一般自己写的脚本放在99这个文职就可以,用 chkconfig --add oldboy
[root@oldboy-200 ~]# # 方法1 就是 vim /etc/init.d/oldboy(oldboy 文件名)里面写入要执行 的脚本内容保存退出、脚本的内容格式的开头必须是 (# chkconfig: 2345 99 99 )这是chkconfig 管理脚本的条件。2345 表示在开机启动的时候级别,运行级别一般是2345,第一个99表示开机 启动的顺序,第二99表示关机的时候的顺序,我们关注的是开机的,一般自己写的脚本放在99这个文职就可以,用 chkconfig --add oldboy  加入控制
 [root@oldboy-200 ~]# #3 chkconfig |grep  oldby 检查 2345 上是开机启动的
 
案例2:一次创建50万文件的方法,必须要用|xargs 否则无法创建
 
[root@oldboy-200 ~]# #echo {1..500000}|xargs touch
[root@oldboy-200 ~]# #一次创建50万文件的方法,必须要用|xargs 否则无法创建
[root@oldboy-200 ~]# df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sda3        580K  330K  250K   57% /
tmpfs            123K     1  123K    1% /dev/shm
/dev/sda1         50K    38   50K    1% /boot
 [root@oldboy-200 ~]# dev/sda3        580K  330K  250K   57% /
[root@oldboy-200 ~]# #查看节点快用完了,
[root@oldboy-200 ~]# find / -type d -size +1M|xargs ls -lhd
dr-xr-x---. 2 root root 6.4M Nov 13 21:06 /root
[root@oldboy-200 ~]# ls /root |wc -l
282437
[root@oldboy-200 ~]# \rm -rf /root
[root@oldboy-200 ~]# ls -l
total 0
[root@oldboy-200 ~]# #ls |xargs rm -rf 这是删除大量文件的方法。
[root@oldboy-200 ~]# #ls -l 查看发现成功了
 
案例3 创建一个 用户UID是888 不可登陆的 不创建家目录的用户 test
[root@oldboy02 oldboy]# useradd -u 888 -s /sbin/nologin -M test
[root@oldboy02 oldboy]# grep test /etc/passwd
test:x:888:888::/home/test:/sbin/nologin
[root@oldboy02 oldboy]# ls /home/test
ls: cannot access /home/test: No such file or directory(没有创建家目录)
-u 制定UID
-s 不可登陆的
-M 不创建家目录
Test  表示用户
[root@oldboy02 oldboy]# id test
uid=888(test) gid=888(test) groups=888(test)
[root@oldboy02 oldboy]# vim /etc/passwd
#test:x:888:888::/home/test:/sbin/nologin
(#)号表示删除了这个用户
[root@oldboy02 oldboy]# id test
id: test: No such user (显示用户不存在了,相当于用户删掉了但是数据还是在的)
userdel test 默认不会删除用户test的家目录
-r 参数连同用户的test家目录一起删掉了,userdel -r 把用户的信息删除的干干净净
最安全的方法就是在/etc/passwd 下面的用户前面加上一个(#号注释掉,如果有人要用,去掉#号即可这样操作比较安全)
[root@oldboy02 ~]# useradd -u 888 -s /sbin/nologin -M alex888
[root@oldboy02 ~]# grep alex888 /etc/passwd
alex888:x:888:888::/home/alex888:/sbin/nologin
 [root@oldboy02 ~]# chkconfig postfix off
[root@oldboy02 ~]# usermod -c "xu ni yong hu " alex888
 [root@oldboy02 ~]# grep alex888 /etc/passwd
alex888:x:888:888:xu ni yong hu :/home/alex888:/sbin/nologin
 
[root@oldboy02 ~]# id alex888
uid=888(alex888) gid=888(alex888) groups=888(alex888)
root@oldboy02 ~]# usermod -g oldboy alex888
[root@oldboy02 ~]# id alex888
uid=888(alex888) gid=889(oldboy) groups=889(oldboy)
改变它的所属oldboy 组的成员
[root@oldboy02 ~]# usermod -G root,oldboy,test alex888
[root@oldboy02 ~]# id alex888
uid=888(alex888) gid=889(oldboy) groups=889(oldboy),0(root),890(test)
属于多个用户组
usermod 主要是用来修改用户的属性信息的
[root@oldboy02 ~]# echo '123456'|passwd --stdin oldboy
Changing password for user oldboy.
passwd: all authentication tokens updated successfully.
非交互式的改变用密码 –stdin 表示一次修改密码
--stdin 这个命令只能root才可以用
[root@oldboy02 ~]# history -c 清空历史记录
案例:给文件做一个指纹
[root@oldboy02 ~]# touch oldboy
[root@oldboy02 ~]# echo oldboy >oldboy
[root@oldboy02 ~]# cat oldboy
oldboy
[root@oldboy02 ~]# md5sum oldboy
3fe396c01f03425cb5e2da8186eb090d  oldboy
[root@oldboy02 ~]# cat oldboy
Oldboy
只有这个文件在发生变化的时候才会起作用
[root@oldboy02 ~]# md5sum oldboy >police.log(放到一个指定的文件中)
[root@oldboy02 ~]# cat police.log
3fe396c01f03425cb5e2da8186eb090d  oldboy
[root@oldboy02 ~]# md5sum -c police.log (指纹的对比,如果没有发生变化就是OK的)
oldboy: OK
往文件oldboy里面添加的内容测试
[root@oldboy02 ~]# echo oldboy.txt >>oldboy
[root@oldboy02 ~]# cat oldboy
oldboy
oldboy.txt
[root@oldboy02 ~]# md5sum -c police.log
oldboy: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
oldboy: FAILED 表示文件发生了变化
 
 
案例:
批量添加10个用户stu01,stu0……stu10,斌设置8位随机密码;
 
[root@oldboy02 ~]# useradd -u 999 -s /sbin/nologin -M mysql
[root@oldboy02 ~]# id mysql
uid=999(mysql) gid=999(mysql) groups=999(mysql)
[root@oldboy02 ~]# #添加一个用户MySQL,并指定UID为999 GID为999
在Linux里面只要指定UID后,GID跟UID是一样的,不用加小写的-g
Useradd  -g 是指定用户的名字,指定组ID用groupadd -g test 添加到test组里面
 
案例:模拟一个大文件,用top来查看CPU的负载进程情况
[root@oldboy02 tmp]# dd if=/dev/zero  of=/tmp/100 bs=1M count=10009(大文件来模拟)
[root@oldboy02 ~]# top(top来观察进程的负载信息)
top - 22:21:21 up  4:11,  2 users,  load average: 1.03, 0.34, 0.13
Tasks:  92 total,   1 running,  90 sleeping,   1 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1004112k total,   938448k used,    65664k free,    11824k buffers
Swap:   786428k total,        0k used,   786428k free,   814744k cached
 
   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                  
     7 root      20   0     0    0    0 S  0.3  0.0   0:19.67 events/0                                                  
  5693 root      20   0 15036 1176  908 R  0.3  0.1   0:03.35 top
Top进程默认是按照CPU来排序的,按大写的M是用内存来排序,按大写的P是按CPU来排序的。
[root@oldboy02 ~]# free -h 专门来查看内存信息
             total       used       free     shared    buffers     cached
Mem:          980M       907M        73M       232K        11M       787M
-/+ buffers/cache:       108M       872M
Swap:         767M         0B       767M 
还有一种就是top版的增强版本:
htop 是指增强版的top
iotop 主要查看每个进程使用的io 磁盘使用情况
iftop 显示系统的网络流量
默认这三个命令是没有安装的
[root@oldboy02 ~]# last 显示系统的登录信息,以及该用户登录了多久
root     pts/1        10.0.0.1         Wed Nov 14 22:13   still logged in (表示在登陆中)  
root     pts/0        10.0.0.1         Wed Nov 14 21:14   still logged in  
root     pts/0        10.0.0.1         Wed Nov 14 14:08 - 17:11  (03:02)   
reboot   system boot  2.6.32-696.el6.x Wed Nov 14 14:08 - 22:43  (08:34)   
root     pts/0        10.0.0.1         Wed Nov 14 14:02 - down   (00:06)   
root     tty1                          Mon Nov 12 00:09 - down  (2+13:58)  
root     pts/7        10.0.0.1         Sat Nov 10 18:28 - 19:53  (01:25)   
root     pts/6        10.0.0.1         Sat Nov 10 18:28 - 19:53  (01:25)   
 
root     pts/0        10.0.0.1         Wed Nov 14 14:08 - 17:11  (03:02)    
 17:11   表示登录时间
(03:02)   登陆了多久
 
[root@oldboy02 ~]# lastlog (显示系统最近一次所有的登录情况,这里的登录时指远程登的用户不是切换用户)
Username         Port     From             Latest
root             pts/1    10.0.0.1         Wed Nov 14 22:13:25 +0800 2018
bin                                        **Never logged in**
daemon                                     **Never logged in**
adm                                        **Never logged in**
lp                                         **Never logged in**
sync                                       **Never logged in**
案例:su 与su – 的区别
[root@oldboy02 ~]# su oldboy
[oldboy@oldboy02 root]$ pwd
/root(su 不加- 切换后家目录还是/root,ls 查看文件的时候还是没有权限)
[oldboy@oldboy02 root]$ whoami
Oldboy
 
[root@oldboy02 ~]# su – oldboy (加上-后,家目录就会切换到普通用户的家目录下面,普通用户有权限)
[oldboy@oldboy02 ~]$ pwd
/home/oldboy
[oldboy@oldboy02 ~]$ whoami
oldboy
 
sudo 这个命令是专门为普通用户用的,root 用户是用不着的。
[root@oldboy02 ~]# visudo (:92行找到root在下root行的下面写上普通用户的用户名和执行的命令)
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
oldboy  ALL=(ALL)      /bin/ls, /bin/touch (给oldboy授权)
[root@oldboy02 ~]# visudo -c (一定要进行语法的检查是否正确)
/etc/sudoers: parsed OK
 
[oldboy@oldboy02 ~]$ ls /root
ls: cannot open directory /root: Permission denied
[oldboy@oldboy02 ~]$ sudo ls /root/
anaconda-ks.cfg  install.log.syslog  police.log  yangjuncheng.test
[oldboy@oldboy02 ~]$ sudo touch /root/alex.txt
[oldboy@oldboy02 ~]$ sudo ls /root/alex.txt
/root/alex.txt (文件已经创建)
 
visudo == vim /etc/sudoers
案例:授权/bin/下面普通用户root的权限
[root@oldboy02 ~]# visudo
oldboy  ALL=(ALL)       /bin/*(授权/bin下的所有权限)
[oldboy@oldboy02 ~]$ ls /bin (查看发现有su – root )
 
[oldboy@oldboy02 ~]$ su - root
Password: (没有密码)
[oldboy@oldboy02 ~]$ sudo su – root (这条命令表示具有了root的权限,这样普通用户就直接成root了,非常危险,不能给普通用户这么大的权限)
[sudo] password for oldboy:
[root@oldboy02 ~]# ls /root
 
案例:授权/bin/下面普通用户root的权限,并且排除su 权限
[root@oldboy02 ~]# visudo
oldboy  ALL=(ALL)       /bin/*  !/bin/su (表示排除su )
[oldboy@oldboy02 ~]$ sudo su -
Sorry, user oldboy is not allowed to execute '/bin/su -' as root on oldboy02.(没有权限)
[oldboy@oldboy02 ~]$
因为/bin/目录下面有好多的执行命令这样授权整个目录很危险,最好的办法就是普通用户
需要什么就给什么权限,这样比较安全。精确到某个命令的某个参数。
[oldboy@oldboy02 ~]$ sudo -k(清除缓存)
[oldboy@oldboy02 ~]$ sudo -l
[sudo] password for案例让一个命令在开机的时候自动运行的方法
 
[root@oldboy-200 ~]# vim /etc/init.d/oldboy
[root@oldboy-200 ~]# cat /etc/init.d/oldboy
# chkconfig: 2345 99 99
echo aaa(表示脚本的文件内容,oldboy表示开机启动的脚本名称)
[root@oldboy-200 ~]# ll /etc/init.d/oldboy
-rw-r--r-- 1 root root 34 Nov 13 22:15 /etc/init.d/oldboy
[root@oldboy-200 ~]# chmod u+x /etc/init.d/oldboy
[root@oldboy-200 ~]# ll /etc/init.d/oldboy
-rwxr--r-- 1 root root 34 Nov 13 22:15 /etc/init.d/oldboy
[root@oldboy-200 ~]# chkconfig --add oldboy
[root@oldboy-200 ~]# chkconfig |grep oldboy
oldboy           0:off 1:off 2:on 3:on 4:on 5:on 6:off
注解:
[root@oldboy-200 ~]# # 案例2 让一个命令在开机的时候自动运行的方法
[root@oldboy-200 ~]# (方法1)把这个命令或脚本放到/etc/rc.local 下面
-bash: syntax error near unexpected token `把这个命令或脚本放到/etc/rc.local'
[root@oldboy-200 ~]# #(方法1)把这个命令或脚本放到/etc/rc.local 下面
[root@oldboy-200 ~]# #(方法2)该命令通过chkconfig 命令来管理
[root@oldboy-200 ~]# # 方法1 就是 vim /etc/init.d/oldboy(oldboy 文件名)里面写入要执行 的脚本内容保存退出、
[root@oldboy-200 ~]# # ll /etc/init.d/oldboy 发现oldboy默认的权限是644 没有执行权限、所以 chmod +x /etc/init.d/oldboy ^C
[root@oldboy-200 ~]# # 方法1 就是 vim /etc/init.d/oldboy(oldboy 文件名)里面写入要执行 .脚本内容保存退出、脚本的内容格式的的脚本内容保存退出、脚本的内容格式的开头必须是
[root@oldboy-200 ~]# # 方法1 就是 vim /etc/init.d/oldboy(oldboy 文件名)里面写入要执行 的脚本内容保存退出、脚本的内容格式的开头必须是 (# chkconfig: 2345 99 99 )这是chkconfig 管理脚本的条件。2345 表示在开机启动的时候级别,运行级别一般是2345,第一个99表示开机 启动的顺序,第二99表示关机的时候的顺序,我们关注的是开机的,一般自己写的脚本放在99这个文职就可以,用 chkconfig --add oldboy
[root@oldboy-200 ~]# # 方法1 就是 vim /etc/init.d/oldboy(oldboy 文件名)里面写入要执行 的脚本内容保存退出、脚本的内容格式的开头必须是 (# chkconfig: 2345 99 99 )这是chkconfig 管理脚本的条件。2345 表示在开机启动的时候级别,运行级别一般是2345,第一个99表示开机 启动的顺序,第二99表示关机的时候的顺序,我们关注的是开机的,一般自己写的脚本放在99这个文职就可以,用 chkconfig --add oldboy  加入控制
 [root@oldboy-200 ~]# #3 chkconfig |grep  oldby 检查 2345 上是开机启动的
 
案例2:一次创建50万文件的方法,必须要用|xargs 否则无法创建
 
[root@oldboy-200 ~]# #echo {1..500000}|xargs touch
[root@oldboy-200 ~]# #一次创建50万文件的方法,必须要用|xargs 否则无法创建
[root@oldboy-200 ~]# df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sda3        580K  330K  250K   57% /
tmpfs            123K     1  123K    1% /dev/shm
/dev/sda1         50K    38   50K    1% /boot
 [root@oldboy-200 ~]# dev/sda3        580K  330K  250K   57% /
[root@oldboy-200 ~]# #查看节点快用完了,
[root@oldboy-200 ~]# find / -type d -size +1M|xargs ls -lhd
dr-xr-x---. 2 root root 6.4M Nov 13 21:06 /root
[root@oldboy-200 ~]# ls /root |wc -l
282437
[root@oldboy-200 ~]# \rm -rf /root
[root@oldboy-200 ~]# ls -l
total 0
[root@oldboy-200 ~]# #ls |xargs rm -rf 这是删除大量文件的方法。
[root@oldboy-200 ~]# #ls -l 查看发现成功了
 
案例3 创建一个 用户UID是888 不可登陆的 不创建家目录的用户 test
[root@oldboy02 oldboy]# useradd -u 888 -s /sbin/nologin -M test
[root@oldboy02 oldboy]# grep test /etc/passwd
test:x:888:888::/home/test:/sbin/nologin
[root@oldboy02 oldboy]# ls /home/test
ls: cannot access /home/test: No such file or directory(没有创建家目录)
-u 制定UID
-s 不可登陆的
-M 不创建家目录
Test  表示用户
[root@oldboy02 oldboy]# id test
uid=888(test) gid=888(test) groups=888(test)
[root@oldboy02 oldboy]# vim /etc/passwd
#test:x:888:888::/home/test:/sbin/nologin
(#)号表示删除了这个用户
[root@oldboy02 oldboy]# id test
id: test: No such user (显示用户不存在了,相当于用户删掉了但是数据还是在的)
userdel test 默认不会删除用户test的家目录
-r 参数连同用户的test家目录一起删掉了,userdel -r 把用户的信息删除的干干净净
最安全的方法就是在/etc/passwd 下面的用户前面加上一个(#号注释掉,如果有人要用,去掉#号即可这样操作比较安全)
[root@oldboy02 ~]# useradd -u 888 -s /sbin/nologin -M alex888
[root@oldboy02 ~]# grep alex888 /etc/passwd
alex888:x:888:888::/home/alex888:/sbin/nologin
 [root@oldboy02 ~]# chkconfig postfix off
[root@oldboy02 ~]# usermod -c "xu ni yong hu " alex888
 [root@oldboy02 ~]# grep alex888 /etc/passwd
alex888:x:888:888:xu ni yong hu :/home/alex888:/sbin/nologin
 
[root@oldboy02 ~]# id alex888
uid=888(alex888) gid=888(alex888) groups=888(alex888)
root@oldboy02 ~]# usermod -g oldboy alex888
[root@oldboy02 ~]# id alex888
uid=888(alex888) gid=889(oldboy) groups=889(oldboy)
改变它的所属oldboy 组的成员
[root@oldboy02 ~]# usermod -G root,oldboy,test alex888
[root@oldboy02 ~]# id alex888
uid=888(alex888) gid=889(oldboy) groups=889(oldboy),0(root),890(test)
属于多个用户组
usermod 主要是用来修改用户的属性信息的
[root@oldboy02 ~]# echo '123456'|passwd --stdin oldboy
Changing password for user oldboy.
passwd: all authentication tokens updated successfully.
非交互式的改变用密码 –stdin 表示一次修改密码
--stdin 这个命令只能root才可以用
[root@oldboy02 ~]# history -c 清空历史记录
案例:给文件做一个指纹
[root@oldboy02 ~]# touch oldboy
[root@oldboy02 ~]# echo oldboy >oldboy
[root@oldboy02 ~]# cat oldboy
oldboy
[root@oldboy02 ~]# md5sum oldboy
3fe396c01f03425cb5e2da8186eb090d  oldboy
[root@oldboy02 ~]# cat oldboy
Oldboy
只有这个文件在发生变化的时候才会起作用
[root@oldboy02 ~]# md5sum oldboy >police.log(放到一个指定的文件中)
[root@oldboy02 ~]# cat police.log
3fe396c01f03425cb5e2da8186eb090d  oldboy
[root@oldboy02 ~]# md5sum -c police.log (指纹的对比,如果没有发生变化就是OK的)
oldboy: OK
往文件oldboy里面添加的内容测试
[root@oldboy02 ~]# echo oldboy.txt >>oldboy
[root@oldboy02 ~]# cat oldboy
oldboy
oldboy.txt
[root@oldboy02 ~]# md5sum -c police.log
oldboy: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
oldboy: FAILED 表示文件发生了变化
 
 
案例:
批量添加10个用户stu01,stu0……stu10,斌设置8位随机密码;
 
[root@oldboy02 ~]# useradd -u 999 -s /sbin/nologin -M mysql
[root@oldboy02 ~]# id mysql
uid=999(mysql) gid=999(mysql) groups=999(mysql)
[root@oldboy02 ~]# #添加一个用户MySQL,并指定UID为999 GID为999
在Linux里面只要指定UID后,GID跟UID是一样的,不用加小写的-g
Useradd  -g 是指定用户的名字,指定组ID用groupadd -g test 添加到test组里面
 
案例:模拟一个大文件,用top来查看CPU的负载进程情况
[root@oldboy02 tmp]# dd if=/dev/zero  of=/tmp/100 bs=1M count=10009(大文件来模拟)
[root@oldboy02 ~]# top(top来观察进程的负载信息)
top - 22:21:21 up  4:11,  2 users,  load average: 1.03, 0.34, 0.13
Tasks:  92 total,   1 running,  90 sleeping,   1 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1004112k total,   938448k used,    65664k free,    11824k buffers
Swap:   786428k total,        0k used,   786428k free,   814744k cached
 
   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                  
     7 root      20   0     0    0    0 S  0.3  0.0   0:19.67 events/0                                                  
  5693 root      20   0 15036 1176  908 R  0.3  0.1   0:03.35 top
Top进程默认是按照CPU来排序的,按大写的M是用内存来排序,按大写的P是按CPU来排序的。
[root@oldboy02 ~]# free -h 专门来查看内存信息
             total       used       free     shared    buffers     cached
Mem:          980M       907M        73M       232K        11M       787M
-/+ buffers/cache:       108M       872M
Swap:         767M         0B       767M 
还有一种就是top版的增强版本:
htop 是指增强版的top
iotop 主要查看每个进程使用的io 磁盘使用情况
iftop 显示系统的网络流量
默认这三个命令是没有安装的
[root@oldboy02 ~]# last 显示系统的登录信息,以及该用户登录了多久
root     pts/1        10.0.0.1         Wed Nov 14 22:13   still logged in (表示在登陆中)  
root     pts/0        10.0.0.1         Wed Nov 14 21:14   still logged in  
root     pts/0        10.0.0.1         Wed Nov 14 14:08 - 17:11  (03:02)   
reboot   system boot  2.6.32-696.el6.x Wed Nov 14 14:08 - 22:43  (08:34)   
root     pts/0        10.0.0.1         Wed Nov 14 14:02 - down   (00:06)   
root     tty1                          Mon Nov 12 00:09 - down  (2+13:58)  
root     pts/7        10.0.0.1         Sat Nov 10 18:28 - 19:53  (01:25)   
root     pts/6        10.0.0.1         Sat Nov 10 18:28 - 19:53  (01:25)   
 
root     pts/0        10.0.0.1         Wed Nov 14 14:08 - 17:11  (03:02)    
 17:11   表示登录时间
(03:02)   登陆了多久
 
[root@oldboy02 ~]# lastlog (显示系统最近一次所有的登录情况,这里的登录时指远程登的用户不是切换用户)
Username         Port     From             Latest
root             pts/1    10.0.0.1         Wed Nov 14 22:13:25 +0800 2018
bin                                        **Never logged in**
daemon                                     **Never logged in**
adm                                        **Never logged in**
lp                                         **Never logged in**
sync                                       **Never logged in**
案例:su 与su – 的区别
[root@oldboy02 ~]# su oldboy
[oldboy@oldboy02 root]$ pwd
/root(su 不加- 切换后家目录还是/root,ls 查看文件的时候还是没有权限)
[oldboy@oldboy02 root]$ whoami
Oldboy
 
[root@oldboy02 ~]# su – oldboy (加上-后,家目录就会切换到普通用户的家目录下面,普通用户有权限)
[oldboy@oldboy02 ~]$ pwd
/home/oldboy
[oldboy@oldboy02 ~]$ whoami
oldboy
 
sudo 这个命令是专门为普通用户用的,root 用户是用不着的。
[root@oldboy02 ~]# visudo (:92行找到root在下root行的下面写上普通用户的用户名和执行的命令)
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
oldboy  ALL=(ALL)      /bin/ls, /bin/touch (给oldboy授权)
[root@oldboy02 ~]# visudo -c (一定要进行语法的检查是否正确)
/etc/sudoers: parsed OK
 
[oldboy@oldboy02 ~]$ ls /root
ls: cannot open directory /root: Permission denied
[oldboy@oldboy02 ~]$ sudo ls /root/
anaconda-ks.cfg  install.log.syslog  police.log  yangjuncheng.test
[oldboy@oldboy02 ~]$ sudo touch /root/alex.txt
[oldboy@oldboy02 ~]$ sudo ls /root/alex.txt
/root/alex.txt (文件已经创建)
 
visudo == vim /etc/sudoers
案例:授权/bin/下面普通用户root的权限
[root@oldboy02 ~]# visudo
oldboy  ALL=(ALL)       /bin/*(授权/bin下的所有权限)
[oldboy@oldboy02 ~]$ ls /bin (查看发现有su – root )
 
[oldboy@oldboy02 ~]$ su - root
Password: (没有密码)
[oldboy@oldboy02 ~]$ sudo su – root (这条命令表示具有了root的权限,这样普通用户就直接成root了,非常危险,不能给普通用户这么大的权限)
[sudo] password for oldboy:
[root@oldboy02 ~]# ls /root
 
案例:授权/bin/下面普通用户root的权限,并且排除su 权限
[root@oldboy02 ~]# visudo
oldboy  ALL=(ALL)       /bin/*  !/bin/su (表示排除su )
[oldboy@oldboy02 ~]$ sudo su -
Sorry, user oldboy is not allowed to execute '/bin/su -' as root on oldboy02.(没有权限)
[oldboy@oldboy02 ~]$
因为/bin/目录下面有好多的执行命令这样授权整个目录很危险,最好的办法就是普通用户
需要什么就给什么权限,这样比较安全。精确到某个命令的某个参数。
[oldboy@oldboy02 ~]$ sudo -k(清除缓存)
[oldboy@oldboy02 ~]$ sudo -l
[sudo] password for oldboy:
如果说自己用,或是给上面领导使用的时候就不需要密码
[root@oldboy02 ~]# visudo
oldboy  ALL=(ALL)      NOPASSWD: ALL
[oldboy@oldboy02 ~]$ sudo su - (直接进入root用户下面,不需要输入密码)
[root@oldboy02 ~]#
 
国内使用的两个堡垒机是 :gateone  jumpserver:
如果说自己用,或是给上面领导使用的时候就不需要密码
[root@oldboy02 ~]# visudo
oldboy  ALL=(ALL)      NOPASSWD: ALL
[oldboy@oldboy02 ~]$ sudo su - (直接进入root用户下面,不需要输入密码)
[root@oldboy02 ~]#
 
国内使用的两个堡垒机是 :gateone  jumpserver
posted @ 2018-11-25 13:26  juncheng.yang  阅读(622)  评论(0编辑  收藏  举报