新聞中心
如何設置Linux系統(tǒng)的自動注銷時間(tmout)?

Linux系統(tǒng)是一種廣受歡迎的操作系統(tǒng),因為它靈活、強大且具有高度定制化。作為一名經常在Linux系統(tǒng)上工作的管理員,您可能需要知道如何設置Linux系統(tǒng)的自動注銷時間(tmout),以自動注銷處于空閑狀態(tài)的用戶。
自動注銷是一種非常有用的功能,在許多情況下,它可以幫助你保持安全,避免未經授權的用戶訪問系統(tǒng)。在這篇文章中,我們將告訴您如何在Linux系統(tǒng)上設置自動注銷時間(tmout)。
1. 理解tmout
在開始之前,讓我們先了解一下tmout是什么。tmout是一個環(huán)境變量,它指定用戶在長時間未使用時自動注銷的時間量。如果您想為所有的用戶或特定用戶設置自動注銷時間,那么你需要修改該環(huán)境變量。
2. 設置全局自動注銷時間
如果您想為系統(tǒng)的所有用戶設置自動注銷時間,那么您可以在系統(tǒng)的/etc/profile文件中設置環(huán)境變量$TMOUT。打開文件并添加以下行:
TMOUT=600
在這個示例中,$TMOUT被設置為600秒,也就是10分鐘。你可以將計時器調整為您所需的任何時間。
保存文件并退出。在這一點上,如果您不想等待會話到期,您可以注銷并登錄以啟用全局自動注銷。當一位用戶在一定時間內沒有在終端上執(zhí)行任何操作,該用戶的會話將被注銷。
3. 設置特定用戶自動注銷時間
如果您想為特定用戶設置自動注銷時間,那么您可以修改該用戶的個人配置文件~/.bashrc。在這個文件中,您可以設置tmout變量來指定注銷時間。
打開您要設置注銷時間的用戶的.bashrc文件:
vim ~/.bashrc
添加以下行:
TMOUT=600
保存并退出文件。當該用戶在一定時間內沒有在終端上執(zhí)行任何操作,他的會話將被注銷。在文件中插入此代碼后,您還可以使用以下命令來立即應用更改:
source ~/.bashrc
4. 永久保存設置
如果您想要永久保留自動注銷設置,那么您需要在系統(tǒng)的/etc/bashrc文件中添加以下行:
if [ $TMOUT ]; then
readonly TMOUT
export TMOUT
fi
這將確保將永久保存您的自動注銷時間設置,在用戶注銷或重新啟動系統(tǒng)后仍然有效。如果您不想使這些設置永久保存,你可以跳過這一步。
5. 測試自動注銷
現在,您已經設置了Linux系統(tǒng)的自動注銷時間,可以測試此設置是否生效。打開一個終端窗口并登錄到該系統(tǒng)上。不要在終端中執(zhí)行任何操作,并檢查在給定時間內是否自動注銷了您的會話。
綜上所述,Linux系統(tǒng)的自動注銷時間設置是保護系統(tǒng)安全的重要措施之一。通過開啟自動注銷功能,您可以確保在長時間未使用時系統(tǒng)和數據得到保護。無論您是作為管理員在系統(tǒng)上工作還是作為用戶遠程登錄,學習如何設置自動注銷時間將使您的工作更安全和高效。
相關問題拓展閱讀:
- Linux如何清空Socket緩沖區(qū)
- 如何利用linux網絡協(xié)議遠程更新操作系統(tǒng)
Linux如何清空Socket緩沖區(qū)
socket不是這么接收數據的由于socket是以數據流的形式發(fā)送數據,接收方不知道對方一次性發(fā)送了多少數據,也能保證對方一次性發(fā)送的數據能在同一刻接收到,所以Receive方法是這么工作的:接受一個byye類型的參數作為緩沖區(qū),在經過一定的時間后把接收到的數據填充到這個緩沖區(qū)里面,并且返回實際接收到數據的長度,這個實際接收到的數據長度有可能為0(沒有接收到數據)、大于0小于緩沖區(qū)的長度(接收到數據,但是沒有我們預期的多)、等于緩沖區(qū)的長度(說明接收到的數據大于等于我們預期的長度)。每次接收緩沖區(qū)都用同一個byte byteMessage,并且你沒有檢查接收到譽豎的數據長度,所以之一次你接收到的數據是123456,第二次你只接收到了8,但是緩沖區(qū)里面還有23456,所以加起來就是823456了。socket接收緩沖區(qū)的大小有講究,設置大了接收起來慢,因為它要等盡可能多的數據接收到了再返回;設置小了需要重復多次調用接收方法才能把數據接收完,socket有個屬性,標識了系統(tǒng)默認的接收緩沖區(qū)大小,可以參考這個! 還有就是用recv讀取,但是由于不知道緩存里有多少數據,如果是阻塞模式,到最后必然等到超時才知道數據已經讀取完畢,這是個問題?! ×硪粋€是用fgetc,通過返回判斷是否是feof: whlie (1) { a=fgetc(f);if (feof(f)) break;//… b=fgetc(f);if (feof(f)) break;//… } 當然,我不知道讀取完畢后最后一次調用fgetc會不會堵塞,需要測試?! ≡诜亲枞J较拢覀冇胷ecv就可以輕松搞定了,但是阻塞模式下,由于我們不知道緩沖區(qū)有多少數據,不能直接調用recv嘗試清除?! 〈钌褂靡粋€小小的技巧,利用select函數,我們可以輕松搞定這個問題: select函數用于監(jiān)視一個文件描述符,如果中的描述符沒有變化,則一直阻塞在這里,直到超時時間到達;在超時時間內,一旦某個描述符觸發(fā)了你所關心的事件,select立即返回,通過檢索文件描述符處理相應事件;select函數出錯則返回小于零的值,如果有事件觸發(fā),則返回觸發(fā)事件的描述符個數;如果超時,返回0,即沒有數據可讀?! ≈攸c在于:我們可以用select的超時特性,將超時時間設置為0,通過檢測select的返回值,就可以判斷緩沖是否被清空。通過這個技巧,使一個阻塞的socket成了‘非阻塞’socket. 現在就可以得出解決方案了:使用select函數來監(jiān)知虛老視要清空的socket描述符,并把超時時間設置為0,每次讀取一個字節(jié)然后丟棄(或者按照業(yè)務需要進行處理,隨你便了),一旦select返回0,說明緩沖區(qū)沒數據了(“超時”了)?! truct timeval tmOut;tmOut.tv_sec = 0;tmOut.tv_usec = 0;fd_set fds;FD_ZEROS(&fds);FD_SET(skt, &fds); int nRet; char tmp; memset(tmp, 0, sizeof(tmp)); while(1) { nRet= select(FD_SETSIZE, &fds, NULL, NULL, &tmOut);if(nRet== 0) break;recv(skt, tmp, 1,0);} 這種方式的好處是,不再需要用recv、recvfrom等阻塞函數直接去讀取,而是使用select,利用其超時特性檢測緩沖區(qū)是否為空來判斷是否有數據,有數據時才調用recv進行清除?! ∮腥苏f同樣可以用recv和socket的超時設置去清空啊,這個沒錯,但是你需要直接對socket描述符設置超時時間,而為了清空數據而直接修改socket描述符的屬性,可能會影響到其他地方的使用,造成系統(tǒng)奇奇怪怪的問題,所以,不推薦使用。
如何利用linux網絡協(xié)議遠程更新操作系統(tǒng)
一、引言
一般情況下,我們都是利用軟驅或光驅引導Linux后,再通過本地的光驅安裝Linux。但是,這種安裝方法在以下的幾種情況下就不能適用:
無軟驅和光驅:很多公司為了節(jié)省成本,計算機一般都不帶光驅或軟驅,這樣就無法通過本地安裝Linux;
非標準的軟驅和光驅:雖然筆記本都會配置光驅,但是并不一定都是標準的IDE設備,有些是通過USB接口,有些是通過1394接口(例如Samsung的Q10)。在Linux安裝時所引導的Linux內核一般都不會帶這些接口的驅動,所以也無法通型顫過本地安裝Linux;
另外,在一些場合,如機房中,有大量的計算機需要同時安裝Linux,如果通過光驅的方式一個個安裝,不僅效率低,也不利于維護。
筆者在工作過程中,就遇到過第二種情況。一臺Samsung的Q10筆記本需要安裝Redhat Linux 8.0,但是通過虧信光驅引導后發(fā)現,安裝程序無法訪問光盤。針對這個問題,筆者經過查閱資料和摸索,找到了在Q10上安裝Linux的方法。在下面的討論中,如不做特別聲明,都將以Q10為例,介紹如何通過PXE Bootrom來遠程安裝Linux。
二、基本原理
1) 什么是PXE
PXE(Pre-boot Execution Environment)是由Intel設計的協(xié)議,它可以使計算機通過網絡啟動。協(xié)議分為client和server兩端,PXE client在網卡的ROM中,當計算機引導時,BIOS把PXE client調入內存執(zhí)行,并顯示出命令菜單,經用戶選擇后,PXE client將放置在遠端的操作系統(tǒng)通過網絡下載到本地運行。
PXE協(xié)議的成功運行需要解決以下兩個問題:
既然是通過網絡傳輸,那么計算機在啟動時,它的IP地址由誰來配置;
通過什么協(xié)議下載Linux內核和根文件系統(tǒng)
卜空敗 對于之一個問題,可以通過DHCP Server解決,由DHCP server來給PXE client分配一個IP地址,DHCP Server是用來給DHCP Client動態(tài)分配IP地址的協(xié)議,不過由于這里是給PXE Client分配IP地址,所以在配置DHCP Server時,需要增加相應的PXE特有配置。
至于第二個問題,在PXE client所在的ROM中,已經存在了TFTP Client。PXE Client使用TFTP Client,通過TFTP協(xié)議到TFTP Server上下載所需的文件。
這樣,PXE協(xié)議運行的條件就具備了,下面我們就來看看PXE協(xié)議的工作過程。
2) 工作過程
在上圖中,PXE client是需要安裝Linux的計算機,TFTP Server和DHCP Server運行在另外一臺Linux Server上。Bootstrap文件、配置文件、Linux內核以及Linux根文件系統(tǒng)都放置在Linux Server上TFTP服務器的根目錄下。
PXE client在工作過程中,需要三個二進制文件:bootstrap、Linux 內核和Linux根文件系統(tǒng)。Bootstrap文件是可執(zhí)行程序,它向用戶提供簡單的控制界面,并根據用戶的選擇,下載合適的Linux內核以及Linux根文件系統(tǒng)。
三、步驟
有了前面的背景知識,接下來就可以正式操作了,下面按照順序給出了操作步驟:
1) 配置DHCP Server
選用ISC dhcp-3.0,DHCP Server的配置文件是/etc/dhcpd.conf,配置文件的內容如下:
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;
class “pxeclients” {
match if substring (option vendor-class-identifier, 0, 9) = “PXEClient”;
option vendor-class-identifier “PXEClient”;
vendor-option-space PXE;
# At least one of the vendor-specific PXE options must be set in
# order for the client boot ROMs to realize that we are a PXE-compliant
# server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM
# that we cant provide multicast TFTP (address 0.0.0.0 means no
# address).
option PXE.mtftp-ip 0.0.0.0;
# This is the name of the file the boot ROMs should download.
filename “pxelinux.0”;
# This is the name of the server they should get it from.
next-server 192.168.0.1;
}
ddns-update-style interim;
ignore client-updates;
default-lease-time 1200;
max-lease-time 9200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;
option domain-name-servers 192.168.0.1,192.168.0.2;
option domain-name “mydomain.org”;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.100;
}
host q10 {
hardware ethernet 00:00:F0:6B:38:5B;
fixed-address 192.168.0.22;
}
dhcpd.conf配置文件中幾個關鍵部分說明如下:host q10{…}定義了筆記本Q10網卡的MAC地址與IP地址的對應關系,表明DHCP Server為Q10分配一個固定的IP:192.168.0.22;filename “”指定bootstrap的文件名;netx-server指定TFTP Server的地址。其它的配置請讀者參考DHCP Server的手冊。
2) 配置TFTP server
選用tftp-hpa,TFTP Server的配置文件是/etc/xinetd.d/tftp,配置文件的內容如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/in/in.tftpd
server_args = -u nobody -s /tftpboot
disable = no
per_source = 11
cps =
}
這里制定了/tftpboot為TFTP Server的根目錄位置。
3) 配置bootstrap
bootstrap文件在dhcpd.conf中被指定為pxelinux.0文件,放置在/tftpboot。Linux內核以及Linux根文件系統(tǒng)也放置在/tftpboot。pxelinux.0在執(zhí)行過程中,要讀配置文件,所有的配置文件都放在/tftpboot/pxelinux.cfg/目錄下。由于PXElinux具有為不同的PXE Client提供不同的Linux內核以及根文件系統(tǒng)的功能,所以要通過不同的配置文件名來區(qū)分出不同的PXE Client的需求。比如一個PXE Client由DHCP Server分配的IP地址為192.168.0.22,那么相對應的配置文件名為/tftpboot/pxelinux.cfg/C0A80016(注:C0A80016為IP地址192.168.0.22的十六進制表示)。如果找不到,就按照順序C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default查找配置文件。
/tftpboot/pxelinux.cft/C0A80001配置文件的具體內容如下:
DEFAULT install
PROMPT 1
LABEL install
KERNEL vmlinuz
APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384
此配置文件指定了Linux內核以及根文件系統(tǒng)的名稱,并給內核傳遞了一些參數,其中ramdisk_size參數要非常注意,它指定Linux內核啟動后建立ramdisk的大小,如果設置太小,Linux的安裝過程就可能無法進行。
4) 制作Linux內核/根文件系統(tǒng)
因為需要通過網絡安裝,所有選擇Redhat Linux 8.0安裝盤(disk #1)中E:imagesootnet.img(光驅的盤符為E:)。bootnet.img包括Linux內核、Linux根文件系統(tǒng)(有安裝程序在內)。用bootnet.img制作一張引導軟盤,方法在DOS命令行運行E:dosutils awrite E:imagesootnet.img,根據提示制作。制作完畢后,將引導軟盤中的vmlinuz(Linux內核)和initrd.img(Linux根文件系統(tǒng))拷貝到Linux Server的/tftpboot下。
5) 啟動DHCP Server/TFTP Server
在Linux Server上,運行service dhcpd start和service xinetd restart。
6) 啟動Q10
Q10加電后,在出現Samsung公司徽標時,在左下角會提示用戶按F12進入網絡引導。按F12后,Q10進入網絡引導過程。首先通過DHCP Server獲得了IP地址,然后下載并執(zhí)行bootstrap文件pxelinux.0;在執(zhí)行中,讀入配置文件/tftpboot/pxelinux.cfg/C0A80016。此時屏幕上出現boot:,敲入install,就進入了Redhat Linux 8.0的網絡安裝界面,一切OK!
四、結束語
雖然以上的討論是針對Samsung Q10筆記本,但是工作原理和安裝方法對于其它類型的計算機也是適用的,不過要記住,計算機的網卡中必須要有BootROM–PXE Client。同時,PXE協(xié)議也可作為無盤Linux技術,用于引導放置在遠程的Linux。實際上,只要根據需要,在Pxelinux的配置文件的APPEND選項中,為Linux內核傳進需要mount的文件系統(tǒng)的位置參數即可。
關于linux tmout的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都網站推廣找創(chuàng)新互聯(lián),老牌網站營銷公司
成都網站建設公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專注高端網站建設,網頁設計制作,網站維護,網絡營銷,SEO優(yōu)化推廣,快速提升企業(yè)網站排名等一站式服務。IDC基礎服務:云服務器、虛擬主機、網站系統(tǒng)開發(fā)經驗、服務器租用、服務器托管提供四川、成都、綿陽、雅安、重慶、貴州、昆明、鄭州、湖北十堰機房互聯(lián)網數據中心業(yè)務。
分享名稱:如何設置linux系統(tǒng)的自動注銷時間(tmout)? (linux tmout)
網站網址:http://www.dlmjj.cn/article/coieepe.html


咨詢
建站咨詢
