1. 程式人生 > >基於linux下的selinux安全系統

基於linux下的selinux安全系統

selinux簡介:

SELinux(Security-Enhanced Linux) 是美國國家安全域性(NSA)對於強制訪問控制的實現,是 Linux歷史上最傑出的新安全子系統。NSA是在Linux社群的幫助下開發了一種訪問控制體系,在這種訪問控制體系的限制下,程序只能訪問那些在他的任務中所需要檔案。
SELinux 是 2.6 版本的 Linux 核心中提供的強制訪問控制(MAC)系統。對於目前可用的 Linux安全模組來說,SELinux 是功能最全面,而且測試最充分的,它是在 20 年的 MAC 研究基礎上建立的。SELinux 在型別強制伺服器中合併了多級安全性或一種可選的多類策略,並採用了基於角色的訪問控制概念。

SELINUX有「disabled」「permissive」,「enforcing」3種模式選擇。
Disabled就是關閉,permissive就是Selinux有效,但是即使你違反了策略的話它讓你繼續操作,
但是把你的違反的內容記錄下來。
Enforcing就是你違反了策略,你就無法繼續操作下去。

selinux的模式轉換需要重啟,因為selinux是核心級的外掛。

[root@localhost yum.repos.d]# vim /etc/sysconfig/selinux   將disabled改為enforcing
[root@localhost yum.repos.d]# getenforce                   未重啟不生效
Disabled [root@localhost yum.repos.d]# reboot 重啟 Connection to 172.25.254.221 closed by remote host. Connection to 172.25.254.221 closed. [kiosk@foundation21 Desktop]$ ssh root@172.25.254.221 連線虛擬機器 root@172.25.254.221's password: Last login: Sun May 6 02:50:29 2018 from 172.25.254.21 [
[email protected]
~]# getenforce 檢視生效 Enforcing

首先當重置了虛擬機器之後,需要配置IP和yum源,安裝一些必須服務:

