首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux禁止交互登陆系统账号

在Linux系统中,禁止交互式登录系统账号可以通过多种方式实现,这通常涉及到修改系统配置文件或使用特定的命令。以下是一些常见的方法:

1. 修改 /etc/passwd 文件

可以通过修改用户账号的shell来禁止交互式登录。将用户的shell改为 /sbin/nologin/bin/false

示例:

代码语言:txt
复制
sudo usermod -s /sbin/nologin username

2. 使用 passwd 命令禁用密码

可以通过 passwd 命令将用户的密码设置为空,从而禁止通过密码登录。

示例:

代码语言:txt
复制
sudo passwd -dl username

3. 修改 /etc/ssh/sshd_config 文件

如果希望通过SSH禁止交互式登录,可以修改SSH服务的配置文件。

步骤:

  1. 打开 /etc/ssh/sshd_config 文件:
  2. 打开 /etc/ssh/sshd_config 文件:
  3. 找到或添加以下配置:
  4. 找到或添加以下配置:
  5. 重启SSH服务:
  6. 重启SSH服务:

4. 使用 pam 模块

可以通过PAM(Pluggable Authentication Modules)模块来禁止交互式登录。

示例: 编辑 /etc/pam.d/login 文件,添加以下行:

代码语言:txt
复制
auth required pam_succeed_if.so quiet user != root quiet_success

5. 使用 systemd 服务

如果系统使用 systemd,可以通过创建或修改 systemd 服务来禁止交互式登录。

示例: 创建一个 systemd 服务文件 /etc/systemd/system/no-login@.service

代码语言:txt
复制
[Unit]
Description=Disable interactive login for %i

[Service]
ExecStart=/sbin/nologin

[Install]
WantedBy=multi-user.target

然后启用该服务:

代码语言:txt
复制
sudo systemctl enable no-login@username.service

优势

  • 安全性:防止未经授权的用户通过交互式登录访问系统。
  • 管理方便:可以集中管理用户权限和访问控制。

应用场景

  • 服务器管理:防止管理员账号被未经授权的用户通过交互式登录访问。
  • 自动化任务:确保某些账号仅用于自动化任务,不允许交互式登录。

注意事项

  • 确保在禁止交互式登录之前,已经配置好其他必要的访问方式(如SSH密钥认证)。
  • 在生产环境中进行这些更改之前,建议先在测试环境中验证。

通过以上方法,可以有效地禁止Linux系统账号的交互式登录,提高系统的安全性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux系统用户账号的管理

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。 添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。...Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。 2、删除帐号 如果一个用户的账号不再使用,可以从系统中删除。...删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。...另外,有些系统可以使用选项:-l 新用户名 这个选项指定一个新的账号,即将原来的用户名改为新的用户名。...用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。 指定和修改用户口令的Shell命令是passwd。

