Linux基础之用户管理

一)用户/组基本概念

(一)查看当前登录的用户信息:(id)

[root@tianyun ~]# id
uid=0(root) gid=0(root) groups=0(root)

(二)查看文件的owner:

[root@tianyun ~]# ll /home/
drwx------. 4 alice alice 4096 Jun 2 15:59 alice

(三)查看运行进程的username:

[root@tianyun ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19360 1536 ? Ss 13:29 0:00 /sbin/init

(四)用户组信息存储的文件:

1.用户基本信息文件

/etc/passwd(冒号分割为7列字段)
root :x :0 :0 :root :/root :/bin/bash
用户名 :x :uid :gid :描述 :HOME :shell
root:用户名:登录系统的名字
X:密码占位符:,具体内容不在这里
0:UID: 用户的身份证号 //系统约定: RHEL7
uid: 0 特权用户
uid: 1~499 系统用户
uid: 1000+ 普通用户
0:GID:GROUP 组号
root:描述:比如经理 manager
/root:家目录:登录系统时,所在目录
/bin/bash:登录shell:命令解释器 当前为 basahell 壳 /bin/nologin 禁止登录

2.用户密码信息文件

/etc/shadow(8列)
root: 1 1 1MYG2N:15636:0:99999:7: : :
加密的意义:私密性 完整性 不可否认性
对称性密码可破译 非对称性密码不行
root: 1 1 1MYG2NDG6$a1wtyr5GDM2esAPjug0YP0:15636:0:99999:7:: :

1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了。
6 6 6开头的,表明是用SHA-512加密的,
1 1 1 表明是用MD5加密的
2 2 2 是用Blowfish加密的
5 5 5 是用 SHA-256加密的。

3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。(软限制。到期后多少天就不能用账号了。)
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。(硬限制。)
9) 保留

3.组信息文件

/etc/group
root :x :0 :
组名:组密码:组ID:组成员 //组成员默认为空

二)用户/组管理

(一)用户

1.创建用户 未指定选项 (useradd)

[root@qianfeng ~]# useradd user01

[root@localhost ~]# id user01
uid=1001(user01) gid=1001(user01) 组=1001(user01)

[root@qianfeng ~]# ls /var/spool/mail/user01
/var/spool/mail/user01

小结:
如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的Primary Group.

2.创建用户 指定选项

[root@qianfeng ~]# useradd user02 -u 1503 //创建用户usr02,指定uid
[root@qianfeng ~]# useradd user03 -d /user03 //创建用户user03 指定家目录

3.删除用户

[root@qianfeng ~]# userdel -r user02

4.用户密码

方法一:root修改其他用户(alice)密码
[root@qianfeng ~]# passwd alice
方法二:用户(zhuzhu)登录,自己修改密码。
[zhuzhu@qianfeng ~]$ passwd

5.组成员管理

注意:usermode -G 组名 用户名 // -G是修改附加组 -g是修改基本组
[root@qianfeng ~]# usermod -G hr niuniu2

6.其它选项管理

[root@qianfeng ~]# usermod -s /sbin/nologin niuniu2
修改登录SHELL

(三)用户组

1.基本操作
[root@qianfeng ~]# groupadd hr

[root@qianfeng ~]# groupadd net01 -g 2000 //添加组net01,并指定gid 2000

[root@qianfeng ~]# grep ‘net01’ /etc/group //查看/etc/group中组net01信息

[root@qianfeng ~]# groupdel net01 //删除组net01
2.分类
基础组/主组:随用户创建,自动创建的同名组,用户的基本组,显示在/etc/passwd
附加组:用户加入的其他组。/etc/group 可以查看用户的附加组。

三)提权(了解)

(一)永久提权Switching users with su (su)

语法:[alice@qianfeng ~]$ su - root //类似切换用户
whoami //查询用户身份
exit //登出 回到之前的用户

(二)临时提权Running commands as root with sudo (sudo)

当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
–>确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
–>若密码输入成功,则开始执行sudo后续的命令
以root身份授权普通用户xulei
[root@qianfeng ~]# vim /etc/sudoers
%wheel ALL=(ALL) NOPASSWD: ALL
第99行:允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令

[root@qianfeng ~]# useradd xulei -G wheel
[root@qianfeng ~]# id xulei
uid=504(xulei) gid=504(xulei) 组=504(xulei),10(wheel)

passwd www
切换用户xulei登陆

[xulei@qianfeng ~]$ useradd gougou10
-bash: /usr/sbin/useradd: 权限不够
[xulei@qianfeng ~]$ sudo useradd gougou10
[xulei@qianfeng ~]$ id gougou10
uid=505(gougou10) gid=505(gougou10) 组=505(gougou10)

四)扩展知识

(一)生产环境手动创建用户示例:

1.创建用户
[root@tianyun~]# useradd maomao100
2.免会话配置密码。
[root@tianyun~]# echo 123456 |passwd --stdin maomao100
3.强制用户在下一次登录时修改密码
[root@tianyun~]# chage -d 0 maomao100

(二)如何将多个用户加入到指定的组:

前言:usemod -G 改写用户的组之后,用户的组信息是覆盖,也就是说usermod使用户只能存在于一个组。那么如何使用户同时属于多个组呢? gpasswd -a试试吧

[root@localhost ~]# useradd user1
[root@localhost ~]# useradd user2
[root@localhost ~]# useradd user3
[root@localhost ~]# groupadd group1
[root@localhost ~]# gpasswd -a user1 group1
正在将用户“user1”加入到“group1”组中
[root@localhost ~]# gpasswd -a user2 group1
[root@localhost ~]# cat /etc/group
group1:x :1011:user1,user2

(三)如何替换某个组的所有成员呢?

[root@localhost ~]# gpasswd -M user2,user3 group1
[root@localhost ~]# cat /etc/group
group1:x :1011:user2,user3

(四)如何删除某个组的某个成员

原组中有三个用户,删除其中一个用户。
[root@localhost ~]# grep group1 /etc/group
group1:x :1011:user3,user1,user2
[root@localhost ~]# gpasswd -d user1 group1
正在将用户“user1”从“group1”组中删除
[root@localhost ~]# grep group1 /etc/group
group1:x :1011:user3,user2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值