案例让一个命令在开机的时候自动运行的方法
生活随笔
收集整理的這篇文章主要介紹了
案例让一个命令在开机的时候自动运行的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
案例讓一個命令在開機的時候自動運行的方法 [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
轉載于:https://www.cnblogs.com/yangjuncheng0826/p/10015379.html
總結
以上是生活随笔為你收集整理的案例让一个命令在开机的时候自动运行的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jmeter-常见问题及解决方法
- 下一篇: Django+Echarts画图实例