👥 用户权限🔧 创建🔐 管理📌 属主属组

一、Linux用户

 1.什么是用户

用户由来:用户对硬件资源的操作都需要通过系统,比如用户要读取硬盘中的一份关键数据,出于安全考虑,操作系统的开发者们专门开发了安全机制,需要使用操作系统必须事先输入正确的用户名与密码

2.为何要有用户?

权限问题

系统上的每一个进程,都需要一个特定的用户运行,一个用户拥有特定的权限,该用户运行的进程与用户权限一致

通常使用普通用户,root用户权限过大,容易出问题

3.如何查看用户信息

root@bobo ~]# id #查看当前用户
uid=0(root) gid=0(root) groups=0(root)
[root@bobo~]# whoami # 查看当前用户是谁
root
[root@bobo ~]# id bobo   查看bobo用户
uid=0(root) gid=0(root) groups=0(root) 
[root@bobo ~]# who # 查看所有登录用户
root pts/2 2020-10-23 15:24 (139.227.12.100)
[root@bobo ~]# ps aux |grep [s]sh # 每一个 进程都有其他用户
root 1067 0.0 0.2 112920 4328 ?        Ss Feb15 0:04 
/usr/sbin/sshd -D
root 27197 0.0 0.2 154708 5576 ?       Ss 15:24 0:00 sshd:
root@pts/2

4.linux系统中用户角色划分

 在linux系统中的用户分为管理员与其他用户

管理严权最高

其他用户根据管理员的分配获得权限

在linux中只能识别UID和GID这种数字

UID:用户ID,唯一标识一个系统用户的账号,,UID在系统中是唯一的。UID相对于个人身份证,用户名相当于名字

GID:组ID,把操作系统当做一家公司,uid相当于个人员工号,gid相当各自的部门编号

centos 7 系统约定

0            超级管理员,最高权限,有着极强的破坏能力

1-200         系统用户,用来运行系统自带的进程,默认已创建

201-999        系统用户,用来运行安装的程序,所以此类用户无需登录系统

1000+         普通用户,正常可以登录系统对的用户,权限比较小,能执行的任务有限

用户和组的关系:一对一,多对一,多对多

5.超级用户:root

二、用户与组

 用户与组相关文件

  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • /etc/gshadow

/etc/passwd

/etc/shadow

/etc/group : 组文件

/etc/gshadow : 组密码文件

/etc/skel/ 用户老家的模板

/home/xxx 用户家目录

/var/spool/mail/xxx 用户邮箱文件

三、用户管理

  • useradd     添加用户
  • userdel      删除用户
  • usermod    修改用户信息

1、创建用户

[root@localhost ~]# useradd user1

2、查看用户

[root@localhost ~]# id user1
uid=1002(user1) gid=1003(user1) 组=1003(user1)

[root@localhost ~]# who # 查看所有用户登录信息
[root@localhost ~]# whoami # 查看当前登录用户名

注:当创建一个用户时,如果没有指定用户的主组,将会创建一个同名的组作为用户的主组

3、删除用户

[root@localhost ~]# userdel user1 # 删除用户user1,但不删除用户家目录mail
[root@localhost ~]# userdel -r user1 # 要想彻底删除,加-r选项

4、useradd命令详解   创建用户的同时指定选项

怎样在linux系统中添加一个新的用户账户
掌握useradd命令的功能:能增加一个用户
了解useradd命令的常规选项
–u:指定用户的UID
–g:指定用户所属的主群
–G:指定用户所属的附加群
–d:指定用户的家目录
–c:指定用户的备注信息
–s:指定用户所用的shell
-e:修改过期时间
-M: 不创建家目录
-r:创建系统账户uid处于系统用户范围内,默认就是家目录
灵活应用useradd命令的例举:
如:在系统中新增一个fox(狐狸)     用户命令:useradd fox
      在系统中新增一个用户user01,属组为police以及uid为600的命令:
      useradd -u 600 -g policeuser01

5、usermod命令

同useradd参数基本一致,只不过useradd是添加,而usermod是修改