2.8K00
  • Linux 登陆shell,交互shell以及环境变量读取顺序

    Linux用户在登陆到Linux服务器时,一些登陆的提示欢迎信息,以及特定的环境配置等等都按预先设定好的配置来生效。...Linux中的这个shell环境会读取很多不同的配置文件来达成上述目的,同时还有登陆shell与非登陆shell的区分。本文对此作简要描述,供大家参考!...~ tty6 登陆,需要输入用户的账号与密码,此时取得的 bash 就称为login shell 非登陆shell(non-login shell):   取得 bash 接口的方法不需要重复登陆的举动...  比如你以 X window 登陆 Linux 后, 再以 X 的图形化接口启动终端机,此时该终端接口无需输入账号与密码,则为non-login shell   比如你在原本的 bash 环境下再次下达...bash 这个命令,同样的也没有输入账号密码, 那第二个 bash (子程序) 也是 non-login shell 查看登陆shell与非登陆shell ###演示环境 [root@system1

    1.9K40

    linux管理与用户账号有关的系统文件

    0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。 4)“组标识号”字段记录的是用户所属的用户组。...在不同的Linux 系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。 6)“主目录”,也就是用户的起始工作目录。..."警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。 "不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。..."失效时间"字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。...一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。 "组标识号"与用户标识号类似,也是一个整数,被系统内部用来标识组。

    1.5K00

    Linux操作系统,详解与用户账号有关的系统文件

    本期学习与用户账号有关的系统文件 完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。...Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。 这个文件对所有用户都是可读的。...0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。 4、“组标识号”字段记录的是用户所属的用户组。...在不同的Linux 系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。 6、“主目录”,也就是用户的起始工作目录。...7、用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。 Shell是用户与Linux系统之间的接口。

    1.3K50

    ​Linux入门系列(四)系统用户账号管理(代码图文示例)

    用户账号管理(四) Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。...我在前面Linux入门系列(一)说过蓝色代表文件夹;Linux入门系列(二)说过,Linux本质上就是一堆堆的文件。...2.再来改我们的登陆目录,先cat /etc/passwd 查看原有登陆目录,可以更好的和下面对比 ? ? 再次查看可以发现也已经修改了 ?...再次 cat /etc/passwd 用户信息已经删除了 用户账号的切换 切换用户之前要知道的: 我们输入命令时前面总带着的前缀信息是什么? 目前操作我们系统用户名是哪个?...passwd 除了可以设置密码,还可以停止账号使用。 passwd -l 可以看到 Locking 锁定用户 ? 可以发现使用xinyue 账号登陆。 不管输入几次都是登陆不进。

    93410

    linux下与用户账号有关的系统文件管理方式

    linux下与用户账号有关的系统文件完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。...Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。这个文件对所有用户都是可读的。...由于/etc/passwd文件是所有用户都可读的,如果用户的密码太简单或规律比较明显的话,一台普通的计算机就能够很容易地将它破解,因此对安全性要求较高的Linux系统都把加密后的口令字分离出来,单独存放在一个文件中...时间起点对不同的系统可能不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。"最小时间间隔"指的是两次修改口令之间所需的最小天数。"最大时间间隔"指的是口令保持有效的最大天数。"...警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。"不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大

    80510

    Linux下通过rdesktop远程登陆Windows系统图文详解

    rdesktop是一种客户端程序,可以通过它在Linux系统下远程访问Windows桌面,而且支持多种版本,诸如NT 4 Terminal Server, 2000, XP, 2003, 2003...4.在Linux系统中输入ping命令,查看与Windows主机能否互联互通。...5.打开Windows远程连接,右击计算机,选择属性,打开计算机系统界面单击远程设置,选择“允许运行任意版本远程桌面的计算机连接”,再选择用户,显示xiang已经有访问权,可以用xiang这个用户远程登陆...,单击确定 实验操作步骤如下所示: 自动挂载 1.将光驱文件挂载到Linux系统上,在设备状态选项上勾选“已连接”。...再安装rdesktop软件包yum install rdesktop –y 7.在Linux系统的图形化界面上,右击打开终端输入rdesktop Windows IP,打开Windows远程登陆界面

    2.8K00

    linux nobody是啥用户

    如果一个用户的默认shell设置为/sbin/nologin 则这个用户是禁止登陆系统的; 这个nologin的作用就是限制某些用户通过ssh登陆到shell上。...比如日常可以将 nginx mysql php-fpm这些应用的用户默认shell设定为/sbin/nologin 主要是提升系统安全性 系统账号的shell使用 /sbin/nologin ,此时无法登陆系统...所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。...举例来说,各个系统账号中,打印作业有lp这个账号管理,www服务器有apache这个账号管理,他们都可以进行系统程序的工作,但就是无法登陆主机而已。...总结: nobody是linux/unix系统下的匿名用户,只能访问服务器上的公共内容 /sbin/nologin是linux/unix系统下的一种shell设置项对于登陆shell为/sbin/nologin

    3.6K30

    Windows2008系统基础安全配置教程

    不管是Windows服务器系统,还是linux服务器系统,只要设置好安全策略,都能最大程度上地保证服务器安全,说不上用linux一定比Windows安全,关键是看你怎么用,怎么设置安全策略,怎么避免漏洞被利用...一、修改管理员账号及密码   Windows 2008服务器系统通过远程登陆来管理的,默认管理员账号是administactor;如果对方知道你的账号,可能通过暴力解密获取你的密码;所以,要及时修改管理员账号...至于数据库在线管理,新手都习惯用phpmyadmin来管理,Linux系统的主机通过IP/some space/的方式管理数据库,这样实际上是不安全的,相当于多一个安全隐患;对于Windows 2008...五、设置好文件权限及补丁更新   如果是用Windows系统的服务器建站,那么一定要设置好文件权限,好比禁止脚本运行什么的,设置好以后,那么网站程序本身的安全性会提高不少;另外,要记得及时更新程序及系统补丁...,同时增加错误登陆设置,用户通过远程来登陆系统,输错密码三次,可以禁止30分钟或者一天什么的。

    2.9K10

    Win2008服务器或VPS安全配置基础教程

    其实,不管是windows服务器系统,还是linux服务器系统,只要设置好安全策略,都能最大程度上地保证服务器安全,说不上用linux一定比windows安全,关键是看你怎么用,怎么设置安全策略,怎么避免漏洞被利用...下面是具体的安全配置基础教程,仅供参考,按个人喜欢而设置: 修改管理员账号及密码   windows 2008服务器系统通过远程登陆来管理的,默认管理员账号是administactor;如果对方知道你的账号...至于数据库在线管理,新手都习惯用phpmyadmin来管理,Linux系统的主机通过IP/some space/的方式管理数据库,这样实际上是不安全的,相当于多一个安全隐患;对于windows 2008...,同时增加错误登陆设置,用户通过远程来登陆系统,输错密码三次,可以禁止30分钟或者一天什么的。   ... 修改在IDC官网的账号信息   不管你是购买的什么系统的服务器,都应该保证自己在IDC官网的账号信息安全,这里的账号、密码都应该与平时注册的账号密码不同,避免自己一个账号失窃,被别人利用到这里。

    1.9K30

    Ubuntu 使用 vsftpd 基于系统用户配置相互隔离的 ftp (ftps) 服务并禁止账户 ssh shell 登陆功能

    针对上面的痛点,我也百度看过不少解决方案,有人说可以 通过配置 账户的 shell ,比如 /usr/sbin/nologin 来实现 账户禁止 ssh 登陆,只保留 sftp 权限,然而我按照多个文章的教程...,进行反复操作之后,发现这样的配置确实禁止对应账户远程登陆 ssh 了,但是,,,sftp 也连不上了,,所以在反复实验之后,选择放弃,这时回归最原始的点,想想我需要的是一个ftp服务来提供文件上传下载的方法...        #为xiaoming 指定账户主目录     sudo chmod 555 /var/www        #去除主目录的可写权限 (vsfpd在 chroot_local_user=YES 禁止默认的登陆目录拥有可写权限...,如果拥有则会无法登陆)     sudo usermod -s /usr/sbin/nologin xiaoming        #屏蔽xiaoming对于系统的 ssh 登陆权限    如果要重新放开登陆权限...,执行 sudo usermod -s /bin/bash xiaoming     这样一来我就创建了一个账户xiaoming,该账户无法使用 ssh 连接系统,但是支持 ftp 登陆系统,ftp 登陆系统之后默认就会进入

    1.5K30

    如何在SecureCRT上使用公钥登陆Linux服务器?

    Linux服务器端配置 1、sshd_conf配置 主要修改如下几个内容: PermitRootLogin no # 默认为注释,先配置为禁止root用户登陆,允许root登陆太危险了。...重点补充,如果还有其他人也想用自己的公钥登陆服务器,该如何操作呢? 正常操作应该为该用户在服务器上创建一个账号,重新执行本次(Linux服务器端配置,第2点)操作。...但是也有例外,如果你在linux系统上使用公钥登陆Linux服务器,就不需要指明用户。方法如下: # ssh 172.16.24.222 为何呢?...这时系统默认以为你登陆的远程账号就是你当前登陆的账号。 如果你设置了公钥口令,连接时比如输入。为了安全,这个口令是必须要有的。在SecureCRT中,口令被翻译为:通行短语。呵呵。...补充一下,在linux系统上,如何创建公钥和私钥呢? 方法很简单,执行ssh-keygen命令,按照提示就可以完成。完成后,自动会在当前用户的home目录,创建.ssh文件夹。

    2.5K20
    领券