cp /etc/services /root/services. vim service. cp /etc/services ./
:set nu
:set list
:%s#ssh#oldboy#g
:set nu ---->30gg--->dd #註釋行,跳轉到30行,刪除 vim services. +30 --->dd #登錄的時候直接跳轉到30行,刪除
u
ctrl +r
:set nu --->25gg---->ctrl+v---->方向鍵到30行--->shift+i---->shift+#--->esc esc
10gg--->ctrl +v--->按方向鍵選中到20行--->d
刪除臨時保存文件,同文件名的.swp文件便可刪除 例如: .filename.swp rm -f .filename.swp 注意:先查看是否有別的用戶在編輯這個文件a
~/.vimrc 我的環境變量(優先級高) /etc/vimrc 全局環境變量
vim -o a.sh zls.txt (水平分割) vim -O a.sh zls.txt (垂直分割)
diff 文件對比(用的很少) vimdiff 以vim 方式打開兩個文件對比,高亮標記不一樣的內容
刪除光標所在行,並進入編輯模式
用戶指的是可以正常登錄linux或windows系統
本質都是登陸系統的,只不過Linux支持多用戶同時登陸,windows默認不支持,可是修改`組策略`的狀況下也是能夠多用戶登陸的。
id
/etc/passwd 存放用戶的信息 /etc/shadow 存放用戶的密碼
第1列 :用戶帳戶名稱 第2列 :密碼佔位符,存放帳戶的口令 第3列 :用戶UID,用戶標識號 第4列 :用戶GID,組標識號 第5列 : 用戶註釋,用戶詳細信息 第6列 :用戶家目錄,root家目錄 第7列 :用戶登錄Linux使用的Shell
第1列 :用戶登陸名,也就是用戶的帳戶名稱 第2列 :加密後的密碼 第3列 :最近一次密碼更改時間 第4列 :密碼最少使用幾天 第5列 : 密碼最長使用幾天 第6列 :密碼到期前警告期限 第7列 :密碼到期後保持活動的天數 第8列 : 帳戶到期時間 第9列 : 標誌
用戶標識號
0: 超級管理員(擁有最高權限) 1-200: 系統用戶,有系統分配給系統進程使用 201-999:系統用戶,用來運行服務帳戶,不須要登錄系統(動態分配) 1000+ :常規普通用戶
useradd user1 useradd user2 -M -s /sbin/nologin 或者useradd user1;useradd user -M -s /sbin/nologin
useradd oldboy -u 789
useradd test -M -u 666 -s /sbin/nologin
usermod oldboy -u 777
usermod test -s /bin/bash
userdel user1
userdel -r user2
passwd oldboy 123--->123 oldboy@10.0.0.100 su - oldboy #登錄 su - #退出登錄
useradd test01 -u 888 useradd test02 -u 999 useradd test03 -u 998
passwd test01 123456 123456
su - test01 或者在xhell中更改帳戶密碼連接su ssh test01@10.0.0.100
echo "oldboy123" | passwd --stdin test01
passwd username
who whoami w
userdel -r test02
/etc/passwd /etc/shadow
useradd oldboy01 -u 555 -M -s /sbin/nologin
系統會根據/etc/login.defs、/etc/defaults/useradd兩個文件做爲參照物
緣由:家目錄下的.bash_* 環境變量相關的文件刪除了 解決: cp /etc/skel/.bash* ./ 再從新登陸 環境變量文件默認從/etc/skel目錄中拷貝
普通用戶沒有修改其餘用戶密碼的權限 只有root用戶管理員才能夠修改其餘用戶的密碼, 使用非交互式來修改 echo 「密碼」 |passwd --stdin test03
普通用戶只能更改本身的密碼,但密碼必須知足8位字符
[root@centos7 ~]# echo $RANDOM|md5sum |cut -c 1-18|tee /tmp/a |passwd --stdin test01 cat /tmp/a #查詢密碼
seq '10' |awk '{print "useradd gong"$1}'|bash
[root@centos7 ~]# seq '10' |awk '{print " useradd jingyun"$1";""echo123456|passwd --stdin jingyun"$1}'|bash
[root@centos7 ~]# seq '10' |awk '{print "useradd oldboy"$1";""echo $RANDOM|md5sum|cut -c 1-10 |tee /tmp/old0"$1"|passwd --stdin oldboy"$1}'|bash cat /tmp/old01
[root@centos7 ~]# useradd qiudao ;mkpasswd -l 24 -d 2 -c 2 -C 2 -s 4|tee /tmp/aaa|passwd --stdin qiudao cat /tmp/aaa
[root@centos7 ~]# ip a s ens33|sed -rn '3s#.*t (.*)/.*#\1#p' 10.0.0.100 [root@centos7 ~]# ifconfig ens33|sed -rn '2s#.*t (.*) n.*#\1#gp' 10.0.0.100
[root@centos7 ~]# ifconfig ens33|awk -F ' ' 'NR==2 {print $2}' 10.0.0.100 [root@centos7 ~]# ip a s ens33|awk -F '[ /]+' 'NR==3 {print$3}' 10.0.0.100
/etc/group /etc/gshadow
groupadd shanghai01
groupadd -g 1099 shanghai02
groupadd -r shanghai03
groupmod -g 1033 shanghai02
groupmod -n linux shanghai01
useradd -G shanghai02 linux01
useradd -g shanghai03 linux02
useradd -G shanghai02,shanghai03 linux03
id linux02
groupdel shanghai02
只有將基本組下的用戶變動組才能夠刪除
who|awk '{print$1}'|sort|uniq -c w|awk 'NR>2 {print$1}'|sort|uniq -c
groupadd old useradd olddir -u 1005 -g old
id username grep '^username' /etc/passwd
基本組不能夠被刪除,只有一個基本組 附加組能夠有多個附加組,能夠刪除
1.組的名稱 2.組的密碼(存在/etc/gshadow) 3.組GID信息 4.僅顯示附加成員,基本成員不顯示
1.組名稱 2.組密碼 3.組管理員 4.僅顯示附加成員,基本成員不顯示
su - username
su - 要輸入密碼 logout 不用輸入密碼 ctrl +d 不用輸入密碼 exit 不用輸入密碼
交互式shell //等待用戶輸入執行的命令(終端操做,須要不斷提示) 非交互式shell //執行shell腳本, 腳本執行結束後shell自動退出 登錄shell //須要輸入用戶名和密碼才能進入shell su - zls 非登錄shell //不須要輸入用戶和密碼就能進入,好比執行sh, bash, su username
我的配置文件: ~/.bash_profile ~/.bashrc 全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrc
//登陸式shell配置文件執行順序 /etc/profile->/etc/profile.d/*.sh->~/.bash_profile->~/.bashrc->/etc/bashrc
//非登錄式shell配置文件執行順序 ~/.bashrc->/etc/bashrc->/etc/profile.d/*.sh
su - linux01 -c "pwd"
普通用戶提權命令。 sudo執行一個僅有root身份才能執行的命令是能夠辦到的,可是須要輸入密碼,這個密碼並非root的密碼而是用戶本身的密碼。
visudo /etc/sudoers
先visudo進去編輯給普通用戶cat權限 sudo cat /etc/shadow
先visudo 進去編輯給用戶rm權限 sudo rm - fr /pot
visudo 修改爲NOPASSWD
sudo -l
visudo -c /etc/sudoers: parsed OK
vim /etc/ssh/ssh_config PermitRootLogin no
vim /etc/ssh/ssh_config Port 改成222
vim /etc/ssh/ssh_config 把PermitRootLogin yes Port 改成 22 臨時關閉防火牆:
sed -n '1,3p' /etc/passwd
mkdir -p /oldboy/test/shl05
* 表明全部 > 標準輸出重定項 >> 標準輸出追加劇定向 # 註釋 ,超級用戶標識符 .. 當前目錄的上層目錄 . 當前目錄 ,任意一個字符 ^ 以什麼開頭 $ 以什麼結尾,變量,普通用戶標示符 `` 反引號,先執行引號裏面的命令,把結果交給外面 !非,取反
sed -i ‘s#oldboy#oldgirl#g’ /oldboy/oldboy.txt
cat -n /etc/services|tail -1 wc -l /etc/services awk '{print $0,NR}' /etc/services |tail -1
egrep '3306|1521' /etc/services awk '/3306|1521/' /etc/services sed -nr '/3306|1521/p' /etc/services
zengdao
qiudao
oldboy
請給出輸出test.txt 文件內容時,不包含oldboy字符串的命令,有幾種方法。python
grep -v 'oldboy' test.txt awk '!/oldboy/' test.txt sed '/oldboy/d' test.txt head -2 test.txt awk 'NR==1,NR==2' test.txt awk 'NR>=1&& NR<=2' test.txt sed -n '1,2p' test.txt
,老大讓你在服務器上限制rm 命令,當用戶輸入rm 命令時候提示」rm commandis not allowed to use.」 請問實現的步驟是?linux
alias rm='echo "rm commandis not allowed to use"'
etc/hosts
etc/sysconfig/network-scripts/ifconfig-ens33 網卡及DNS /etc/resolv.conf 書寫方式不同, 生效方式不同,網卡配置文件須要重啓網絡服務才能生效
ctrl +alt
命令 --help man info help
:%s#oldboy#oldgirl#g
tree -d /etc |tail -1
awk '/Failed passwd/{print $(NF-3)}' secure.log|sort|uniq -c|sort -rn |head