新聞中心
怎么限制linux 普通用戶的某些命令?
一般默認(rèn)情況下,普通用戶的可執(zhí)行命令位于/bin,
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、寶興ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的寶興網(wǎng)站制作公司
/usr/bin,
/usr/local/bin,
系統(tǒng)管理員可執(zhí)行命令位于/sbin,
/usr/sbin,
/usr/local/sbin這幾個(gè)目錄,進(jìn)去睢睢,一目了然.
Linux 如何限制普通用戶只能ssh登陸不能使用命令?
在linux中出于安全的需要,我們會(huì)禁止某些用戶SSH登陸系統(tǒng)進(jìn)行操作。我這里以centos操作系統(tǒng)為例記錄下如何進(jìn)行處理。
1、打開sshd的配置文件
vi /etc/ssh/sshd_config2、修改該配置文件,增加或修改如下行
# 禁止用戶user1登陸,多個(gè)空格分隔DenyUsers user1 # 禁止用戶組group1的所有用戶登錄,多個(gè)空格分隔DenyGroups group13、保存配置后,重啟sshd
/etc/rc.d/init.d/sshd restart 完成上面的配置后,就可以禁止用戶或用戶組的用戶進(jìn)行登錄了,第2步中的兩個(gè)是可以只填一個(gè)的,可以根據(jù)需要進(jìn)行調(diào)整。配置完畢后,在其他linux機(jī)器上使用如下命令進(jìn)行測試:
# 使用ssh測試[root@ServerA ~]# ssh [email protected]@192.168.1.168's password: Permission denied, please try again. # 使用sftp測試[root@ServerA ~]# sftp [email protected]@192.168.1.168's password: Permission denied, please try again. 可以看到,確實(shí)被系統(tǒng)禁止了,從而也就完成了我們想要的控制了。但這個(gè)有一個(gè)缺陷是,無法禁止只允許sftp而不允許ssh,如果要這樣做,估計(jì)只能夠單獨(dú)搭建ftp服務(wù)器,比如vsftp,后續(xù)再考慮這個(gè)。
linux 限制用戶執(zhí)行命令
只要用戶能登錄到系統(tǒng)的shell,就可以執(zhí)行shell集成的若干命令,如export, set等,另外他還可以通過在環(huán)境變量PATH中添加/bin目錄,獲得/bin下的所有執(zhí)行文件的執(zhí)行權(quán)(系統(tǒng)已放開給所有用戶執(zhí)行)。
所以要限制他只能執(zhí)行一條命令,只有將用戶登錄的shell換成這個(gè)命令(telnet):
vim /etc/passwd
test:x:1006:1008::/temp/test:/usr/bin/telnet
從而使他登錄到系統(tǒng)只能執(zhí)行一次此命令,便退出。
linux下如何限制每個(gè)用戶使用socket的數(shù)量
并發(fā)socket連接數(shù)的多少?zèng)Q定于系統(tǒng)資源的多少,沒有一個(gè)常值的.在實(shí)際開發(fā)或者linux系統(tǒng)管理中也會(huì)根據(jù)需要進(jìn)行相應(yīng)的設(shè)置.
1.一般來說每一個(gè)網(wǎng)絡(luò)連接,都會(huì)建立相應(yīng)的socket句柄,同時(shí)每個(gè)連接也會(huì)有標(biāo)準(zhǔn)輸入輸出等基本的文件文件句柄,而且每一個(gè)socket連接都是進(jìn)行文件操作的,因此連接數(shù)決定于系統(tǒng)資源.
2.Linux上一般可以通過ulimit來進(jìn)行相應(yīng)的資源限制,默認(rèn)能打開的文件描述符自己可以查看.如下圖所示:
3.ulimit的命令格式:ulimit [-acdfHlmnpsStvw] [size]
參數(shù)說明:
-H 設(shè)置硬資源限制.
-S 設(shè)置軟資源限制.
-a 顯示當(dāng)前所有的資源限制.
-c size:設(shè)置core文件的最大值.單位:blocks
-d size:設(shè)置數(shù)據(jù)段的最大值.單位:kbytes
-f size:設(shè)置創(chuàng)建文件的最大值.單位:blocks
-l size:設(shè)置在內(nèi)存中鎖定進(jìn)程的最大值.單位:kbytes
-m size:設(shè)置可以使用的常駐內(nèi)存的最大值.單位:kbytes
-n size:設(shè)置內(nèi)核可以同時(shí)打開的文件描述符的最大值.單位:n
-p size:設(shè)置管道緩沖區(qū)的最大值.單位:kbytes
-s size:設(shè)置堆棧的最大值.單位:kbytes
-t size:設(shè)置CPU使用時(shí)間的最大上限.單位:seconds
-v size:設(shè)置虛擬內(nèi)存的最大值.單位:kbytes
-u 程序數(shù)目 用戶最多可開啟的程序數(shù)目
怎樣在 Linux 中限制網(wǎng)絡(luò)帶寬使用
限制網(wǎng)絡(luò)流量速率的一種方法是通過一個(gè)名為trickle的命令行工具。通過在程序運(yùn)行時(shí),預(yù)先加載一個(gè)速率限制 socket 庫 的方法,trickle 命令允許你改變?nèi)我庖粋€(gè)特定程序的流量。 trickle 命令有一個(gè)很好的特性是它僅在用戶空間中運(yùn)行,這意味著,你不必需要 root 權(quán)限就可以限制一個(gè)程序的帶寬使用。要能使用 trickle 程序控制程序的帶寬,這個(gè)程序就必須使用非靜態(tài)鏈接庫的套接字接口。當(dāng)你想對一個(gè)不具有內(nèi)置帶寬控制功能的程序進(jìn)行速率限制時(shí),trickle 可以幫得上忙。
在 Ubuntu,Debian 及其衍生發(fā)行版中安裝 trickle :
1
$ sudo apt-get install trickle
在 Fdora 或 CentOS/RHEL (帶有 EPEL 軟件倉庫):
1
$ sudo yum install trickle
trickle 的基本使用方法如下。僅需簡單地把 trickle 命令(及速率參數(shù))放在你想運(yùn)行的命令之前。
1
$ trickle -d download-rate -u upload-rate command
這就可以將 command 的下載和上傳速率限定為特定值(單位 KBytes/s)。
例如,將你的 scp 會(huì)話的最大上傳帶寬設(shè)定為 100 KB/s:
1
$ trickle -u 100 scp backup.tgz alice@remote_host.com:
如若你想,你可以通過創(chuàng)建一個(gè)自定義啟動(dòng)器的方式,使用下面的命令為你的 Firefox 瀏覽器設(shè)定最大下載速率(例如, 300 KB/s)。
1
trickle -d 300 firefox %u
最后, trickle 也可以以守護(hù)進(jìn)程模式運(yùn)行,在該模式下,它將會(huì)限制所有通過 trickle 啟動(dòng)且正在運(yùn)行的程序的總帶寬之和。 啟動(dòng) trickle 使其作為一個(gè)守護(hù)進(jìn)程(例如, trickled):
1
trickle -d 300 firefox %u
一旦 trickled 守護(hù)進(jìn)程在后臺運(yùn)行,你便可以通過 trickle 命令來啟動(dòng)其他程序。假如你通過 trickle 啟動(dòng)一個(gè)程序,那么這個(gè)程序的最大下載速率將是 1000 KB/s, 假如你再通過 trickle 啟動(dòng)了另一個(gè)程序,則每個(gè)程序的(下載)速率極限將會(huì)被限制為 500 KB/s,等等。
在 Linux 中限制一個(gè)網(wǎng)絡(luò)接口的速率
另一種控制你的帶寬資源的方式是在每一個(gè)接口上限制帶寬。這在你與其他人分享你的網(wǎng)絡(luò)連接的上行帶寬時(shí)尤為實(shí)用。同其他一樣,Linux 有一個(gè)工具來為你做這件事。wondershaper就是干這個(gè)的。
wondershaper 實(shí)際上是一個(gè) shell 腳本,它使用 tc 來定義流量調(diào)整命令,使用 QoS 來處理特定的網(wǎng)絡(luò)接口。外發(fā)流量通過放在不同優(yōu)先級的隊(duì)列中,達(dá)到限制傳出流量速率的目的;而傳入流量通過丟包的方式來達(dá)到速率限制的目的。
事實(shí)上, wondershaper 的既定目標(biāo)不僅僅是對一個(gè)接口增加其帶寬上限;當(dāng)批量下載或上傳正在進(jìn)行時(shí),wondershaper 還試圖去保持互動(dòng)性會(huì)話如 SSH 的低延遲。同樣的,它還會(huì)控制批量上傳(例如, Dropbox 的同步)不會(huì)使得下載“窒息”,反之亦然。
在 Ubuntu Debian 及其衍生發(fā)行版中安裝 wondershaper:
1
trickle -d 300 firefox %u
在 Fdora 或 CentOS/RHEL (帶有 EPEL 軟件倉庫) 中安裝 wondershaper:
1
trickle -d 300 firefox %u
wondershaper 的基本使用如下:
1
$ sudo wondershaper interface download-rate upload-rate
舉個(gè)例子, 將 eth0 的最大下載/上傳帶寬分別設(shè)定為 1000Kbit/s 和 500Kbit/s:
1
$ sudo wondershaper interface download-rate upload-rate
你也可以通過運(yùn)行下面的命令將速率限制進(jìn)行消除:
1
$ sudo wondershaper interface download-rate upload-rate
假如你對 wondershaper 的運(yùn)行原理感興趣,你可以閱讀其 shell 腳本源文件(/sbin/wondershaper)。
總結(jié)
在本教程中,我介紹了兩種不同的方法,來達(dá)到如何在 Linux 桌面環(huán)境中,控制每個(gè)應(yīng)用或每個(gè)接口的帶寬使用的目的。 這些工具的使用都很簡單,都為用戶提供了一個(gè)快速且容易的方式來調(diào)整或限制流量。 如果你想更多地了解如何在 Linux 中進(jìn)行速率控制,請參考 the Linux bible.
Linux用戶權(quán)限管理命令
Linux系統(tǒng)中的用戶是分角色的,用戶的角色是由UID和GID來識別的(也就是說系統(tǒng)是識別的是用戶的UID、GID,而非用戶用戶名),一個(gè)UID是唯一(系統(tǒng)中唯一如同身份證一樣)用來標(biāo)識系統(tǒng)的用戶賬號(用戶名)。
文件的用戶與用戶組分為超級管理員,普通用戶和系統(tǒng)用戶。
1)超級管理員的UID=0,GID=0,也可以這么說系統(tǒng)只要是識別出某個(gè)用戶的UID\GID都為0時(shí),那么這個(gè)用戶系統(tǒng)就認(rèn)為是超級管理員。
2)普通用戶(管理員添加的),默認(rèn)它的UID\GID是從500-65535,權(quán)限很小,只能操作自己的家目錄中文件及子目錄(注:nobody它的UID\GID是65534)。
3)系統(tǒng)用戶,也稱虛擬用戶,也就是安裝系統(tǒng)時(shí)就默認(rèn)存在的且不可登陸系統(tǒng),它們的UID\GID是1-499。
我們可以通過cat /etc/passwd命令來查看所有的用戶信息,例如下圖,第三列是UID,第四列是GID:
創(chuàng)建用戶
useradd user1 創(chuàng)建用戶user1
useradd -e 12/30/2021 user2 創(chuàng)建用戶user2,有效期到2021-12-30
設(shè)置用戶密碼
passwd user1 設(shè)置密碼,有設(shè)置密碼的用戶不能用
這里設(shè)置密碼時(shí)可能會(huì)碰到密碼保護(hù)機(jī)制問題,這里需要注釋掉保護(hù)機(jī)制的問題
這個(gè)時(shí)候需要在編輯/etc/pam.d/system-auth文件,將其中的password requisite
和password sufficient兩行注釋掉,如下圖:
創(chuàng)建用戶組
groupadd –g 888 users 創(chuàng)建一個(gè)組users,其GID為888
groupadd users 不用g參數(shù),使用默認(rèn)的組ID
命令 gpasswd為組添加用戶
只有root和組管理員能夠改變組的成員:
gpasswd –a user1 users 把 user1加入users組
gpasswd –d user1 users 把 user1退出users組
命令groupmod修改組
groupmod –n user2 user1 修改組名user1為user2
groupdel刪除組
groupdel users 刪除組users
真正從安全性角度上來考慮的話,是要控制用戶一定執(zhí)行命令的權(quán)限,也就是哪些用戶可以執(zhí)行哪些命令,不可以執(zhí)行哪些命令,因此也就有了sudo這個(gè)應(yīng)用,對于sudo提權(quán),也就是修改/etc/sudoers的配置文件。
新聞名稱:linux限制使用命令,linux常用命令權(quán)限
URL地址:http://fisionsoft.com.cn/article/dsgpshp.html