useradd ftpuser -d/ftpfile -s/sbin/nologin
ftpuser 用户名
-d/ftpfile 作用的文件
-s/sbin/nologin限制用户不能登录linux命令
特殊的/sbin/nologin
在这些shell里面,有一个shell——/sbin/nologin却比较特殊。
在我们的系统中有apache这个账号管理着www服务器,lp管理着打印服务等。还有类似很多的这样的系统服务,他们运行在系统中,由专门的账户管理着,这些账号都有一个共同的特性,那就是他们的shell都是/sbin/nologin,并且这些账号都是不能够登陆主机的,但是却能够使用系统的很多资源。那么相像一下,这样的场景是不是在很多时候都会被应用到,比如我们的邮件服务,很多时候我们的邮件服务器只需要进行收取邮件的功能,那么为了保证系统的安全,我们是不是就可以创建一个这样的账号,给它分配一个/sbin/nologin就可以了?《Linux就该这么学》一起学习linux.
假设我的系统中有一个test账号,现在我们将它的shell更改为“/sbin/nologin”(root用户下执行):
chsh -s /sbin/nologin test
要修改一个已经存在的用户,执行这个命令:usermod -s /sbin/nologin <username >
对新用户,可以使用这个命令:
useradd -s /sbin/nologin <new username>
/bin/false是最严格的禁止login选项,一切服务都不能用。而/sbin/nologin只是不允许login系统,但可以使用其他ftp等服务。
不知道你要禁止到什么级别,希望能帮到你。
第一种情况:还未建立用户时,可以使用以下命令1,groupadd
groupname
useradd
-g
groupname
username
-s
/bin/false
//-s为默认shell,不给shell,也就不能登录
2,groupadd
groupname
useradd
-g
groupname
username
-s
/sbin/nologin
//-s为默认shell,默认给予shell,但是不给登录shell
第二种情况:当用户已经建立了,在建立时没有控制,现在需要取消用户登录权限,可以使用以下命令
切换到root用户,修改/etc/passwd文件
vi
/etc/passwd
找到你要修改的用户所在的那一行,例如username:x:502:502::/home/username:/bin/bash,修改为以下代码
username:x:502:502::/home/username:/sbin/nologin
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)