1、vimlinux
1.vim光標移動ios
1)在命令模式下shell
:數字 ###移動到指定的行vim
G ###文件最後一行安全
gg ###文件第一行bash
2)在插入模式下運維
i ###光標所在位置插入工具
I ###光標所在行行首ui
a ###光標所在字符的下一個位置spa
A ###光標所在行行尾
o ###光標所在行下一行
O ###光標所在行上一行
s ###刪除光標所在字符插入
S ###刪除光標所在行插入
2.vim的退出模式
:q ###當用vim打開文件但沒有對字符做任何操做時可直接退出
:q! ###當用vim打開文件並對字符做操做,放棄全部操做退出
:wq ###保存退出
:wq! ###強行保存退出,對超級用戶及文件全部人生效
3.vim手冊
vimtutor ###vim的手冊
:q ###退出vimtutor
2、gedit
ctrl+n ###在gedit中打開一個新的tab
ctrl+s ###保存文件
ctrl+o ###打開文件
ctrl+x ###剪切字符
ctrl+v ###粘貼字符
ctrl+c ###複製字符
yelp help:gedit ###gedit的圖形手冊
3、用戶理解
限制,共享
用戶就是系統使用者的身份
在系統中用戶存儲爲若干字符串+若干個系統配置文件
用戶信息涉及到的系統配置文件:
/etc/passwd ###用戶信息
用戶:密碼:uid:gid:說明:家目錄:用戶使用的shell
/etc/shadow ###用戶認證信息
用戶:密碼:最後一次密碼修改該時間:最短有效期:最長有效期:警告期:非活躍期:賬號到期日
/etc/group ###組信息
組名稱:組密碼:組id:附加組成員
/etc/gshadow ###組認證信息
/home/username ###用戶家目錄
/etc/skel/.* ###用戶骨架文件
4、用戶管理
1.用戶創建
useradd 參數 用戶名稱
-u ###指定用戶uid
-g ###指定用戶初始組信息,這個組必須已經存在
-G ###指定附加組,這個組必須存在
-c ###用戶說明
-d ###用戶家目錄
-s ###用戶所使用的shell,/etc/shells記錄了用戶能使用shell的名字
eg:[root@foundation42 Desktop]# useradd westos ###創建新用戶,參數皆爲默認
[root@foundation42 Desktop]# useradd -u 6666 westos ###創建新用戶,指定用戶uid爲6666
[root@foundation42 Desktop]# groupadd -g 9999 westo ###創建組,指定組gid爲9999
[root@foundation42 Desktop]# useradd -g 9999 westos ###創建新用戶,指定組gid爲9999
[root@foundation42 Desktop]# useradd -G 21 westos ###創建新用戶,指定附加組id爲21
[root@foundation42 Desktop]# useradd -c "westos user" westos ###創建新用戶,指定用戶說明爲westos user
[root@foundation42 Desktop]# useradd -d /home/linux westos ###創建新用戶,指定用戶家目錄爲/home/linux/
[root@foundation42 Desktop]# useradd -s /bin/sh westos ###創建新用戶,指定用戶所使用的shell
ps:[root@foundation42 Desktop]# userdel -r westos ###刪除用戶westos,新建用戶存在時,先刪除用戶,再新建
2.用戶刪除
userdel -r 用戶名稱 ###-r表示刪除用戶信息及用戶的系統配置
eg:[root@foundation42 Desktop]# userdel -r westos ###刪除westos用戶信息及其westos的系統配置
3.組的創建
groupadd -g 組名稱 ###創建組
groupdel 組名字 ###刪除組
ps:作以上實驗的監控命令:
[root@foundation42 Desktop]# watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'
eg:[root@foundation42 Desktop]# groupadd linux ###創建組linux,參數皆爲默認
[root@foundation42 Desktop]# groupadd -g 8888 westos ###創建名稱爲westos,id爲8888的組
[root@foundation42 Desktop]# groupdel westos ###刪除組westos
4.用戶id信息查看
id 參數 用戶
-u ###用戶uid
-g ###用戶初始組id
-G ###用戶全部所在組id
-n ###顯示名稱而不是id數字
-a ###顯示全部信息
eg:[root@foundation42 Desktop]# id -a westos ###查看westos的全部信息
[root@foundation42 Desktop]# id -u westos ###查看westos的用戶uid
[root@foundation42 Desktop]# id -g westos ###查看westos的用戶初始組gid
[root@foundation42 Desktop]# id -G westos ###查看westos全部所在組id
[root@foundation42 Desktop]# id -un westos ###查看westos的用戶名稱
[root@foundation42 Desktop]# id -gn westos ###查看westos的初始組名稱
[root@foundation42 Desktop]# id -Gn westos ###查看westos的全部所在組的名稱
5.用戶信息更改
usermod 參數 用戶
-l ###更改用戶名稱
-u ###更改uid
-g ###更改gid
-G ###更改附加組
-aG ###添加附加組
-c ###更改說明
-d ###更改家目錄指定及家目錄名稱
-s ###更改shell
-L ###凍結賬號
-U ###解鎖
eg:[root@foundation42 Desktop]# usermod -l linux westos ###將用戶名稱westos改成linux
[root@foundation42 Desktop]# usermod -u 1111 linux ###將用戶uid改成1111
[root@foundation42 Desktop]# usermod -g 72 linux ###更改用戶組id,組id要已存在的
[root@foundation42 Desktop]# usermod -G wheel linux ###更改用戶的附加組爲wheel,wheel要已存在
[root@foundation42 Desktop]# usermod -aG 21 linux ###在原有附加組的基礎上,添加id爲21的附加組
[root@foundation42 Desktop]# usermod -c "linux user" linux ###更改linux用戶的說明
[root@foundation42 Desktop]# usermod -d /home/linux linux ###更改linux用戶家目錄指定
[root@foundation42 Desktop]# usermod -md /home/linux linux ###更改linux用戶家目錄指定及家目錄名稱
[root@foundation42 Desktop]# usermod -s /bin/shell ###更改shell
5、用戶權力下放
1.在系統中超級用戶能夠下放普通用戶不能執行的操做給普通用戶
下放權力配置文件:/etc/sudoers
2.下放權力的方法
*)超級用戶執行visudo進入編輯/etc/sudoers模式
*)格式:
得到權限用戶 主機名稱=(得到到的用戶身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用戶能在desktop0.example.com以超級用戶身份執行/usr/sbin/useradd
eg:[root@foundation42 Desktop]# visudo-->進入/etc/sudoers編輯模式-->kiosk foundation42.ilt.example.com=(root) /usr/sbin/useradd-->保存退出
3.執行下放權限命令
sudo 命令 ###若是第一次執行sudo須要輸入當前用戶密碼
ps:在/etc/sudoers中若是設置以下:kiosk foundation42.ilt.example.com=(root) NOPASSWD: /usr/sbin/useradd,表示用戶調用sudo命令的時候不須要本身密碼
eg:[kiosk@foundation42 Desktop]$ sudo /usr/sbin/useradd linux ###執行下放權限命令
6、用戶認證信息的控制
chage 參數 用戶
-d ###用戶密碼組後一次修改的時間,若是設定成0,用戶登錄系統後必須修改本身的密碼
-m ###最短有效期
-M ###最長有效期
-W ###警告期
-I ###用戶非活躍天數
-E ###賬號到期日格式 -E "YYYY-MM-DD"
eg:[root@foundation42 Desktop]# watch -n 1 tail -n 5 /etc/shadow ###實時監控密碼信息變化
[root@foundation42 Desktop]# chage -d 0 student ###用戶登錄系統後必須修改本身的密碼
[root@foundation42 Desktop]# chage -m 1 student ###最短有效期爲1天,至少1天后才能修改密碼
[root@foundation42 Desktop]# chage -M 30 student ###最長有效期爲30天,必須在30天內修改密碼
[root@foundation42 Desktop]# chage -W 2 student ###警告期2天,密碼到期的前2天,系統發出警告,提醒修改密碼
[root@foundation42 Desktop]# chage -I 1 student ###用戶非活躍天數1天,30天以後多給1天,若是還沒修改密碼,系統直接凍結帳戶
[root@foundation42 Desktop]# chage -E "2017-04-21" student ###設定帳戶到期格式
7、文件屬性的查看
ls -l filename
-|rw-r--r--.|1| root| root| 46 |Oct 1 05:03 |filename
— ————————— — ———— ———— —— ———————————— ————————
1 2 3 4 5 6 7 8
1."-":文件類型
- ###普通文件
d ###目錄
c ###字符設備
s ###套接字
p ###管道
b ###快設備
l ###鏈接
eg:[kiosk@foundation42 Desktop]$ ls -l /etc/passwd
-rw-r--r--. 1 root root 2270 Mar 20 00:45 /etc/passwd ###普通文件
[kiosk@foundation42 Desktop]$ ls -ld /etc/
drwxr-xr-x. 134 root root 8192 Mar 23 09:04 /etc/ ###目錄
2."rw-r--r--":文件讀寫權限
rw-|r--|r--
u g o
u:全部人的權限
g:全部組的權限
o:其餘人的權限
3."1":
對文件:文件內容被系統記錄的次數
對目錄:目錄中文件屬性的字節數
eg:[kiosk@foundation42 Desktop]$ ls -l /etc/passwd
-rw-r--r--. 1 root root 2270 Mar 20 00:45 /etc/passwd ###文件內容被系統記錄1次,1次可刪除
[kiosk@foundation42 Desktop]$ ls -ld /etc/
drwxr-xr-x. 134 root root 8192 Mar 23 09:04 /etc/ ###/etc目錄中文件屬性的字節數
4."root":文件全部人
eg:[kiosk@foundation42 Desktop]$ ls -l file
-rw-rw-r-- 1 kiosk kiosk 0 Mar 23 10:12 file ###文件全部人是用戶kiosk
5."root":文件全部組
eg:[kiosk@foundation42 Desktop]$ ls -l file
-rw-rw-r-- 1 kiosk kiosk 0 Mar 23 10:12 file ###文件全部組是組kiosk
6."46":文件內容的大小
eg:[kiosk@foundation42 Desktop]$ ls -l file
-rw-rw-r-- 1 kiosk kiosk 0 Mar 23 10:12 file ###文件是空文件,文件內容大小爲0
7."Oct 1 05:03":文件最後一次被修改的時間
eg:[kiosk@foundation42 Desktop]$ ls -l file
-rw-rw-r-- 1 kiosk kiosk 0 Mar 23 10:12 file ###文件最後一次修改時間是03-23 10:12
8."filename":文件名字
eg:[kiosk@foundation42 Desktop]$ ls -l file
-rw-rw-r-- 1 kiosk kiosk 0 Mar 23 10:12 file ###文件名稱爲file
8、文件全部人全部組的管理
chown username file|dir ###更改文件的全部人
chown username:groupname file|dir ###更改全部人全部組
chown -R username dir ###更改目錄自己及裏面全部內容的全部人
chgrp -R groupname dir ###更改目錄自己及裏面全部內容的全部組
eg:[root@foundation42 Desktop]# watch -n 1 ls -lR /mnt ###實時監控/mnt中文件和目錄的信息變化
[root@foundation42 Desktop]# chown student /mnt/file ###將file文件的全部人更改成student
[root@foundation42 Desktop]# chown student.wheel /mnt/dir ###將dir目錄的全部人更改成student,全部組更改成wheel
[root@foundation42 Desktop]# chown student:wheel /mnt/dir ###和上條命令效果相同
[root@foundation42 Desktop]# chown -R student /mnt/dir ###更改dir目錄自己及裏面全部內容的全部人爲student
[root@foundation42 Desktop]# chgrp -R wheel /mnt/dir ###更改dir目錄自己及裏面全部內容的全部組爲wheel
9、文件普通權限
rw-|r--|r--
u g o
u:文件全部人對文件能夠讀寫
g:文件組成員對文件可讀
o:其餘人對文件可讀
u優先匹配,g次優先,o當u,g不匹配時匹配
1.r
對文件:能夠查看文件中的字符
對目錄:能夠查看目錄中文件的信息
2.w
對文件:能夠更改文件內字符
對目錄:能夠在目錄中添加刪除文件
3.x
對文件:能夠運行文件內記錄的程序動做
對目錄:能夠進入目錄中
4.字符方式修改該文件權限
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權限
eg:[root@foundation42 Desktop]# watch -n 1 ls -lR /mnt ###實時監控/mnt中文件和目錄的信息變化
[root@foundation42 Desktop]# chmod u-x /mnt/dir ###dir擁有着student去掉x權限,切換到student用戶,沒法進入目錄
[root@foundation42 Desktop]# chmod g+w /mnt/dir ###dir擁有組wheel添加w權限,wheel組內其餘用戶擁有在dir目錄內添加刪除文件的權力
[root@foundation42 Desktop]# chmod u-x,g+w /mnt/dir ###和上兩條命令效果相同
[root@foundation42 Desktop]# chmod ugo-r /mnt/dir ###給dir目錄的擁有者,用戶組和其餘人都去掉r權限,沒法查看目錄中文件的信息
[root@foundation42 Desktop]# chmod ug+x,o-r /mnt/dir ###dir目錄的擁有者和用戶組添加x權限,擁有者和用戶組可進入目錄,其餘人去掉r權限,沒法查看目錄中文件的信息
5.數字方式修改該文件權限
在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=---
eg:[root@foundation42 Desktop]# chmod 640 /mnt/file ###file文件的擁有者對其可讀可寫,全部組對其可讀,其餘人對其什麼也無法幹
10、系統默認權限的設定
從系統存在角度來講,開放權力越大,系統存在乎義越高
從系統安全角度來講,開放權力越少,系統安全性越高
因此係統設定新建文件或目錄會去掉一些權限
設定方式
umask ###查看系統保留權限默認爲022
umask 077 ###修改該系統保留權限爲077,此設定爲臨時設定,只當前shell中生效
永久設定方式:
vim /etc/bashrc ###shell,進入編輯
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002 ###普通用戶umask
else
umask 077 ###超級用戶umask,修改成077
fi
vim /etc/profile ###系統,進入編輯
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002 ###普通用戶umask
else
umask 077 ###超級用戶umask,修改成077
fi
以上兩個文件umask設定值必須保持一致
source /etc/bashrc
source /etc/profile
讓設定當即生效
ps:修改umask以前,新建文件默認參數爲644,擁有者可讀可寫,全部組和其餘人僅可讀。修改參數後,變爲600,僅擁有者可讀可寫,全部組和其餘人沒有任何權限
11、特殊權限
1.suid ###冒險位
只針對二進制可執行文件,
文件內記錄的程序產生的進程的全部人爲文件全部人
和進程發起人身份無關
設定方式:
chmod u+s file
suid=4
chmod 4xxx file
2.sgid ###強制位
對文件:只針對二進制可執行文件,
任何人運行二進制文件
程序時程序產生的進程的全部組都是文件的全部組
和程序發起人組的身份無關
對目錄:當目錄有sgid權限後,目錄中新建的全部文件的全部組
都自動歸屬到目錄的全部組之中,和文件創建者所在的組無關
設定方式:
chmod g+s file|dir
sgid=2
chmod 2xxx file|dir
3.sticky ###粘制位
t權限:
只針對與目錄,當一個目錄上有t權限,那麼目錄中的文件只能被全部人刪除
設定方式:
chmod o+t direcotry
t=1
chmod 1777 direcotry
1.新建用戶組shengchan,caiwu,jishu
[root@localhost Desktop]# groupadd shengchan
[root@localhost Desktop]# groupadd caiwu
[root@localhost Desktop]# groupadd jishu
2.新建用戶要求以下:
*)tom是shengchan組的附加用戶
*)harry是caiwu組的附加用戶
*)leo是jishu組的附加用戶
*)新建admin用戶,此用戶不屬於以上提到的三個部門
[root@localhost Desktop]# useradd -G shengchan tom
[root@localhost Desktop]# useradd -G caiwu harry
[root@localhost Desktop]# useradd -G jishu leo
[root@localhost Desktop]# useradd admin
3.新建目錄要求以下:
*)/pub目錄爲公共存儲目錄對全部用戶可讀可寫可執行,但用戶只能刪除屬於本身的文件
*)/sc目錄爲生產部存儲目錄,只能對生產部門人員可寫,而且生產部人員所創建的文件都自動歸屬到shengchan組中
*)/cw目錄爲財務部存儲目錄,只能對財務部人員可寫,而且財務部人員所創建的文件都自動歸屬到caiwu組中
*)admin用戶能用touch工具在/sc目錄和/cw目錄中任意創建文件,但不能刪除文件
[root@localhost Desktop]# mkdir /pub
[root@localhost Desktop]# chmod 777 /pub
[root@localhost Desktop]# chmod o+t /pub
ps:上面兩條命令能夠合爲一條[root@localhost Desktop]# chmod 1777 /pub
[root@localhost Desktop]# mkdir /sc
[root@localhost Desktop]# chgrp shengchan /sc
[root@localhost Desktop]# chmod 770 /sc
[root@localhost Desktop]# chmod g+s /sc
ps:上面兩條命令能夠合爲一條[root@localhost Desktop]# chmod 2770 /sc
[root@localhost Desktop]# mkdir /cw
[root@localhost Desktop]# chgrp caiwu /cw
[root@localhost Desktop]# chmod 770 /cw
[root@localhost Desktop]# chmod g+s /cw
ps:上面兩條命令能夠合爲一條[root@localhost Desktop]# chmod 2770 /cw
[root@localhost Desktop]# visudo-->進入編輯狀態,添加-->
admin localhost=(root) NOPASSWD: /bin/touch
[root@localhost Desktop]# su - admin
[admin@localhost ~]$ sudo /bin/touch /sc/file
4.設定普通用戶新建文件權限爲"r--r-----"
[root@localhost Desktop]# vim /etc/profile-->進入編輯狀態-->
59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
60 umask 002 ###修改成226
61 else
62 umask 022
63 fi
[root@localhost Desktop]# vim /etc/bashrc-->進入編輯狀態-->
70 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
71 umask 002 ###修改成226
72 else
73 umask 022
74 fi
[root@localhost Desktop]# source /etc/profile
[root@localhost Desktop]# source /ect/bashrc
5.設定admin用戶能夠經過sudo自由創建新用戶
[root@localhost Desktop]# visudo-->進入編輯狀態,添加-->
admin localhost=(root) NOPASSWD: /usr/sbin/useradd
[root@localhost Desktop]# su - admin
[admin@localhost ~]$ sudo /usr/sbin/useradd xyh