当前位置: 首页 > news >正文

linux创建用户和组、授权、禁止root远程登录、限制SSH的IP登录

创建全权限用户

adduser admin
passwd  admin
输入密码:123456

授权全权限

vim /etc/sudoers

root ALL=(ALL) ALL下面添加一行

admin    ALL=(ALL)     ALL

如需新用户使用sudo时不用输密码,把最后一个ALL改为NOPASSWD:ALL即可。

禁止root远程登录

vi /etc/ssh/sshd_config

输入/PermitRootLogin,回车,把PermitRootLogin改成no并把最前面的#号去掉

PermitRootLogin no

:wq保存并退出
使配置文件生效

systemctl restart sshd

退出远程登录的root用户,再次尝试连接,发现已经连接不上了。

用户

查看可以登录系统的用户

cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

查看可以登录系统的用户组

cat /etc/group | grep -v /sbin/nologin | cut -d : -f 1

组和授权

创建安全组和审计组

groupadd safe
groupadd auditor

创建用户并添加到指定组
root用户也可以直接用echo “123456” | passwd --stdin safe改密码

adduser safe -g safe
passwd  safe
密码:123456

adduser auditor -g safe
passwd  auditor
密码:123456

添加用户auditor到safe组

usermod -g safe auditor

修改/data目录归属人和组,以及子目录也归safe组

chown safe:safe /data/mariadb/
chown -R safe:safe /data/mariadb/

切换用户

su safe

授权:当前登录用户可以读写/data,本组人可以读写/data,其它组读的权限
safe用户对/data/mariadb:chmod 700 /data/mariadb(/data/mariadb文件只能自己看,组和其它组都无法看)
safe用户对/data/mariadb/mariadb.log:chmod 740 /data/mariadb/mariadb.log(auditor用户加入到safe组,和safe因为同组,可以读数据)

chmod u=rwx,g=rx,o=x /data
chmod u=rwx,g=rx,o=x /data/mariadb.log

限制SSH IP登录

只允许ip为192.168.56.122的登录

vim /etc/hosts.allow

追加内容(如果是网段,如:192.168.56.*表示192.168.56.1~255都可以登录

sshd:192.168.56.122:allow
vim /etc/hosts.deny

追加内容

sshd:ALL

重启sshd服务使配置生效

systemctl restart sshd.service

只允许某个用户使用某个IP登录

vim /etc/ssh/sshd_config

追加内容

allowusers root@192.168.56.122

重启sshd服务使配置生效

systemctl restart sshd.service

防止修改密码报错先临时关闭,然后再开启

#改前关闭
/usr/sbin/setenforce 0
chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow
lsattr /etc/passwd /etc/shadow
#改完还原
/usr/sbin/setenforce 1
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
lsattr /etc/passwd /etc/shadow
vi /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so
auth        required      pam_tally2.so deny=5 unlock_time=180 even_deny_root_account audit

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so

#password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so
password    requisite    pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=6 ucredit=-2 lcredit=-1 dcredit=-4 ocredit=-1

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so

把上面那行注释去掉,改完密码还原注释。

删除用户和用户组

userdel auditor
groupdel auditor
usermod –G auditor auditor

相关文章:

  • 10大开源的快速开发平台—架构师必看
  • 3399-9.0 驱动根据vid和pid获取摄像头数量
  • Pandas DataFrame 保存到HTML文件(附炫酷 HTML Table 模板网站)
  • java过滤器(Filter)
  • 概率 | 考研 —— 复习知识点及方法 大总结
  • 【OPC UA】C# 通过OpcUaHelper建立OPC客户端访问KEPServerEx6 OPC服务器数据
  • 大数据算法系列4:二叉树,红黑树和B树
  • 想知道图片转表格用什么软件?不妨试试这些软件
  • 作为一名测试人员,如何拾开发者牙慧,开启兼职赚钱之路
  • Web自动化测试(二)—— Selenium-API操作
  • 【面试分享】Java 面试题(Spring Boot / Spring Cloud)
  • 【计算机毕业设计选题】10套易过的精品毕设分享(源码+论文)
  • 推荐一个最好用的高性能、低内存、跨平台的图片处理库
  • Windows使用内存映射文件
  • 基于Matlab使用激光雷达检测分类跟踪车辆仿真(附源码)
  • 《Java编程思想》读书笔记-对象导论
  • 《深入 React 技术栈》
  • css的样式优先级
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Java深入 - 深入理解Java集合
  • Laravel Telescope:优雅的应用调试工具
  • Nacos系列:Nacos的Java SDK使用
  • spring boot 整合mybatis 无法输出sql的问题
  • sublime配置文件
  • Travix是如何部署应用程序到Kubernetes上的
  • 闭包--闭包作用之保存(一)
  • 给新手的新浪微博 SDK 集成教程【一】
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 移动端解决方案学习记录
  • 阿里云ACE认证之理解CDN技术
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​Java并发新构件之Exchanger
  • ​卜东波研究员:高观点下的少儿计算思维
  • ​批处理文件中的errorlevel用法
  • #### golang中【堆】的使用及底层 ####
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (2)MFC+openGL单文档框架glFrame
  • (2)STL算法之元素计数
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (pytorch进阶之路)扩散概率模型
  • (阿里云万网)-域名注册购买实名流程
  • (黑马点评)二、短信登录功能实现
  • (四)linux文件内容查看
  • (算法)求1到1亿间的质数或素数
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET MVC 验证码
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C#⾯试题汇总系列:集合、异常、泛型、LINQ、委托、EF!(完整版)
  • .NET/C#⾯试题汇总系列:⾯向对象