12.账号和权限管理

账号和权限管理

用户账号和组账号概述

Liux基于用户身份对资源访问进行控制

用户帐号:

超级用户、普通用户、程序用户

超级用户:

root用户是Linux操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类以于Windows操作系统中的Administrator用户。只有当进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议只使用普通用户账号。root拥有对系统的最高的管理权限ID=0

普通用户:

普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限

系统用户:

UlD(User IDentity,用户标识号):1-999(centos7版本)
UID:即每个用户的身份标识,类似于每个人的身份证号码.

程序用户:

在安装Liux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等。

伪用户一般不会用来登录系统的,它主要是用于维持某个服务的正常运行,如:ftp,apache

管理员组:root,0
普通组:GID(Group IDentify,组标识号)
系统组:1-999(CENT0s7)
普通组:1000+(CENT0S7)
表示该账户需要密码才能登录,为空时,账户无须密码即可登录

组帐号:

基本组:

基于某种特定联系(如都需要访问TP服务)将多个用户集合在一起,即构成一个用户组,表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组);
附加组:

若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。

简说:
用户和组的关系
用户是员工组是职位
员工可以兼职多个岗位
总有一个最重要的身份主要组合附加组
主要组必须要一个组有且唯一
附加组可有可无有可以有多个
默认行为当你创建一个新用户时会自动创建一个和之同名的主组

用户账号文件
/etc/passwd

保存用户名称、宿主目录、登录Shell等基本信息
文件位置:/etc/passwd
每一行对应一个用户的帐号记录

passwd文件账号记录详细说明:

例:root: x :0:0:root:/root:/bin/bash
详解如下:
root:用户名,用户名仅是为了方便用户记忆。Liux系统是通过UID来识别用户身份,分配用户权限。
x:表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow(影子文件)。Linux.系统把真正的加密密码串放置在/etc/shadow.文件中,此文件只有root用户可以浏览和操作,最大限度地保证了密码的安全。补充:虽然"x"并不表示真正的密码,但也不能删除,如果删除了"x",那么系统会认为这个用户没有密码,从而导致只输入用户名而不用输入密码就可以登陆(只能在使用无密码登录,远程是不可以)。
0:用户账号的UID号。
0:所属基本组账号的GID号

root:描述性信息,此字段只是用来解释这个用户的意义而已
/root:宿主目录,即该用户登录后所在的默认工作目录。注:通常称为用户的主(家)目录。例如:root主目录为/root,普通用户xjw的主目录为/home/xjw
/bin/bash登录shell等信息,用户完成登录后使用的,/sbin/nologin拒绝登陆。

/etc/shadow(影子文件)

/etc/shadow文件只有xoot用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性和/etc/passwd文件一样,文件中每行代表一个用户,同样使用":"作为分隔符,不同之处在于,每行用户信息被划分为9个字段。
第一列:账户名
第二列:存放真正加密的密码,采用SHA512散列算法,更加安全加密原来用MD5或DES。!!和*表示没有密码不能登陆,新创建用户也是!!,如果密码前面显示双感叹号表示该账户被锁定了。
第三列:上一次修改密码的时间,从1970年1月1日开始算的,因为1970年是linux的诞生日,date-d"1970-01-01 18983days"可以查看哪一天改过。

第四列:多久之后才可以修改密码,如果是0,则密码可以随时修改。最小修改间隔时间,也就是说该字段规定了从第三个字段(最后一次修改密码的日期)起,多长时间之内不能修改密码,如果是0则随时修改密码,如果是10则代表密码修改后10天之内不能再次修改密码,此字段是为了针对某些人频繁更改账号密码而设计的。
第五列:密码有效期,默认99999(273年),表示永久生效。
第六列:密码到期前的第几天发出告警信息,默认是7天,每次登录系统都会向该账户发出"修改密码”的警告信息。

第七列:密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用比如说,此字段规定的宽限天数是10,则代表密码过期10天后失效:如果是0则代表密码过期后立即失效:如果是-1则代表密码永远不会失效。
第八列:账号失效时间,使用自1970年1月1日以来的总天数作为账户的失效时间。
第九列:保留,未使用。

