Linux的su和sudo;PAM,root远程端口设置

Posted 遙遙背影暖暖流星

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的su和sudo;PAM,root远程端口设置相关的知识,希望对你有一定的参考价值。

1、登录环境变量
vim .bash_profile 修该环境标量的文件
echo $PATH #查看系统环境变量的pash

在这里插入图片描述

vim .bash_profile 
     export  Tmuout=600   #当用户600秒闲置时自动登出
     wq
source  .bash_prpfile      #立即生效

拓展:
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.
总结
/home/oracle/.bash_profile oracle用户的配置
/etc/skel/.bash_profile 默认配置
/root/.bash_profile root用户的配置

2、su和sudo
su - 用户名 #切换用户
sudo +指令 #在普通用户下,执行一定root的权限操作
/etc/sudoers #sudo的配置文件
但允许用户具有某项操作权限时不直接改这个suders文件,而是通过有提示功能的visudo进行直接修改配置。
在这里插入图片描述

添加用户的lv74134的,具有useradd的 使用权限
在这里插入图片描述
注意大小写和绝对路径

lv74134 ALL=/usr/sbin/useradd

若想要普通用户获取更多的权限,直接写入,用逗号分隔即可
在这里插入图片描述

步骤:1,在root下,visudo ,增加某个用户的操作权限
2,切换到普通用户,然后执行 sudo +指令

3、sudo中的wheel 用户组和user alias 别名
(1)wheel 用户组
将zhangsan等归于用户组z1中

[root@localhost ~]# gpasswd -a zhangsan z1  
正在将用户“zhangsan”加入到“z1”组中

在这里插入图片描述
如图,z1前面%,表示组名。

[root@localhost ~]# su - zhangsan
上一次登录:日 516 15:07:47 CST 2021pts/1[zhangsan@localhost ~]$ sudo useradd wangsan
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] zhangsan 的密码:      #输入zhangsan密码后就可以执行useradd的指令
[zhangsan@localhost ~]$ cat /etc/passwd |tail -2
zhangwu:x:1003:1004::/home/zhangwu:/bin/bash
wangsan:x:1004:1005::/home/wangsan:/bin/bash      #显示成功创建成功
[zhangsan@localhost ~]$ 

(2)alias 创建别名

visudo 
 User_Alias  LAOSEPI=zhangsi,zhangwu
 Cmnd_Alias COM1=/urs/sbin/useradd 
 LAOSEPI ALL=COM1

在这里插入图片描述

在这里插入图片描述
登录zhangsi可以成功创建用户
在这里插入图片描述
(3)通配符的操作
在这里插入图片描述
(4)自定义sudo的日志路径
在这里插入图片描述

4、PAM认在这里插入图片描述

查看某个程序是否支持PAM认证,可以用ls命令看安全认证模块文件
比如查看su是否支持PAM模块认证
ls /etc/pam.d / grep su
查看su的PAM配置文件:cat /etc/pam.d/su
每一行都是一个独立的认证过程
每一行可以区分为三个字段
认证类型
控制类型
PAM模块及其参数

4.1PAM认证原理
一般遵循的顺序:Service(服务)一PAM(配置文件)→pam_so(自己的模块)
【1】首先要确定哪━项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证

【2】用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证

【3】不同的应用程序所对应的PAM模块是不同的

4.2PAM安全认证流程
控制类型也称做Control Flags,用于PAM验证类型的返回结果
1.required验证失败时仍然继续,但返回Fail
2.requisite验证失败则立即结束整个验证过程,返回Fail
3.sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
4.optional不用于验证,只显示信息(通常用于session类型)
vim /etc/pam.d/su 、
在这里插入图片描述
修改 /etc/login.defs配置文件
在这里插入图片描述
5、不让root ssh远程连接
编辑ssh的配置文件vim /etc/ssh/sshd_config

(1).改端口ssh的端口号
在这里插入图片描述
(2)2.设置toot 不能远程
在这里插入图片描述
6、开关机安全控制调整
【1】Bios引导设置
将第一引导设备设为当前系统所在硬盘
禁止从其他设备(光盘、U盘、网络)引导系统
将安全级别设为setup,并设置管理员密码
【2】GRUB限制
使用grub2-mkpasswd-pbkdf2生成密钥
修改letc/grub.d/00_header文件中,添加密码记录
生成新的grub.cfg配置文件

6.1设置GRUB密码

grub2-setpassword
Ctrl +x 退出这个grub2界面进系统
grub2-mkpasswd-pbkdf2 生成秘钥

在这里插入图片描述
进入grub菜单需要输入密码
6.2隐藏root用户名

vim /boot/grub2/grub.cfg
在这里插入图片描述
7、终端登录安全控制
限制root只在安全终端登录
安全终端配置/etc/securetty
在这里插入图片描述
7.1.禁止普通用户登录系统
创建/etc/nologin #文件若文件里面什么都不写则默认所有普通用户不能登录,若里面添加用户则只限制文件中的用户

touch /etc/nologin
echo 系统维护 >> /etc/nologin #在文件中可以写入不能登陆系统的原因
8、端口扫描NMAP
一款强大用于网络扫描、安全检测工具

在这里插入图片描述

在这里插入图片描述
9、6关于reboot的快捷件
存放目录 /usr/lib/systemd/system
在这里插入图片描述
若不想用直接删掉硬链接即可

以上是关于Linux的su和sudo;PAM,root远程端口设置的主要内容,如果未能解决你的问题,请参考以下文章

Linux的su命令,sudo命令和限制root远程登录

Linux——系统安全及应用(账号安全su命令PAM认证sudo命令)

CentOS7--su和sudo

linux限制root远程登录su命令sudo命令

Linux centosVMware su命令sudo命令限制root远程登录

Linux学习总结-su命令 sudo 命令 限制root远程登录