科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道合理增加账户设置用户确保系统安全可靠

合理增加账户设置用户确保系统安全可靠

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在涉及到系统安全可靠这个问题时,我们可以考虑的问题很多。今天,我们就重点看一下怎样安全地增加账户和设置用户的外壳。

作者: 赛迪网 来源:赛迪网 2007年10月6日

关键字: 系统安全 FTP服务 shell

  • 评论
  • 分享微博
  • 分享邮件

在涉及到系统安全可靠这个问题时,我们可以考虑的问题很多。今天,我们就重点看一下怎样安全地增加账户和设置用户的外壳。

向服务器增加用户账户

在设置服务器时,我们经常会允许人们上传文件或者从服务器下载文件或消息。然而,我们却不想允许这些人访问整个服务器。实际上,在我们创建这些用户时,就可以限制这些用户的访问权限。

要限制一个远程用户登录并且限制其访问shell(通过SSH,telnet,或其它登录服务),我们可以为一个用户设置默认的shell为nologin。例如:

# useradd -s /sbin/nologin jerryb

在将其shell设置为nologin之后,这个用户就不能登录到服务器来打开一个shell。不过,用户仍然能够使用这个账户登录到服务器上的FTP服务(如果此服务器可用并且此用户拥有一个口令)。默认情况下,此例中,用户通过FTP方式登录时的起始目录(home directory)将会是/home/jerryb。另一个只能访问服务器上的FTP服务的方法是,使用/usr/lib/sftp服务器作用一个用户的登录shell。虽然这会允许用户访问对用户可用的整个文件系统,它却限制其只能通过安全的FTP访问服务器。

Web主机的一个通用作法是允许用户在服务器中放置内容,通常是通过利用FTP(但并非shell登录)放置在那个用户的/home/username/public_html目录中。但是,管理员能够选择将Web内容的位置指定到任何一个目录,包括系统范围内的Web服务器目录。下面的命令为用户webuser指定了/var/www/html为其起始目录(为了让此命令生效,我们还应该将文件的所有权改为属于webuser):

# useradd -s /sbin/nologin -d /var/www/html webuser

如果你想增加一个账户,使其只能访问电子邮件服务,也可以选择防止对FTP的任何访问。其中的一个方法是将用户的起始目录指向/dev/null。例如:

# useradd -s /sbin/nologin -d /dev/null jerryb

在设置好受限的用户账户之后,你还可以利用与特定服务相关的特性,进一步定义服务器上用户能访问的服务和不能访问的服务。

为用户配置Shell

允许为每一个用户个别地定制其shell启动文件是一个相当灵活而实用的方法。不过,有时我们需要比这种方法更加集中化的控制。你可能会拥有一个环境变量或者你想为每一个用户设置的其它shell设置(无一例外地进行)。如果你为每一个单独的shell增加这种设置,用户就可以拥有编辑这个文件并清除它的能力。进一步讲,如果这个设置要在将来做出改变,你就必须在每一个用户的shell启动文件中改变它。

幸运的是,有一种更好的方法。我们有默认的可以适用于计算机所有用户的启动文件,并且在读取特定用户的文件之前,命令外壳先读取默认的启动文件。在bash命令外壳这种情况中,它会在做执行任何其它操作之前,先读取/etc/bashrc文件。

与此类似的是,在处理用户home目录中的.cshrc 或者 .tcshrc文件之前,tcsh外壳先读取/etc/csh.cshrc文件。如下例中的/etc/csh.cshrc文件即适用于Fedora 和 RHEL:

# /etc/cshrc
#
# csh configuration for all shell invocations.

# by default, we want this to get set.
# Even for non-interactive, non-login shells.
 [ 'id -gn' = 'id -un' -a 'id -u' -gt 99 ]
if $status then
   umask 022
else
   umask 002
endif

if ($?prompt) then
  if ($?tcsh) then
    set prompt='[%n@%m %c]$ '
  else
    set prompt=['id -nu'@'hostname -s']$
  endif
endif

/etc/cshrc 和/etc/bashrc设置了多种外壳环境选项。如果你想增加或修改系统中为每一个用户提供的外壳环境,那么/etc/bashrc 或者 /etc/cshrc文件正是你执行这种操作的地方。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章