2016 - 2024

感恩一路有你

Linux下如何创建nolgin-shell账户

浏览量:1025 时间:2024-07-22 22:42:31 作者:采采

在Linux系统维护的过程中,为了安全起见我们可能需要创建一些普通的而且不需要有shell登陆权限、需要特殊指定家目录的账号,比如需要给用户创建一个ftp账户不需要有login系统的shell权限。这时候为了保证系统安全我们如何创建我们需要的账号,或者创建好了具有login-shell的账户如何进行修改?

Linux系统账户

在安装完系统之后,系统会自动建立一批特殊的系统帐户,像bin、ftp等,这些账户都属于系统组的“特殊”帐户,他们完成系统赋予他们的特定的功能,而我们自己建立的帐户,如:wang、cheng....等都是普通帐户,他们在/home下都有自己的主目录,如:/home/cheng、/home/wang等,而特殊帐户是不需要这个主目录的或者需要指定家目录的!普通帐户有自己的登录shell,如:bash、csh...而特殊帐户也没有shell,从/etc/passwd中可以看到这些帐户的区别。

创建和修改nologin-shell账户

为了保证Linux系统的安全等原因,有时候需要让Linux系统用户不能登录服务器。一个简单的解决方法是配置他们的帐号,把登录的shell设置成/sbin/nologin。要修改一个已经存在的用户,执行这个命令:

```bash

usermod -s /sbin/nologin

```

对新用户,可以使用这个命令:

```bash

useradd -s /sbin/nologin

```

要确保用-D选项把每个用户的登录shell设置成缺省的/sbin/nologin(这个需要在环境变量中定义一下别名):

```bash

useradd -D -s /sbin/nologin

```

这样,在使用useradd增加新用户的时候,就不需要用-s选项指定登录shell了,缺省的登录shell就是/sbin/nologin。

这种配置仍然允许这个用户执行重要的日常任务,比如收发信件,FTP,访问网络共享目录和其他任务。它只是阻止用户登录服务器。如果服务器是一个主域控制器,用户主要在他们的工作站上使用Windows,那么采用这样的配置是个好方法。这个方法也可以阻止因为用户设置了脆弱的密码而导致的非法登录服务器的事件发生。

要创建一个账户时不允许账户登录shell并且指定特定家目录的命令:

```bash

useradd -d /home/www/other/dalian -s /sbin/nologin

```

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。