遠程連接和文件ACL
(一)遠程連接
1、VNC
1)首先確定vnc-server是否安裝
2)然後配置vnc
(1)執行vncpasswd命令,密碼輸入兩次即可
現在連接會失敗,因爲vnc尚未啓動
(2)客戶端安裝VNC
點擊Next,
選中I accept the agreement,單擊Next
現在我們僅僅需要使用客戶端,所以我們勾銷VNC Server。
選擇安裝路徑,默認即可
程序名稱,默認即可
選擇是否創建桌面快捷方式和快速啓動方式
點擊Install確認安裝
(3)現在我們啓動vncserver
執行vncserver :1,
注意:1前必須有空格
(4)啓動成功後,執行ifconfig查看本機IP地址
(5)然後執行netstat -lntp,
執行vncserver :1,表示啓動vncserver並綁定到1號端口上,這裏的1號端口代表5901,
vncserver啓動是從5900開始啓動的,0已經被server佔用
通過netstat -lntp命令顯示5901已經啓動。
l: 表示listen監聽的端口
n:表示不作域名的反向解析
t:表示tcp
p:print打印
(6)現在我們在客戶端打開vnc,在VNC server輸入剛纔查看的IP地址和端口172.16.252.201:1
點擊connect連接
輸入密碼,點擊OK;
如果連接失敗,
(7)執行vi /root/.vnc/xstartup, 註釋掉unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc和twm &這三行,然後最末端添加gnome-session &
重新啓動vnc-server
重啓方法:執行ps -ef |grep vnc找到其pid
然後執行kill 6110,然後再次執行vncserver :1啓動vnc
2、生產中使用比較廣泛的是ssh
ssh:Secure Shell, 由IETF的網絡工作小組(Network Working Group)所制定;SSH爲創建在應用層和傳輸層基礎上的安全協議。
傳統的網絡服務程序,如rsh、FTP、POP和Telnet其本質上都是不安全的;因爲它們在網絡上用明文傳送數據、用戶帳號和用戶口令,很容易受到中間人(man-in-the-middle)***方式的***。就是存在另一個人或者一臺機器冒充真正的服務器接收用戶傳給服務器的數據,然後再冒充用戶把數據傳給真正的服務器。
而SSH是目前較可靠,專爲遠程登錄會話和其他網絡服務提供安全性的協議。利用SSH協議可以有效防止遠程管理過程中的信息泄露問題。通過SSH可以對所有傳輸的數據進行加密,也能夠防止DNS欺騙和IP欺騙。
SSH之另一項優點爲其傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以爲FTP、POP、甚至爲PPP提供一個安全的“通道”。
默認是啓動的.執行ps -ef | grep ssh
執行netstat -lntp | grep 22 查看22號端口的進程
也可以執行lsof -i:22查看22號端口由哪個進程使用
ssh的配置文件默認存放在/etc/ssh/sshd_config
3、打開SecureCRTPortable ,在主機名出輸入遠程主機的IP地址,
端口默認是22,用戶名我們使用的root,然後點擊連接
然後輸入密碼
進入界面
4、
1)運行Xbrowser,選中Xshell,單擊New,
2)雙擊server,詢問是否保存密碼,點擊Accept&Save,
3)輸入用戶名,勾選Remember User Name,下次使用不用再次輸入用戶名
4)輸入密碼,勾選Remember Password,下次使用不用再次輸入密碼
5)顯示如圖
5、XDMCP協議需要遠程主機安裝gdm
1)執行rpm -qa | grep gdm查看是否安裝gdm
如果未安裝,執行yum install gdm安裝gdm
2)gdm的配置文件是/etc/gdm/custom.conf
vi /etc/gdm/custom.conf
在[security]下添加AllowRemoteRoot=true 允許root從遠
程登錄
在[xdmcp]下添加Enable=true
fort=177
修改結果
3)執行gdm回車,啓動gdm
4)選中XDMCP,點擊New新建,
雙擊server,
(二)特殊權限和ACL
1、特殊權限
1)我們可以使用ls -l 或者stat命令查看文件的基本權限
2) 現在我們創建一個文件testfile,並查看其基本的權限
3)執行cp testfile tesfile2,再次查看屬性,顯示已
經發生變化
4)lsattr testfile
13 個- 表示文件特殊權限
5)重新創建一個testfile文件
6)現在我們執行chattr +A testfile給testfile加個A的
特殊權限
7) cp testfile testfile2
發現Access time沒有變化。
A特殊權限,可以避免大量讀取文件造成資源的消耗。
8)a的特殊權限,只能往文件裏添加內容,而不能修改或刪除原始內容.
(1)創建testfile1並編輯寫入line1
(2)執行chattr +a testfile1 ,添加a權限
(3)現在我們執行vi testfile1修改後保存退出,顯示
(4)加上a權限的文件,無法再用vi編輯該文件,只能使用
echo命令添加內容
執行echo "line 2" >> testfile1
>>表示追加寫入
如果執行echo "line 2" > testfile1,顯示失敗。
文件也無法刪除
a權限加在一些比較特殊和關鍵的系統日誌,避免誤刪。
9)c權限,讀取壓縮文件時可以直接讀取解壓後的文件。
但是c、s 、u權限還不能在ext2和ext3格式下使用
10)D權限,只能加在目錄上,表示一旦發生寫的操作,就會同
步數據。例如vi /etc/fstab,在需要同步的分區下加入
dirsync表示/目錄下,只要發生寫操作,立即同步數據到硬
盤
11)當文件有d的權限,我們使用dump的操作來保存目錄文件時,
該文件會被跳過。例如一些不起作用的系統日誌。
12)E權限,當問文件壓縮有錯誤時,會提示。
13)i權限,當文件被賦予i權限時,我們就不能刪除或者重命名
該文件。也不能創建硬連接,可以創建軟連接
touch testfile 創建
14)s權限,文件刪除後,立即將硬盤清零。
15)S權限,文件有變動,同步到硬盤。
16)u權限,當文件刪除後會被保存到別的位置。類似於回收站
的功能
2、文件ACL
文件ACL可以更加細化的分配文件的權限
1)首先我們在虛擬機上新加一塊虛擬硬盤
2)執行fdsik /dev/sdb分區,
3)構建文件系統
mkfs -t ext3 /dev/sdb1
4)將新建的分區掛載到/mnt/
mount -o defaults,acl /dev/sdb1 /mnt
5)進入/mnt/目錄,創建redhat目錄
6)現在我們新添一個用戶user1,並切換到user1用戶下,進入
/mnt/redhat/目錄下,執行touch file無法創建
7)我們創建一個user1可以在該目錄下創建文件,其他用戶不能創建的權限。切換回root用戶,
執行setfacl -m u:user1:rwx redhat/
修改
8)切換到user1用戶,進入到/mnt/redhat目錄下,現在user1
用戶可以在該目錄下創建文件了,並且文件的所有者和所有組
都是user1
9)切換到root用戶,查看/mnt/redhat/目錄的權限
顯示一個 + ,表示該目錄具有acl
10)再添加一個新用戶user2,進入/mnt/redhat/目錄下,
無法創建文件。
ACL權限可以精確到用戶來確立文件或目錄的權限
11)再次切換到root用戶下,在/mnt/redhat/下創建一個dir1
目錄,然後切換到user1用戶下,在/redhat/目錄下可以創
建文件;但是在/mnt/redhat/dir1/目錄下不能創建文件。
說明在賦予acl權限的目錄下,權限是不繼承的。
11)如果需要在賦予acl權限的目錄下創建的繼承acl權限,
執行setfacl -m d:u:user1:rwx /mnt/redhat/ ,
然後我們切換到user1用戶下,進入/mnt/redhat/dir1/,
仍然不能創建文件。
查看其相關權限
12)回到root用戶下,在/mnt/redhat/目錄下創建一個dir2目
錄,並查看其權限。顯示已經將權限繼承下來。
在執行setfacl -m d:u:user1:rwx /mnt/redhat/命令之前創建的文件夾或目錄無法繼承acl權限,只有在該命令執行之後創建的文件或目錄纔會繼承下來。
如果賦予擁有組acl權限,命令格式爲
setfacl -m d:g:user1:rwx 目錄
13)去除文件的acl權限
setfacl -kb /mnt/redhat/
k:去掉acl權限
b:去掉默認權限
也可以指定去掉用戶的權限
setfacl -x u:user1 /mnt/redhat/dir2
setfacl -x u:user1 /mnt/redhat/dir3
然後去掉默認權限
setfacl -b /mnt/redhat/dir2
setfacl -b /mnt/redhat/dir3