Linux从入门到精通(六)

本文介绍了Linux系统中用户和组的管理,包括用户创建、权限设置、密码管理以及组的建立与操作。讲解了如何使用`useradd`、`usermod`、`passwd`、`chage`等命令,并探讨了粘滞位权限、用户登录shell以及如何突破受限的bash限制。还提到了关键文件如`/etc/passwd`、`/etc/shadow`和`/etc/group`的作用。
摘要由CSDN通过智能技术生成

软件 yum /etc/yum.repos.d/dvd.repo

[biaoqian]

name=miaoshu

baseurl=file:/misc/cd

gpgcheck=0

 

yum clean all

yum install 软件

yum remove 软件

 

- rw- r-- r-- 1 root root 4096 时间 名字

- d l b c

r w x 目录

 

r--------

chmod u-w,go-r 文件

chmod 400 文件

 

suid

 

粘滞位权限:只能对目录设定,在该目录中只有该文件的所属者可以删除自己的文件。

chmod o+t 目录

 

用户和组

3个必会文件

/etc/passwd --- 保存了操作系统中所有的用户信息

uid 用户的id号 如果该用户的id号是0 该用户及为超级管理员

gid 用户基本组id

普通用户 500 - 60000 uid 可以登录系统 但是不能运行root的命令

超级用户 uid号是0 #号作为命令的开头符号

程序用户 程序运行时候依托的用户权限。该用户不可以登录系统

xp administrator 打开的软件都是依托adm用户的权限启动

 

root:x:0:0:root:/root:/bin/bash

字段1:用户名

字段2:密码占位符

字段3:用户uid号

字段4:gid号 group组 基本组id

字段5:该功能 废弃 用户的详细信息

字段6:用户的家目录

字段7:用户的登录shell命令解释器

 

1、建立一个用户名为tom 要求该用户的uid号为600 该用户的基本组gid号为0 该用户定义登陆的shell设立了为/bin/sh

useradd -u 600 -g 0 -s /bin/sh tom

2、修改该用户的uid号为650, 修改该用户的登录shell为/sbin/nologin 尝试切换用户观察是否可以登录

usermod -u 650 -s /sbin/nologin tom

3、修改用户的登录shell为/bin/bash 并切换用户观察该shell与sh的区别

usermod -s /bin/bash tom

4、在/下建立一个tmp1的目录设定该目录具有粘滞位功能,验证是否只有创建者可以删除自己的权限

 

/etc/shells 该文件中定义了当前系统可以使用的所有命令解释器

 

bash的功能有一个叫rbash 限制使用bash

cp /bin/bash /bin/rbash 建立受限制的bash

usermod -s /bin/rbash wencoll 设定用户使用受限制的bash

不能切换目录 不能使用以/开头的路径 不能修改PATH变量

vim /home/wencoll/.bash_profile

PATH=/home/wencoll/bin 指定该用户可以使用的命令所在位置

ln -s /bin/ls /home/wencoll/bin/ls 指定该用户可以使用的命令

想要突破该受限的bash

切换为该用户 su - wencoll 登录该用户

BASH_CMDS变量是个数组,里面保存了所有用户运行过的命令,利用数组特点为该变量中的一个值a定命令的位置,即可通过该值a调用该命令。

BASH_CMDS[a]=/bin/sh

a 命令 切换了命令解释器为 /bin/sh 突破了 rbash的限制。

PATH=/bin:/usr/bin:/sbin:/usr/sbin 设定我可以运行的命令

echo $PATH 查看变量中的内容

所有设定路径的命令都可以应用了

 

 

useradd

-u 指定uid

-g 指定基本组id

-s 指定用户的登录shell

-M 指定用户不建立家目录

useradd -u 250 -M -s /sbin/nologin 用户名

 

usermod modify 修改

-u -g -s

 

userdel 用户

-r 递归

 

/etc/shadow 保存了操作系统中所有的用户密码信息

 

root:$6$l.pBm/q0$2O8CMhWo5q0NbkbfLinvPoZzDmx29x3wLgeqverN7k3vDR6kA7ki9PBLuoteqX2p4MXmGLMwt9SViBypongn1.:18183:0:99999:7:::

 

字段1:用户名

字段2:加密过的密码 md5

man crypt 说明了linux系统密码加密的格式

$sha-512加密的$盐值$加密过的密文

grub-crypt 可以自己对密码进行加密

破解

python 进入

import crypt 调用模块

crypt.crypt("我猜的密码","盐值$6$iVNvCU3y")

exit() 退出python

 

字段3:距离1970年1月1日密码最近一次的修改日期 unix操作系统诞生的日期

字段4: 密码的最短有效期 5 该用户5天内不可以修改自己的密码 0 表示不限制

字段5:密码的最长有效期 90 为基线要求

字段6:密码过期前警告时间

字段7:密码的不活跃期

字段8:账户的失效时间

 

练习:1、修改root用户密码为xxxx

2、修改allen用户密码的最长有效期为90天

chage -M 90 allen

3、要求allen用户登录系统后立刻修改自己的密码

chage -d 0 allen 下次登录必须修改密码

4、指定allen用户密码的失效时间为2019-10-30日

chage -E 2019-10-30 allen

 

passwd 用户名

passwd -S 用户名 查看密码状态

passwd -l 用户 锁定用户

passwd -u 用户 解锁用户

echo "123" | passwd --stdin root &> /dev/null 将用户密码设定为123并且屏幕不输出任何信息。

 

chage --help

 

/etc/group --- 系统中组信息

基本组:用户建立的同时必须拥有一个组该组名为基本组,如果基本组中具有成员,该组无法删除

groupadd -g 1000 1903class 建立组并指定gid号

groupmod -g 660 1903class 修改组gid

groupdel 1903class 删除组

 

附加组:一个用户可以有多个组,除了基本组以外其他组都是附加组

usremod -G 组名 用户名 指定用户附加组

gpasswd -d zhaokk class1902 从附加组中删除用户

 

 

组练习:1、系统中建立一个名为1902class的组,建立张三用户为该组成员。在/tmp目录中建立一个文件名为1902class.txt 要求该文件所属组为1902class。并且改组具有读写权限。用张三用户验证

chgrp 1902class /tmp/1902.txt 修改文件的所属组为1902class

chown zhangsan /tmp/1902.txt 修改文件的所属者为zhangsan

2、系统中建立一个名为1903class的组,将张三用户附加组指定为1903class。在/tmp/1903class.txt 舍得该文件的所属组为1903class。尝试用张三查看该文件。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值