其他分享
首页 > 其他分享> > 用户管理03

用户管理03

作者:互联网

用户组管理及用户提权

用户组管理

# 相关文件
/etc/group

[root@localhost ~]# cat /etc/group
root:x:0:
# 1.组名字
# 2.组密码占位符
# 3.GID
# 4.显示该组的附加组成员

/etc/gshadow
[root@localhost ~]# cat /etc/gshadow
lza:!::
# 1.组名字
# 2.组密码(空和!是没有密码)
# 3.组管理员
# 4.显示该组的附加成员


# 相关命令
#增
groupadd [选项]... 组名

#选项
-g:指定组的gid
-r:指定gid范围201-999之间的系统组

# -g
[root@localhost ~]# groupadd test200 -g 10086
[root@localhost ~]# tail -1 /etc/group
test200:x:10086:

# -r
[root@localhost ~]# groupadd test300 -r
[root@localhost ~]# tail -1 /etc/group
test300:x:995:

#删
groupdel 组名

#改
groupmod
-g:修改组的gid
-n:修改组的名字

[root@localhost ~]# groupmod -g 10010 test200
[root@localhost ~]# tail -2 /etc/group
test200:x:10010:
test300:x:995:

[root@localhost ~]# groupmod -n test400 test300
[root@localhost ~]# tail -2 /etc/group
test200:x:10010:
test400:x:995:

[root@localhost ~]# groupmod test400 -n test666
[root@localhost ~]# tail -2 /etc/group
test200:x:10010:
test666:x:995:

# 查
[root@localhost ~]# cat /etc/group

用户身份切换

Linux系统中,有时候普通用户有些事情是没办法操作,除非是root管理员用户才能做到。这时就需要临时切换到root管理员身份。

如何在普通用户的情况下,完成日常工作?

优点:简单,方便

缺点:需要知道root密码,不安全,切换到root没有日志审计功能

su -xxx -c :不切换用户,以该用户身份执行命令

su - :直接切换到root用户

优点:安全,方便

缺点:复杂

系统的环境变量文件

# 局部环境变量
~/.bashrc
~/.bash_profile

# 全局环境变量
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc


#加载顺序
[Thu Apr 07 - zls root@localhost ~]$ vim ~/.bashrc
[Thu Apr 07 - zls root@localhost ~]$ vim ~/.bash_profile
[Thu Apr 07 - zls root@localhost ~]$ vim /etc/profile
[Thu Apr 07 - zls root@localhost ~]$ vim /etc/profile.d/zls.sh
[Thu Apr 07 - zls root@localhost ~]$ vim /etc/bashrc

# 顺序
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc

# 非登录式shell不加载的环境变量
/etc/profile
~/.bash_profile

用户身份提权

# 系统的超级管理员(root)需要做sudo的配置(发一个兵符给指定的普通用户)
# 普通用户只需在,执行命令之前,加上sudo即可

sudo的配置(root发兵符的过程)

# 没有sudo命令,则需要安装
[root@localhost ~]# yum install -y sudo

# sudo的配置文件
[root@localhost ~]# vim /etc/sudoers
# 用户名 所有主机=(所有角色) 所有命令的执行权限
root ALL=(ALL) ALL
lza ALL=(ALL) ALL
# 普通用户也不需要输入自己的密码了
lza ALL=(ALL) NOPASSWD:ALL


# 推荐修改sudo的方式
[root@localhost ~]# visudo
-c:检查sudoers文件的语法

# [root@localhost ~]# visudo -c
/etc/sudoers: parsed OK

# 修改在第100行
100 root ALL=(ALL) ALL
101


# 免密切换到root用户,就算不免密,也是输入lza用户的密码,切换到root用户
[lza@localhost ~]$ sudo su -


# 报错
[root@localhost ~]# sudo ll
sudo: ll: command not found

原因:ll是别名,不是系统命令,sudo不走别名,只认识系统命令

# 普通用户以root身份执行命令
[root@localhost ~]# visudo
[root@localhost ~]# su - lza
Last login: Sun Apr 10 10:12:44 CST 2022 on pts/0
[lza@localhost ~]$ mkdir /root/lza
mkdir: cannot create directory ‘/root/lza’: Permission denied
[lza@localhost ~]$ ll /root/lza
ls: cannot access /root/lza: Permission denied
[lza@localhost ~]$ sudo mkdir /root/lza
[sudo] password for lza:
# ll是别名,不是系统命令。
[lza@localhost ~]$ sudo ll /root/lza
sudo: ll: command not found
[lza@localhost ~]$ sudo ls -l /root/lza
total 0


# sudoers其他别名设置
Host_Alias FILESERVERS = localhost, web01
Cmnd_Alias ZLSCMD = /bin/cp,/bin/mv
Cmnd_Alias ZLSUNCMD =!/bin/rm,!/bin/su
# lza ALL=(ALL) !/bin/ls
表示lza用户除了"ls"这个命令不能用,其它命令都能用

Cmnd_Alias:命令别名
Host_Alias:主机别名
User_Alias:角色别名

# 给组发兵符
%whell ALL=(ALL) NOPASSWD:ALL

# 提权不用修改visudo,只需要加入提权组,即可
usermod 用户名 -G 提权组

注意:除非企业中有要求,哪些命令需要用,哪些不能使用

 

 

 

标签:profile,03,管理,sudo,用户,etc,lza,root,localhost
来源: https://www.cnblogs.com/LZA1218/p/16126391.html