[kiosk@foundation21 Desktop]$ rht-vmctl reset server
Are you sure you want to reset server? (y/n) y
[[email protected] Desktop]$ rht-vmctl view server進去配置IP
[[email protected] Desktop]$ ssh [email protected]
[email protected]'s password: 
Last login: Fri May 11 21:25:49 2018
[[email protected] ~]# vim /etc/sysconfig/selinux不用更改為Enforce即可
[[email protected] yum.repos.d]# getenforce 
Enforcing
[[email protected] ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
rhel_dvd.repo
[root@localhost yum.repos.d]# rm -fr *
[root@localhost yum.repos.d]# vim yum.repo
[root@localhost yum.repos.d]# cat yum.repo
[source7.0]
name=source7.0
baseurl=http://172.25.254.84/source7.0
gpgcheck=0

[root@localhost ~]# yum install vsftpd lftp -y 安裝服務

Complete!
[root@localhost ~]# systemctl start vsftpd  開始服務
[root@localhost ~]# systemctl enable vsftpd 開機自啟動
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
[root@localhost ~]# systemctl stop firewalld 關閉火牆
[root@localhost ~]# systemctl disable firewalld 開機自動關閉

配置IP和yum源,設定selinux為強制。
這裡寫圖片描述
安裝服務開機自啟動並設定開機自動關閉防火牆。
這裡寫圖片描述

設定selinux安全上下文有臨時設定和永久設定之分

1,臨時設定安全上下文:

[root@localhost ~]# mkdir /westos
[root@localhost ~]# touch /westos/westosfile  建立檔案安全上下文不改變就無法檢視
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf  編輯配置檔案
新增家目錄:anon_root=/westos
[root@localhost ~]# systemctl restart vsftpd  重啟服務
[root@localhost ~]# lftp 172.25.254.221 檢視家目錄中沒有我們建立的檔案
lftp 172.25.254.221:~> ls
lftp 172.25.254.221:/> ls
lftp 172.25.254.221:/> quit
[root@localhost ~]# vim /etc/sysconfig/selinux  檢視selinux狀態
[root@localhost ~]# getenforce  為強制即可
Enforcing
[root@localhost ~]# ls -Z /westos/  檢視
-rw-r--r--. root root unconfined_u:object_r:default_t:s0 westosfile
[root@localhost ~]# chcon -t public_content_t /westos -R 更改安全上下文
[root@localhost ~]# ls -Z /westos/  已經更改成功
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 westosfile
[root@localhost ~]# lftp 172.25.254.221 檢視可以顯示我們建立的檔案
lftp 172.25.254.221:~> ls
-rw-r--r--    1 0        0               0 May 12 02:01 westosfile
lftp 172.25.254.221:/> quit

臨時配置安全上下文之後就可以看到家目錄下的檔案。
這裡寫圖片描述
但是這種設定是臨時的,重啟selinux失效,這裡的重啟指的是selinux的重啟,因為selinux是核心級別的,所以需要來回重啟系統。

[[email protected] ~]# vim /etc/sysconfig/selinux 更改為disabled
[[email protected] ~]# getenforce 沒有重啟看不到效果
Enforcing
[[email protected] ~]# reboot
Connection to 172.25.254.221 closed by remote host.
Connection to 172.25.254.221 closed.
[[email protected] Desktop]$ ssh [email protected]172.25.254.221
[email protected]172.25.254.221's password: 
Last login: Fri May 11 21:29:55 2018 from 172.25.254.21
[[email protected] ~]# getenforce  已經變為disabled
Disabled
[[email protected] ~]# vim /etc/sysconfig/selinux 重新變為enforcing
[[email protected] ~]# getenforce  重啟之前無法檢視
Disabled
[[email protected] ~]# reboot
Connection to 172.25.254.221 closed by remote host.
Connection to 172.25.254.221 closed.
[[email protected] Desktop]$ ssh [email protected]172.25.254.221
^C
[[email protected] Desktop]$ ssh [email protected]172.25.254.221
ssh: connect to host 172.25.254.221 port 22: No route to host
[[email protected] Desktop]$ ssh [email protected]172.25.254.221
[email protected]172.25.254.221's password: 
Last login: Fri May 11 22:06:24 2018 from 172.25.254.21
[[email protected] ~]# getenforce 
Enforcing
[[email protected] ~]# ls -Zd /westos/  重啟selinux之後安全上下文失效
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /westos/

如圖所示,重啟了兩遍系統之後就沒有了安全上下文許可權。
這裡寫圖片描述

2,永久設定安全上下文許可權:

[root@localhost ~]# ls -Zd /westos/ 目錄westos安全上下文已經失效
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /westos/  
[root@localhost ~]# ls -Zd /var/ftp/  /var/ftp/目錄/var/ftp永久生效
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 /var/ftp/ 
[root@localhost ~]# semanage fcontext -l | grep /var/ftp/   永久生效的原因是配置檔案中已經寫入了/var/ftp。
/var/ftp/bin(/.*)?                                 all files          system_u:object_r:bin_t:s0 
/var/ftp/etc(/.*)?                                 all files          system_u:object_r:etc_t:s0 
/var/ftp/lib(/.*)?                                 all files          system_u:object_r:lib_t:s0 
/var/ftp/lib/ld[^/]*\.so(\.[^/]*)*                 regular file       system_u:object_r:ld_so_t:s0 
[root@localhost ~]# semanage fcontext -l | grep /westos/   配置檔案中並沒有寫入/westos目錄所以重啟失效。
[root@localhost ~]# semanage fcontext -a -t public_content_t '/westos(/.*)?'
**

-a表示新增,-t表示型別。意思將westos新增到配置檔案中。
 semanage fcontext使用擴充套件正則表示式來指定路徑和檔名。
 fcontect規則中最常用的擴充套件正則表示式是(/.*)?,表示隨意的匹配/後跟任何數量的字元。

**
[root@localhost ~]# semanage fcontext -l | grep /westos  檢視配置檔案是否寫入
/westos(/.*)?                                      all files          system_u:object_r:public_content_t:s0 
[root@localhost ~]# restorecon -FvvR /westos/   重新整理
restorecon reset /westos context unconfined_u:object_r:default_t:s0->system_u:object_r:public_content_t:s0
restorecon reset /westos/westosfile context unconfined_u:object_r:default_t:s0->system_u:object_r:public_content_t:s0
[root@localhost ~]# lftp 172.25.254.221  連線可以顯示目錄下面的內容
lftp 172.25.254.221:~> ls                          
-rw-r--r--    1 0        0               0 May 12 02:01 westosfile
lftp 172.25.254.221:/> quit
[root@localhost ~]# touch /.autorelabel  建立這個檔案相當於重啟selinux
[root@localhost ~]# getenforce 
Enforcing
[root@localhost ~]# reboot
Connection to 172.25.254.221 closed by remote host.
Connection to 172.25.254.221 closed.
[kiosk@foundation21 Desktop]$ ssh [email protected]172.25.254.221
[email protected]172.25.254.221's password: 
Last login: Fri May 11 22:08:26 2018 from 172.25.254.21
[[email protected] ~]# ls -Zd /westos  檢視已經有了安全上下文許可權,意味著永久修改了安全上下文許可權
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 /westos

簡單演示個例子來解釋永久和臨時的概念,比如/var/ftp/目錄在每次重啟系統時不會影響其安全上下文許可權,是由於在配置檔案中已經寫入了正則表示式。而/westos區別就是配置檔案沒有寫入正則表示式。
這裡寫圖片描述
解決方案就是將/westos的正則表示式寫入即可就不會在重啟的時候安全上下文失效。
這裡寫圖片描述

管理SElinux布林值:

[root@localhost ~]# setenforce 0   改變selinux級別,1表示enforcing強制0表示permissive警告。
[root@localhost ~]# lftp 172.25.254.221 -u student
Password: 
lftp student@172.25.254.221:~> ls      
-rw-r--r--    1 1000     1000         2005 May 12 03:44 passwd
lftp student@172.25.254.221:~> put /etc/group       警告就是還可以執行只是會有警告
850 bytes transferred
lftp student@172.25.254.221:~> quit
[root@localhost ~]# setenforce 1   改變selinux級別為強制
[root@localhost ~]# lftp 172.25.254.221 -u student
Password: 
lftp student@172.25.254.221:~> ls      
-rw-r--r--    1 1000     1000          850 May 12 03:44 group
-rw-r--r--    1 1000     1000         2005 May 12 03:44 passwd
lftp student@172.25.254.221:~> put /etc/inittab   強制意味著直接拒絕
put: Access failed: 553 Could not create file. (inittab)  報錯553不能上傳
lftp student@172.25.254.221:~> quit
[root@localhost ~]# getsebool -a | grep ftp   檢視布林值顯示關閉狀態
ftp_home_dir --> off
[root@localhost ~]# setsebool -P ftp_home_dir on   
** 修改布林值,修改selinux策略,以永久保留修改。
系統會更加安全,將selinux改為警告0僅僅是可以執行,但是系統不安全。
引數-P會將波爾值記錄在檔案中。**
[root@localhost ~]# getsebool -a | grep ftp        顯示布林值
ftp_home_dir --> on
[root@localhost ~]# lftp 172.25.254.221 -u student
Password: 
lftp student@172.25.254.221:~> ls      
-rw-r--r--    1 1000     1000          850 May 12 03:44 group
-rw-r--r--    1 1000     1000         2005 May 12 03:44 passwd
lftp student@172.25.254.221:~> put /etc/inittab    可以正常上傳
491 bytes transferred
lftp student@172.25.254.221:~> quit

將selinux狀態設定成警告可以正常上傳,改成強制就無法上傳。
這裡寫圖片描述
我們可以將ftp下的家目錄布林值開啟,就可以正常上傳。
這裡寫圖片描述

監控selinux衝突:

1,必須安裝 setroubleshoot-server 軟體包 , 才能將 SELinux訊息傳送至 /var/log/messages。
2,setroubleshoot-server 監聽 /var/log/audit/audit.log 中的稽核資訊並將簡短摘要傳送至 /var/log/messages。
3,摘要包括 SELinux 衝突的唯一識別符號 ( UUIDs ), 可用於收集更多資訊。
4,/var/log/audit/audit.log 用於在該檔案中生成所有事件的報告。

[root@localhost ~]# ls
anaconda-ks.cfg  Documents  Music     Public     Videos
Desktop          Downloads  Pictures  Templates
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 將新增的主配置檔案中的東西刪除然後進行操作
[root@localhost ~]# systemctl restart vsftpd    重啟服務
[root@localhost ~]# cd /var/ftp                 
[root@localhost ftp]# ls
pub  westos  westos1
[root@localhost ftp]# rm -fr *          刪除裡面所有的檔案
[root@localhost ftp]# ls
[root@localhost ftp]# touch /mnt/westos
[root@localhost ftp]# mv /mnt/westos /var/ftp/   將檔案移動到/var/ftp目錄裡面
[root@localhost ftp]# > /var/log/messages        清空日誌
[root@localhost ftp]# cat /var/log/messages      檢視日誌
然後在瀏覽器中輸入ftp://172.25.254.221,檢視日誌監控效果。
[root@localhost ftp]# cat /var/log/messages      檢視日誌會出來解決方案
May 12 02:45:25 localhost dbus-daemon: dbus[525]: [system] Activating service 

*****  Plugin catchall (7.64 confidence) suggests   **************************

If you believe that vsftpd should be allowed getattr access on the  file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# grep vsftpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
[root@localhost ftp]# cat /var/log/audit/audit.log   根據解決方案來進行檢視
[root@localhost ftp]# restorecon -v /var/ftp/*       重新整理
restorecon reset /var/ftp/westos context unconfined_u:object_r:mnt_t:s0->unconfined_u:object_r:public_content_t:s0
[root@localhost ftp]# ls -Z                          檢視安全上下文
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 westos

刪除主配置檔案中新增的家目錄。
這裡寫圖片描述
清空日誌通過生成的日誌進行效果檢視。
這裡寫圖片描述
瀏覽器輸入IP進行生成日誌檢視效果。
這裡寫圖片描述
檢視日誌時已經出現瞭解決方案。
這裡寫圖片描述
根據解決方案檢視重新整理。
這裡寫圖片描述
之所以可以生成解決方案是由於setroubleshoot-server 軟體可以監聽 /var/log/audit/audit.log 中的稽核資訊並將簡短摘要傳送至 /var/log/messages。所以才能進行監控衝突。

[root@localhost ftp]# rpm -qa | grep setrouble        查詢拍錯工具的安裝包
setroubleshoot-plugins-3.0.59-1.el7.noarch
setroubleshoot-server-3.2.17-2.el7.x86_64
[root@localhost ftp]# yum remove setroubleshoot-server-3.2.17-2.el7.x86_64  移除安裝包
Complete!
[root@localhost ftp]# > /var/log/messages    清空日誌
[root@localhost ftp]# > /var/log/audit/audit.log 
[root@localhost ftp]# cat /var/log/audit/audit.log  檢視效果沒有出錯提示
[root@localhost ftp]# cat /var/log/messages 
在瀏覽器中重新整理檢視日誌
[root@localhost ftp]# cat /var/log/audit/audit.log     檢視為空
[root@localhost ftp]# cat /var/log/messages     沒有出錯工具的提示
[root@localhost ftp]# yum install setroubleshoot-server -y    重新安裝監控工具
[root@localhost ftp]# > /var/log/audit/audit.log              清空日誌
[root@localhost ftp]# > /var/log/messages 
清空日誌在瀏覽器中重新整理然後檢視日誌:
[root@localhost ftp]# cat /var/log/messages                 已經有了排錯提示

# grep vsftpd /var/log/audit/audit.log | audit2allow -M mypol

[root@localhost ftp]# cat /var/log/audit/audit.log   可以檢視到日誌

1,解除安裝setroubleshoot-server 軟體進行演示檢視。
這裡寫圖片描述
2,將日誌全部清除。
這裡寫圖片描述
3,在瀏覽器重新整理
這裡寫圖片描述
4,檢視日誌沒有排錯提示。
5,重新安裝setroubleshoot-server 軟體進行監控。
這裡寫圖片描述
6,已經有了排錯提示:
這裡寫圖片描述

讓selinux允許使用阿帕奇服務以外的埠。

注意:埠不可以重複。

[root@localhost ftp]# yum install httpd -y   安裝阿帕奇
[root@localhost ftp]# cat /etc/services | grep http  檢視http埠
#       http://www.iana.org/assignments/port-numbers
http            80/tcp          www www-http    # WorldWideWeb HTTP
http            80/udp          www www-http    # HyperText Transfer Protocol
http            80/sctp                         # HyperText Transfer Protocol
[root@localhost ftp]# vim /etc/httpd/conf/httpd.conf   將42行埠改為6666
[root@localhost ftp]# systemctl restart httpd          重啟阿帕奇服務起不來
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
[root@localhost ftp]# setenforce 0   將selinux改為警告
[root@localhost ftp]# systemctl restart httpd   可以重啟阿帕奇,但是不安全,所以需要新增埠。
[root@localhost ftp]# semanage port -l | grep http  檢視http所用的埠
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
[root@localhost ftp]# semanage port -a -t http_port_t -p tcp 6666   新增6666埠到http中
[root@localhost ftp]# semanage port -l | grep http   檢視http可用埠,6666已經成功新增
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      6666, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
[root@localhost ftp]# setenforce 1        將selinux設定為強制
[root@localhost ftp]# systemctl restart httpd   阿帕奇照樣可以重啟
[root@localhost ftp]# cat /etc/services | grep -E "\<21\>"  通過埠號檢視具體哪個服務在使用埠
# 21 is registered to ftp, but also used by fsp
ftp             21/tcp
ftp             21/udp          fsp fspd
ftp             21/sctp                 # FTP
matip-type-b    351/tcp bhoetty         # MATIP Type B / bhoetty (added 5/21/97)
[root@localhost ftp]# cat /etc/services | grep -E "\<32\>"   32埠並沒有在使用,通過檢視我們就不會重複使用埠以至於報錯。

安裝阿帕奇檢視http埠:
這裡寫圖片描述
編輯阿帕奇檔案,將埠寫入通過更改selinux級別將服務重啟,但是檢視時6666埠仍然不支援,需要新增。
這裡寫圖片描述
將配置檔案埠改為6666。
這裡寫圖片描述
新增埠成功,將selinux級別改回來,由於已經添加了埠就可以正常重啟服務。
這裡寫圖片描述

相關推薦

基於linuxselinux安全系統

selinux簡介: SELinux(Security-Enhanced Linux) 是美國國家安全域性(NSA)對於強制訪問控制的實現,是 Linux歷史上最傑出的新安全子系統。NSA是在Linux社群的幫助下開發了一種訪問控制體系,在這種訪問控制體系的限

linuxsendmail郵件系統安裝操作記錄

src 文件中 mage 本機 acc 現在 echo log lin 電子郵件系統的組成:1)郵件用戶代理(Mail User Agent , MUA),MUA是一個郵件系統的客戶端程序,它提供了閱讀,發送和接受電子郵件的用戶接口。 最常用的 MUA 有: linux 中

