0
点赞
收藏
分享

微信扫一扫

账号和权限管理(一)

火热如冰 2022-04-01 阅读 84

管理用户账号

用户账号和组账号的概述

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

用户账号

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

超级用户:ID=0

普通用户:ID=1-999(1-999是保留的,创建用户从1000开始)

程序用户:(fit svn apache)伪用户,不能登录操作系统只能维护某个服务正常运行

组账号

组账号:把一个一个账号放进去的组 (一个组里的每个账号就叫做组账号)

基本组(私有组)(每一用户创建成功都会有自己的组)

相当于人的主职业。

附加组(公有组)(额外加入的组)

相当于人的副职业。

基本组必须有而且只能有一个,而附加组不限,也可以没有。

UID和DID

UID(User IDentity,用户标识号)

GID(Group IDentify,组标识号)

唯一,相当于每个人的身份证

用户账号文件  etc/passwd

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

文件位置:/etc/passwd

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

【root@localhost~】#head -2 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

用户账号文件/etc/shadow

 保存用户的密码、账号有效期等信息

文件位置:/etc/shadow

每一行对应一个用户的密码记录

[root@localhost ~]# head -2 /etc/shadow
root:$1$55HB4pbx$acHqk4IZiHTZ9cw0ZJe8f0:14374:0:9999:7:::
bin:*:14374:0:99999:7:::
[root@localhost ~]# tail -1 /etc/shadow
teacher:$1$BT7teaYX$s2sr6uFUwKhtU.8/8VpzB1:14374:0:99999:7:::

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

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

/bin/bash录Shell等信息,用户完成登录后使用的

/etc/shadow (影子文件)

/etc/ shadow 文件只有root

用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性

和/etc/passwd 文件一样,文件中每行代表-一个用户,同样使用":"作为分隔符,不同之处在于,每行用户信息被划分为9个字段。

第一列:账户名

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

第三列:上一 .次修改密码的时间,从1970年1月1日 开始算的,因为1970年是linux的诞生日,date
-d "1970-01-01 118983 days"可以查看哪一 天改过。

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

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

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

第七列:密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用比如说,此字段规定的宽限天数是10,则代表密码过期10天后失效;如果是0则代表密码过期后立即失效;如果是-1则代表密码永远不会失效

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

第九列:保留,未使用。

示例:

圈出来的数字是从1970 . 1.1日到你创建用户的日子

修改账号属性——chage

选项:
-d,       lastday 最近日期                将最近一次密码设置时间设为“最近日期”
-E,       expiredate过期日期            将帐户过期时间设为"过期日期
-h,       help                                    显示此帮助信息并推出
-I         inactive INACITVE             过期INACTIVE 天数后,设定密码为失效状态
-L        list                                      显示帐户年龄信息
-m       mindays 最小天数               将两次改变密码之问相距的最小天数设为"最小天数”
-M       maxdays 最大天数             将两次改变密码之间相距的最大天数设为“最大天数”
-R        rootCHROOT DIR              chroot   到的目录
-W       warndays 警告天数             将过期警告天数设为“警告天数" 

 

 -E:设置账户过期时间为2020.9.1

 -m设置两次改密码之间最小的间隔为1天

 

 -M设置两次改密码之间最大的间隔为180天

 

 -I设置密码过期后还能登陆30天

 查看用户名称、宿主目录、登陆Shell等基本信息

 

 添加用户账号

useradd命令

useradd   【选项】   【用户名】

常用选项

-u     -d     -e     -g     -G     -M      -s

常用选项释义

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

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

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

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

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

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

-s:指定用户的登录Shell。        /sbin/nologin  /sbin/bash

步骤

1、useradd zhangsan

2、id zhangsan

3、tail -1 /etc/passwd

4、tail -1 /etc/ shadow

5、ls /home

示例

1、需求:创建一个辅助管理员账号admin,将其基本组指定为"wheel",附加组指定为“root",宿主目录指定为“/admin”

useradd -d /admin -g wheel -G root admin

id admin .

在账号管理工作中,有时候会希望在新建账号的同时指定该账号的有效期限,或者要求
新建的账号不能登录系统( 如仅用于访问FTP 服务),这时可分别使用“-e"和“-s”选项。例
执行以下操作可以创建一一个名为lisi的FTP账号(禁止终端登录),该账号将于2021-12-
失效。

useradd -e 2021-12-31 -s /sbin/nologin lisi

useradd -M zhang

useradd -u 666 san

2、设置基本组和附加组并查看

 设置、更改用户密码——passwd

passwd命令格式

passwd  【选项】  【用户名】

常用选项

-d      -l     -S      -u

不指定用户名时,修改当前账号的密码

常用选项释义:

-d:清空指定用户的密码

-l:锁定用户账户,被锁定的用户账号将无法登陆系统

-S:查看用户账户的状态

-u:解锁用户账号

示例

更改用户ma的密码

 !!表示还没设置密码,不可以登陆

 

 -S

 

 -l

 -u

 -d

 查看并验证

 

 扩充

设置密码

echo “新密码” |passwd --stdin  【用户名】

 修改用户账号的属性——usermod

usermod命令格式

usermod    【选项】    【用户名】

常用选项

-l     -L     -U

选项释义

基本与useradd相同

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

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

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

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

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

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

-s:指定用户的登录Shell。

比useradd多的指令:

-l:更改用户账号的登录名称

-L:锁定用户账户

-u:解锁用户账户

 -l:将用户的名称由ma改为mayin

 -u:修改用户的UID

 -s:修改shell登陆

 

 删除用户指令——userdel

格式

userdel    -r   【用户名】

选项释义:-r       可将该用户的宿主目录一并删除

用户账号的初始文件配置

 文件来源:新建一个用户账号时,从/etc/skel目录中复制而来。

ls -a :查看隐藏文件

用户宿主目录下的初始配置文件只对当前用户有效

.bash profile:此文件中的命令将在该用户每次登录时被执行,他会设置一些环境变量,并且会

调用该用户的.bashr文件

.bashrc:此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行

.bash_logout:此文件中的命令将在该用户每次退出时bash shell时使用
 

总结

/etc/passwd命令

/etc/shadow命令

passwd命令

usermod命令

userdel命令

举报

相关推荐

0 条评论