回顧:
文件在小,也要占用一個Block
如:echo > a1.log
ls a1.log(文件大小為1k)
du a1.log(文件大小也應該為1k,如果不是1k,可能selinux是打開的)
du -s a1.log
文件夾的權限,系統中的文件夾默認權限基本上都為755的權限,ls / -l,root賬號的主目錄只有drwxr--r--權限
root用戶:
mkdir testdir
ls -ld testdir/
drwxr-xr-x 2 root root 4096 Jun 22 06:08 testdir/
chmod 701 testdir
xl用戶:
su xl
ls testdir/
cd testdir
ls 就進不去了,沒有r權限
文件夾的權限也是r,w,x,-四種,但是跟文件的權限不一樣
1.x,代表可以 cd 進去
2.w,代表可以改寫,
3.r,代表可以ls
4.rx,代表可以cd和ls
5.wx,代表可以對任何文件強制改寫,刪除,創建文件 cd , touch, rm ,changer others file,vi(self, others)
6.wxt, cd touch rm(self) vi(self)
root: r權限
chmod o+r testdir
touch testdir/{a,b,c}
xl:
ls /testdir
root:wx權限
chmod o=wx testdir
xl:
vi a
wq! 強制改下保存
root:wxt權限
ls -ld testdir
drwxr----wx 2 root root 4096 Jun 22 06:08 testdir/
chomd o+t testdir
drwxr---wt 2 root root 4096 Jun 22 06:08 testdir/
rm testdir/*
SUID權限,vi = vim, SUID具有root的權限
root:
chmod u-s /usr/bin/vim
xl:
ls -l /bin/vi
ls -l /usr/bin/vim
-rwsr-x-\r-x 1 root root 2044343 Aig 11 200 /usr/bin/vim ?具有s權限
chmod u-s /usr/bin/vim
注意:
ls -ld /tmp/ 目錄的權限是1777的權限,為drwxrwxrwt
1777的1代表sticky
ls -ld /tmp/testdir/ 權限都是t
service httpd start
ifconfig
ls /var/www/html/
cat /var/www/html/index.html
AAAAAAAAAAAAAAAAAAAAAAAAAAAAa
打開瀏覽器http://192.168.2.134/,輸入自己的IP地址,顯示AAAAAAAAAAAAAAAAAAAAAAAAAAAAa
查看進程:ps
ps aux |grep httpd
chmod -R apache.apache /var/www/html 將權限更改了,不應該將權限改為寫
umask 權限,umask為掩碼,umask決定創建文件夾和文件的權限,系統每次啟動都會設置umask的值
root:
mkdir ddd
cd ddd/
touch rootfile
mkdir rootdir
chmod 777 . (chmod 777 ddd)
xl:
cd /tmp/ddd
mkdir xldir
touch xlfile
ls -l
可以看到root和xl創建的文件和文件夾,權限不一樣
root的權限為755(文件夾),644(文件)
umask 0022 755+022=777
umask 0022 644+022=777
xl的權限為775(文件夾),664(文件)
umask 0002 ? ? 775+002 = 777
umask 0002 ? ? 664+002= 666
文件夾的權限 = ?777 - umask 的值
文件的權限 ? = 666 - umask 的值
如:
umask 222
touch xlfile2 ?權限為444
umask 666
touch xlfile3 ?權限為--- 000
umask 777
touch xlfile4 ?權限為000,不會出現負數,
vi /etc/bashrc ?在bashrc中查看umask的腳本
if []; then umask =022.........
可預知性目錄的結構
bin 放可執行文件,所有人都可以執行,系統必須的文件
sbin?放可執行文件,只有管理員可以執行,系統必須的文件,如ifconfig
普通用戶的echo $PATH 沒有/sbin目錄,所以用/sbin/ifconfig
usr 用戶目錄,不是系統本身的目錄,可以用來安裝其他軟件
ls -d /usr/bin /usr/sbin?這兩個目錄是后來安裝軟件后生成的兩個目錄
使用which 查看命令的路徑
which vim
which ifconfig
which httpd 無法查到,因為不是二進制的???
ls /sbin/httpd
ls /lib 庫文件都是以so結尾的
ls /lib/modules/ 內核模塊
ls /boot/vmlinuz-2.6.9-22.EL 的內核模塊放在 /bin/modules下
ls /proc/ 都是虛擬文件,都是內存中的值,系統內核鏡像文件,相當于內核當中的小窗戶,查看值
ls /var/ 變量,放日志,郵件等,如/var/log ?/var/mail ?.var/spool/cron/
ls /boot/放兩種文件,kernel 和grub
ls /etc/ 配置文件,一般為文本文件
ls /initrd 里面為空,但不能刪除,如果刪除了,就無法啟動系統了,他是一個加載點
ls /lost+found 系統壞了后,碎片或塊丟失了,就放在此處
opt 放第三方軟件的目錄,但oracle,apache等都不會放在下面
mount ?查看
proc ?sys都是虛擬的目錄
mysql的庫文件放在usr/lib/mysql
mysql的客戶端程序放在usr/bin/mysql