Linux下的用户管理

1.用户及用户组存在的意义

  • 用户是操作者在系统中的身份标识
  • 组是逻辑概念,是用户的集合
  • 用户的存在为了限制权限
  • 组的存在为了归类用户便于管理权限

2.用户在系统中的存储方式

用户在系统中就是文件中的字符串 ,每个字符串映射了该用户所用到的系统资源 。

3.用户涉及到的配置文件及内容

文件内容
/etc/passwd
#用户信息库
/etc/group
#组信息库

         /home/用户同名目录

#默认用户家目录
/etc/skel/所有文件
#用户环境配置文件模板
/etc/shadow
#用户认证信息
/etc/gshadow #组认证信息
#组认证信息

4.用户信息的查看

查看指定用户信息的正确命令: <id> 空格 <用户名称>

查看用户的指定信息:<id> 空格<参数> 空格 <用户名称>

参数作用
-u
##查看用户的uid (用户id)
-g
##查看用户的gid(组id)
-G
##查看用户所在的所有组的id
-n
##显示名字而不显示id数字

root用户的uid为0, 1~499   为系统用户的uid, 普通用户的uid从500开始依次加1

命令效果:

groups:为用户的所有组,其中  10(wheel)为student的附加祖

5.用户身份的切换方式及环境变量

  • 图形中的注销命令:
[root@localhost home]# gnome-session-quit --force         ##注销当前用户
  • su  和 su - :

      su 只切换用户身份,不切换用户环境
      su - 切换用户身份及用户环境

     

      我们可以看到用su 切换到student用户,pwd查看当前路径还在先前root的桌面里;用su - 切换到student用户,也会切换用户        环境到student的家目录 。

     !!!注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户,执行时高级用户切换到低级用户不需要密码,低级    用户切换到高级需要,平级用户切换也需要。可以用system monitor 看到,每切换一次用户身份,若不exit退出就会又产生一个shell的进程 ,因此su切换身份操作完成后必须退出!                                                                                               

6.用户及用户组的建立及删除

   我们在做这个实验时,可以建立一个监控,对用户信息库,组信息库,用户家目录的信息实时查看,便于观察实验效果

[root@localhost home]# watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo "======/home message"; ls -l /home/'

       

6.1、用户的建立及删除

  • <useradd>             建立用户的,建立用户时,读取/etc/login.defs 文件内容确定规则

        默认只有root用户可以进行用户的创建和删除,普通用户没有权限。

[root@localhost home]# useradd   test     ##创建一个名为test的用户
  • useradd的常用参数
-u 指定用户的 uid
-g 指定用户的 gid
-G 指定用户的附加组
-c 指定用户的说明
-d 指定用户的家目录 ,默认为 /home/username
-s 指定用户的默认shell
  •     删除用户的正确命令: <userdel>空格< -r > 空格<username> (-r 表示递归删除,删除用户目录及目录中的内容)                !!! 注意我们在用-s 指定用户的默认shell时,可以查看一下/etc中shell都有哪些文件,默认将shell改成一下几个文        件,否则添加用户后,无法切换到新用户!

                                                                                                                             示例:添加一个用户默认shell为/bin/shae(不是以上文件,随意指定)的用户test,用su - test切换用户,切换失败。                       

6.2、用户组的建立和删除

   <groupadd> 和<groupdel>    示例:

[root@localhost home]# groupadd -g  666  test        ##添加id为666的组

7.用户及用户组的信息管理

  •   用户组信息修改:<groupmod -g>
[root@localhost home]# groupmod  -g   1029  test     ## 修改test的组id为1029
  •  用户信息修改:<usermod>空格<参数>空格<username>
参数作用
-l 修改用户名称
-u 修改用户的 uid
-g修改用户的 gid
-aG 指定用户的附加组
-c修改用户的说明
-md 修改用户的家目录(默认为 /home/username)
-s修改用户的 shell 类型(不可随意指定,应为有效shell文件)

   示例:为用户新加一个附加组

      

8.用户认证文件的内容分析

     /etc/shadow 用户认证信息文件 

  • 内容:
    1.用户名称
    2.用户密码
    3.密码已经使用时间
    4.密码最短有效期
    5.密码最长有效期
    6.密码到期前警告
    7.密码非活跃天数
    8.密码到期日

9.用户认证管理

1、 passwd:

[root@localhost home]# passwd       ##修改当前用户密码

root用户在修改密码时只需要输入两次新密码,而普通用户需要输入当前密码和2次新密码,root用户还可以修改普通用户密码

注意:在修改密码时最好使用不少于8位的无序数字字母符号的组合,普通用户设定的新密码若不符合要求,则修改不成功,而root用户只会提示密码长度过短,但仍可以修改成功。

2、修改用户认证信息的两种命令:                                                                                                                                                 <passwd> 空格<参数>空格<username>   

passwd参数作用
-d关闭密码认证功能,登录时不用输密码,只有root用户有此权限
-l锁定密码,禁止登录
-u解锁账户
-e设定账号的密码期满,普通用户在下一次登录时需修改密码
-x密码最长有效期
-n密码最短有效期
-w密码到期前警告
-i密码非活跃天数
-S查看密码状态

<chage> 空格 <参数> 空格 <username>

chage参数作用
-d设定上次修改密码的时间
-E设定账号的到期日
-I密码的非活跃天数
-m密码最短有效期
-M密码最长有效期
-W密码到期前警告
-l列出当前的设置

3、示例:

 同样,我们在做这个实验之前可以建立一个监控,实时查看用户的认证信息

[root@localhost home]#watch -n 1  tail -n 3 /etc/shadow

①:修改student用户的密码最短有效期为3天,最长有效期为40,密码到期前警告为3天,非活跃天数为1天。

下图中18269为1970年1月1日到上次修改密码的天数

②:执行passwd -e student ,将密码的最近一次修改时间清零,强制普通用户在下次登录时修改密码

③:用chage命令修改用户的认证信息

 

10.用户权力的下放

sudo 能把某些超级权限针对性的下放 , 并且不需要普通用户知道 root 密码 , 所以 sudo 相 对于权限无限制性的 su 来说 , 还是比较安全的 。
sudo 执行命令的流程是当前用户切换到 root, 然后以 root 身份执行命令 , 执行完成后 , 直接退回到当前用户 ; 而这些的前提是要通过 sudo 的配置文件 /etc/sudoers 来进行授权。

示例:

用root身份执行visudo命令,大约在文件的100行左右修改配置文件
        

修改完成后,保存退出,切换到student用户,用sudo 执行用户的创建和删除,此时发现student可以成功执行。

我们还可以修改配置文件,使student创建用户时不用输入密码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值