linux如何修改系統時間

linux下如何修改系統時間 我們一般使用“date -s”命令來修改系統時間。比如將系統時間設定成2018年2月23日的命令如下。     #date -s 02/23/2018    將系統時間設定成下午11點12分0秒的命令如下。    #date -s 11:12:00    註意,這裏說的是系統

Linux開源郵件系統Postfix+Extmail+Extman環境部署記錄

描述 美國 tom 即使 工作 mic ati exp pen 一、基礎知識梳理MUA (Mail User Agent) MUA 既是"郵件使用者代理人",因為除非你可以直接利用類似 telnet 之類的軟件登入郵件主機來主動發出信件,否則您就得要透過 MUA 來幫你

Linux理解cpu系統負載

一、檢視系統負荷   如果你的電腦很慢,你或許想檢視一下,它的工作量是否太大了。   在Linux系統中,我們一般使用uptime命令檢視(w命令和top命令也行)。(另外,它們在蘋果公司的Mac電腦上也適用。)   你在終端視窗鍵入uptime,系統會返回一行資訊。

理解linux的檔案系統和軟硬體連結

檔案系統 如何描述檔案和如何管理檔案的一個系統 我們使用ls -l命令的時候除了看到檔名之外還能看到檔案元資料。 我們可以觀察到tmp.txt檔案實際只佔用磁碟空間41位元組,但是系統給它分配了4K(1K=1024位元組)大小的空間,因為磁碟塊(最小的儲存單

linux檔案在系統中的傳輸

1.scp scp file [email protected]:dir ##上傳(dir為絕對路徑) scp [email protected]:file dir ##下載(file為絕對路徑) 2.rs

基於LinuxTomcat8的安裝部署

                Linux下Tomcat8的安裝配置安裝tomcat前首先要安裝對應的jdk並配置Java環境。一、環境準備jdk版本:1.8工具:xShell5 xftp5說明:本文是通過Xshell5工具遠端連線Linux操作,原理一樣.二、安裝步驟1、下載安裝包官網下載地址:http:

Linux常見檔案系統的對比

本文將對Linux下常見的幾種檔案系統進行對比,包括ext2、ext3、ext4、XFS和Btrfs,希望能幫助大家更好的選擇合適的檔案系統。 內容來自於網上找的資料以及自己的一些經驗,能力有限,錯誤在所難免,僅供參考 歷史 檔案系統 建立者 建立時間

一、基於linuxTCP\IP協議套接字(socket)初識

在網際網路的世界中,不同的電腦之間需要進行資料交流,那麼他們就需要一個統一的規範,來確定怎麼樣進行交流。根據國際標準化組織ISO定義的標準,網路結構按照不同的功能分為7層,分別是物理層、資料鏈路層、網路層、傳輸層、會話層、表示層和應用層。在TCP/IP協體系中,

10年反黑風雲:Linux安全攻防實錄

作者簡介:韓方 歡聚時代(YY直播)  安全中心總監 公司T4技術專家,10年以上安全領域的攻防研究和設計開發工作,對於平臺安全、應用安全、業務安全等安全領域有非常深入的研究,申請過多項安全領域相關技術專利,並發表過多篇安全領域學術文章。 曾先後主導設計和開發雲防 DDOS 系統、分散式 Web

linuxsendmail郵件系統安裝詳情

介紹 sendmail是linux系統中一個郵箱系統,如果我們在系統中配置好sendmail就可以直接使用它來發送郵箱。sendmail的配置檔案/etc/mail/sendmail.cf          

最近做的一個linux的聊天系統,遇到的一些問題及解決辦法

1.在windows下編寫的程式碼中的中文在linux控制檯下顯示亂碼           解決辦法:----Terminal--Set Character Encoding下設定成GB2312 2.用到執行緒的時候,編譯的時候要加上  -lpthread 3.當使用訊息佇

基於linux交叉編譯minigui體會

 能不用minigui就不用是對的,這段時間一直在交叉編譯minigui,困難是妥妥的多,幾乎每一個包都有問題,現在我就記錄下碰到的問題,大部分都是在網上找的解決辦法,網上還是大神多啊,下載的庫都是在minigui官網下的,有些問題是庫的問題,低版本庫有問題,高版本庫自己就

Linux安裝pyspider 系統版本為centos7 【總結版】

國慶節的現在重新租了個阿里雲伺服器,不得不裝個pyspider用於爬蟲,但是安裝卻沒那麼順利了。這裡把安裝過程記錄一下,以及一些error 的解決方法。 【1】首先確保系統裡面裝了pip ,沒有的話可以自己百度詳細資訊,這裡只貼出我安裝時的指令: wge

Linux如何檢視系統啟動時間和執行時間與/proc/uptime

/proc/uptime    這個檔案給出自從上次系統自舉以來的秒數,以及其中有多少秒處於空閒。這主要供uptime程式使用。比較這兩個數字能夠告訴你長期來看CPU週期浪費的比例。 ---------------------------------------------

linuxC獲取系統時間的方法

asctime(將時間和日期以字串格式表示)   相關函式  time,ctime,gmtime,localtime   表頭檔案  #include<time.h>   定義函式  char * asctime(const struct tm * ti

基於linux的幫助命令

俗話說:Linux一切皆檔案,對Linux的操作也主要是通過命令來完成的,這不 同與Windows作業系統,點選幾下就好了,這也就意味著有更多的命令需要去學習和記憶,當然這麼多命令要記得很清楚是不可能的,所以Linux提供了 一些用於檢視幫助的命令,下面就簡單介紹一下吧。

基於Linux的GCC編譯器的內部預巨集定義與__attribute__屬性

***************************************************************************************************************************** 作者:EasyWav

基於Linux的GTK+2.0貪吃蛇遊戲開發

之前在很多平臺上都見過貪吃蛇的小遊戲但是唯獨在Linux 下見到這種遊戲程式設計很少,像Java 的C語言的有很多,這裡分享一下我自己參考別人的貪吃蛇程式碼移植到Linux  平臺下並且這個小程式有多個.c和.h檔案組成,雖然很多人會說這樣子會造成全域性變數混亂,以及變數宣