Linux用户管理详解

今天我们的第一部分先讲用户信息存储的文件

  • 用户基本信息文件
  • 用户密码信息文件
  • 组信息文件

1.用户基本信息文件(我们以超级管理员为例   /etc/passwd)

[root@iZ2zef4rb5ixg6sieztgsdZ ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash

root : x : 0 : 0 : root : /root : /bin/bash

用户名 uid gid 描述 HOME : shell

root:登录系统的名字

x:密码占位符,具体的内容不在这里

0:UID,用户的身份证

0:GID,GROUP组号

root:描述,比如产品经理等

/root:家目录,登录系统时,所在的目录

/bin/bash:登录shell(命令解释器)

2.用户密码信息文件( /etc/shadow)

[root@iZ2zef4rb5ixg6sieztgsdZ ~]# head -1 /etc/shadow
root:$6$xS8j2OCp$ainIyMkDe2R2uojYvTLABaLdMjJG8XjGjxrH5HfrNpR0DpJG0OQM9fsxhvESvrjZbHNp7DfZhAi00AZzxUpwI1:19346:0:99999:7:::

root : $6$xS8j2 : 19346 : 0 : 99999 : 7: : :
登录名加密后密码天数最小间隔最大时间间隔警告时间:不活动时间:失效时间:保留

 1.“登录名”是与 /etc/passwd 文件中的登录名相一致的用户账号

2.“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;* 代表账号已经被锁定; !!表示该密码已经过期

$6$ --SHA-512加密

$1$ --MD5加密

$2$ --Blowfish加密

$5$ --SHA-256加密

3.“最后一次修改时间”表示从某个时刻起,到用户最后一次修改口令的天数,时间起点对不同的系统可能不一样  Linux-1970.1.1

4.最小间隔:改密码之间的最短时间间隔

5.最大时间间隔:密码的有效期

3.组文件信息( /etc/group)

[root@iZ2zef4rb5ixg6sieztgsdZ ~]# head -1 /etc/group
root:x:0:

root : x : 0 :

组名组密码组ID组成员

4. 创建用户

在linux系统中怎么样才能创建一个用户呢?

useradd  用户名   创建一个用户

[root@iZ2zef4rb5ixg6sieztgsdZ ~]# useradd surper       //创建一个surper得到普通用户
[root@iZ2zef4rb5ixg6sieztgsdZ ~]# id surper           //查找用户的具体信息
uid=1002(surper) gid=1002(surper) groups=1002(surper)

5.删除用户

在linux系统中怎么样才能删除一个用户呢?

userdel -r  用户名     彻底的删除用户信息

[root@iZ2zef4rb5ixg6sieztgsdZ ~]# userdel -r surper
[root@iZ2zef4rb5ixg6sieztgsdZ ~]# id surper
id: ‘surper’: no such user

userdel   用户名     删除用户信息,但还是会保留相关文件夹

[root@iZ2zef4rb5ixg6sieztgsdZ home]# userdel user01     //删除user01用户
[root@iZ2zef4rb5ixg6sieztgsdZ home]# id user01         
id: ‘user01’: no such user    //用户信息没有查到
[root@iZ2zef4rb5ixg6sieztgsdZ home]# ll
total 8
drwx------ 2 help help 4096 Dec 26 14:22 help
drwx------ 2 1000 1000 4096 Dec 27 10:39 user01 

 usermod -r  修改用户信息

6.修改用户密码

[root@iZ2zef4rb5ixg6sieztgsdZ home]# useradd surper
[root@iZ2zef4rb5ixg6sieztgsdZ home]# id surper
uid=1002(surper) gid=1002(surper) groups=1002(surper)
[root@iZ2zef4rb5ixg6sieztgsdZ home]# passwd surper    //修改用户密码
Changing password for user surper.
New password: 
BAD PASSWORD: The password is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.

7.组

在Linux中,为什么要用到组呢?在这里给大家打个比方

 比如现在有12份特权,现在来了用户1想要前三个特权,用户2想要中间三个特权,用户3想要后三个特权,那我们系统就要做9次连接,不仅如此,打个比方,用户3冲了钱,有了特权,但是因为自身原因,没有再使用过这个账户,等到了一定时间,系统还要将断开用户与特权之间的连接,这样的操作也是非常辛苦的,现实中我们的用户数量庞大,远远不止这么一点人数,所以这给系统造成了很大的压力,所以有没有一种方法介意降低对系统的操作的次数呢?答案是显然的

 我们可以将这些特权按组的形式分配下去,这样后来的用户就可以进组去享受特权

1.基本组:随着用户而创建,组名同用户名(基本组只能有一个)

2.附加组:用户加入到的其他组(附加组可以有多个)

创建组  groupadd  组名

[root@iZ2zef4rb5ixg6sieztgsdZ home]# groupadd sugroup
[root@iZ2zef4rb5ixg6sieztgsdZ home]# cat /etc/group

 

 删除用户所在的组  gpasswd -d 用户 组名

指定用户的UID  -u

指定用户的附加组  -G

指定用户的基本组  -g

 8.提权

  1. 永久提权  Swit ching users with us
  2. 临时提权  Running commands as root with sudo

方法一: su(可以切换到root)

1.普通用户没有特权

2.尽量少使用root

普通用户需要执行特殊指令时,使用root身份
 

[surper@iZ2zef4rb5ixg6sieztgsdZ home]$ useradd user01  //普通用户操作添加用户的操作
useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later.
[surper@iZ2zef4rb5ixg6sieztgsdZ home]$ su root  //切换超级管理员身份
Password:                                 //需要输入超级管理员密码确认身份
[root@iZ2zef4rb5ixg6sieztgsdZ home]# 

方法二:  sudo

1.只用普通登录服务器时

2.完成部分特权指令

[root@iZ2zef4rb5ixg6sieztgsdZ ~]# vim /etc/sudoers

 有一个组叫wheel,我们可以创建一个普通用户再将他添加到这个组中

[root@iZ2zef4rb5ixg6sieztgsdZ ~]# useradd user02 -G wheel   //创建一个叫user02并添加到wheel中
[root@iZ2zef4rb5ixg6sieztgsdZ ~]# id user02
uid=1004(user02) gid=1005(user02) groups=10(wheel),1005(user02)
[user02@iZ2zef4rb5ixg6sieztgsdZ root]$ useradd user03  //普通创建还是以失败告终
useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later.
[user02@iZ2zef4rb5ixg6sieztgsdZ root]$ sudo useradd user03    //提权创建用户 创建成功

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for user02: 
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists
[user02@iZ2zef4rb5ixg6sieztgsdZ root]$ id user03
uid=1005(user03) gid=1006(user03) groups=1006(user03)

9.用户不可登录

[root@iZ2zef4rb5ixg6sieztgsdZ ~]# usermod -s /sbin/nologin user03

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃橘子的Crow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值