权限管理-用户组管理
##一 Linux用户介绍 1、什么是用户?
用户对硬件资源的操作都需要通过操作系统,比如用户要读取硬盘中的一份关键数据出于安全考虑,操作系统的开发者们都专门开发了安全机制,要使用操作系统必须事先输入正确的用户名与密码这便是用户的由来
2、为何要有用户?或者说我们为何要哦创建用户?
# 主要就是权限问题1、系统上的每一个进程,都需要一个特定的用户运行,一个用户拥有特定的权限,该用户运行的进程与用户权限一致2、通常在公司是使用普通用户管理服务器,因为root权限过大,容易出问题
3、如何查看用户相关信息
[root@aliyum ~]# id # 查看当前用户uid=0(root) gid=0(root) groups=0(root)[root@aliyum ~]# whoami # 查看当前用户是谁root[root@aliyum ~]# id egon # 查看egon用户uid=0(root) gid=0(root) groups=0(root)[root@aliyum ~]# who # 查看所有登录的用户root pts/2 2020-10-23 15:24 (139.227.12.100)[root@aliyum ~]#[root@aliyum ~]# ps aux |grep [s]sh # 每一个进程都有其用户root 1067 0.0 0.2 112920 4328 ? Ss Feb15 0:04 /usr/sbin/sshd -Droot 27197 0.0 0.2 154708 5576 ? Ss 15:24 0:00 sshd: root@pts/2
4、linux系统中用户角色划分
在linux系统中的用户分为管理员用户与其他用户管理员用户拥有最高权限其他用户根据管理员的分配拥有不同的权限# 需要强调的是:对于linux系统来说,用户的角色是通过UID和GID识别的;用户系统帐号的名称(如egon)其实给人(管理员)看的,linux系统能够识别的仅仅是UID和GID这样的数字。# uid与gid1. UID (User Identify)用户ID,唯一标识一个系统用户的帐号,uid在系统中是唯一的。uid相当于一个人的身份证,用户名就相当于这个人的名字2. GID (Group Identify)组ID,如果把一个操作系统当成一家公司,uid相当于这个人的员工号,gid相当于他的部门编号。centos7系统之前约定uid: 0 由超级用户或具备超级用户权限的用户创建的用户(贫民老百姓,大臣,布衣/bin/bash)uid: 1~499 系统虚拟用户:UID范围1-499,存在满足文件或服务启动的需要。一般不能登录,只是傀儡uid: 500-65535 普通用户centos7系统约定:0 超级管理员,最高权限,有着极强的破坏能力1~200 系统用户,用来运行系统自带的进程,默认已创建201~999 系统用户,用来运行安装的程序,所以此类用户无需登录系统1000+ 普通用户,正常可以登录系统的用户,权限比较小,能执行的任务有限# 用户和组的关系:一对一,多对一,一对多,多对多
5、超级用户
默认是root用户,其UID和GID均为0。root用户在每台unix/linux操作系统中都是唯一且真实存在的,通过它可以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限。举个例子:- 1、操作系统=》一个国家- 2、root用户=》国王- 3、root用户的家目录=》皇宫需要注意的是:- 1、在生产环境中,一般会禁止root帐号通过SSH远程连接服务器(保护好皇帝),当然了,也会更改默认的SSH端口(保护好皇宫),以加强系统安全。- 2、企业工作中:没有特殊需求,应该尽量不要登录root用户进行操作,应该在普通用户下操作任务,然后用sudo管理普通用户的权限,可以细到每个命令权限分配。- 3、在linux系统中,uid为0的用户就是超级用户。但是通常不这么做,如果确实有必要在某一操作上用到管理的权限的话,那就用sudo单独授权,也不要直接用uid为0的用户,
6、扩展阅读
# Linux/Unix是一个多用户、多任务的操作系统# windows是一个单用户多任务操作系统多用户不是说可以创建多个用户,而是指一次可以登录多个用户多任务指的是可以并发执行多个进程回忆之前讲过的linux发展史:multics-》unix-》linux,所以linux是多用户的,天然支持多个连机终端,连机终端在没有互联网的情况下是有意义的,多个人可以用不同的连机终端连到一台机器/服务器上使用,而有了互联网之后,多个人可通过网络访问服务器,这个时候多用户or单用户的概念就不再那么重要
二 用户与组相关文件
和用户、组相关的文件:
- /etc/passwd
- /etc/shadow
- /etc/group
- /etc/gshadow
/etc/passwd
root:x:0:0:root:/root:/bin/bash第一字段:用户名(也被称为登录名);第二字段:口令;在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中;第三字段:UID ;请参看本文的UID的解说;第四字段:GID;请参看本文的GID的解说;第五字段:描述信息,可选第六字段:用户的家目录所在位置;第七字段:用户所用SHELL的类型
/etc/shadow
small_egon:$1$VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1:13072:0:99999:7:::big_egon:$1$IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/:13072:0:99999:7::13108:第一字段:用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中用的用户记录联系在一起;这个字段是非空的;第二字段:密码(已被加密),如果是有些用户在这段是x,表示这个用户不能登录到系统;这个字段是非空的;第三字段:上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/etc/shadow中此字段的变化;第四字段:两次修改口令间隔最少的天数;如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;此项功能用处不是太大;默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS 中有定义;第五字段:两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS 中定义;第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;第七字段:在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用户登录,也不会提示用户过期,是完全禁用;第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用; www.hackdig.com第九字段:保留字段,目前为空,以备将来Linux发展之用;如果更为详细的,请用 man shadow来查看帮助,您会得到更为详尽的资料;
/etc/group:组文件
/etc/gshadow:组密码文件
/etc/skel/ 用户老家的模板
/home/xxx 用户家目录
/var/spool/mail/xxx 用户邮箱文件
##三 用户管理命令
用户管理命令汇总
复制代码
useradd #添加用户userdel #删除用户usermod #修改用户信息
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




