默认情况下,Linux中创建用户帐户时,用户具有shell访问权限。在某些情况下不需要用户帐户登录shell。本文介绍如何设置已存在的用户禁止shell登录、创建用户时禁止shell登录。

默认情况下,创建用户时,将按照/etc/default/useradd文件中定义的为用户分配shell。Linux中附带了一个/sbin/nologinshell,当用户尝试连接时,它会显示一条消息“This account is current not available”。这是禁止用户登录shell的一种方法。下面是使用方式:



useradd -s /sbin/nologin {username}

下面实例,创建一个用户,shell设置为/sbin/nologin:



[root@localhost ~]# useradd user01 -s /sbin/nologin [root@localhost ~]# tail -1 /etc/passwd user01:x:1000:1000::/home/user01:/sbin/nologin

查看/etc/passwd可以看到user01的shell为/sbin/nologin

给user01用户设置密码,然后ssh登录测试一下:



[root@localhost ~]# echo '123'|passwd --stdin user01 Changing password for user user01. passwd: all authentication tokens updated successfully. [root@localhost ~]# ssh user01@localhost user01@localhost's password: This account is currently not available. Connection to localhost closed.

输入密码之后,提示This account is current not available,然后连接就关闭了。

更改现有用户的shell,可以使用usermod和chsh两个命令来修改:chsh命令使用语法如下:



chsh -s /sbin/nologin {username}

下面修改user02用户的shell:



# Centos8默认没有安装chsh,使用下面命令安装: [root@localhost ~]# yum -y install util-linux-user [root@localhost ~]# chsh -s /sbin/nologin user02 Changing shell for user02. chsh: Warning: "/sbin/nologin" is not listed in /etc/shells. Shell changed.

usermod命令使用语法如下:



usermod -s /sbin/nologin {username}

下面修改user03用户的shell:



[root@localhost ~]# usermod -s /sbin/nologin user03

也可以手动修改/etc/passwd文件中的用户shell。

总 结

在本教程中讲述了如何禁止用户访问默认Shell。希望对你有帮助!

在 Linux 中如何禁止用户登录相关推荐

  1. 在Linux中如何禁止用户登录

    默认情况下,Linux中创建用户帐户时,用户具有shell访问权限.在某些情况下不需要用户帐户登录shell.本文介绍如何设置已存在的用户禁止shell登录.创建用户时禁止shell登录. 创建用户时 ...

  2. linux 禁止其他用户登录,在Linux中如何禁止用户登录

    给user01用户设置密码,然后ssh登录测试一下: 输入密码之后,提示This account is current not available,然后连接就关闭了. 命令使用语法如下: 也可以手动修 ...

  3. linux下拒绝用户登录,Linux系统用户管理之禁止用户登录

    一.问题描述 今天在CentOS上切换用户的时候提示This account is currently not available su elasticsearch This account is c ...

  4. Linux禁止用户登录

    转载链接:http://blog.sina.com.cn/s/blog_4cebadd10100a9bl.html 我们在做系统维护的时候,希望个别用户或者所有用户不能登录系统,保证系统在维护期间正常 ...

  5. linux中进程的用户管理

    linux中进程的用户管理 每个进程都拥有真实的用户.组(uid.gid),有效的用户.组(euid.egid),保存的设置用户.组(suid.sgid),还有linux中专门用于文件存储存取的用户. ...

  6. linux中用户组和用户,linux中用户和用户组

    一.用户和组原理 一个用户可以属于多个组,一个组有多个用户 在Linux中操作系统必须依赖组和用户进行管理 二.与用户和组相关的配置文件 1.组相关配置文件 1)/etc/group :管理用户组信息 ...

  7. suse linux 单用户,如何在 SUSE 12 Linux 中进入单用户模式?

    原标题:如何在 SUSE 12 Linux 中进入单用户模式? 编译自: https://kerneltalks.com/howto/how-to-enter-single-user-mode-in- ...

  8. suse 新增用户oracle,在SUSE Linux中让其他用户能运行Oracle命令

    SUSE Linux中让其他用户能运行Oracle命令的方法介绍: suid/guid的问题: 要求非Oracle用户也能运行sqlplus等oracle命令. 解决方法: 假如希望设置s u i d ...

  9. Linux中Mysql root用户看不到mysql库问题解决方式

    Linux中Mysql root用户看不到mysql库问题解决方式 参考文章: (1)Linux中Mysql root用户看不到mysql库问题解决方式 (2)https://www.cnblogs. ...

最新文章

  1. 64位linux下玩32位汇编编程
  2. 由return联想到的
  3. C#中用WMI实现对驱动的查询
  4. java jar 没有主清单属性_Spring Boot jar中没有主清单属性的解决方法
  5. deepin系统转为windows_windows系统下安装深度系统deepin
  6. python如何循环使用input_python基础知识input到while循环
  7. linux-新建一个centos虚拟机系统-安装全过程图示
  8. Ripple(Glance)
  9. 【matplotlib笔记】plt.subplot()绘制子图
  10. 美网络司令部:马上修复严重的 PAN-OS 漏洞,免遭国家黑客攻击
  11. 全平台 Chrome 浏览器 44.0.2403.89 版本下载
  12. 机器学习基石 作业三
  13. 前端机器人流程设计的最佳实践:输入输出文件结构和逻辑框架
  14. 数字频率系数测试软件,简易数字频率计电路图大全 - 全文
  15. 树莓派4B安装系统及开热点
  16. win7 无法访问服务器共享文件夹,win7系统共享文件夹无法访问的解决方法
  17. 联发科mt6735详细参数_联发科MT6737和MT6735芯片资料和性能对比
  18. 如何卸载360安全卫士
  19. gzdeflate函数_gzdeflate函数
  20. 在 vue 路由懒加载中给 Webpack Chunks 命名

热门文章

  1. 设计模式C++实现(10)——桥接模式
  2. 1、CSS Backgrounds(背景)
  3. 1.2.1 计算机硬件的基本组成
  4. linux6.6挂载u盘失败,mini2440 Linux系统自动挂载U盘与SD卡失败 解决方法
  5. php 判断类存在,PHP怎么判断类是否存在
  6. do msgbox loop_【连载1】DDC模块 DO点与强电电气柜的接口形式
  7. 【Java】使用Java调用Python的四种方法
  8. 【Java】6.5 抽象类
  9. 万字讲解API网关的来龙去脉
  10. chrome 插件精选之 github 篇