linux ---vim編輯&使用者管理&許可權
阿新 • • 發佈:2018-11-05
<0>.vim 編輯器
(1).普通模式:瀏覽檔案,不可以編輯,只能瀏覽
(2)插入模式:對檔案進行編輯
i 在游標所在位置插入 I 在游標所在行行首插入
a 在游標下一位置插入 A 在游標所在行行尾插入
o 在游標所在行下一行插入 O 在游標所在行上一行插入
s 刪除游標所在字元進行插入 S 刪除游標所在行進行插入
(3)命令模式:臨時更改vim的工作方式,對字元進行批量操作 p--->貼上 u--->撤銷 ctrl+r--->恢復撤銷
- 調整vim的檔案設定 :set nu ---> 設定行號 :set nonu ---> 取消行號 :set cursorline ---> 設定行線標識 :set mouse=a ---> 新增滑鼠選擇 注意:以上設定均為臨時設定,永久生效需要修改vim配置檔案/etc/vimrc
2).字元搜尋
/關鍵字 n向下匹配 N向上匹配
3).字元的管理
(n)字母 (n)單詞 (n)行 所有檔案 結束
字元的複製:y(n)l y(n)w y(n)y yG 複製完成後按“P”貼上
字元的刪除:d(n)l d(n)w d(n)d dG ------
字元的剪下:c(n)l c(n)w c(n)c cG 剪下之後vim會進入插入模式,要貼上需要按[esc]退出插入模式,然後按p貼上
4).vim的視覺化模式 ----> ----> I v ---> 字元視覺化 V ---> 行視覺化 ctrl+v ---> 塊視覺化 (ctrl+v 批量選擇字元; ctrl+v 選中要加入的字元所在的列 ;按大寫的(I)鍵進入插入模式; 按[esc]結束)
5).字元的替換
:%s/要替換的字元/替換成的字元/g g--->表示全域性變數 eg::%s/westos/redhat/g
:1,5s/westos/redhat/g -----> 將1到5行的westos改變成redahat
:%s/原有字元/替換後字元 -----> 只替換每一行中出現的第一個原有字元
6).vim 的分屏功能 ctrl+w s --->上下分屏 ctrl+w v ---> 左右分屏 ctrl+w c ---> 關閉游標所在的螢幕 ctrl+w 上下左右 ---> 游標移動到指定螢幕 :sp file2 ---> 同時編輯當前檔案和file2
7).在命令模式下游標的移動
gg ----> 游標移動到檔案的第一行 ; G ----> 游標移動到檔案的最後
8).vim的退出
vimtutor--------> vim的手冊
:q ---> 退出不儲存,在檔案內容沒有改變時使用 :wq ---> 退出儲存
:q! ---> 強制退出不儲存,在改變檔案後不想儲存時使用 :wq! ---> 強制退出儲存,在對只讀檔案編輯時使用;
注意:所編輯的只讀檔案必須是當前使用者的檔案(root除外)
<1>.圖形編輯器gedit
crtl+n //新建視窗 ctrl+s //儲存檔案 ctrl+o //開啟檔案
ctrl+x //剪下 ctrl+v //貼上 ctrl+c //複製
對於giedit軟體幫助的檢視可以用yelp help:gedit
<2>.使用者管理(id)
1檢視當前使用者 whoami
2系統中使用者的檢視
id username ---> 檢視指定使用者的id所有資訊 id -u username ---> 檢視使用者的uid
id -g username ---> 檢視使用者的gid id -G username ---> 檢視那使用者的所有組id
id -n username ---> 顯示名字而不是id數字
注意:-n 的使用必須和 -u|g|G 一起連線使用 eg:id -nu username
<3>.切換使用者(su)
su - 使用者名稱稱
su - 中“-”表示使用者身份切換時同時切換當前使用者環境
su - 執行高階使用者切換到低階使用者時不需要密碼,低階使用者切換到高階使用者需要密碼,平級使用者切換也需要
注意 : 每次su切換到其他使用者操作完成之後退出,在切換到另外使用者操作 退出--->exit | ctrl+d
<4>.使用者在系統中的儲存方式
/etc/passwd ---> 使用者資訊檔案 root : x : 0 : 0 : root :/root:/bin/bash
使用者名稱稱:使用者密碼:uid:gid:說明文字:家目錄:預設shell
/etc/group ---> 使用者組資訊 mail: x : 12 :postfix
組名:組密碼:組id:組成員
/etc/shadow ---> 認證資訊檔案 (共9列)
使用者名稱稱:使用者密碼:使用者密碼最後一次被更改的時間:使用者密碼最短有效期:使用者密碼最長有效期:密碼警告期限:使用者非活躍天數:使用者到期日:使用者自定義列
/etc/gshadow ---> 組認證資訊
是/etc/group的加密資訊檔案
/home/username ---> 使用者的家目錄
<5>.使用者管理命令 (useradd;userdel;usermod;groupadd;groupdel)
使用者和使用者組的監控命令 ---> watch -n 'tail -n 3 /etc/passwd /etc/group;ls -l /home/'
1).使用者的建立 ( useradd )
useradd -u 8888 username ---> 建立新使用者並且指定使用者的id--->8888
useradd -g 21 username ---> 建立新使用者並且指定使用者的初始組id--->21,“21”使用者組必須是已經存在的
useradd -G 21 username ---> 建立新使用者並且指定使用者的附加組id--->21,“21”使用者組必須是已經存在的
useradd -c “hello” username ---> 建立新使用者並且指定使用者的說明
useradd -d /home/lee username ---> 建立新使用者並且指定使用者的家目錄
useradd -s /sbin/nologin username ---> 建立新使用者並且指定使用者的預設shell ; /etc/shells記錄了使用者能使用shell的名字
eg: useradd -u 2341 -g 21 -G 21 -c "xiao li zi" -d /home/lee -s /bin/bash xiao
2).使用者的刪除 ( userdel )
userdel username ---> 刪除已經存在的使用者但不刪除使用者的配置資訊
userdel -r username ---> 刪除已經存在的使用者並且刪除使用者的配置資訊
3).更改使用者資訊 ( usermod )
usermod -l new_username old_username 更改使用者的名稱
usermod -u 7865 old_username 更改使用者的uid
usermod -g 78 old _username 更改使用者的初始組
usermod -G 78 old _username 更改使用者的附加組
usermod -aG 78 old _username 新增使用者的附加組
usermod -G "" old_username 刪除使用者的所有附加組
usermod -c "li_zi" old_username 指定使用者的說明文字
usermod -md /home/lee old _username 更改使用者的家目錄
usermod -s /sbin/nologin old_username 更改使用者的shell
usermod -L old_username 凍結使用者,將不能登陸成功
usernod -U old_username 解鎖使用者,將可以登陸
4).使用者組的建立 ( groupadd )
groupadd new_group_name ---> 建立新使用者組
groupadd -g 344 new_group_name ---> 建立新使用者組並且指定使用者組的組id--->344
5).使用者組的刪除 ( groupdel )
groupdel old_group_name ---> 刪除使用者組
<6>.使用者密碼(passwd)
監控passwd密碼資訊 -----> watch -n 1 passwd -S student
命令 引數 使用者名稱稱
passwd student ---> 更改使用者密碼
passwd -S student ---> 使用者密碼資訊
passwd -l student ---> 鎖定密碼,普通使用者不能登陸帳號,root使用者可以切換過去
passwd -u student ---> 解鎖密碼,普通使用者可以登陸帳號
passwd -e student ---> 使用者密碼最短有效期限為0;使用者在登陸時會被強制要求修改密碼
passwd -n 1 student ---> 設定密碼最短有效期為一天,一天之內不能更改密碼
passwd -x 30 student ---> 設定密碼最長有效期為三十天,三十天之後必須更改密碼
passwd -w 3 student ---> 警告期-->密碼在過期前兩天有警告輸出
passwd -i 2 student ---> 設定使用者非活躍天數-->密碼在過期後仍可以登陸系統的天數
passwd -d student ---> 清除使用者密碼
chage -E 2018-09-23(日期) username ----> 使用者在2018-09-23日到期,到期之後使用者將不能登陸
注意: 普通使用者改密碼時必須知道當前永久原始密碼; 密碼不能個帳號名稱相似;
密碼不能是純數字; 密碼不能是有序的字母和數字的組合
<7>.檔案許可權
檔案的監控: watch -n 1 ls -lR /mnt 監控目錄/mnt裡面的檔案或者目錄的變化,一秒更新一次
1).檔案許可權存在的意義
系統最底層安全設定方式之一; 保證檔案可以被相應的使用者做相應的操作;linux中一切皆檔案;
2).檔案許可權的檢視
ls -l file 檢視檔案的許可權 ls -ld dir 檢視目錄的許可權
ll file 檢視檔案的許可權 ll -d dir 檢視目錄的許可權
3).檔案許可權的讀取
d | rwxrwxr-x. | 4 | kiosk | kiosk | 32 | Sep 23 16:56 | linux
- | rwxrwxr-x. | 1 | kiosk | kiosk |287 | Sep 21 18:43 | rht-view-desktop.desktop
[1] [2] [3] [4] [5] [6] [7] [8]
[1]:檔案型別
-: 空檔案,或者空文字 d: 目錄 l: 軟連結
s: socket套接字 b:block快裝置 c:字元裝置
[2]:rwx | rwx | r-x.
(1) (2) (3)
(1):[u]---> 檔案擁有者對檔案能做什麼操作 (2):[g]---> 檔案所屬組對檔案做什麼操作 (3):[o]---> 其它人對檔案做什麼操作
[3]:4
對檔案:檔案硬連結個數(檔案內容被記錄的次數)
對目錄:目錄中子目錄的個數(不是檔案)
[4]:kiosk
檔案所有人
[5]:kiosk
檔案所有組
[6]:287
對檔案:檔案大小
對目錄:目錄中字檔案源資料大小
[7]:Sep 23 16:56
檔案內容被修改的時間
[8]:linux
檔名稱
<8>.如何修改檔案的所有人個所有組 ( chown | chgrp )
檔案的監控: watch -n 1 ls -lR /mnt
chown user file|dir 更改檔案或者目錄的所有人
chown user.group file|dir 更改檔案或者目錄的所有人和檔案所在組
chown -R user.group dir 遞迴更改目錄的所有人和檔案所在組
chgrp group file|dir 更改檔案或者目錄的檔案所在組
chgrp -R group dir 遞迴更改目錄的檔案所在組
<9>.如何修改檔案的許可權
檔案的監控: watch -n 1 ls -lR /mnt
1).對許可權的理解
r : 對檔案---> 是否可以檢視檔案中的內容-->cat
對目錄---> 是否可以檢視目錄中有什麼子檔案或子目錄-->ls
w : 對檔案---> 是否可以改變檔案裡面記錄的字元-->vim; gedit
對目錄---> 是否可以對目錄中子目錄或者子檔案源資料進行更改-->touch;mkdir;rm
x : 對檔案---> 是否可以通過檔名稱呼叫檔案內記錄的程式
對目錄---> 是否可以進入目錄-->cd
2).更改方式
chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir
chmod u-x file1 --->file1擁有者去掉x許可權
chmod g+w file1 --->file1擁有組新增w許可權
chmod u-x,g+w file1 --->file1擁有者去掉x權,file1擁有組新增w許可權
chmod ugo-r file2 --->file2的使用者組其他人去掉r許可權
chmod ug+x,o-r file3 --->file3使用者和組新增x許可權,其他人去掉r許可權
chmod ug+x,o+wx file3 --->file3使用者和組新增x許可權,其他人加上wx許可權
chmod u=rwx,o=rw- file3 --->file3使用者擁有rwx許可權,其他人擁有rw-許可權
3).數字方式修改該檔案許可權(chmod)
在linux中 r=4 w=2 x=1
檔案許可權數字表示方式 rw-|r--|r--
u g o
u=rw-=4+2+0=6 g=r--=4+0+0=4 o=r--=4+0+0=4
所以檔案許可權表示為644
檔案中許可權用數字表示
7=rwx 6=rw- 5=r-x 4=r-- 3=-wx 2=-w- 1=--x 0=---
chmod 修改後許可權值 file
chmod 777 file