Linux雲自動化運維第四課

Linux雲自動化運維第四課

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

 

 

unit4-做業

 

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

相關文章
相關標籤/搜索