下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

关于Linux用户及权限管理剖析

作者:课课家教育     来源: http://www.kokojia.com点击数:1072发布时间: 2017-07-11 11:00:19

标签: 系统用户管理员Linux

  欢迎大家阅读本篇文章,其实太多的争论没有意义,更重要的是认识清楚自己想要做什么。想必对于很多“为了让别人觉得自己是高手”才去使用Linux的用户来说,用“和Windows很象的红旗Linux操作系统”是个很丢人的事情。本次课课家教育平台为大家带来关于Linux用户及权限管理剖析,大家要认真阅读!

关于Linux用户及权限管理剖析_系统用户_管理员_Linux_课课家教育

  1.Linux中的用户:

  Linux是一个多用户(multi-users)、多任务(multi-tasks)的操作系统。因此通过终端登陆系统需要,相应的机制,来进行管理、使用计算机系统资源。

  一般都需要解决这样三个问题:

  (1)认证(authentication)

  解决什么人可以登陆使用计算机资源

  (2)授权(authorization)

  解决用户登陆后,其能使用计算机中的什么资源,能进行什么样的操作

  (3)审计(audition)

  记录用户所进行的相关操作的信息

  2.linux中用户的划分:

  Linux中的用户等级大概是分为两级:超级用户即管理员和普通用户。其中普通用户,按照系统程序运行机制及安全性,又可划分为:系统用户和登陆用户。系统用户,不能登录系统,以其身份运行的程序,仅在后台以进程的方式作为服务运行。登陆用户,可以登陆终端,并通过交互接口,与其他程序或文件,进行交互。

  用户标识(UID):

  计算机更容易理解的往往是二进制数据,因此,我们使用16位二进制数字来唯一标识用户,即UID。UID是0--65535.管理员的UID为0,普通用户的UID为1--60000.普通用户中的系统用户UID为1--499(centos6),1--999(centos7);普通用户中的登陆用户UID为500--60000(centos6),1000--60000(centos7).

  名称解析:

  在计算机中经常会用到,如用户名<--->UID,他们之间的相互解析。解析需要相应的解析库来提供比较对照,有户名与UID的解析库是文件/etc/passwd

  3.linux中的组:

  按照划分的标准不同,可分为:

