unit 5

################
####第五单元####
################

##################
####1.用户理解####
##################
用户就是系统使用者的身份
在系统中用户存储为若干窜字符+若干个系统配置文件
用户信息涉及到的系统配置文件:
/etc/passwd        ###用户信息
用户:密码:uid:gid:用户说明:家目录:用户使用的shell(用shell是翻译器,在用户和linux中间起到翻译作用)
/etc/shadow        ###用户认证信息
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
警告期:警告还有几天密码到期
非活跃期:提示在密码到期后,还有几天可以修改密码
/etc/group        ###组信息
组名称:组密码:组id:附加组成员
/etc/gshadow        ###组认证信息
/home/username        ###用户家目录 举例:cd /home/student(进入student的家目录)
/etc/skel/.*        ###用户骨架文件

举例:
vim /etc/passwd (查找所有用户的密码信息)
cd /home/student(进入student的家目录)

##################
####2.用户管理####
##################

1.用户建立
useradd        参数        用户名字
        -u    ##指定用户uid
        -g    ##指定用户初始组信息,这个组必须已经存在
        -G    ##指定附加组,这个组必须存在
        -c    ##添加用户说明
        -d    ##更改系统默认的用户家目录
        -s    ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字
2.用户删除
userdel     -r    用户名称 -r表示删除用户信息及用户的系统配置

3.组的建立
groupadd    -g    ##建立组
groupdel    组名字    ##删除组

作以上实验的监控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'
举例:
useradd tom
useradd -u 6666 com(创建用户com,指定用户com的uid为6666)(创建com用户,指定uid为6666,系统默认uid=gid=group=6666)
groupadd -g 8888 yy (创建一个组叫做yy,指定yy的gid为888)
useradd -g 8888 cc (创建一个cc用户,指定cc用户的组为8888)(没有groupadd -g 8888 yy时,执行useradd -g 8888 cc,显示该gid=8888的组不存在,所以创建一个用户指定组的时候,必须先有组,才能将用户加入这个组,且cc用户的uid 为系统自动给的值,gid=group=8888,因为gid和group是一个东西)
useradd dd -c test(创建一个dd用户,在dd用户家目录前添加一个说明)
useradd ff -d /home/westos(创建一个ff用户,ff用户的家目录本来应该是 /home/ff,通过这条指令,可以修改为/home/westos)
useradd hh -s /etc/shells(创建一个hh用户,hh用户使用的shell本来是系统默认的/bin/bash,这里存了用户能使用shell的名字,通过这条命令可以将hh用户的shell改为/etc/shells)

4.用户id信息查看
id    参数    用户
    -u    ##用户uid
    -g    ##用户初始组id
    -G    ##用户所有所在组id
    -n    ##显示名称而不是id数字
    -a    ##显示所有信息
举例:
id -u tom
id -g tom
id -G cc
id -n
id -a cc

5.用户信息更改
usermod    参数    用户
    -l    ##更改用户名称 举例:usermod -l tt cc(将已存在用户cc的名称改为tt)
    -u    ##更改uid 举例:usermod -u 4567 tt (将已存在用户tt的uid值改为4567)
    -g    ##更改gid
举例:groupadd -g 4567 qq(先创建一个组名称为qq,gid=4567的组)
     usermod -g 4567 tt(将tt的gid改为4567,因为gid和group为同一个东西,所以gid=group=4567)
    -G    ##更改附加组
举例:添加的组必须先前存在,被添加的用户也必须先前存在
     usermod -G 6670 hh(将hh添加到group为6670的组里)
    -aG    ##添加附加组
举例:一个用户再-G时,最多只能添加到两个组里,-aG可以添加到多个组里
     usermod -aG 6672 hh (将用户添加到group为6672的组里)
    -c    ##更改说明
举例:usermod -c happy hh (将hh用户说名由原来的变为 happy)
    -d    ##更改家目录指定
举例:usermod -d /home/rr hh (将hh用户原本系统默认的家目录/home/hh改为/home/rr)
    -md    ##更改家目录指定及家目录名称id
举例:usermod -md /mnt/qq hh (将hh用户原本系统默认的家目录/home/hh改为/mnt/qq,只有-d时,只能更改home后的名称,-md更改整个家目录的路径为/mnt/qq)
    -s    ##更改shell
举例:usermod -s /sbin/nologin hh (将hh用户原本系统默认的家目录/bin/bash 改为/sbin/nologin)
    -L    ##冻结帐号
举例:usermod -L hh(将hh用户锁定,用watch -n 1 passwd -S hh 监控,显示为LK冻结hh用户)
    -U    ##解锁
举例:usermod -U hh(将hh用户解锁,用watch -n 1 passwd -S hh监控)

######################
####3.用户权力下放####
######################
1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户
hostname(主机名称)
which useradd(找到useradd命令所在的位置)
下放权力配置文件:/etc/sudoers

2.下放权力的方法
*)超级用户执行visudo进入编辑/etc/sudoers模式
*)格式:
获得权限用户    主机名称=(获得到的用户身份)    命令
test    desktop0.example.com=(root)    /usr/sbin/useradd
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd

3.执行下放权限命令
sudo    命令    ##如果第一次执行sudo需要输入当前用户密码
在/etc/sudoers中如果设置如下:
test    desktop0.example.com=(root)     NOPASSWD: /usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码

完成后用 vim /etc/passwd 查找所有用户信息


############################
####4.用户认证信息的控制####
############################

chage     参数    用户
    -d    ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码    
    -m    ##最短有效期
    -M    ##最长有效期
    -W    ##警告期
    -I    ##用户非活跃天数
要使得密码安全性最高,可采用每次登陆后更改登陆密码!
该方法有两种实现方式:
        第一种:chage -d 0
        第二种:passwd -e
举例:
1.创建 useradd 7
2.监控用户7 watch -n 1 passwd -S 7
3.改变用户7的最短有效期为1 chage -m 1 7
4.改变用户7的最长有效期为2 chage -M 2 7
5.改变用户7的警告期为3 chage -W 3 7
6.改变用户7的用户非活跃天数为4 chage -I 4 7

####root密码忘记#####
1.重新启动系统
rht-vmctl poweroff desktop
接着在桌面双击View Desktop虚拟机
2.在系统启动阶段按上下健停止系统系统引导
3.进入选择启动引导标题,按“E”进行编辑
注:此时鼠标消失,按ctrl alt 释放鼠标
4.找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
5.ctrl+x启动设定过后的系统引导条目
6.进入系统后执行chroot /sysroot切换到真实的系统环境
再问系统whoami,看是否骗过系统为root用户
7.passwd root修改超级用户密码
8.建立文件/.autorelabel让系统从新扫描所有文件
touch /.autorelabel
9.exit两次使系统自动重新启动
10.输入刚才改的密码登陆虚拟机

猜你喜欢

转载自blog.csdn.net/hetoto/article/details/83142579