chage命令

用来修改帐号和密码的有效期限,针对目前系统已经存在的用户。

chage[选项]用户名
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。chage-M60root
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
/etc/shadow和chage控制命令的关系:
第三个字段为:密码最后一次修改的时间(chage -d)
第四个字段为:密码最小修改间隔时间(chage -m)
第五个字段为:密码的有效期(chage -M)
第六个字段为:密码需要变更前的警告天数(chage -W)
第七个字段为:密码过期后的宽限天数(chage -I)
第八个字段为:账号失效时间(chage -E)

用户账户管理

useradd——添加用户账号

-u:指定用户的UID号,要求该UID号码未被其他用户使用。
-d:指定用户的宿主目录位置(当与-M一起使用时,不生效)
-e:指定用户的账户失效时间,可使用YYYY-M-DD的日期格式。
-g:指定用户的基本组名(或使用GID号)。
-G:指定用户的附加组名(或使用GID号)。
-M:不建立宿主目录,即使/etc/login.defs系统配置中己设定要建立宿主目录。
-s:指定用户的登录Shel1环境。

例1:useradd zhangsan#创建一个用户
id zhangsan#查看用户信息
tail-1 /etc/passwd#查看一行
tail -2 /etc/shadow#查看两行
ls /home
例2:创建一个辅助管理员账号admin,将其基本组指定为"wheel",附加组指定为"root",宿主目录指定为"/admin"
useradd -d /admin -g wheel -G root admin
id admin
例3:在账号管理工作中,有时候会希望在新建账号的同时指定该账号的有效期限,或者要求新建的账号不能登录系统(如仅用于访问FTP服务),这时可分别使用“-e”和"-s“选项。执行以下操作可以创建一个名为lisi的FTP账号(禁止终端登录),该账号将于2021-12-31失效。
useradd -e 2021-12-31 -s /sbin/nologin lisi
useradd -M zhang#不建立宿主目录
useradd -u 666 san#指定UID号

passwd命令——用户初始配置文件

#调用管道符,给zhangsan用户设置密码"123",为了方便系统管理,passwd命令提供了–stdin选项,用于批量给用户设置初始密码。
echo "123"I passwd --stdin zhangsan#给zhangsan设置密码为123。

–stdin标准输入

-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户。
-S:查看用户账户的状态(是否被锁定)。
-u:解锁用户账户。

usermod命令——修改用户账户属性

-l:更改用户账号的登录名称(Login Name)
-L:锁定用户账户。
-U:解锁用户账户。
-u:修改用户的UID号。
-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g:修改用户的基本组名(或使用GID号)。
-G:修改用户的附加组名(或使用GID号)。
-s:指定用户的登录Shell。

userdel命令——删除用户账户

userdel [-r] 用户名
添加-r选项时,表示连用户的宿主目录一并删除。
id zhangsan
userdel -r zhangsan
ls -ld /home/zhangsan

myls命令

如果希望为所有用户添加登录后自动运行的命令程序、自动设置变量等,可以直接修改/etc目录下的类似文件,如/etc/bashrc文件、/etc/profi1e文件。例如,执行以下操作可以为所有用户自动设置myls命令别名

vi /etc/bashrc
alias myls=‘/bin/ls -lhr’#别名
source /etc/bashrc#刷新当前环境

管理组账号

与组账号相关的配置文件也有两个,分别是/etc/group和/etc/gshadow。前者用于保存组账号名称、GID号、组成员等基本信息,后者用于保存组账号的加密密码字串等信息(但
是很少使用到)。某一个组账号包含哪些用户成员,将会在roup
文件内最后一个字段中体现出来(基本组对应的用户账号默认可能不会列出),多个组成员之间使用“,”(逗号)分隔

grep ”^root"/etc/group//检索root.组包括哪些用户
grep “root”/etc/group//检索挪些组包括root用户

groupadd命令——添加组账号

