高级用户组和权限

/etc/shadow详解

root:$6$CAEyJJ61po.ON9IZ$5ZGEu8MHPzdZAuiHl0kHLdyZr9BaLo6uClTqkMg/KAhYYdm.feklPyR5byJnh/FFhRmdM5MVQqcsyyKMZ
​
PEZ01::0:99999:7:::
​
bin:*:17988:0:99999:7:::
​
tss:!!:18638::::::
  • 第一列 用户名

  • 第二列 加密密码 !!代表不可登录

  • 第三列 从1970年1月1日到上一次修改密码经过的时间

  • 第四列 密码最小存活期

  • 第五列 密码最大存活期

  • 第六列 密码的提醒天数

  • 第七列 密码失效的天数

  • 第八列 账号失效的时间 从1970年1月1日开始算起

加密算法:

hash算法:

将明文编为密文 (md5算法、sha1sum算法、sha512sum算法)

echo redhat |md5sum

bdb52aae3b5566607f3e6023ef2e74e5 - (把redhat用md5算法加密)

hash算法用途:
  1. 比对文件的完整性

  2. 百度网盘 秒传

常用命令

chage -l 列出当前用户的信息 
​
chage 用户名 可以修改用户密码时间 
​
w 查看谁在登录 
​
last 重启和登录的记录
​
lastb 查看登录失败的记录
​
lastlog 查看用户登录日志 

默认权限:

root

  • 目录的是755

  • 文件的是644

普通用户

  • 目录的是775

  • 文件的是664

umask值

umask值是遮掩值

即775的目录umask值为002

默认目录最大权限:777

默认文件最大权限:666

高级权限:

权限名数字表示字母表示
suid4u+s
sgid2g+s
sticky(sbit)1o+t

suid:

当一个文件有suid的权限时,那么其他用户来执行该文件时,临时获得文件拥有人的权限

一般值针对命令来使用,一般只使用在二进制文件中

chmod u+s file

sgid:

1.当文件上有sgid时那么其他用户来执行该文件时可以临时获得拥有组的权限

2.当一个目录有sgid的权限时,那么任何人在该目录下创建文件时,该文件的拥有组继承该目录的拥有组

chmod g+s file

sticky:(sbit)

用在目录上 当目录上有一个sticky的权限时 其他用户只能删除拥有人是自己的文件

chmod o+t /data 针对目录

acl权限:

访问控制列表,实现更细致的访问控制

精确到某个用户对某个权限的控制

setfacl -m u:user1:rwx /data     
​
getfacl 文件/目录 查看更详细的权限的信息 
​
setfacl -m g:it:rwx /data 让it组对/data有rwx的权限 
​
mask  限制最大权限 
​
setfacl -x g:it /data 删除it组的acl权限 
​
-b 清空acl权限  
​
-R 递归修改 
​
-n 不更新掩码 

sudo提权

  • 提权了之后普通用户可以使用一些root用户做的事情

  • /etc/sudoers 提权的文件

  • 提权了之后需要在命令的前面加上sudo才可以执行成功

  • 本质:赋予该用户以root的身份执行某个命令的权限

## Allow root to run any commands anywhere (在此处写提权)
​
root                     ALL=(ALL)                                ALL 
被赋权的用户名     在哪个机器上可以提权|以哪一个人的身份执行             命令的文件
  • 注意:

  • ALL=(ALL)的时候可以-u 可以用别人的身份来执行命令

    • 如果是ALL=(root)的话不能-u来使用别人的身份执行命令

  • sudo命令选项:

  • -V 显示版本编号

    • -l 显示出使 用sudo的人的权限

    • -k 将会强迫使用者在下一次执行sodo的时候问密码

    • -b将要执行的指令放在后台执行

    • -u 指定用户 例:

sudo -u user1 touch /tmp/file02.txt        以user1的身份来创建文件,文件的拥有人是user1

扩展:

• 定义用户别名:
    如果用户太多的话可以定义一个别名
    Host_Alias USER = user1,user2
    在USER别名里写上user1和user2两个用户,对USER这个别名赋权也就可以对user1和user2两个用户赋权
​
• 定义命令别名:
    Cmnd_Alias ACCOUNT = /usr/sbin/useradd ,/usr/sbin/userdel
    用法和定义用户别名的用法一样
    定义一个ACCOUNT的命令别名
​
• sudo免密:
            admin  ALL=(ALL) NOPASSWD: ACCOUNT 
    在提权的时候加上NOPASSWD: 可以在使用sudo的时候不用输入密码
​
• 扩展:
    ○ 在组名前面加上%可以直接给组赋权
        例如:
                        %group ALL=(ALL) ALL 
        在Linux中有一个group组,在group前面加上%就可以直接给组赋权
​
• 注意:
    ○ /etc/sudoers.d 目录 目的是用于管理权限
    ○ 在/etc/sudoers.d 中重新创建文件来赋权的话比较方便管理
    ○ 比较经常用于多台机器之间的提权和赋权
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值