-u     指定要修改用户的UID
-g     指定要修改用户基本组
-a     将用户添加到补充组,与 -G选项一起使用
-G    指定要修改的用户附加组,使用逗号隔开多个附加组,覆盖原有的附加组
-d     指定要修改用户家目录
-c     指定要修改用户用户注释信息
-s     指定要修改用户的bash shell
[root@root ~]# usermod -e 2013-02-11 user1000  修改时间
[root@root ~]# usermod -g group1 jj  修改主组
[root@root ~]# usermod -a -G group2 jj  修改附加组,-a添加,不加-a代表覆盖其它选项
-m    将用户主目录的内容移动到新位置,如果当前目录不存在,则不会创建新的目录
-l      指定修改用户登录名
-L     指定要锁定的用户
-U    指定要解锁的用户

6、设定与修改密码

passwd  默认给当前应用户设定密码
passwd  用户名    root用户可以给自己以及其他账户设定密码,普通账户只能设定自己的密码
echo "密码" | passwd --stdin 用户名   非交互式
补充:可以利用系统内置变量生成随机字符串来串来充当密码
[root ~]# echo $RANDOM|md5sum|cut -c 1-1070ba11a74b

四、组管理

管理命令

groupadd
groupmod
groupdel 
gpasswd # 设置组密码
newgrp  #切换主组  

创建组

[root~]# groupadd gg1 #创建基本组,不指定gid
[root ~]# tail -1 /etc/group
gg1:x:2005:
[root~]# groupadd -g 5555 gg2 #创建基本组,指定gid为5555
[root~]# tail -1 /etc/group
gg2:x:5555:
[root ~]# groupadd -r gg3 #创建系统组gid从201-999
[root ~]# tail -1 /etc/group
gg3:x:991:

修改组

[root ~]# groupmod -g 1111 gg3
[root ~]# tail -1 /etc/group
gg3:x:1111:
[root ~]# 
[root ~]# groupmod -n new_gg3 gg3 # -n 修改组名称
[root ~]# tail -1 /etc/group
new_gg3:x:1111:

删除组

如果一个组是一个用户的主组,那么该组不能被删除,删除用户会默认一起删掉它的主组
[root ~]# useradd coco1
[root ~]# groupadd devops
[root ~]# usermod -G devops coco1
[root ~]# id coco1
uid=2004(coco1) gid=2004(coco1) groups=2004(coco1),5556(devops)


[root~]# groupdel devops # 附加组可以删除
[root~]# id coco1# 查看用户,发现他的附加组没有了
uid=2004(coco1) gid=2004(coco1) groups=2004(coco1)
[root~]# groupdel coco1 # 无法删除coco1因为组coco1属于coco1用户的主组
groupdel: cannot remove the primary group of user 'coco1'

五、手动创建用户

1、/etc/passwd

[root ~]# vim /etc/passwd #新加一行
[root ~]# tail -1 /etc/passwd
coco:x:2002:2002:hahaha:/home/coco:/bin/bash

2、/etc/shadow

[root ~]# openssl passwd -1 -salt 'i have a dream'
Password: 
$1$i have a$jBGkkhpFu9WPSI1Nv.whT/
[root ~]# vim /etc/shadow
[root ~]# tail -1 /etc/shadow
coco:$1$i have a$jBGkkhpFu9WPSI1Nv.whT/:18303::::::

制作密码

 3、/etc/group

[root ~]# vim /etc/group
[root~]# tail -1 /etc/group
coco:x:2002:

4、/etc/gshadow

[root~]# vim /etc/gshadow
[root ~]# tail -1 /etc/gshadow
coco:!::

5、创建用户家目录,并用用户老家的模块板/etc/skel/装修一下,注意权限

[root ~]# mkdir /home/coco
[root ~]# cp -r /etc/skel/.[!.]* /home/coco/
[root ~]# chmod 700 /home/coco/
[root ~]# chown -R coco.coco /home/coco/

6、/var/spool/mail/xxx用户邮箱文件

[root ~]# touch /var/spool/mail/coco
[root ~]# chmod 660 !$
chmod 660 /var/spool/mail/coco
[root ~]# chown coco.mail /var/spool/mail/coco

测试账号的登录

[root ~]# ssh coco @127.0.0.1
coco@127.0.0.1's password: 
Last login: Mon Aug 10 23:18:55 2020 from 127.0.0.1
Welcome to Alibaba Cloud Elastic Compute Service !
[coco@ ~]$ whoami 
coco
原文地址:https://www.cnblogs.com/ChuangShi-HolySpirit/p/13892704.html