groupadd [-g GID] 组账号名
groupadd -g 1200 market
tail -1 /etc/group

gpasswd命令——添加设置删除组成员

-a:添加用户到组
-d:从组删除用户
-A:指定管理员
-M:指定组成员和-A的用途差不多,会覆盖.
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组细

groupdel命令——删除组账号

groupdel组账号名
groupdel market
grep “market” /etc/group

groups命令——查看目标用户所属的组(基本组和附加组)

group[用户名]
groups adm

finger命令——查询用户账号的详细信息

finger [用户名]

w、who、users——查徇已登录到主机的用户信息

通常使用tty来简称各种类型的终端设备,Centos7系统,tty1表示图形界面,tty2-tty6表示文字界面,可以用ctrl+A1t+F1-F6切换。
按Ctr1+A1t+F2登陆,执行w命令,查看使用的终端就是tty2
User:登录用户名
TTY:登录后系统分配的终端号
From:远程主机名,即从哪登录的
login@:何时登录
IDLE:用户空闲时间。这是个计时器,一旦用户执行任何操作,改计时器就会被重置。
JCPU:和终端连接的所有进程占用时间。包括当前正在运行的后台作业占用时间
PCPU:当前进程所占用时间
WHAT:当前正在运行进程的命令行
pts说明是用远程工具连接的,比如1xshe11,后面的数字代表登录的时间顺序,越小证明登录的越早

查看目录和文件的权限及归属

访问权限
读取r:允许查看文件内容、显示目录列表
写入W:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行x:允许运行程序、切换目录
归属(所有权)
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号

查看目录和文件的属性

root用户、root组
如"drwxr-xr-x"和"-rw-r–r–“。权限字段由四部分组成,各自的含义如下所述。
第1个字符:表示该文件的类型,可以是d(目录)、b(块设备文件)、c(字符设备文件)、”-”(普通文件)、字母"l”(链接文件)等。

第2~4个字符:表示该文件的属主用户(User)对该文件的访问权限。
第5~7个字符:表示该文件的属组内各成员用户(Grou)对该文件的访问权限。
第8~10个字符:表示其他任何用户(0ther)对该文件的访闸权限。
第11个字符:这里的"."与SELinux核心防护有关,目前不必关注

chmod——设置目录/文件权限

chmod [ugoa…] [ ±=] [rwx] 文件…或者

chmod nnn 文件……

上述格式中,字符组合"[ugoa][±=][rwx]"或数字组合"nnn"的形式表示要设置的权限模式。其中,"nnn"为需要设置的具体权限值,如"755"“644"等;而”[ugoa] [±=] [rwx]"的形式中,三个组成部分的含义及用法如下所述。
“ugoa"表示该权限设置所针对的用户类别。“u"代表文件属主,“g"代表文件属组内的用户,“o”代表其他任何用户,“a"代表所有用户(u、g、o的总和)。
”±=“表示设置权限的操作动作。”+”代表增加相应权限,“-”代表减少相应权限,”=”代表仅设置对应的权限。
“rwx"是权限的字符组合形式,也可以拆分使用,如"r”””等。

chown——设置目录/文件归属

chown 属主[:[属组]] 文件……

-R:递归修改

umask ——权限掩码

umask作用
控制新建的文件或者目录的权限,默认权限去除umask的权限为新建的文件或者目录的权限。
umask设置:umask 022
umask查看:umask
示例:将umask设为000,新建目录或者文件,查看权限
将umask设为022,新建目录或者文件,再查看权限

wx"是权限的字符组合形式,也可以拆分使用,如"r""”等。

chown——设置目录/文件归属

chown 属主[:[属组]] 文件……

-R:递归修改

umask ——权限掩码

umask作用
控制新建的文件或者目录的权限,默认权限去除umask的权限为新建的文件或者目录的权限。
umask设置:umask 022
umask查看:umask
示例:将umask设为000,新建目录或者文件,查看权限
将umask设为022,新建目录或者文件,再查看权限

image-20220517111428662

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值