用户管理知识梳理

1、用户和组的意义:
    Linux的一大特性:
                多用户、多任务
所谓多用户多任务就是指可以在同一时间,有多个用户登录同一个系统执行不同的任务而互不影响。
假设现在有三个用户:root、lbb、mvv,三个用户同一时间登录了同一个系统,root去修改配置文件了,lbb去创建目录了,mvv去访问数据库了,每个用户互不干扰的独立执行自己的任务,并且每个用户不能够越线去访问其他用户正在操作的目录或执行其他用户下的任务,由此可见,不同的用户是拥有各自不同的权限的,Linux通过权限的划分和管理来实现多用户、多任务的运行机制。
Linux中的用户及其角色划分
账户为分三类:
超级用户(管理员):享有最高权限,具备系统中的所有权限(一般为root),UID为0
系统用户 :别称“伪用户”,无法登录系统,其主要作用是支撑系统运行,方便系统管理。uid号码小于1000.
普通用户:有权限限制,只能对自己目录下的文件进行操作,可以登录系统。uid 大于1000,登陆shell是bin/bash。
任何一个账户在创建的同时都会在系统里面创建一个同名的组。
任何一个服务(进程)启动,都需要有一个指定的用户运行他
每个文件是由一个特定的用户拥有。
2、用户组
            创建组
创建组
[root@linux-server ~]# groupadd hr   //创建一个用户组叫hr
[root@linux-server ~]# groupadd market  //创建一个用户组叫market
[root@linux-server ~]# groupadd net01 -g 2000  //创建组叫net01,并指定gid为2000
[root@linux-server ~]# grep 'net01' /etc/group  //查看/etc/group中组net01信息
net01:x:2000:
              修改组
修改组
[root@linux-server ~]#groupmod 参数 组名
-g:修改组的gid
-n:修改组名
[root@linux-server ~]#groupmod -g 2000 grp1
[root@linux-server ~]#groupmod -n 新组名 grp1
              删除组
删除组
[root@linux-server ~]# groupdel net01  #删除组net01
注意:用户的主属组不能删除
/etc/group  ----->查看组的文件
3、用户
创建用户
[root@linux-server ~]# useradd user01   //创建用户
/etc/passwd  ---->查看账户是否存在的文件
/home/  ---->用户的家目录,每创建一个用户会在/home目录下面创建对应的家目录
/etc/shadow   --->用户的密码文件
/etc/passwd文件详解--案例:
此文件里面除了密码字段能删除不能直接修改之外,其他字段全部都能直接修改
[root@linux-server ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
分隔符::
第一列:用户名
第二列:密码
第三列:用户标识号--->(uid)是一个整数,系统内部用它来标识用户。通常用户标识号的取值范围是0~65535。0是超级用户root的标识号
第四列:gid
第五列:描述信息。
第六列:家目录
第七列:是用户登陆到界面的第一个命令,开启一个shell。登陆shell
1.判断用户是否存在:
[root@linux-server ~]# id user01   //查看用户的uid、gid、和所在组
uid=1001(user01) gid=1003(user01) groups=1003(user01)
                    主属组                    附属组
uid 系统用来识别账户的user identify
gid 系统用来识别组的group identify
2.查看现在所使用的的账户:
[root@linux-server ~]# whoami 查看我现在所使用的账户
创建用户(带有选项)
[root@linux-server ~]# useradd user02 -u 503   //指定uid为503
[root@linux-server ~]# useradd user05 -s /sbin/nologin  //创建用户并指定shell
[root@linux-server ~]# useradd user07 -G it,fd  //创建用户,指定附加组
[root@linux-server ~]# useradd -g 1003 user8 #指定用户的主属组为1003组。   
[root@linux-server ~]# useradd user10 -u 4000 -s /sbin/nologin
删除用户
[root@linux-server ~]# userdel -r user02  //删除用户user2,同时删除用户家目录
用户密码
[root@linux-server ~]# passwd alice  #root用户可以给任何用户设置密码
[root@linux-server ~]# passwd   #root用户给自己设置密码
[root@linux-server ~]# su - alice
[alice@linux-server ~]$ passwd  #普通用户只能给自己修改密码,而且必须提供原密码
非交互式修改密码
echo  “密码” |  passwd   --stdin  用户名
用户操作
1.修改用户名:
-l
usermd -l 新用户名 原用户名
[root@linux-server ~]# usermod -l NEW_name user8
[root@linux-server ~]# id user8
id: user8:无此用户
2.修改GID:
-g
[root@linux-server ~]# id user10
uid=1000(user10) gid=1000(tom) groups=1000(tom)
[root@linux-server ~]# usermod user10 -g new_gid    #gid需要提前存在
3.修改UID
-u
[root@linux-server ~]# usermod -u new_id jack
[root@linux-server ~]# id jack
uid=1005(jack) gid=1004(jack) groups=1004(jack)
4.修改用户的登录shell
-s
[root@linux-server ~]# usermod -s /sbin/nologin user07   #修改用户的登录shell
组成员管理 
1.给组添加账户
-a
gpasswd -a 用户名 组名  ---------->  单个添加组成员
[root@linux-server ~]# gpasswd -a user10 grp2
Adding user user10 to group grp2
2.同时添加多个用户到组
-M:members成员的缩写
gpasswd -M  用户名1,用户名2,用户名,....用户N  组名    ---------> 覆盖原有组成员
[root@linux-server ~]# gpasswd -M tom,alice it
3.从组删除用户
-d
gpasswd -d  用户名  组名   #删除组
[root@linux-server ~]# gpasswd -d user07 hr
Removing user user07 from group hr
  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值