4.账户和权限管理

用户账号和组账号

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

用户账号:超级用户,普通用户,程序用户

组帐号:基本组(私有组),附加组(公共组)

UID和GID:

​ UID (User IDentity, 用户标识号)

​ GID (Group IDentify, 组标识号 )

详细解释:

超级用户:root用户是Linux操作系统中默认的超级用户账号,对本机拥有至高无上的权限,只有当进行系统管理,维护任务时,才建议使用root,用户登录系统,日常事务处理建议只使用普通用户账号(考虑到安全性方面),root拥有对系统的最高管理权限 ID=0

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

系统用户UID:1-999(centos 7 版本) 1-499(centos 6 版本)

程序用户:在安装Liunx操作系统及部分应用程序时,会填添加一些特定的低权限用户账号,这些用户一般不允许登陆到系统,而仅用于维持系统后某个程序的正常运行,如 bin,daemon,ftp,mail等伪用户一般不会用来登录系统的,它主要是用于维持某个服务的正常运行。

UID:即每个用户的身份标识,类似于每个人的身份证号码

管路员组:root,0

普通组:GID

​ 系统组:1-499(centos 6),1-999(centos 7)

​ 普通组:500+(centos 6),1000+(centos 7)

表示该账号需要密码才能登录,为空时,账号无需密码即可登陆

组账号

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

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

例:用户zhangsan是技术部的员工,与部门内的其他同事同属于基本组tech,后来因工作安排需要,公司将zhangsan加入邮件管理员组maiadm,则此时用户zhangsan同时属于tech,mailadm组,tech组是基本组账号,而mailadm组是其附加组账号,对组账号设置的权限将使用于组内的每一个用户账号。

简述:

用户和组的关系

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

用户账号文件记录详细说明/etc/passwd/

保存用户名称,宿主目录,登陆Shell等基本信息

文件位置:/etc/passwd/

每一行对应一个用户的账号记录

image-20220516094921960

详细解释:

root:用户名,用户仅是为了方便用户记忆,Liunx系统是通过UID来识别用户身份,分配用户权限

x:表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow(影子文件)文件,Liunx系统把真正的加密密码串放置在/etc/shadow/文件中,,此文件只有root用户可以浏览和操作,最大限度地保证了密码的安全。

注意!!!,虽然“x”并不表示真正的密码,但也不能删除,如果删除了“x”那么系统会认为这个用户没有密码,从而导致只输入用户而不用输入密码就可以登陆(只能在使用无密码登陆,远程是不可以)

0:用户账户的UID号

0:所属基本组账号的GID号

root:描述性信息,此字段只是用来解释这个用户的意义而已

/root:宿主目录,即该用户登录后所在的默认工作目录

通常称为用户的主(家)目录,例:root主目录为/root,普通用户odysee的主目录为/home/odysee

/bin/bash登陆Shell等信息,用户完成登录后使用的,/sbin/nologin拒绝登陆,/etc/shadow文件只有root用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性和/etc/passwd文件一样,文件中每一行代表一个用户,同样使用“:”作为分割符,不同之处在于,每个用户信息别划分为9个字段。

/etc/shadow(影子文件):

第一列:账户名

image-20220516104405653

第二列:存放真正加密的密码,采用SHA512散列算法,更加安全加密原来用MD5或DES,!!和*表示没有密码不能登陆,新创建用户也是!!,如果木马前面显示双感叹号表示该账户被锁定了image-20220516104453134

第三例:上次修改密码的时间,从1970年1月1日开始算的,因为1970年是linux的诞生日,date -d“1970-01-01 19125 days”可以查看那一天改过image-20220516104819792

第四列:多久之后才可以修改密码,如果是0,则密码可以随时修改,最小修改间隔时间,也就是说该字段规定了从第三个字段(最后一次修改密码的日期)起,多长时间之内不能修改密码,如果是0则随时修改密码,如果是10,则代表密码修改后10天之内不能再次修改密码,此字段是为了针对某些人频繁更改账号密码而设计的。image-20220516110320344

第五列:密码有效期,默认99999(273年),表示永久生效image-20220516110356371

第六列:密码到期前的第几天发出警告信息,默认7天,每次登录系统都会向该账户发出“修改密码”的警告信息

第七列:密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是安全禁用

例:此字段规定的宽限天数是10,则代表密码过期10天后失效,如果是0则代表密码过期后立即失效,如果是 -1则代表密码永远不会失效

第八列:账号失效时间,使用自1970年1月1日以来的总天数作为账户的失效时间

