默认情况下,Linux中创建用户帐户时,用户具有shell访问权限。在某些情况下不需要用户帐户登录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登录

更改现有用户的shell,可以使用usermodchsh两个命令来修改:

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. AI 助力金融后,中美金融科技领域最大的差距是什么?
  2. 16 美元,黑客就能截获你的短信?
  3. python中的日期与时间
  4. js高程(二)-----继承
  5. 阿里云上海ACE同城会 | 数据库前沿技术解读及行业应用
  6. 看动画学算法之:二叉堆Binary Heap
  7. 当安全遇到大数据 “永恒之蓝”也将无所遁形!
  8. BZOJ3956: Count
  9. amd cpu不能在cmd环境下运行java代码_Golang安装与环境搭建并在VSCode里面输出HelloWord...
  10. java基础练习(持续更新)
  11. 怎么删除计算机c盘应用,C盘垃圾文件怎么删除,清理系统盘的电脑软件-腾讯电脑管家...
  12. 基站蓄电池充放电曲线分析(一)
  13. 2007年个人站长/SEOer必上网站
  14. Rayman的绝顶之路——Leetcode每日一题打卡7
  15. 作为大数据技术面试官,我喜欢什么样的应届毕业生?
  16. DeFi新玩法丨一文教你玩转NFT碎片化协议Fractional
  17. 产品web3d效果动态展示更生动形象
  18. 投影仪连接wifi无法连接网络认证如何处理
  19. 如何让笔记获得更多曝光量?小红书曝光机制是怎样的
  20. Scala语言学习:Scala是什么?

热门文章

  1. 中科院智能乒乓球桌登上Nature:检测球速跟踪路径,准确找到击球位置
  2. 李航「机器学习」最全综述
  3. 树的高度(小米2017秋招真题)
  4. Python给数字前固定位数加零或数字前置保留0
  5. 学习抖音上如何一下删除大型文件,源代码给出!
  6. 不再使用快捷方式打开电脑软件!如何Windows+r 来打开一个你想要打开的软件软件?
  7. 卷积神经网络是如何实现不变性特征提取的
  8. gluoncv 训练自己的数据集,进行目标检测
  9. mysql 允许远程登录
  10. watchOS 5 新特性:继续发力运动与健身