【Linux组管理】

五、组命令管理

组管理信息保存在/etc/group 和/etc/gshadow

head -2 /etc/group

root:x:0:

bin:x:1:bin,daemon

由":"分割,组成:

1.组账户名称 # 组名称

2.密码占位符 # 组的密码(/etc/gshadow)

3.组GID # 组GID信息

4.组成员 # 仅显示附加成员,基本成员不显示

head -2 /etc/gshadow

root:::

bin:::bin,daemon

由":"分割,组成:

1.组账户 # 组名称

2.密码占位符 # 组密码

3.组管理员 # 组管理员

4.组成员 # 附加成员

使用groupadd新增组

groupadd [-g GID] groupname

# 不指定GID,默认从1000开始

groupadd gtest

tail -1 /etc/group

groupadd -g 5555 gtest2

tail -1 /etc/group

"-r" 创建系统组,gid:201-999

groupadd -r test_test

tail -1 /etc/group

使用groupmod命令修改组

groupadd oldboy_test

tail -1 /etc/group

#修改组ID

groupmod -g 5555 oldboy_test

tail -1 /etc/group

# 修改组名

groupmod -n oldboy_modify oldboy_test

tail -1 /etc/group

使用groupdel删除组

没有特殊选项,若一个用户有基本组和附加组,只能删除附加组,不能删除基本组

groupdel oldboy_modify

# 删除用户附加组

tail -1 /etc/group

groupdel devops

id oldboy

# 无法删除用户基本组

tail -n 1 /etc/group

groupdel network_sa

#只有删除用户或用户变更后,方可删除该组

# gpasswd设置组密码

groupadd devops

gpasswd devops

# 使用newgrp命令切换基本组身份

id oldboy

# 切换普通用户

su - oldboy

newgrp devops

六、身份切换

shell 分类

交互式shell,等待用户输入执行提交的命令,exit退出

非交互式shell,执行shell脚本,脚本执行结束shell自动退出

登陆shell, 需要输入用户名和密码才能进入shell, su - oldboy

查看登陆shell

pstree

#临时设置

export PS1='[\h@\u \t]#'

bash配置文件

Bash配置文件保存用户的工作环境

个人配置文件:~/.bash_profile ~/.bashrc

全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrc

profile类文件,设定环境变量,登陆前运行的脚本和命令

bashrc类文件,设定本地变量,定义命令别名

个人配置优先于全局配置

# 登陆式shell配置文件应用顺序

/etc/profile > /etc/profile.d/*.sh > ~/.bash_profile > ~/.bashrc > /etc/bashrc

# 非登陆式shell配置文件执行顺序

~/.bashrc > /etc/bashrc > /etc/profile.d/*.sh

# 验证登陆shell和非登陆shell,配置文件执行顺序,在每个配置文件中加入“echo”

# 最后通过登陆shell和非登陆shell方式登陆Linux,即可验证执行顺序

如何验证全局配置和个人配置优先级。

su - 代表进入登陆式shell,否则进入非登陆式shell

普通用户su - 不加username时,可以切换到root用户

root用户su - 切换到普通用户,无需密码

七、sudo提升权限

su切换用户身份,如果每个普通用户都能切换到root身份。

sudo,执行一个root才能执行的命令,需要输入用户自己的密码。

默认只有root用户可以使用sudo命令,普通用户需要配置/etc/sudoers

centos7提权方法:

usermod -G wheel oldboy

# 日志审计

sudo tail -f /var/log/secure

yum install sudo -y

visudo

#默认

root ALL=(ALL) ALL

# 新增

用户名 主机名 角色名 命令名

oldboy ALL=(ALL) bin/rm, bin/cp

oldboy ALL=(ALL) NOPASSWD:/bin,cp, /bin/rm # 不需要密码执行命令

# root默认就拥有sudo最高权限,新增行让oldboy用户拥有sudo权限

# 检查配置文件语法

visudo -c

su - oldboy

sudo useradd abc

sudo -u test1 touch test2.txt #管理员登陆模式下

案例:

要求oldboy用户能够添加删除更改改用户属性、密码,不包括root用户

visudo

oldboy ALL=(ALL) ALL /usr/sbin/useradd*

which useradd

which userdel

which usermod

visudo -c

sudo -l

sudo useradd abc

sudo usermode -u 4000 abc

oldboy ALL=(ALL) /usr/sbin/user*, /usr/bin/passwd, !/usr/sbin/usermode * root, !/usr/bin/passwd root

sudo usermod -L root #不能修改ROOT属性

sudo passwd -d root #可以清除密码

sudo日志审计

通过sudo 和 syslog配合实现对用户进行权限的日志审计并记录日志几种管理,实施后,让所有运维和开发执行的sudo命令都有记录可查。

sudo日志审计,真闷针对sudo明星的系统用户记录其执行的命令相关信息。

安装sudo和rsyslog

yum install -y sudo rsyslog

rpm -qa rsyslog sudo

配置/etc/sudoers记录日志路径

echo "Defaults logfile=/var/log/sudo.log" >> /etc/sudoers

查看追加的日志配置

tail -1 /etc/sudoers

/var/log/mesage #公共日志

/var/log/security #安全日志

用户邮箱

/var/spool/mail/用户名

用户模板目录

/etc/skel

用户初始化文件

/etc/defaults/useradd

/etc/login.defs

组信息文件

/etc/group

/etc/gshadow

登陆环境配置文件

/etc/profile /etc/profile.d/* ~/.bash_profile

/etc/bashrc ~/.bashrc

用户查看命令

id w who whoami finger last

用户管理命令

useradd usermod userdel passwd

组查看命令

groups

组管理命令

groupadd groupmod groupdel gpasswd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值