第九列:保留,未使用

chage命令

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

格式:chage [选项] 用户名

-m:密码可更改的最小天数,为零是代表任何时候都可以更改密码 (对应第四字段)

-M:密码保持有效的最大天数 例:chage -M 60 root (对应第五字段)

-w:用户密码到期前,提前收到警告信息的天数 (对应第六字段)

-E:账号到期的日期,过来这天,此账号将不可用 (对应第八字段)

-d:上一次更改的日期 (对应第三字段)

-i:停滞时期,如果一个密码已过期这些天,那么此账号将不使用

-l:例出当前的设置,由非特权用户来确定他们的密码或账号何时过期 (对应第七字段)

-u:UTC时间

date -d “+45 days” -u 如果不知道时间可以用date查看

组的分类:

当一些用户需要做同一件事的时候,吧他们加到一个组中便于管理

1,基本组,一般新建用户的时候会随用户自动创建,与用户同名

2,附加组,一般一个用户可以有0或多个附加组,一个用户只有一个基本组,可以有多个附加组

chmod命令

用来修改属主,属组,其他任何用户的读,写,执行权限,“+” 加权限,”-” 减权限,或更改数字来设置权限

格式:

chmod u+rwx g+rwx o+rwx 更改的目录名(文件) 单个修改

chomd a+rwx 更改的目录名(文件) 全部修改

chomd 777 更改的目录名 (文件) 数字形似全部修改

image-20220520084343089

useradd添加用户账号

-u:指定用户的UID号,要求UID号码未被其他用户使用

-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)

-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式

-g:指定用户的基本组名(或使用 GID 号)

-G:指定用户的附加组名(或使用 GID号)

-M:不建立宿主目录,即使/etc/login.defs 系统配置中设定要建立宿主目录

-s:指定用户的登陆Shell环境 /bin/bash /sbin/nologin

usermod命令控制账号

参数:

-l:更改用户账号的登陆名称 (Login name)

-L:锁定用户账户

-U(大写):解锁用户账户

-u:修改用户的 UID 号

-d:修改用户的宿主目录位置

-e:修改用户的账号失效时间,可使用 YYYY-MM-DD 的日期格式

-g:修改用户的基本组名 (或使用 GID)

-G:修改用户的附加组名 (或使用 GID)

-s:指定用户的登陆 Shell

userdel删除命令

userdel 用户名 可删除用户名,但删不掉里面文件

userdel -r 用户名 表示连用户的宿主目录一并删除

passwd命令(管理密码)

调用管道符,给 zhangsan 用户设置 “123” 密码,为了方便管理,passwd 命令提供了 --stdin选项,用于批量给用户设置密码, --stdin (标准化输入)

echo “123123” | passwd --stdin zhangsan

cat /etc/passwd 查看创建用户的详细信息

-d:清空指定用户的密码,仅使用用户名即可登陆系统

-l:锁定用户账户

-s:查看用户的状态(是否被锁定)

-u:解锁用户账号

用户账号的初始配置文件(扩展)

①,添加一个新的用户账户后,useradd 命令会在该用户的宿主目录中建立一些初始配置文件,这些文件来自于账号模板目录 /etc/skel/, 基本上都是隐藏文件,较常用的初始配置文件包括 “.bash_logout”,

“.bash_profile" 和 ”.bashrc"。其中 “.bash_porfile" 文件中的命令将在该用户每次登录时被执行,”.bashrc“ 文件中的命令会每次加载 ”/bin/Bash" 程序(当然也包括登陆系统)时执行,而 “.bash_logout” 文件中的命令将在用户退出登陆执行

②,理解这些文件作用,可以方便我们安排一些自动运行的后台管理任务,在 “.bashrc"等文件中,可以添加用户自己设置的可执行语句(如 Liunx 命令行,脚本控制语句等),以便自动完成相应的任务。

③,如果希望为所有用户添加登录后自动运行的命令程序,自动设置变量等,可以直接修改/etc 目录下的类似文件,如/etc/bashrc文件,/etc/profile 文件,

image-20220517094859040

如果需要每个用户登出时都清除输入的命令历史记录,可在/etc/skel/.bash_logout文件中添加这行命令rm -rf $HOME/.bash_history,这样当用户每次注销时 .bash_history文件都会被删除

history:查看历史输入命令

组账户文件:

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

grep “root” /etc/group 检索root 组包括那些用户

grep “root” /etc/group 检索那些组包括root 用户

gpasswd命令

格式:

groupadd -g GID 组账号名

