我们前面一直谈到的大多是一般身份用户与系统管理员
(root)
的相关操作,
而且大多是讨论关于可
登入系统的账号来说。那么换个½度想,如果我½天想要½立的,
是一个『
½能使用
mail server
关邮件服务的账号,而该账号并不能登入
Linux
主机
』呢?如果不能给予该账号一个密码,那么该
账号就无法使用系统的各项资源,当然也包括
mail
的资源,
而如果给予一个密码,那么该账号就
可能可以登入
Linux
主机啊!呵呵~伤脑½吧~
所以,底下让我们来谈一谈这些有趣的话题啰!
另外,在本章之前谈到过
/etc/login.defs
文件中,关于密码长度应该默认是
5
个字符串长度,但是我
们上面也谈到,该设定值已经被
PAM
模块所取代了,那么
PAM
是什么?为什么他可以影响我们
使用者的登入呢?这里也要来谈谈的!
13.5.1
特殊的
shell, /sbin/nologin
在本章一开头的
passwd
文件½构
里面我们就谈过系统账号这玩意儿,这玩意儿的
shell
就是使用
/sbin/nologin
,重点在于系统账号是不需要登入的!所以我们就给他这个无法登入的合法
shell
使
用了这个
shell
的用户即使有了密码,你想要登入时他也无法登入,因为会出现如下的讯息喔:
This account is currently not available.
我们所谓的『无法登入』指的½是:『这个使用者无法使用
bash
或其他
shell
来登入系统』而已,
并不是说这个账号就无法使用其他的系统资源喔!
举例来说,各个系统账号,打印作业由
lp
这个
账号在管理,
WWW
服务由
apache
这个账号在管理,
他们都可以½行系统程序的工作,但是『就
是无法登入主机取得互动的
shell
』而已啦!
^_^
换个½度来想,如果我的
Linux
主机提供的是邮件服务,所以说,在这部
Linux
主机上面的账号,
其实大部分都是用来收受主机的信件而已,并不需要登入主机的呢!
这个时候,我们就可以考虑让
单纯使用
mail
的账号以
/sbin/nologin
做为他们的
shell
这样,最起码当我的主机被尝试想要登
入系统以取得
shell
环境时,可以拒绝该账号呢!
另外,如果我想要让某个具有
/sbin/nologin
的使用者知道,他们不能登入主机时,
其实我可以½立
/etc/nologin.txt
』这个文件,
并且在这个文件内说明不能登入的原因,那么下次当这个用户想要登
入系统时,
屏幕上出现的就会是
/etc/nologin.txt
这个文件的内容,而不是预设的内容了!
例题:
当使用者尝试利用纯
mail
账号
(
例如
myuser3)
时,利用
/etc/nologin.txt
告知用户不要利用该账号登
入系
统。
答:
直½以
vim
编辑该
文件
,内容可以是这样:
[root@study ~]#
vim /etc/nologin.txt
This account is system account or mail account.
Please DO NOT use this account to login my Linux server.
想要测试时,可以使用
myuser3 (
此账号的
shell
/sbin/nologin)
来测试看看!
[root@study ~]#
su
-
myuser3