Vim編輯器:全屏幕的編輯器/可視化接口:VIMjava
vim: linux
模式化:sql
編輯模式(命令模式):shell
輸入模式:數據庫
末行模式: vim
編輯模式 --> 輸入模式:centos
i: insert, 安全
a:append,bash
o:new line,網絡
I: 行首
A:行尾
O:上方新建行
輸入模式 --> 編輯模式:「ESC」
編輯模式 --> 末行模式:「:」
末行模式 --> 編輯模式:"ESC"
打開vim:
# vim
# vim /PATH/TO/SOMEFILE/目標文件
# vim 加目標文件行號
# vim 加目標文件須要查找的元字符
關閉vim:編輯模式下
:q 退出
:q! 強制退出,對以前的修改不作保留
:wq 保存退出
:x 保存退出,好像經過內核
ZZ:保存退出
光標跳轉:
字符間跳轉:
h: 向左
l:向右
j:向下
k:向上
單詞間跳轉:
w:後單詞的詞首
e:當前或後一個單詞的詞尾;
b:當前或前一單詞的詞首;
行內跳轉:
^: 跳轉至行首的第一個非空白字符;
0:跳轉至行首;
$: 跳轉至行尾;
行間移動:
#G: 行號加G
1G, gg-->跳轉至行首
G 跳轉至行尾
句間移動:
)句首
(句尾
段落間移動:
}跳至段首
{跳至段尾
編輯命令:
字符編輯:
x: 刪除光標所在處的字符
#x:刪除光標所在處的開始向後#個字符
xp:
r: 替換光標所在處的字符;
刪除命令:
d: 和行內跳轉,字符跳轉連用
d^:刪除光標處至行首間的字符
d$:刪除光標處至行尾間的字符
dd:刪除光標處一整行的內容
dw, de, db
注意:刪除的內容會被vim編輯器保存至緩衝區當中;
粘貼:p (paste, put)
若是此複製或刪除的內容不是一個完整行
p:粘貼至當前光標所在處後面;
P(大寫):粘貼至當前光標所在處前面;
若是複製的內容是完整行(可不止一行)
p: 粘貼至當前光標所在行下方;
P(大寫):行上方;
複製命令:y, yank(用法同刪除命令)
y
y$, y^, y0
ye, yw, yb
yy: 複製行
改變命令:c, change(用法同刪除命令)
c$, c^, c0
cb, ce, cw
cc:
撤消此前的編輯操做:
u: undo
撤消此前編輯操做;
#u
Ctrl+r:
恢復此前的撤消操做
".": 重複前一個編輯操做
翻屏操做:
Ctrl+f: 向後一屏;
Ctrl+b:向前一屏;
Ctrl+d: 向後半屏
Ctrl+u: 向前半屏
vim內建教程:
vimtutor
vim的末行模式
(1) 地址,定界
:start_pos,end_pos
#:第#行;
#,#:第#行到第#行
#,+#:第#行
.: 當前行
$: 最後一行
%: 全文,至關於1,$
/pat1/:第一次被此模式所匹配到的行;
#,/pat1/:第#次被匹配到的行到後面第#行
/pat1/,/pat2/
後可跟編輯命令:
d, y, w, r
(2) 查找
/PATTERN:向尾部進行
?PATTERN:向首部進行
n: 與命令同方向
N:與命令反方向
(3) 查找替換
s: 在末行模式下,在地址定界的範圍內完成查找替換操做;
s/要查找的內容/替換爲的內容/修飾符
要查找的內容:可以使用模式
替換爲的內容:不能使用模式,但可使用後向引用符號,以引用前面模式中的分組括號所匹配到的內容;
\1, \2, ...
&:引用「要找的內容」匹配到的整個內容;
修飾符:
i: 忽略大小寫
g: 全局替換
/:用於分隔符,因此,要查找的內容或替換爲的內容中出現此符號,要使用\對其轉義,使用格式:\/
分隔符可替換爲其它字符:例如@,#等;
搜索及替換命令
/pattern:從光標開始處向文件尾搜索pattern
?pattern:從光標開始處向文件首搜索pattern
n:在同一方向重複上一次搜索命令
N:在反方向上重複上一次搜索命令
:s/p1/p2/g:將當前行中全部p1均用p2替代
:n1,n2s/p1/p2/g:將第n1至n2行中全部p1均用p2替代
:g/p1/s//p2/g:將文件中全部p1均用p2替換
多文件模式:
vim FILE1 FILE2...
:next 下一個打開的文件
:first 第一個打開的文件
:prev 向前一個打開的文件
:last:最後一個打開的文件
:wqall 保存全部
:q!all 強制退出,不保存全部
多文件窗口分割:
vim -o|-O FILE1FILE2 ...
Ctrl+w, ARROW
單文件窗口分割:
Ctrl+w, s: split,水平分割
Ctrl+w, v:vertical, 垂直分割
定製vim的某些工做特性:
(1) 行號
顯示:set nu
禁用:set nonu
(2) 括號匹配
顯示:set sm
禁用:set nosm
(3) 自動縮進:
set ai
set noai
(4) 高亮搜索
set hlsearch
set nohlsearch
(5) 語法着色
syntax on
syntax off
(6) 忽略字符大小寫
set ic
set noic
:help 獲取幫助
:help SUBJECT
特性設定的永久生效方式:
全局配置文件:/etc/vimrc
用戶我的的配置文件:~/.vimrc
FIND(文件查找):
在文件系統上查找符合條件的文件的過程;
文件查找:locate, find
locate: 非實時查找工具;依賴於事先構建的索引;索引的構建是在系統較爲空閒時自動進行(週期性任務);手動更新此數據庫(updatedb);查找速度快;模糊查找;
find:實時查找;查找速度略慢;精確查找;
find命令:
find [OPTION]...[查找路徑] [查找條件] [處理動做]
查找路徑:默認爲當前路徑;
查找條件:指定的查找標準,能夠根據文件名、大小、屬主屬組、類型等進行;默認爲找出指定路徑下的全部文件;
處理動做:對符合條件的文件作什麼操做;默認爲輸出至屏幕;
查找條件:
根據文件名進行查找:
-name "文件名稱": 支持使用glob,*, ?, []
-iname "文件名稱":不區分字符大小寫,支持使用glob;
-regex "PATTERN":以PATTERN匹配整個文件路徑字符串,而不只僅是文件名稱;
根據屬主、屬組查找:
-user USERNAME: 查找屬主爲指定用戶的文件;
-groupGROUPNAME: 查找屬組爲指定組的文件
-uid UserID: 查找文件的屬主指定uid的文件;
-gidGroupID:
-nouser: 查找沒有屬主的文件;
-nogroup:查找沒有屬組的文件;
根據文件類型進行查找:
-type TYPE
f: 普通文件
d: 目錄
l: 符號連接
b: 塊設備
c: 字符設備
p: 命名管道
s: 套接字
組合查找條件:
與條件:-a
或條件:-o
非條件:-not, !
!A -o !B = !(A -aB)
!A -a !B = !(A -oB)
根據文件大小來查找:
-size [+|-]#UNIT
單位:k, M, G
#UNIT: (#-1,#] 半開半閉區間
+#UNIT: (#,+oo) 即#<目的值<+oo
-#UNIT:[0,#-1] 即0<=#<=#-1
根據時間戳:
以「天」爲單位
-atime [+|-]# 查找在指定時間曾被存取過的文件或目錄,單位以24小時計算
#:[#,#+1)
+#: [#+1,oo]
-#: [0,#)
-mtime 查找在指定時間曾被更改過的文件或目錄,單位以24小時計算
-ctime 查找在指定時間之時被更改的文件或目錄,單位以24小時計算
以「分鐘」爲單位
-amin
-mmin
-cmin
根據權限:
-perm [/|-]MODE
MODE: 精確權限匹配
/MODE:任何一類對象(u,g,o)的任何一位權限符合條件便可;隱含或條件;
/400
-MODE:爲每一類對象指定的每一位權限都必須同時存在方爲符合條件;隱含與條件;
處理動做:
-print: 默認處理動做
-ls:相似於對查找到的每一個文件作"ls -l"的操做;
-delete: 刪除查找到的文件;
-fls/path/to/somefile:查找到的文件的詳細路徑信息保存至指定文件中;
-ok COMMAND {} \;
對每一個文件執行指定的命令以前須要用戶事先確認;
-exec COMMAND {}\;
無需用戶確認;
bash環境配置:
配置文件,生效範圍劃分,存在兩類:
全局配置:
/etc/profile,/etc/profile.d/*.sh
/etc/bashrc
我的配置:
~/.bash_profile
~/.bashrc
按功能劃分,存在兩類:
profile類:爲交互式登陸的shell提供配置
/etc/profile,/etc/profile.d/*.sh
~/.bash_profile
功用:
(1) 定義環境變量,例如PATH、PS1
(2) 運行命令或腳本
bashrc類:爲非交互式登陸shell提供配置
/etc/bashrc
~/.bashrc
功用:
(1) 定義命令別名;
(2) 定義本地變量;
變量:內存空間,變量名
類型:
環境變量:做用範圍當前shell進程及其子進程
本地變量:做用範圍當前shell進程
局部變量:做用範圍僅爲當前shell進程中某代碼片段(一般爲函數上下文)
位置變量:$1, $2
特殊變量:$?
變量定義方式:
bash內置變量:可直接調用,內置了許多環境變量,例如PATH等
自定義變量:
變量賦值:變量名=值
bash弱類型:
變量存儲數據時,默認均採用字符形式;任何變量能夠不經聲明,直接引用;
120:24bits
120: 8bits
定義本地變量:
name=value
查看:set
定義環境變量:
export name=value
declare -xname=value
查看:env, printenv, export
撤消變量:
unset name
引用變量:
${name}, $name
bash中的引用符號:
'': 強引用,變量替換不會發生
"":弱引用
``: 命令引用
shell登陸類型:
交互式登陸:
直接經過終端進行的登陸;
經過su -l Username命令實現的用戶切換;
非交互式登陸:
圖形界面下打開的命令行窗口;
執行腳本;
su Username;
配置文件做用次序:
交互式登陸:
/etc/profile--> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc -->/etc/bashrc
非交互式登陸:
~/.bashrc -->/etc/bashrc --> /etc/profile.d/*.sh
編輯配置文件定義的新配置如何生效?
(1) 從新登陸;
(2) 讓當前shell進程去從新讀取指定的配置文件;
source/PATH/TO/SOMEFILE
./PATH/TO/SOMEFILE
注意:反作用
問題:
1、定義對全部用都生效的別名?
2、若是僅須要PATH環境變量的修改僅對root用戶生效,該如何操做?
Linux文件系統上的特殊權限
權限模型:
u, g, o
r, w, x
進程的安全上下文:
前提:進程有屬主(進程以哪一個用戶的身份運行);文件有屬主和屬組;
(1) 用戶是否可以把某個可執行程序文件啓動爲進程,取決於用戶對程序文件是否擁有執行權限;
(2) 程序啓動爲進程後,此進程的屬主爲當前用戶,也即進程的發起者;進程所屬的組,爲發起者的基本組;
(3) 進程擁的訪問權限,取決其屬主的訪問權限:
(a) 進程的屬主,同文件屬主,則應用文件屬主權限;
(b) 進程的屬主,屬於文件的屬組,則應用文件屬組權限;
(c) 則應用其它權限;
SUID:
(1) 任何一個可執行程序文件能不能啓動爲進程:取決於發起者對程序文件是否有執行權限;
(2) 啓動爲進程以後,其屬主不是發起者,而程序文件本身的屬主;這種機制即爲SUID;
權限設定:
chmod u+sFILE...
chmod u-s FILE...
注意:
s: 屬主本來擁有x權限;
S: 屬主本來無x權限;
SGID:
默認狀況下,用戶建立文件時,其屬級爲此用戶所屬的基本組;
一旦某目錄被設定了SGID權限,則對此目錄擁有寫權限的用戶在此目錄中建立的文件所屬的組爲目錄的屬組,而非用戶的基本組;
權限設定:
chmod g+s FILE...
chmod g-s FILE...
Sticky:
對於一個多人可寫的目錄,此權限用於限制每一個僅能刪除本身的文件;
權限設定
chmod o+t FILE...
chmod o-t FILE...
SUID, SGID,STICKY
000
001
010
011
100
101
110
111
數字修改權限的方法:
4 爲 SUID
2 爲 SGID
1 爲 SBIT
chmod 4777 FILE
chmod 3755 DIR
Linux系統管理
磁盤和文件系統管理;
RAID, LVM; btrfs;
程序包管理:rpm, yum(dnf)
Linux的網絡管理;
進程和做業管理:htop, glances, tsar;
sed和awk;
Linux系統的開機啓動流程;
內核基礎知識,內核定製編譯;
系統安裝:kickstart, pxe
Linux磁盤管理
硬盤:
機械式硬盤
SSD
機械式:
track
sector: 512bytes
cylinder: 分區的基本單位;
MBR:Master Boot Record
512bytes
446: bootloader
64: filesystem allocation table
16: 標識一個分區
2:55AA
磁盤接口類型:
IDE (ATA):133MB/s,/dev/hd
SCSI: 640MB/s
SATA:6Gbps
SAS:6Gbps
USB:480MB/s
識別硬盤設備:/dev/sdN
標記不一樣的硬盤設備:/dev/sd[a-z]
標記同一設備上的不一樣分區:/dev/sd[a-z][1-]
1-4: 主或擴展分區標識
5+:邏輯分區標識
設備文件:特殊文件
設備號:
major, minor
major: 設備類型
minor: 同一類型下的不一樣設備
「塊」:block,隨機設備
「字符」:character,線性設備
GPT
分區:分隔存儲空間爲多個小的空間,每一個空間可獨立使用文件系統;
分區工具:
fdisk, parted, sfdisk
fdisk工具的使用:
最多支持在一塊硬盤上的15個分區;
分區管理子命令:
p: 顯示
n: 建立
d: 刪除
t: 修改分區ID
l: 列出全部支持ID類型
w: 保存退出
q: 放棄修改並退出
m: 獲取幫助
建立完成以後,查看內核是否已經識別新的分區:
# cat /proc/partitions
有三個命令可讓內核重讀磁盤分區表:
CentOS 5: partprobe [DEVICE]
CentOS 6,7:
partx
kpartx
partx命令:
partx DEVICE
partx -a DEVICE
partx -a -n M:N DEVICE
M
M:
:N
kpartx命令:
kpartx -af DEVICE
Linux文件系統管理
文件系統:
VFS:Virtual File System
Linux:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap
光盤:iso9660
Windows: fat32(vfat), ntfs
Unix: ffs, ufs, jfs, jfs2
網絡文件系統:nfs, cifs
集羣文件系統:ocfs2, gfs2
分佈式文件系統:ceph,
moosefs, mogilefs, hdfs, gfs, glusterfs
(1) 日誌型文件系統
非日誌型文件系統:ext2
日誌型文件系統:ext3
(2) swap:交換分區
建立文件系統:
在分區上執行格式化(高級格式化)
要使用某種文件系統,知足兩個條件:
內核中:支持此種文件系統
用戶空間:有文件系統管理工具
建立工具:mkfs (make filesystem)
mkfs -t type DEVICE
mkfs.type DEVICE
ext系列文件系統的專用管理工具:
mke2fs -t {ext2|ext3|ext4} DEVICE
-b BLOCK: 1024, 2048, 4096
-L 'LABEL': 設定卷標
blkid命令:
blkid DEVICE
LABEL, UUID, TYPE
例子:
一、複製/etc/grub.cfg配置文件至/tmp目錄,用查找替換命令刪除/tmp/grub.cfg文件中的行首的空白字符;
二、複製/etc/rc.d/init.d/functions文件至/tmp目錄,用查找替換命令爲/tmp/functions的每行開頭爲空白字符的行的行首加一個#; 原有空白字符保留
三、替換/tmp/functions文件中的/etc/sysconfig/init爲/var/log;
:%s@/etc/sysconfig/init@/var/init@g
/:用於分隔符,因此,要查找的內容或替換爲的內容中出現此符號,要使用\對其轉義,使用格式:\/
分隔符可替換爲其它字符:例如@,#等;
四、刪除/tmp/functions文件中因此#開頭,且#後面至少跟了一個空白字符的行的行首#;
:%s@^#[[:space:]]\+@@g
五、查找/var目錄屬主爲root,且屬組爲mail的全部文件
[root@test1 tmp]# find /var -user root -group mail -ls 263243 4 drwxrwxr-x 2 root mail 4096 Aug 31 21:47 /var/spool/mail
六、查找/usr目錄下不屬於root、bin或hadoop的全部文件;
[root@test1 ~]# find /usr -not -user root -a -not -user bin -a -not -user hadoop -ls 927677 12 -rwsr-xr-x 1 abrt abrt 10296 Jul 25 00:08 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache 943670 340 -rwxr-xr-x 1 amandabackup disk 344080 Mar 27 18:26 /usr/lib64/libamanda-2.6.1p2.so 1193578 4 drwxr-xr-x 5 amandabackup disk 4096 Aug 19 21:13 /usr/lib64/perl5/vendor_perl/Amanda 1193580 4 -rw-r--r-- 1 amandabackup disk 2337 Mar 27 18:26 /usr/lib64/perl5/vendor_perl/Amanda/Application.pm 1193594 4 -rw-r--r-- 1 amandabackup disk 2448 Mar 27 18:26 /usr/lib64/perl5/vendor_perl/Amanda/Script.pm 1193599 12 -rw-r--r-- 1 amandabackup disk 11215 Mar 27 18:26 /usr/lib64/perl5/vendor_perl/Amanda/Util.pm 1193584 20 -rw-r--r-- 1 amandabackup disk 17406 Mar 27 18:26 /usr/lib64/perl5/vendor_perl/Amanda/Changer.pm 1193582 12 -rw-r--r-- 1 amandabackup disk 9804 Mar 27 18:26 /usr/lib64/perl5/vendor_perl/Amanda/Archive.pm
七、查找/etc目錄下最近一週內其內容修改過,且屬主不爲root或hadoop的全部文件
[root@test1 ~]# find /etc -atime -7 -not -user root -a -not -user hadoop -ls 394361 4 drwxr-xr-x 3 amandabackup disk 4096 Aug 19 21:15 /etc/amanda 394547 4 drwxr-xr-x 3 amandabackup disk 4096 Aug 19 21:15 /etc/amanda/DailySet1 394060 4 drwxr-xr-x 2 amandabackup disk 4096 Aug 19 21:15 /etc/amanda/DailySet1/label-templates
八、查找當前系統上沒有屬主或屬組,且最近一週內曾被訪問過的全部文件;
[root@test1 ~]# find / -nouser -o -nogroup -a -atime -7 -ls find: `/proc/3989/task/3989/fd/5': No such file or directory find: `/proc/3989/task/3989/fd/5': No such file or directory find: `/proc/3989/task/3989/fdinfo/5': No such file or directory find: `/proc/3989/task/3989/fdinfo/5': No such file or directory find: `/proc/3989/fd/5': No such file or directory find: `/proc/3989/fd/5': No such file or directory find: `/proc/3989/fdinfo/5': No such file or directory find: `/proc/3989/fdinfo/5': No such file or directory
九、查找/etc目錄下大於20k且類型爲普通文件的全部文件;
[root@test1 ~]# find /etc -size 20k -type f -ls 394131 20 -rw-r--r-- 1 root root 20119 Nov 11 2010 /etc/gconf/schemas/compiz-minimize.schemas 395243 20 -rw-r--r-- 1 root root 19483 Nov 11 2010 /etc/gconf/schemas/gnote.schemas 392912 20 -rw-r--r-- 1 root root 20452 Jul 24 20:31 /etc/libreport/events/report_Mailx.xml 393600 20 -rw-r--r-- 1 root root 19579 Feb 20 2014 /etc/postfix/access 393362 20 -rwxr-xr-x 1 root root 20097 Jul 24 16:14 /etc/rc.d/rc.sysinit 393353 20 -rw-r--r-- 1 root root 19697 Apr 10 00:44 /etc/rc.d/init.d/functions 393824 20 -rwxr-xr-x 1 root root 19499 Jul 24 18:04 /etc/rc.d/init.d/kdump 394716 20 -rw------- 1 root root 19638 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/openshift.pp 394891 20 -rw------- 1 root root 19650 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/condor.pp [root@test1 ~]#
十、查找/etc目錄下全部用戶都沒有寫權限的文件;
[root@test1 ~]# find /etc -not -perm /222 -a -type f -ls 392816 4 -r-------- 1 root root 45 Aug 19 21:00 /etc/openldap/certs/password 392483 4 ---------- 1 root root 1517 Aug 31 21:47 /etc/shadow- 396595 4 ---------- 1 root root 921 Sep 5 20:36 /etc/gshadow 392842 264 -r--r--r-- 1 root root 266702 Aug 19 20:59 /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem 392844 208 -r--r--r-- 1 root root 211626 Aug 19 20:59 /etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem 392843 216 -r--r--r-- 1 root root 217510 Aug 19 20:59 /etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem 392845 196 -r--r--r-- 1 root root 198453 Aug 19 20:59 /etc/pki/ca-trust/extracted/java/cacerts 392841 352 -r--r--r-- 1 root root 359773 Aug 19 20:59 /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt 393858 4 -r-xr-xr-x 1 root root 1340 Jul 24 12:04 /etc/rc.d/init.d/blk-availability 394261 8 -r-xr-xr-x 1 root root 4433 Jul 24 12:04 /etc/rc.d/init.d/clvmd 393859 4 -r-xr-xr-x 1 root root 2134 Jul 24 12:04 /etc/rc.d/init.d/lvm2-lvmetad 393860 4 -r-xr-xr-x 1 root root 3042 Jul 24 12:04 /etc/rc.d/init.d/lvm2-monitor 395344 4 -r--r----- 1 root root 4002 Mar 2 2012 /etc/sudoers 393854 4 -r--r--r-- 1 root root 2249 Jul 24 12:04 /etc/lvm/profile/command_profile_template.profile 393857 4 -r--r--r-- 1 root root 80 Mar 24 10:00 /etc/lvm/profile/thin-performance.profile 393855 4 -r--r--r-- 1 root root 828 Jul 24 12:04 /etc/lvm/profile/metadata_profile_template.profile 393856 4 -r--r--r-- 1 root root 76 Mar 24 10:00 /etc/lvm/profile/thin-generic.profile 393521 4 -r--r--r-- 1 root root 460 Jul 24 19:09 /etc/dbus-1/system.d/cups.conf 393523 4 -r--r--r-- 1 root root 146 Jul 24 19:09 /etc/pam.d/cups 393341 4 ---------- 1 root root 1642 Sep 5 20:36 /etc/shadow 394613 4 -r--r--r-- 1 root root 324 Jul 24 00:14 /etc/ld.so.conf.d/kernel-2.6.32-573.el6.x86_64.conf 392475 4 ---------- 1 root root 910 Aug 31 21:47 /etc/gshadow-
十一、查找/etc目錄下至少有一類用戶沒有執行權限的文件;
[root@test1 ~]# find /etc -not -perm +111 -ls 394976 12 -rw------- 1 root root 9843 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/usernetctl.pp 394977 12 -rw------- 1 root root 9545 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/sensord.pp 394978 12 -rw------- 1 root root 8513 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/openct.pp 394979 12 -rw------- 1 root root 8775 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/sysadm_secadm.pp 394980 12 -rw------- 1 root root 9716 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/tmpreaper.pp 394981 16 -rw------- 1 root root 13033 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/smokeping.pp 394982 16 -rw------- 1 root root 15224 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/nut.pp 394983 16 -rw------- 1 root root 14063 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/rlogin.pp 394984 12 -rw------- 1 root root 9771 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/rhgb.pp 394985 12 -rw------- 1 root root 8218 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/mip6d.pp 394986 16 -rw------- 1 root root 13041 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/java.pp 394987 16 -rw------- 1 root root 13959 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/qmail.pp 394988 12 -rw------- 1 root root 11491 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/lsm.pp 394989 24 -rw------- 1 root root 21070 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/cups.pp 394990 12 -rw------- 1 root root 10222 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/rwho.pp 394991 20 -rw------- 1 root root 17630 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/policykit.pp 394992 20 -rw------- 1 root root 17622 Aug 19 21:14 /etc/selinux/targeted/modules/active/modules/hal.pp 394993 4 -rw------- 1 root root 106 Aug 19 21:14 /etc/selinux/targeted/modules/active/seusers.final 394994 4 -rw------- 1 root root 101 Aug 19 21:14 /etc/selinux/targeted/modules/active/users_extra 394995 4 -rw------- 1 root root 32 Aug 19 21:14 /etc/selinux/targeted/modules/active/commit_num 394996 296 -rw------- 1 root root 299700 Aug 19 21:14 /etc/selinux/targeted/modules/active/file_contexts.template 394997 8 -rw------- 1 root root 5631 Aug 19 21:14 /etc/selinux/targeted/modules/active/homedir_template 394998 8312 -rw-r--r-- 1 root root 8507399 Aug 19 21:14 /etc/selinux/targeted/modules/active/policy.kern 394999 0 -rw------- 1 root root 0 Aug 19 21:14 /etc/selinux/targeted/modules/active/netfilter_contexts 395000 288 -rw------- 1 root root 294069 Aug 19 21:14 /etc/selinux/targeted/modules/active/file_contexts 393731 0 -rw-r--r-- 1 root root 0 Jul 24 21:05 /etc/selinux/targeted/modules/semanage.read.LOCK 393713 4 -rw-r--r-- 1 root root 30 Jul 24 21:05 /etc/selinux/targeted/contexts/initrc_context 393707 4 -rw-r--r-- 1 root root 195 Jul 24 21:05 /etc/selinux/targeted/contexts/dbus_contexts 393710 4 -rw-r--r-- 1 root root 29 Jul 24 21:05 /etc/selinux/targeted/contexts/failsafe_context 394337 8 -rw-r--r-- 1 root root 6405 Aug 19 21:14 /etc/selinux/targeted/contexts/files/file_contexts.homedirs 393712 4 -rw-r--r-- 1 root root 139 Jul 24 21:05 /etc/selinux/targeted/contexts/files/media 394034 288 -rw-r--r-- 1 root root 294069 Aug 19 21:14 /etc/selinux/targeted/contexts/files/file_contexts 393717 4 -rw-r--r-- 1 root root 35 Jul 24 21:05 /etc/selinux/targeted/contexts/userhelper_context 393714 4 -rw-r--r-- 1 root root 33 Jul 24 21:05 /etc/selinux/targeted/contexts/removable_context 393727 4 -rw-r--r-- 1 root root 2920 Jul 24 21:05 /etc/selinux/targeted/contexts/x_contexts 393709 4 -rw-r--r-- 1 root root 148 Jul 24 21:05 /etc/selinux/targeted/contexts/default_type 393706 4 -rw-r--r-- 1 root root 214 Jul 24 21:05 /etc/selinux/targeted/contexts/customizable_types 393715 4 -rw-r--r-- 1 root root 74 Jul 24 21:05 /etc/selinux/targeted/contexts/securetty_types 393726 4 -rw-r--r-- 1 root root 71 Jul 24 21:05 /etc/selinux/targeted/contexts/virtual_p_w_picpath_context 393724 4 -rw-r--r-- 1 root root 307 Jul 24 21:05 /etc/selinux/targeted/contexts/users/xguest_u 393723 4 -rw-r--r-- 1 root root 353 Jul 24 21:05 /etc/selinux/targeted/contexts/users/user_u 393722 4 -rw-r--r-- 1 root root 578 Jul 24 21:05 /etc/selinux/targeted/contexts/users/unconfined_u 393719 4 -rw-r--r-- 1 root root 253 Jul 24 21:05 /etc/selinux/targeted/contexts/users/guest_u 393720 4 -rw-r--r-- 1 root root 389 Jul 24 21:05 /etc/selinux/targeted/contexts/users/root 393721 4 -rw-r--r-- 1 root root 514 Jul 24 21:05 /etc/selinux/targeted/contexts/users/staff_u 393716 4 -rw-r--r-- 1 root root 1170 Jul 24 21:05 /etc/selinux/targeted/contexts/sepgsql_contexts 393725 4 -rw-r--r-- 1 root root 29 Jul 24 21:05 /etc/selinux/targeted/contexts/virtual_domain_context 393708 4 -rw-r--r-- 1 root root 254 Jul 24 21:05 /etc/selinux/targeted/contexts/default_contexts 394036 0 -rw-r--r-- 1 root root 0 Aug 19 21:14 /etc/selinux/targeted/contexts/netfilter_contexts 394035 4 -rw-r--r-- 1 root root 106 Aug 19 21:14 /etc/selinux/targeted/seusers 393187 4 -rw-r--r-- 1 root root 2271 Jul 24 09:38 /etc/selinux/semanage.conf 392633 8 -rw-r--r-- 1 root root 4113 Jul 16 2014 /etc/DIR_COLORS.lightbgcolor 395365 4 -rw-r----- 1 root root 373 Oct 15 2014 /etc/audit/rules.d/audit.rules 395363 4 -rw-r----- 1 root root 701 Oct 15 2014 /etc/audit/auditd.conf 395368 4 -rw-r----- 1 root root 373 Aug 19 21:20 /etc/audit/audit.rules 392470 4 -rw-r--r-- 1 root root 1602 Oct 2 2013 /etc/csh.cshrc 393327 4 -rw-r--r-- 1 root root 45 Sep 5 21:35 /etc/adjtime 394525 4 -rw-r--r-- 1 root root 104 Apr 23 2014 /etc/ppp/pppoe-server-options 392772 4 -rw------- 1 root root 78 Mar 16 16:51 /etc/ppp/chap-secrets 395323 4 -rw------- 1 root daemon 30 Aug 20 2010 /etc/ppp/peers/wvdial 392774 4 -rw------- 1 root root 77 Mar 16 16:51 /etc/ppp/pap-secrets 392773 4 -rw-r--r-- 1 root root 5 Mar 16 16:51 /etc/ppp/options 394395 4 -rw-r--r-- 1 root root 259 Jul 24 02:14 /etc/quotatab 396570 4 -rw-r--r-- 1 root root 283 Sep 6 09:19 /etc/mtab
1六、查找/etc/init.d目錄下,全部用戶都有執行權限,且其它用戶擁有寫權限的文件
[root@test1 ~]# find /etc/init.d -perm -113 -ls 392544 0 lrwxrwxrwx 1 root root 11 Aug 19 20:57 /etc/init.d -> rc.d/init.d [root@test1 ~]#
1七、讓普通用戶能使用/tmp/cat去查看/etc/shadow文件;
1八、建立目錄/test/data,讓某組內普通用戶對其有寫權限,且建立的全部文件的屬組爲目錄所屬的組;此外,每一個用戶僅能刪除本身的文件;
[root@test1 test]# chmod 3777 data/ [root@test1 test]# ll total 4 drwxrwsrwt. 2 root root 4096 Sep 6 10:59 data [root@test1 test]# [centos@test1 data]$ cd [centos@test1 ~]$ cd /test/data/ [centos@test1 data]$ touch cc [centos@test1 data]$ ll total 0 -rw-r--r--. 1 root root 0 Sep 6 10:40 aa.txt -rw-rw-r--. 1 centos centos 0 Sep 6 10:58 bb -rw-rw-r--. 1 centos root 0 Sep 6 10:59 cc [centos@test1 data]$ [basher@test1 data]$ ll total 0 -rw-r--r--. 1 root root 0 Sep 6 10:40 aa.txt -rw-rw-r--. 1 centos centos 0 Sep 6 10:58 bb -rw-rw-r--. 1 centos root 0 Sep 6 10:59 cc [basher@test1 data]$ rm cc rm: remove write-protected regular empty file `cc'? y rm: cannot remove `cc': Operation not permitted [basher@test1 data]$