-a:添加用户到组

-d:从组删除用户

-A:指定管理员

-M:指定组成员和-A的用途差不多

-r:删除密码

-R:限制用户登入组,只有组中的成员可以用 newgrp 加入该组

groupdel命令

删除组账号

格式:

groupdel 组账号名

groups命令

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

格式:

group 用户名

finger命令

查询用户账户的详细信息

格式:

finger 用户名

w,who,users,last命令 *

查询已最近登录到主机的用户信息

通常使用 tty 来简称各种类型的终端设备,centos 7系统,tty1表示图形界面,tty2-tty6表示文字界面,可使用Ctrl+Alt+F1切换,按Ctrl+Alt+F2登陆, 执行w命令,查看使用的终端就是tty2

User:登录用户名

TTY:登录后系统分配的终端号

From:远程主机名,即从哪登录

login@:何时登录

IDLE:用户空闲时间,这是个计时器,一旦用户执行任何操作,该计时器就会被重置

JCPU:和终端连接的所有进程占用时间,包括当前正在运行的后台作业占用时间

PCPU:当前进程所占用时间

WHAT:当前正在运行进程的命令行

pts说明是用远程工具连接的,比如1xshell,后面的数字表示登录的时间顺序,越小证明登录越早

查看目录和文件的属性 *

root 用户,root组

权限字段有四部分组成,各自的含义如下

image-20220517115127180

第1个字符:表示该文件类型,可以是d(目录),b(块设备文件),c(字符设备文件),“-”(普通文件),l(软连接文件)

※t:权限只针对目录生效,它表示只能让所属主以及root可以删除(重命名/移动)该目录下的文件。比如/tmp目录本来就是任何用户都可以读写,如果别人可以任意删除(重命名/移动)自己的文件,那岂不是很危险。所以这个t权限就是为了解决这个麻烦的。

第二种解释: 该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件

第2~4个字符:表示该文件的属主用户(User)对该文件的访问权限

第5~7个字符:表示该文件的属组内各成员用户(Group)对该文件的访问权限

第8~10个字符:表示其他任何用户(Other)对该文件的访问权限

第11个字符:这里的 “.” 与SELinux(核心防护) 有关

上面格式中,字符组合“[ugoa…] [±=] [rwx]"或数字组合”nnn“的形式表示设置的权限模式,其中”nnn“为需要设置的具体权限值 ,如”755“ ”644“ “600”等,而”[ugoa…] [±=] [rwx]"的形式中,三个组成部分的含义及用法

“ugoa” 表示该权限设置所针对的用户类别,u 代表文件属主,g 代表文件属组的用户,o 代表其他任何用户,a 代表所有用户

“±=” 表示设置权限的操作动作,+ 代表增加相应权限,- 代表减少相应权限,= 代表仅设置对应的权限

“rwx” 是权限的字符组合形式,也可以拆分使用

文件,目录的权限和归属

访问权限

读取r:允许查看文件内容,显示目录列表

写入x:允许修改文件内容,允许在目录中新建,移动,删除文件或子目录

可执行x:允许运行程序,切换目录

归属(所有权)

属主:拥有该文件或目录的用户帐号

属组:拥有该文件或目录的组帐号

image-20220517113821765

设置文件和目录的权限chmod

image-20220517115804493

image-20220517183111761

常用选项:

-R:递归修改指定目录下的所有子项的权限

chown -R 递归修改属主,属主,如果同时设置目录和文件的属主,属组,则需要用到分割符“:”

image-20220517183236544

权限掩码umask

umask作用(反向更改,反掩码)

控制新建的文件或者目录的权限

默认权限去除umask的权限为新建的文件或者目录的权限

umask设置:umask 022

umask查看:umask

指定完反掩码后,创建文件后不会给执行权限,目录可以指定,之后就是正常的反掩码。

.(img-SX7W3j1i-1653278058310)]

[外链图片转存中…(img-Y5ya2Y0r-1653278058311)]

常用选项:

-R:递归修改指定目录下的所有子项的权限

chown -R 递归修改属主,属主,如果同时设置目录和文件的属主,属组,则需要用到分割符“:”

[外链图片转存中…(img-isknqRhN-1653278058311)]

权限掩码umask

umask作用(反向更改,反掩码)

控制新建的文件或者目录的权限

默认权限去除umask的权限为新建的文件或者目录的权限

umask设置:umask 022

umask查看:umask

指定完反掩码后,创建文件后不会给执行权限,目录可以指定,之后就是正常的反掩码。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值