Linux進程間通信由以下幾部分發展而來:
目前創新互聯已為超過千家的企業提供了網站建設、域名、網站空間、成都網站托管、企業網站設計、白云網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
早期UNIX進程間通信:包括管道、FIFO、信號。
基于System V的進程間通信:包括System V消息隊列、System V信號燈(Semaphore)、System V共享內存。
基于Socket進程間通信。
基于POSIX進程間通信:包括POSIX消息隊列、POSIX信號燈、POSIX共享內存。
Linux中,與IPC相關的命令包括:ipcs、ipcrm(釋放IPC)、
IPCS命令是Linux下顯示進程間通信設施狀態的工具。我們知道,系統進行進程間通信(IPC)的時候,可用的方式包括信號量、共享內存、消息隊列、管道、信號(signal)、套接字等形式[2]。使用IPCS可以查看共享內存、信號量、消息隊列的狀態。
例如在CentOS6.0上執行ipcs
具體的用法總結如下:
1、顯示所有的IPC設施
# ipcs -a
2、顯示所有的消息隊列Message Queue
# ipcs -q
3、顯示所有的信號量
# ipcs -s
4、顯示所有的共享內存
# ipcs -m
5、顯示IPC設施的詳細信息
# ipcs -q -i id
id 對應shmid、semid、msgid等。-q對應設施的類型(隊列),查看信號量詳細情況使用-s,查看共享內存使用-m。
6、顯示IPC設施的限制大小
# ipcs -m -l
-m對應設施類型,可選參數包括-q、-m、-s。
7、顯示IPC設施的權限關系
# ipcs -c
# ipcs -m -c
# ipcs -q -c
# ipcs -s -c
8、顯示最近訪問過IPC設施的進程ID。
# ipcs -p
# ipcs -m -p
# ipcs -q -p
9、顯示IPC設施的最后操作時間
# ipcs -t
# ipcs -q -t
# ipcs -m -t
# ipcs -s -t
10、顯示IPC設施的當前狀態
# ipcs -u
Linux上的ipcs命令,不支持UNIX上的-b、-o指令,同樣UNIX中不支持-l、-u指令,所以在編寫跨平臺的腳本時,需要注意這個問題。
這里的“攔截”我指的是tracer能夠改變系統調用參數,改變系統調用的返回值,甚至屏蔽特定的系統調用。這也就意味著,一個tracer將能夠完全實現自己的系統調用,這就非常有趣了,也就是說,一個tracer將可以模擬出一整套操作系統機制,而且這一切都不需要內核提供任何其他幫助。
但問題在于,一個進程一次只能夠綁定一個tracer,因此我們無法在調試進程(GDB)的過程中模擬出一套外部操作系統,而另一個問題就是模擬系統調用將耗費更多的資源開銷。
在這篇文章中,我將主要討論x86-64架構下的Linux Ptrace,并且我還會使用到一些特定的Linux擴展。除此之外,我可能會忽略錯誤檢查,但最終發布的完整源碼將會解決這些問題。
linux在創建用戶是將用戶默認的shell指定為/sbin/nologin即可阻止用戶登錄,命令為
useradd user -s /sbin/nologin,其中-s指定用戶的默認shell
如果用戶已經存在于系統,用root身份修改/etc/passwd文件,將要阻止的用戶的shell改為/sbin/nologin,如下所示
user:x:502:502::/home/user:/sbin/nologin
關于Linux命令的介紹,看看《linux就該這么學》,具體關于這一章地址3w(dot)linuxprobe/chapter-02(dot)html.
樓主,shell 接收到一個 非內部命令 (如 ls, find)時,不是把命令提交給內核的,這個概念是錯誤的。 shell 應該是 fork 出一個進程,這個子進程調用 exec* 系列系統調用 (比如 execlp 等)來載入ls, find等可執行程序執行, 而此時的shell進程本身會 通過 wait 系統調用等待子進程完成。
由上可見,一個進行攔截的地方可以放在 exec 系列調用中,exec是實現在 glibc 里的,所以你只要下載 glibc (或者你們系統使用的 libc )的源碼,在 exec 調用中加入你的攔截代碼。 編譯修改后的glibc,替換系統中的glibc即可。
另外要注意的是,除了shell,其他程序也可能使用 fork+exec 來執行某些命令,如果不想攔截這種情況,在攔截時需判斷一下當前進程的父或祖進程,看看是否是shell進程。
最后,glibc實在是太重要了,是所有程序的基礎,改動需小心。
網頁名稱:攔截linux系統命令 linux關閉監聽命令
文章URL:http://m.kartarina.com/article46/hjjoeg.html
成都網站建設公司_創新互聯,為您提供App設計、全網營銷推廣、企業網站制作、ChatGPT、標簽優化、定制網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