管理员组和普通用户组;基本组和附加组:私有组和公共组。

  管理员组和普通用户组;基本组和附加组:私有组和公共组。

  基本组和私有组,可以简单的理解为,创建用户时自动创建的与用户同名的组。

  附加组和公共组,可简单理解为,自己的用户加入到其他用户的基本组。

  组对应的解析库是/etc/group这个文件。

  4.密码策略及加密算法:

  一般为了保证系统的安全,大都遵循一些基本原则:

  使用随机密码;密码尽可能满足一定的长度;尽可能满足使用的字符集要求;最总要是定期更换

  密码的加密算法:

  对称加密;非对称加密;单向加密(提取数据的特征码,不可逆的)

  5.Linux中重要的用户和组的解析库文件解析:

  /etc/passwd 文件解析:(每行7段)

  name:password:uid:gid:gecos(用户的注释信息):home(用户的家目录):shell

  /etc/shadow 文件解析:(每行9段)

  用户名:

  加密的密码段:

  最近一次更改密码的时间:

  密码最短使用期限:

  密码最长使用期限:

  警告期限:

  非活动时间:

  过期时间:

  保留字段

  /etc/group 文件解析:

  groupname:password:gid:userlist(一次为附加组的用户的列表)

  6.用户和组的管理命令:

  groupadd 添加组命令

  基本用法:groupadd [选项]... 组名

  常用选项:-g gid :添加组的同时制定GID

  -r :创建一个系统组

  列如:#groupadd -g 3306 mariadb

  #groupadd -r archlinux

  groupmod 修改组命令

  基本用法:groupmod [选项]... 组名

  常用选项:-g gid :修改组的UID

  -n newgroup:修改组的名字

  示例:#groupmod -g 3307 mariadb

  #groupmod -n MySQL mariadb

  groupdel 删除组

  基本用法:groupdel [选项]... 组名

  useradd 创建用户命令

  基本用法:useradd [选项]... 用户名

  常用选项:-u uid : 创建用户同时指定用户的UID

  -g gid : 创建用户的同时指定其基本组GID

  -r : 创建一个系统用户

  -c comment : 创建用户时标注注释信息

  -d dir :创建用户时指定家目录的路径

  -s shell : 创建用户时指定默认登陆shell(最好是/etc/shells中有的)

  -G gid :创建用户时指定这个的附加组,有多个附加组有逗号隔开

  -M :创建用户时不创建用户家目录

  -D : 显示添加用户时的默认属性或设置更改默认属性

  -f :非活动期限,0:非活动启用 -1:非活动禁用

  实例:#useradd -u 1008 -g 1008 gentoo (此组要事先存在)

  #useradd -r fedora

  #useradd -c 'slackware linux' slackware

  #useradd -d /var/tmp/debain -s /sbin/nologin debain(最好是SELinux关掉)

  #useradd -G gentoo,slackware zen

  #useradd -M Docker

  #useradd -D -f 0 修改的是/etc/default/useradd文件中的值

  usermod 修改用户相关属性的命令

  基本用法:usermod [选项]... 用户名

  常用选项:-u uid : 更改用户的uid

  -g group :更改用户的基本组

  -G -a :常结合在一起使用(否则回覆盖),更改用户的附加组

  -c comment:更改注释信息

  -d -m :常结合在一起使用,更改家目录,并将家目录中的文件一起转移

  -l newname: 更改新的用户名

  -s shell:更改用户的shell

  -L :锁定用户

  -U : 解锁用户

  实例:#usermod -g zen docker

  #usermod -aG zen,slackware mysql

  #usermod -d /path/to/mysql -m mysql

  #usermod -l mysqldb mysql

  userdel 删除用户命令

  常用选项:-r :删除用户同时其家目录的文件一起删除,默认不删出家目录文件

  passwd 密码管理命令

  基本语法:passwd [选项]... [用户]

  常用选项:-l :锁定用户

  -u : 解锁用户

  -d : 删除密码

  -e data :密码过期期限

  -i days :非活动期限

  -n days :密码最短期限

  -x days :最长期限

  -w days :警告期限

  --stdin :从标准输入获取,作为密码

  实例:#echo 'centos' | passwd --stdin username &> /dev/null

  gpasswd 组密码管理命令

  基本语法:gpasswd [选项]... [组名]

  常用选项:-a username :向组中添加用户

  -d username ; 从组中删除用户

  不加选项,直接给当前用户组或指定组,设置密码。组密码,常用于某用户需要登陆或临时切换至某组时使用;如果某用户是某组的成员,则不需要密码直接可以登陆或切换。

  newgrp 用户登陆或临时切换至一个组的命令

  实例:#newgrp - group #登陆group组

  #newgrp group #临时切换至group这个组

  chage 更改密码的过期期限信息

  基本用法:chage [选项]... 用户名

  常用选项:-l :列出用户的密码期限信息

  -d :上次密码修改的日期

  -E :过期期限

  -W :警告期限

  -m :最大期限

  -M :最长期限

  -i :非活动期限

  id 显示实际和有效的ID

  基本用法:id [选项]... 用户名

  常用选项:-u:显示UID

  -g :显示gid

  -G :显示基本组和附加组的gid

  -n :结合前面的选项,显示名称而非ID

  su 切换用户命令

  登陆式切换

  非登陆式切换

  常用选项:-c ‘command’不切换登陆,仅以指定用户的身份运行此处指定的command命令

  实例:#su - username -c 'whoami'

  知识分享: Linux中用户管理一、原理了解

在Linux系统中,所有的用户和组像一个国家。如果国家要繁荣昌盛的话,需要治理得当,需要有主席或者总统,以及地方官员和老百姓组成。

  在Linux系统中,所有的用户和组像一个国家。如果国家要繁荣昌盛的话,需要治理得当,需要有主席或者总统,以及地方官员和老百姓组成。在linux中如果你对安全需求比较苛刻,完全可以限制用户的各种行为,不同用户的权限是不同的。

  在linux中系统中,它并不认识帐号名称。它认识的是我们的帐号ID,帐号ID保存在/etc/passwd文件中。我们在登录linux主机时,在输入完帐号和密码时,linux会先查找/etc/passwd文件中是否有这个帐号,如果没有则跳出,如果有的话,他会读取该帐号的user ID和group ID同时该帐号的根目录和shell也读了出来。然后在去核对密码表,在/etc/shadow中找出我们刚刚输入的帐号和userID,核对我们输入密码是否正确。一切正确我们可以登录到当前用户shell。那么,我们首先了解一下一些基本的概念。

  在我们的linu中各个用户以权限来区分

  Linux中一般有三种用户:

  1、超级用户root:具有最高的权限,UID=0,GID=0

  2、系统用户:主要服务于系统应用,维护系统运行,不能登录。例如:uucp

  daema等。

  3、普通用户:登录的用户

  组:具有相同权限的用户的集合。例如,我们的ubuntu组

  小结:目前linux各个方面海没有WINDOWS完善但是linux的前景还是很明朗的 至少现在在服务器领域它还是让微软惧怕的。还有我自己的的私人口号:学好linux,挑战年薪十万!当然如果大家还想了解更多相关方面的详细内容,课课家教育平台欢迎大家咨询!

赞(25)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程