一划提、用戶基礎了解
????????Linux是一個多任務万牺、多用戶的操作系統(tǒng)罗珍,每個用戶和進程都需要對應一個用戶和用戶組,用戶名相當于姓名脚粟,用戶UID相當于身份證號覆旱,用戶組GID相當于公司的工號。用戶與用戶組的關系一對一核无、多對一扣唱、一對多、多對多团南。
Linux系統(tǒng)用戶分類:
1噪沙、超級用戶root
root(超級管理員),UID為0吐根,擁有最高的權限正歼,類似windows系統(tǒng)的administrator本地管理員。root可以使用sudo管理提權給普通用戶使用拷橘,相當于分配特殊權限給普通用戶使用局义。
2、虛擬用戶
虛擬用戶冗疮,UID為1~499旭咽,虛擬用戶一般與系統(tǒng)和程序服務相關,一般是默認不能登錄系統(tǒng)使用赌厅。
3穷绵、普通用戶
一般是由具備系統(tǒng)管理員root權限用戶所創(chuàng)建,UID為500~65535特愿,這類用戶的權限會受到一定的基本權限限制仲墨,一般來自具備管理員用戶的限制。
當創(chuàng)建一個用戶揍障,以下配置文件會被修改
用戶配置文件????? ???/etc/passwd
用戶密碼配置文件? ???/etc/shadow
用戶組配置文件??????/etc/group
用戶組密碼配置文件?? /etc/gshadow
二目养、用戶管理命令
三、用戶初始化目錄skel
??? ????/etc/skel目錄是用來存放新用戶環(huán)境變量文件的目錄毒嫡,當我們添加新用戶時癌蚁,這個目錄下的所有文件會自動被復制到新添加用戶的家目錄下,默認情況下,/etc/skel目錄下的所有文件都是隱藏文件(以點.開頭的文件)努释,通過修改碘梢、添加、刪除/etc/skel目錄下的文件伐蒂,我們可為新創(chuàng)建的用戶提供統(tǒng)一的煞躬、標準的、初始化用戶環(huán)境逸邦。
[root@oldboy ~]# su - oldboy
[oldboy@oldboy ~]$ ls -la
total 28
drwx------? 2 oldboy oldboy 4096 Dec 14 08:51 .
drwxr-xr-x. 8root?? root?? 4096 Dec 13 15:41 ..
-rw-------? 1 oldboy oldboy? 459 Dec 14 15:04 .bash_history
-rw-r--r--? 1 oldboy oldboy?? 18 Dec 14 08:51 .bash_logout
-rw-r--r--? 1 oldboy oldboy? 176 Dec 14 08:51 .bash_profile
-rw-r--r--? 1 oldboy oldboy? 124 Dec 14 08:51 .bashrc
-rw-------? 1 oldboy oldboy? 802 Nov 28 14:17 .viminfo
[oldboy@oldboy ~]$ ls -ld /etc/skel/
drwxr-xr-x. 2 rootroot 4096 Sep? 7 17:13 /etc/skel/
[oldboy@oldboy ~]$ ls -la /etc/skel/
total 20
drwxr-xr-x.? 2 root root 4096 Sep? 7 17:13 .
drwxr-xr-x. 83 rootroot 4096 Dec 14 14:35 ..
-rw-r--r--.? 1 root root??18 Jul 24? 2015 .bash_logout
-rw-r--r--.? 1 root root?176 Jul 24? 2015 .bash_profile
-rw-r--r--.? 1 root root?124 Jul 24? 2015 .bashrc
/etc/skel的企業(yè)場景作用:
1恩沛、可以把通知的內(nèi)容放到shell,讓登錄的用戶查看
[root@oldboy ~]# ls -la /etc/skel/
total 20
drwxr-xr-x.? 2 root root 4096 Sep? 7 17:13 .
drwxr-xr-x. 83 rootroot 4096 Dec 14 14:35 ..
-rw-r--r--.? 1 root root??18 Jul 24? 2015 .bash_logout
-rw-r--r--.? 1 root root?176 Jul 24? 2015 .bash_profile
-rw-r--r--.? 1 root root?124 Jul 24? 2015 .bashrc
[root@oldboy ~]# touch /etc/skel/info.txt
[root@oldboy ~]# echo "Linux CentOS 6.7" >
/etc/skel/info.txt
[root@oldboy ~]# ls -la /etc/skel/
total 24
drwxr-xr-x.? 2 root root 4096 Dec 14 15:07 .
drwxr-xr-x. 83 rootroot 4096 Dec 14 14:35 ..
-rw-r--r--.? 1 root root??18 Jul 24? 2015 .bash_logout
-rw-r--r--.? 1 root root?176 Jul 24? 2015 .bash_profile
-rw-r--r--.? 1 root root?124 Jul 24? 2015 .bashrc
-rw-r--r--?? 1 root root??17 Dec 14 15:08 info.txt
[root@oldboy ~]# cat /etc/skel/info.txt
Linux CentOS 6.7
[root@oldboy ~]# useradd xiaoming
root@oldboy ~]# passwd xiaoming
Changing passwordfor user xiaoming.
New password:
BAD PASSWORD: it istoo simplistic/systematic
BAD PASSWORD: is toosimple
Retype new password:
passwd: allauthentication tokens updated successfully.
[root@oldboy ~]# su - xiaoming
[xiaoming@oldboy ~]$ ls -la .
total 24
drwx------? 2 xiaoming xiaoming 4096 Dec 14 15:09 .
drwxr-xr-x. 9root???? root???? 4096 Dec 14 15:09 ..
-rw-r--r--? 1 xiaoming xiaoming?? 18 Jul 24?2015 .bash_logout
-rw-r--r--? 1 xiaoming xiaoming? 176 Jul 24?2015 .bash_profile
-rw-r--r--? 1 xiaoming xiaoming? 124 Jul 24?2015 .bashrc
-rw-r--r--? 1 xiaoming xiaoming?? 17 Dec 14 15:08 info.txt
[xiaoming@oldboy ~]$ cat info.txt
Linux CentOS 6.7
2、統(tǒng)一初始化新用戶的環(huán)境變量
[root@oldboy ~]# cat /etc/skel/.bash_profile
# .bash_profile
# Get the aliasesand functions
if [ -f ~/.bashrc ];then
??? . ~/.bashrc
fi
# User specificenvironment and startup programs
PATH=$PATH:$HOME/bin
export PATH
[root@oldboy ~]#echo "alias grep='grep
--color=auto'" >> /etc/skel/.bash_profile
[root@oldboy ~]# cat /etc/skel/.bash_profile
# .bash_profile
# Get the aliasesand functions
if [ -f ~/.bashrc ];then
??? . ~/.bashrc
fi
# User specificenvironment and startup programs
PATH=$PATH:$HOME/bin
export PATH
alias grep='grep --color=auto'
[root@oldboy ~]# useradd zhangshang
[root@oldboy ~]# passwd zhangshang
Changing passwordfor user zhangshang.
New password:
BAD PASSWORD: it istoo simplistic/systematic
BAD PASSWORD: is toosimple
Retype new password:
passwd: allauthentication tokens updated successfully.
[root@oldboy ~]# su - zhangshang
[zhangshang@oldboy ~]$ grep 3306 /etc/services
mysql?????????? 3306/tcp??????????????????????? # MySQL
mysql?????????? 3306/udp??????????????????????? # MySQL
[zhangshang@oldboy ~]$ alias
alias grep='grep --color=auto'
alias l.='ls -d .*--color=auto'
alias ll='ls -l--color=auto'
alias ls='ls--color=auto'
alias vi='vim'
alias which='alias |/usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[zhangshang@oldboy ~]$ su - oldboy
Password:
[oldboy@oldboy ~]$ alias
alias l.='ls -d .*--color=auto'
alias ll='ls -l--color=auto'
alias ls='ls--color=auto'
alias vi='vim'
alias which='alias |/usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
3缕减、問題原因及解決辦法
[root@oldboy ~]# rm -rf /home/oldboy/.bash*?? ##刪除oldboy環(huán)境變量配置文件
[root@oldboy ~]# su - oldboy
-bash-4.1$
-bash-4.1$ cp /etc/skel/.bash* /home/oldboy/
-bash-4.1$ ls -la /home/oldboy/
total 24
drwx------?? 2 oldboy oldboy 4096 Dec 14 15:36 .
drwxr-xr-x. 11root?? root?? 4096 Dec 14 15:31 ..
-rw-r--r--?? 1 oldboy oldboy?? 18 Dec 14 15:36 .bash_logout
-rw-r--r--?? 1 oldboy oldboy? 207 Dec 14 15:36 .bash_profile
-rw-r--r--?? 1 oldboy oldboy? 124 Dec 14 15:36 .bashrc
-rw-------?? 1 oldboy oldboy? 802 Nov 28 14:17 .viminfo
-bash-4.1$ exit
logout
[root@oldboy ~]# su - oldboy
[oldboy@oldboy ~]$
四雷客、用戶初始化目錄login
??? ????????/etc/login.defs文件是用來定義創(chuàng)建用戶時需要的一些用戶的配置信息,如創(chuàng)建用戶時桥狡,是否需要家目錄搅裙,UID和GID的范圍,用戶及密碼的有效期限等总放。
[oldboy@oldboy ~]$ grep -vE "#|^$"
/etc/login.defs
MAIL_DIR??? /var/spool/mail
PASS_MAX_DAYS?? 99999
PASS_MIN_DAYS?? 0
PASS_MIN_LEN??? 5
PASS_WARN_AGE?? 7
UID_MIN???????? ?500
UID_MAX???????? 60000
GID_MIN???????? ?500
GID_MAX???????? 60000
CREATE_HOME yes
UMASK?????????? 077
USERGROUPS_ENAB yes
ENCRYPT_METHODSHA512
五、創(chuàng)建用戶默認配置文件/etc/default/useradd
??????????? /etc/default/useradd文件是在使用useradd添加用戶時的一個需要調(diào)用的一個默認配置文件好爬,可以使用useradd –D?命令局雄,這樣的命令格式來修改文件里面的內(nèi)容。
[root@oldboy ~]# cat/etc/default/useradd
# useradd defaultsfile
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
六存炮、su切換用戶
????????????su命令主要用來切換用戶身份炬搭,為我們管理linux系統(tǒng)帶來了很多方便,但是穆桂,這樣通過su命令切換到root后宫盔,也帶來了很大安全管理問題;比如系統(tǒng)有8個普通用戶享完,都可以通過切換到root身份進行系統(tǒng)管理灼芭,甚至還可以改掉root的密碼,讓其他的普通用戶無法再實現(xiàn)系統(tǒng)管理般又,還有彼绷,這么多用戶中,有任何一人對系統(tǒng)操作的重大失誤茴迁,都可能導致整個系統(tǒng)崩潰或數(shù)據(jù)損失寄悯。這樣的非集權式管理,在一定程度上就對系統(tǒng)的安全造成了較去的威協(xié)堕义。在工作中幾乎有一半的問題來自于內(nèi)部猜旬。
??? ????????????我們既希望超級用戶root密碼掌握在少數(shù)或唯一的管理員手中,又希望多個系統(tǒng)管理員能夠完成更多更復雜的系統(tǒng)管理的工作。那么洒擦,如何解決多個系統(tǒng)管理員都能管理系統(tǒng)的而又不讓超級權限泛濫的需求呢椿争?這就需要sudo命令來替代或結合su命令來完成這樣的苛刻且必要的管理需求。
[root@oldboy ~]# env | grep root --color=auto
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
PWD=/root
HOME=/root
LOGNAME=root
[root@oldboy ~]# su - oldboy
[oldboy@oldboy ~]$ env | grep root--color=auto
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/home/oldboy/bin
[oldboy@oldboy ~]$ env | grep oldboy --color=auto
HOSTNAME=oldboy
USER=oldboy
MAIL=/var/spool/mail/oldboy
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/home/oldboy/bin
PWD=/home/oldboy
HOME=/home/oldboy
LOGNAME=oldboy
[oldboy@oldboy ~]$ exit
logout
[root@oldboy ~]# su oldboy
[oldboy@oldboy root]$ env | grep oldboy --color=auto
HOSTNAME=oldboy
USER=oldboy
HOME=/home/oldboy
LOGNAME=oldboy
[oldboy@oldboy root]$ env | grep root --color=auto
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
MAIL=/var/spool/mail/root
PWD=/root
七秘遏、sudo\visudo控制用戶對系統(tǒng)命令的使用權限
????????????為了安全及管理的方便丘薛,可將需要root權限的普通用戶加入sudo管理,這樣用戶就可以通過自己的普通帳戶登錄實現(xiàn)利用root的權限來管理系統(tǒng)了邦危,當然也就不需要有root賬號及密碼了洋侨。sudo對應的權限配置文件/etc/sudoers。
??? ????????執(zhí)行如下visudo命令倦蚪,即可打開sudo權限配置文件/etc/sudoers,當然也可以使用vi模式編輯/etc/sudoers配置文件希坚,但推薦使用visudo命令編輯。
????????????通過sudo進行授權管理系統(tǒng)的目的:即能讓運維人員干活陵且,又不能威脅系統(tǒng)安全裁僧,其實就是前面講的用戶權限最小化原則,還可以審計用戶使用sudo的提權操作命令慕购。為了管理方便聊疲,這里暫時給oldboy授權all權限,即可以管理整個系統(tǒng)沪悲。詳細操作過程為:輸入visudo找到98行获洲,并在該行下面放入如下內(nèi)容。
?
1殿如、sudo執(zhí)行流程:
[root@oldboy ~]# cat -n /etc/sudoers | grep -E
"97|98"
??? 97? ##Allow root to run any commands anywhere
??? 98? root??? ALL=(ALL)? ALL??? 《=====此行是98行
##可以在98行下面加入授權的用戶贡珊,也可以在其它位置加入,授權的命令要填寫絕對路徑
?? ?oldboy?ALL=(ALL)??/usr/sbin/useradd,/usr/sbin/userdel
sudo提權配置說明:
說明:
1涉馁、通過sudo授權管理后门岔,所有用戶執(zhí)行授權的特殊權限格式為“sudo命令”。
2烤送、如果需要切換到root執(zhí)行相關操作寒随,可以通過“sudo su -”命令,注意帮坚,此命令提示的密碼為當前用戶的密碼牢裳,而不是root的密碼。
3叶沛、執(zhí)行“sudo -1”命令可以查看當前用戶被授予的sudo權限集合蒲讯。
2、實例:
[oldboy@oldboy ~]$ whoami
oldboy
[oldboy@oldboy ~]$ useradd test01
-bash: /usr/sbin/useradd: Permission denied
[root@oldboy ~]# whoami
root
[root@oldboy ~]# cat -n /etc/sudoers | grep -E "97|98|99|100"
???97??? ## Allow root to run anycommands anywhere
???98??? root ALL=(ALL)??? ALL
???99???
??100??? ## Allows members of the'sys' group to run networking, software,
[root@oldboy ~]# which useradd
/usr/sbin/useradd
[root@oldboy ~]# sed -i '99a oldboy ALL=(ALL)? /usr/sbin/useradd' /etc/sudoers
[root@oldboy ~]# cat -n /etc/sudoers | grep -E "97|98|99|100"
???97??? ## Allow root to run anycommands anywhere
???98??? root ALL=(ALL)??? ALL
???99???
??100??? oldboy ALL=(ALL)? /usr/sbin/useradd
[oldboy@oldboy ~]$ whoami
oldboy
[oldboy@oldboy ~]$ sudo -l
[sudo] password foroldboy:????? ##輸入odlboy密碼進行驗證
Matching Defaults entries for oldboy onthis host:
???requiretty, !visiblepw, always_set_home, env_reset,env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR
???LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANGLC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
? ??LC_IDENTIFICATION LC_MEASUREMENTLC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER
???LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS_XKB_CHARSET XAUTHORITY",
???secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User oldboy may run the following commandson this host:
(ALL) /usr/sbin/useradd
[oldboy@oldboy ~]$ sudo useradd test01
[oldboy@oldboy ~]$ tail -1 /etc/passwd
test01:x:502:508::/home/test01:/bin/bash
3灰署、sudo定義別名
[root@oldboy ~]# cat -n /etc/sudoers | grep -E
"97|98"
97? ## Allow root to run any commands anywhere
98? root??? ALL=(ALL)? ALL
別名和具體授權配置的關系表
1判帮、Host_Alias 定義主機別名
[root@oldboy ~]#grep -in "Host_Alias" /etc/sudoers
13:# Host_Alias FILESERVERS= fs1, fs2?? ##請注意定義規(guī)范局嘁,“=”號兩邊有空格
14:# Host_Alias MAILSERVERS
= smtp, smtp2 ##請注意定義規(guī)范,每個成員用逗號分隔晦墙,逗號后面有空
說明
1悦昵、在生產(chǎn)場景中,一般情況不需要設置主機別名晌畅,在定義授權規(guī)則時可以通過ALL來匹配所有的主機但指。
2、請注意上面定義的規(guī)范抗楔,有些規(guī)范雖然不是必須的棋凳,但我們還是要求能夠按照系統(tǒng)的標準來配置,這樣可以避免意外的問題發(fā)生连躏。
3剩岳、以上Host Aliases 內(nèi)容截取自/etc/sudoer文件,最后兩行取清了注釋入热。
4拍棕、其實就是一個邏輯上的主機組,當多臺服務器共享一個/etc/sudoers時候會用到這個主機別名勺良。
2绰播、User_Alias 定義用戶別名
[root@oldboy ~]#grep -in "User_Alias" /etc/sudoers
20:# User_AliasADMINS = jsmith, mikem,%groupname
注意:
1、設置用戶別名也不是必須的尚困,更多的情況蠢箩,我們可以通過%groupnane的方式來作為成員。
3尾组、Runas_Alias 定義runas(用戶身份)別名
這個別名指定的是“用戶身份”忙芒,即sudo允許切換到的用戶身份示弓。
Runas_Alias 定義的是用戶可以執(zhí)行sudo切換身份到Runas_Alias下包含的的成員身份讳侨。
實際語法為:
Runas_Alias? OP = root
4、Cmnd_Alias定義命令別名
命令別名就是定義一個別名奏属,包含一堆命令跨跨,即一組相關命令的集合。
[root@oldboy ~]#grep -ni "Cmnd_Alias" /etc/sudoers
27:# Cmnd_AliasNETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient,/usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig,/sbin/mii-tool
30:# Cmnd_AliasSOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
33:# Cmnd_AliasSERVICES = /sbin/service, /sbin/chkconfig
36:# Cmnd_AliasLOCATE = /usr/bin/updatedb
39:# Cmnd_AliasSTORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount,/bin/umount
42:# Cmnd_AliasDELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp
45:# Cmnd_AliasPROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
48:# Cmnd_AliasDRIVERS = /sbin/modprobe
5囱皿、別名應用實例
開發(fā)人員:
用戶別名: User_Alias? DEVELOP_ADMIN = kaifa01,kaifa02,%KFgroup
命令權限:KAFACMD
身份權限:OP1
運維人員:
用戶別名: User_Alias? LINUX_ADMIN = yuwei01,yuwei02,%YWgroup
命令權限:USERCMD, DISKCMD,NETMAGCMD, CTRLCD, KAFACMD
身份權限:OP1
網(wǎng)絡工程師:
用戶別名:User_Alias? NETWORK_ADMIN =wangluo01,wangluo02,%WLgroup
命令權限:DISKCMD,NETMAGCMD
身份權限:OP1
崗位命令分類:
Cmnd_Alias USERCMD =/usr/sbin/useradd,/usr/sbin/userdel,\
/usr/bin/passwd[A-Za-z]*,/bin/chown./bin/chmod
Cmnd_Alias DISKCMD =/sbin/fdisk,/sbin/parted
Cmnd_Alias NETMAGCMD= /sbin/ifconfig,/ete/init.d/network
Cmnd_Alias CTRLCD =/usr/sbin/reboot,/usr/sbin/halt
Cmnd_Alias KAFACMD =/bin/grep,/usr/bin/tail,/bin/cat
角色:
Runas_Alias??OP1=root
授權:
root????????????ALL=(ALL)???ALL
用戶?????? ??????機器=角色????? 命令
DEVELOP_ADMIN??? ALL=(OP1)???? KAFACMD
LINUX_ADMIN????? ALL=(OP1)????USERCMD,DISKCMD,NETMAGCMD,CTRLCD,KAFACMD???
NETWORK_ADMIN??? ALL=(OP1)???? DISKCMD,NETMAGCMD
6勇婴、上機測試
root管理員配置/etc/sudoers配置文件
[root@oldboy ~]# visudo
#用戶別名設置
User_Alias? DEVELOP_ADMIN = kaifa01,kaifa02,%KFgroup
User_Alias? LINUX_ADMIN = yuwei01,yuwei02,%YWgroup
User_Alias? NETWORK_ADMIN = wangluo01,wangluo02,%WLgroup
#命令別名設置
Cmnd_Alias USERCMD =/usr/sbin/useradd,/usr/sbin/userdel,\
/usr/bin/passwd[A-Za-z]*,/bin/chown./bin/chmod
Cmnd_Alias DISKCMD =/sbin/fdisk,/sbin/parted
Cmnd_Alias NETMAGCMD= /sbin/ifconfig,/ete/init.d/network
Cmnd_Alias CTRLCD =/usr/sbin/reboot,/usr/sbin/halt
Cmnd_Alias KAFACMD =/bin/grep,/usr/bin/tail,/bin/cat
#用戶身份別名設置
Runas_Alias?? OP1=root
#授權
DEVELOP_ADMIN??? ALL=(OP1)???? KAFACMD
LINUX_ADMIN????? ALL=(OP1)???? USERCMD,DISKCMD,NETMAGCMD,CTRLCD,KAFACMD
NETWORK_ADMIN??? ALL=(OP1)???? DISKCMD,NETMAGCMD
[root@oldboy ~]# visudo –c???? #測試/etc/sudoers配置文件語法是否存在錯誤
/etc/sudoers: parsedOK
開發(fā)人員kaifa01測試:
[kaifa01@oldboy ~]$ whoami
kaifa01
[kaifa01@oldboy ~]$ sudo -l
[sudo] password forkaifa01:
Matching Defaultsentries for kaifa01 on this host:
??? requiretty, !visiblepw, always_set_home,env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR
??? LS_COLORS", env_keep+="MAIL PS1PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
??? LC_IDENTIFICATION LC_MEASUREMENTLC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER
??? LC_TELEPHONE", env_keep+="LC_TIMELC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
???secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User kaifa01 may runthe following commands on this host:
??? (root) /bin/grep, /usr/bin/tail, /bin/cat
[kaifa01@oldboy ~]$ sudo grep "3306"
/etc/services
mysql?????????? 3306/tcp??????????????????????? # MySQL
mysql?????????? 3306/udp??????????????????????? # MySQL
運維人員yuwei測試:
[yuwei01@oldboy ~]$ whoami
yuwei01
[yuwei01@oldboy ~]$ sudo -l
We trust you havereceived the usual lecture from the local System
Administrator. Itusually boils down to these three things:
??? #1) Respect the privacy of others.
??? #2) Think before you type.
??? #3) With great power comes greatresponsibility.
[sudo] password foryuwei01:
Matching Defaults entriesfor yuwei01 on this host:
??? requiretty, !visiblepw, always_set_home,env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR
??? LS_COLORS", env_keep+="MAIL PS1PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
??? LC_IDENTIFICATION LC_MEASUREMENTLC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER
??? LC_TELEPHONE", env_keep+="LC_TIMELC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
???secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User yuwei01 may runthe following commands on this host:
??? (root) /usr/sbin/useradd,/usr/sbin/userdel, /usr/bin/passwd[A-Za-z]*, /bin/chown./bin/chmod, (root)
??? /sbin/fdisk, /sbin/parted, (root)/sbin/ifconfig, /ete/init.d/network, (root) /usr/sbin/reboot,
/usr/sbin/halt, (root) /bin/grep, /usr/bin/tail,/bin/cat
[yuwei01@oldboy ~]$ sudo useradd test
[yuwei01@oldboy ~]$ tail -1 /etc/passwd
test:x:507:510::/home/test:/bin/bash
網(wǎng)絡人員wangluo01測試:
[wangluo01@oldboy ~]$ whoami
wangluo01
[wangluo01@oldboy ~]$ sudo -l
We trust you havereceived the usual lecture from the local System
Administrator. Itusually boils down to these three things:
??? #1) Respect the privacy of others.
??? #2) Think before you type.
??? #3) With great power comes greatresponsibility.
[sudo] password forwangluo01:
Matching Defaultsentries for wangluo01 on this host:
??? requiretty, !visiblepw, always_set_home,env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR
??? LS_COLORS", env_keep+="MAIL PS1PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
??? LC_IDENTIFICATION LC_MEASUREMENTLC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER
??? LC_TELEPHONE", env_keep+="LC_TIMELC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
??? secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User wangluo01 mayrun the following commands on this host:
??? (root) /sbin/fdisk, /sbin/parted, (root)/sbin/ifconfig, /ete/init.d/network
[wangluo01@oldboy ~]$ sudo fdisk -l
Disk /dev/sda: 10.7GB, 10737418240 bytes
255 heads, 63 sectors/track,1305 cylinders
Units = cylinders of16065 * 512 = 8225280 bytes
Sector size(logical/physical): 512 bytes / 512 bytes
I/O size(minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x00043d20
?? Device Boot????? Start???????? End????? Blocks??Id? System
/dev/sda1?? *??????????1????????? 26????? 204800??83? Linux
Partition 1 does notend on cylinder boundary.
/dev/sda2????????????? 26???????? 124????? 786432??82? Linux swap / Solaris
Partition 2 does notend on cylinder boundary.
/dev/sda3???????????? 124??????? 1306????9493504?? 83? Linux
7、sudo 配置文件letc/sudoers授權規(guī)則注意事項總結:
(1)嘱腥、授權規(guī)則中的所有ALL字符串必須為大寫字母
(2)耕渴、Cmnd_Alias USERCMD=/usr/sbin/useradd,/usr/sbin/userdel齿兔,\
/usr/bin/passwd橱脸,/usr/bin/passwd[A-Za-z",/bin/chown础米,/bin/chmod,Vusr/bin/passwd
rootoldboyALL=usr/sbin/M./sbin/",/usr/sbin/visudo.l/sbin/fdisk./usr/sbin/useradd,/usr/sbin/userdel,\Wusr/bin/passwd,/us/bin/passwd[A-Za-z]",/bin/chown,/bin/chmod,!/usrlbin/passwd root
允許執(zhí)行的命令是有順序的添诉。從老男孩測試的結果看屁桑,命令的順序是從后向前,即把禁止執(zhí)行的命令放在
允許命令的后面栏赴。如:usr/sbin/*,/sbin/*,!/usr/sbin/visudo蘑斧,/sbin/fdisk,前面的為允許须眷,后面的為禁止竖瘾。
在強調(diào)下,禁止的命令盡量放在后面柒爸。
(3)准浴、一行內(nèi)容超長可以用“\”斜線換行.
(4)、“捎稚!”嘆號表示非乐横,就是命令取反的意思,即禁止執(zhí)行的命令今野。
8葡公、Linux系統(tǒng)安全最小原則說明:
最小化原則對Limux系統(tǒng)安全來說極其重要:即多一事不如少一事。具體包括如下幾個方面:|
1条霜、安裝Linux系統(tǒng)最小化催什,即選包最小化,yum安裝軟件包也要最小化宰睡,無用的包不裝蒲凶。
2、開機自啟動服務最小化拆内,即無用的服務不開啟旋圆。
3、操作命令最小化麸恍。例如:能用“rm –f test.txt”就不用“rm –rf test.txt”灵巧。
4、登錄Linux用戶最小化,平時沒有特殊需求不登錄root抹沪,用普通用戶登錄即可刻肄。
5、普通用戶授權權限最小化融欧,即只給用戶必須的管理系統(tǒng)的命令敏弃,不能啥都可以干。
6噪馏、Linux系統(tǒng)文件及目錄的權限設置最小化麦到,禁止隨意創(chuàng)建虹茶、更改、刪除文件隅要。