Linux之用户管理

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

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

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

  • 用户在系统中就是文件中的字符串 vim /etc/passwd
  • 每个字符串映射了该用户所用到的系统资源

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

配置文件内容
/etc/passwd用户信息库
/etc/group组信息库
/home/用户同名目录默认用户家目录
/etc/skel/所有文件用户环境配置文件模板
/etc/shadow用户认证信息
/etc/gshadow组认证信息
  • 在Linux系统中,默认情况下,所有系统上的账号都记录在/etc/passwd中,密码记录在/etc/shadow中,所有的组名记录在/etc/group中
  • 若想要详细了解/etc/passwd及/etc/shadow这两个文件,可参考man 5 passwdman 5 shadow

4、用户信息的查看

id 查看指定用户id信息
id 命令的常用参数

参数用途
-u查看用户的uid
-g查看用户的gid
-G查看用户所在的所有组的id
-n显示名字而不显示id数字
[root@workstation Desktop]# id -u westos
1001			#查看用户(westos)的id
[root@workstation Desktop]# id -g westos 
1001			#查看用户(westos)的初始组id
[root@workstation Desktop]# id -G westos 
1001			#查看用户(westos)的所有组id,包括初始组和所有附加组
[root@workstation Desktop]# id -a westos 
uid=1001(westos) gid=1001(westos) groups=1001(westos)
				#查看用户(westos)的所有id信息
[root@workstation Desktop]# id -un westos 
westos			#显示用户名字
[root@workstation Desktop]# id -gn westos 
westos			#显示用户初始组名字
[root@workstation Desktop]# id -Gn westos 
westos			#显示用户所有组名字
[root@workstation Desktop]# id westos 
uid=1001(westos) gid=1001(westos) groups=1001(westos)
				#查看用户id信息
[root@workstation Desktop]# whoami
root			#查看当前用户是谁
[root@workstation Desktop]# getent passwd westos
westos:x:1001:1001::/home/westos:/bin/bash
				#查看该用户相关信息

每一个文件都具有[用户和用户组]的属性,因此,每个登录的用户至少都会获取两个ID,一个是用户ID(User ID,简称UID),一个是用户组ID(Group ID,简称GID)。

[root@localhost Desktop]# tail -n 3 /etc/passwd 
gnome-initial-setup:x:976:976::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
westos:x:1001:1001:westos user:/home/westos:/bin/bash
[root@localhost Desktop]# tail -n 3 /etc/group
slocate:x:21:
dip:x:40:
westos:x:1001:

在这里插入图片描述

标号功能
1账号名称
2密码
3UID
4GID
5用户信息说明栏
6家目录
7Shell

在这里插入图片描述

标号功能
1组名
2用户组密码
3GID
4此用户组支持的用户名称

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

  • 图形中的注销命令
    gnome-session-quit
    gnome-session-quit --force #注销当前用户
  • su和su -
    su 只切换用户身份,不切换用户环境
    su - 切换用户身份及用户环境
  • 注意
    每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户
    执行时高级用户切换到低级用户不需要密码,低级用户切换到高级用户需要,平级用户切换也需要
[root@localhost Desktop]# su - student 
[student@localhost ~]$ whoami
student
[student@localhost ~]$ exit
logout
[root@localhost Desktop]# su - student 
Last login: Sat Jan 11 08:54:48 EST 2020 on pts/0
[student@localhost ~]$ pwd
/home/student
[student@localhost ~]$ exit
logout
[root@localhost Desktop]# su student

(process:3248): dconf-CRITICAL **: 09:01:54.456: unable to create directory '/run/user/0/dconf': Permission denied.  dconf will not work properly.

(process:3248): dconf-CRITICAL **: 09:01:54.457: unable to create directory '/run/user/0/dconf': Permission denied.  dconf will not work properly.

(process:3248): dconf-WARNING **: 09:01:54.461: failed to commit changes to dconf: Could not connect: Permission denied
[student@localhost Desktop]$ pwd
/root/Desktop

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

  • groupadd和groupdel
  • useradd和userdel 建立用户时,读取/etc/login.defs文件内容确定规则

useradd的常用参数

参数用途
-u指定用户的uid
-g指定用户的gid
-G指定用户的附加组
-c指定用户的说明
-d指定用户的家目录,默认为/home/username
-s指定用户的默认shell
[root@localhost Desktop]# useradd haha
[root@localhost Desktop]# userdel -r haha
[root@localhost Desktop]# useradd -u 1234 haha
[root@localhost Desktop]# useradd -g 1235 hahaha
useradd: group '1235' does not exist
[root@localhost Desktop]# useradd -g 1234 hahaha
[root@localhost Desktop]# useradd -G 1234 hahahaha
[root@localhost Desktop]# id hahahaha
uid=1236(hahahaha) gid=1236(hahahaha) groups=1236(hahahaha),1234(haha)
[root@localhost Desktop]# useradd -c "hello hahh" hhhh
[root@localhost Desktop]# useradd -d /mnt/hhhhhh hhhhhhh
[root@localhost Desktop]# cat /etc/shells 
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/usr/bin/tmux
/bin/tmux
[root@localhost Desktop]# useradd -s /bin/sh hhhhhhhhh

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

  • groupmod -g
  • usermod

