Linux--用户管理

用户/组的基本概念

  • 系统上的每个进程(运行的程序)都是作为特定用户运行
  • 每个文件是由一个特定的用户拥有
  • 访问文件和目录受到用户的限制
  • 与正在运行的进程相关联的用户确定该进程可访问的文件和目录
查看当前登录的用户信息
[root@server1 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

/etc/passwd文件下存放的是用户信息

root:x:0:0:root:/root:/bin/bash
以冒号分隔,总共七位分别代表
用户名:密码占位符:uid:gid:描述信息:家目录:shell(登陆后执行的命令)

/etc/shadow文件下存放的是用户密码

root:$6$LzACtM8wU3cLR0F.$jvcopmBzLxpl48mGdDOderIpeGjCmcfUCf.8G0hRifYkCh5AJY50413oBVxGIUidrUBtEZ1SmpFj475x56cO.1::0:99999:7:::
用户名:哈希值:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

/etc/group文件下存放的是组的信息

[root@server1 etc]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
组名:口令:组标识号gid:组内用户列表

系统uid的约定

uid:0  		root用户
uid:1-999  centos7以后中的系统用户,用来约束系统中的服务
uid:1000+  普通用户

用户管理

用户的增删改查:
useradd,userdel, usermod,/etc/passwd

用户组的增删改查:
groupadd,groupdel,groupmod,/etc/group, gpasswd

设置,更改用户密码
passwd,chage

用户

添加用户

  • useradd 命令
useradd [选项] 用户名

-u:指定uid
-g:指定gid
-c:用户注释信息
-d:指定家目录,如果此目录不存在,则同时使用-m选项,可以创建家目录
-m:创建用户的家目录
-s:指定shell
-G:指定附加组
-r:创建系统用户
如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的主组
-g -G 仅适用useradd创建用户时使用
-g -G 指定的组必须事先存在

删除用户

  • userdel 命令
userdel [选项] 用户名

-r:连同用户的家目录一起删除
userdel -r 用户名

修改用户

  • usermod 命令
usermod [选项] 用户

-c<备注>:修改用户组行号的备注文字
-a:追加,默认的修改是覆盖
-d<登入目录>:修改用户登入时的目录(家目录)
-e<有效期限>:修改账号的有效期限
-f<缓冲天数>:修改在密码过期后多少天即关闭账号
-g<群组>:修改用户所属的群组
-G<群组>:修改用户所属的附加群组
-l<帐号名称>:修改用户帐号名称
-L:锁定用户密码,使密码无效
-s<shell>:修改用户登入后所使用的shell	usermod -s /sbin/nologin user03
-u<uid>:修改用户ID
-U:解除密码锁定

查找用户

用户的信息存放在/etc/passwd文件下

cat /etc/passwd

用户密码管理

  • passwd 命令
passwd [选项] 用户名

-k:保持身份验证令牌不过期
-d:删除已命名帐号的密码(只有root用户才能进行此操作)
-l:锁定指名帐户的木马(仅限root用户)
-u:解锁指名帐户的密码(仅限root用户)
-n mindays:指定最短使用期限 (仅限root用户)
-x maxdays:最大使用期限 (仅限root用户)
-w warndays:提前多少天开始警告 (仅限root用户)
-i inactivedays:非活动期限 (仅限root用户)
--stdin:从标准输入接收用户密码(仅限root用户)

echo "PASSWD" | passwd --stdin username

passwd 用户	:root用户给普通用户修改密码	
  • chage 命令
    用于更改用户密码过期信息
chage [选项] 用户

选项:
	-d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期” 
	-E, --expiredate 过期日期 将帐户过期时间设为“过期日期” 
	-h, --help 显示此帮助信息并推出 
	-I, --inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态 
	-l, --list 显示帐户年龄信息 
	-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数” 
	-M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为“最大天数” 
	-R, --root CHROOT_DIR chroot 到的目录 
	-W, --warndays 警告天数 将过期警告天数设为“警告天数”
chage -m 0 -M 90 -W 7 -I 14 user01 

[root@xwz ~]# useradd user01 
[root@xwz ~]# echo 123456 |passwd --stdin user01 
更改用户 user01 的密码 。 
passwd:所有的身份验证令牌已经成功更新。 
[root@xwz ~]# chage -d 0 user01 # 强制用户在下次登录的时候换密码

用户组

添加用户组

  • groupadd 命令
groupadd [选项] 组名

-g:指定gid
groupadd hr
groupadd sale
groupadd fd -g 4000
groupadd net01 -g 2000

删除用户组

  • groupdel 命令
groupdel 组名

groupdel net01

修改用户组

  • groupmod 命令
groupmod [选项] 组名

-g:修改组的ID,要指定新的gid
-n:修改组名,指定新组名
-o:允许使用重复的GID
groupmod -n finance fd 	改名
groupmod -g 5000 finance	改gid
  • usermod 命令
usermod [选项] 组名 用户名

-G:覆盖原有的附加组
-aG:增加新的附加组(不会覆盖)

当用户已存在时,使用usermod命令将用户添加到附加组中
usermod -G hr user05
usermod -G fd,it user05
usermod -aG sale user05

查找用户组

用户组信息存放在/etc/group文件下

cat /etc/group

用户组成员管理

  • gpasswd 命令
    当用户已存在,gpasswd命令用于将一个用户添加到组或从组中删除
gpasswd [选项] 组

-a:添加用户到用户组
-d:从组中删除用户
-A:指定管理员
-M:指定组成员和-A的用途差不多
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
创建itadmin,并且将其加入it组
useradd itadmin
gpasswd -a itadmin it

用户

sudo提权

通常普通的权限比较低,如果想要给普通root权限的话需要进行sudo提权,sudo提权的思路是将普通用户加入到wheel组中即可

usermod -aG wheel 用户名

当普通用户权限较低时,可以切换到root用户执行相关命令

[centos@wdy ~]$ useradd u1 
-bash: /usr/sbin/useradd: 权限不够 
[centos@wdy ~]$ su - root 
密码: 
[root@wdy ~]# useradd u1

当普通用户权限较低时,将普通用户添加到wheel组中,在执行命令前加速sudo即可

[root@wdy ~]# vim /etc/sudoers #配置文件
%wheel ALL=(ALL) NOPASSWD: ALL
[root@wdy ~]# usermod -aG wheel centos	#将centos这个用户加入到wheel组下,centos就具备了提权到root的功能
[root@wdy ~]# su - centos
[centos@wdy ~]$ sudo useradd user01
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值