Linux下如何創(chuàng)建nolgin-shell賬戶
在Linux系統(tǒng)維護(hù)的過程中,為了安全起見我們可能需要?jiǎng)?chuàng)建一些普通的而且不需要有shell登陸權(quán)限、需要特殊指定家目錄的賬號(hào),比如需要給用戶創(chuàng)建一個(gè)ftp賬戶不需要有l(wèi)ogin系統(tǒng)的shell權(quán)限。這
在Linux系統(tǒng)維護(hù)的過程中,為了安全起見我們可能需要?jiǎng)?chuàng)建一些普通的而且不需要有shell登陸權(quán)限、需要特殊指定家目錄的賬號(hào),比如需要給用戶創(chuàng)建一個(gè)ftp賬戶不需要有l(wèi)ogin系統(tǒng)的shell權(quán)限。這時(shí)候?yàn)榱吮WC系統(tǒng)安全我們?nèi)绾蝿?chuàng)建我們需要的賬號(hào),或者創(chuàng)建好了具有l(wèi)ogin-shell的賬戶如何進(jìn)行修改?
Linux系統(tǒng)賬戶
在安裝完系統(tǒng)之后,系統(tǒng)會(huì)自動(dòng)建立一批特殊的系統(tǒng)帳戶,像bin、ftp等,這些賬戶都屬于系統(tǒng)組的“特殊”帳戶,他們完成系統(tǒng)賦予他們的特定的功能,而我們自己建立的帳戶,如:wang、cheng....等都是普通帳戶,他們在/home下都有自己的主目錄,如:/home/cheng、/home/wang等,而特殊帳戶是不需要這個(gè)主目錄的或者需要指定家目錄的!普通帳戶有自己的登錄shell,如:bash、csh...而特殊帳戶也沒有shell,從/etc/passwd中可以看到這些帳戶的區(qū)別。
創(chuàng)建和修改nologin-shell賬戶
為了保證Linux系統(tǒng)的安全等原因,有時(shí)候需要讓Linux系統(tǒng)用戶不能登錄服務(wù)器。一個(gè)簡單的解決方法是配置他們的帳號(hào),把登錄的shell設(shè)置成/sbin/nologin。要修改一個(gè)已經(jīng)存在的用戶,執(zhí)行這個(gè)命令:
```bash
usermod -s /sbin/nologin
```
對(duì)新用戶,可以使用這個(gè)命令:
```bash
useradd -s /sbin/nologin
```
要確保用-D選項(xiàng)把每個(gè)用戶的登錄shell設(shè)置成缺省的/sbin/nologin(這個(gè)需要在環(huán)境變量中定義一下別名):
```bash
useradd -D -s /sbin/nologin
```
這樣,在使用useradd增加新用戶的時(shí)候,就不需要用-s選項(xiàng)指定登錄shell了,缺省的登錄shell就是/sbin/nologin。
這種配置仍然允許這個(gè)用戶執(zhí)行重要的日常任務(wù),比如收發(fā)信件,F(xiàn)TP,訪問網(wǎng)絡(luò)共享目錄和其他任務(wù)。它只是阻止用戶登錄服務(wù)器。如果服務(wù)器是一個(gè)主域控制器,用戶主要在他們的工作站上使用Windows,那么采用這樣的配置是個(gè)好方法。這個(gè)方法也可以阻止因?yàn)橛脩粼O(shè)置了脆弱的密碼而導(dǎo)致的非法登錄服務(wù)器的事件發(fā)生。
要?jiǎng)?chuàng)建一個(gè)賬戶時(shí)不允許賬戶登錄shell并且指定特定家目錄的命令:
```bash
useradd -d /home/www/other/dalian
```