usermod的常用参数

参数用途
-l修改用户名称
-u修改用户的uid
-g修改用户的gid
-aG指定用户的附加组
-c修改用户的说明
-md修改用户的家目录,默认为 /home/username
-s修改用户的shell类型
[root@localhost Desktop]# usermod -l hehe haha
[root@localhost Desktop]# usermod -u 4321 hehe
[root@localhost Desktop]# usermod -g 1236 hehe
[root@localhost Desktop]# id hehe
uid=4321(hehe) gid=1236(hahahaha) groups=1236(hahahaha)
[root@localhost Desktop]# usermod -G 1234 hehe
[root@localhost Desktop]# id hehe
uid=4321(hehe) gid=1236(hahahaha) groups=1236(hahahaha),1234(haha)
[root@localhost Desktop]# groupadd -g 1225 user
[root@localhost Desktop]# usermod -G 1225 hehe
[root@localhost Desktop]# id hehe
uid=4321(hehe) gid=1236(hahahaha) groups=1236(hahahaha),1225(user)
[root@localhost Desktop]# usermod -aG 1234 hehe
[root@localhost Desktop]# id hehe
uid=4321(hehe) gid=1236(hahahaha) groups=1236(hahahaha),1234(haha),1225(user)
[root@localhost Desktop]# usermod -c "hhhh" hehe
[root@localhost Desktop]# usermod -md /mnt/hhh hehe
[root@localhost Desktop]# usermod -s /bin/sh hehe

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

/etc/shadow 用户认证信息文件
在这里插入图片描述

标号含义
1用户名称
2用户密码
3密码已经使用时间
4密码最短有效期
5密码最长有效期
6密码到期前警告
7密码非活跃天数
8密码到期日
9保留

9、 用户认证管理

passwd
passwd的常用参数

参数用途
-lLock,会将/etc/shadow第二栏前面加上!使密码失效
-uUnlock
-S列出密码相关参数,即shadow文件内的大部分信息
-n后面接天数,多久不可修改密码天数
-x后面接天数,多久内必须要修改密码
-w后面接天数,密码过期前的警告天数
-i后面接【日期】,密码失效日期
[root@localhost Desktop]# passwd -l  hehe
Locking password for user hehe.
passwd: Success
[root@localhost Desktop]# passwd -u hehe
Unlocking password for user hehe.
passwd: Success
[root@localhost Desktop]# passwd -S hehe
hehe PS 2020-01-10 0 99999 7 -1 (Password set, SHA512 crypt.)
[root@localhost Desktop]# passwd -n 1  hehe
Adjusting aging data for user hehe.
passwd: Success
[root@localhost Desktop]# passwd -x 1  hehe
Adjusting aging data for user hehe.
passwd: Success
[root@localhost Desktop]# passwd -x 1000  hehe
Adjusting aging data for user hehe.
passwd: Success
[root@localhost Desktop]# passwd -w 8  hehe
Adjusting aging data for user hehe.
passwd: Success
[root@localhost Desktop]# passwd -i 20200202  hehe
Adjusting aging data for user hehe.
passwd: Success

chage

chage的常用参数

参数用途
-l列出该账号的详细密码参数
-d后面接日期,修改最后一次修改密码的日期
-E后面接日期,修改账号失效日
-I后面接天数,修改密码失效日期
-m后面接天数,修改密码最短保留天数
-M后面接天数,修改密码多久需要进行修改
-W后面接天数,修改密码过期前警告日期
[root@localhost Desktop]# chage -l hehe
Last password change     : Jan 11, 2020
Password expires     : Oct 07, 2022
Password inactive     : Jan 15, 57329
Account expires      : never
Minimum number of days between password change  : 1
Maximum number of days between password change  : 1000
Number of days of warning before password expires : 8

10、用户权力的下放

  • sudo能把某些超级权限针对性的下放,并且不需要普通用户知道root密码,所以sudo相对于权限无限制的su来说,还是比较安全的
  • sudo执行命令的流程是当前用户切换到root,然后以root身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权
  • 配置文件语法及测试方式
    /etc/sudoers
    visudo
用户主机名称=(新执行身份)[NOPASSWD:]命令
westosserver0.example.com=(root)/usr/sbin/useradd
westosserver0.example.com=(root)NOPASSWD:/usr/sbin/userdel
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值