Linux-账号与组群
作者:互联网
Linux账号与组群
切换身份到root
Linux账号与组群主要是针对管理员的操作,进行身份的的切换可以使用命令su
来进行切换。
输入的密码是管理员用户的密码。
UID和GID
每个文件都具有拥有人和拥有组群的属性
每一个Linux用户至少会取得两个ID:使用者ID:UID和所属组ID:GID
文件如何判断拥有者和组群?
每一个文件都有自己的所有者ID和所属组群ID,显示文件的属性的时候,系统会自动根据/etc/passwd于/etc/group的内容找到UID/GID对应的账号于组群名进行显示。
/etc/passwd
/etc/group
当我们擅自修改/etc/passwd或者/etc/group中的内容。当系统无法找到所对应的用户名的时候就会显示UID而不会显示用户名,因为失去了对应的关系。
当我把原来的1000修改为10000的时候再进行ls -l
命令会出现:
所对应的拥有者的用户名没有再显示。
为了避免系统出错,改动之后尽快还原。
使用者账号:
登陆系统,利用了tty1-tty7(tty,teletypes,切换Ctrl+Alt+F1)的login接口输入账号密码。
系统的处理:
1.再/etc/passwd中查找是否又该账号,没有则退出,如果有就读出UID和GID。
2.核对密码,用/etc/shadow核对密码。
3.如果一切顺利就进入shell
/etc/passwd
passwd对于任何的用户都是可读的。
用管理员身份进入/etc/passwd,可以进行修改其中的内容。
该文件内有多少行就有多少名用户。其中会有一些系统用户,不要将该用户删去,容易出现系统的崩溃。
对于其中的内容的分析
对于每一行来说,分成了七个部分,由:将他们分隔开。
1.账号名称
2.密码,但实际上该文件并不存密码,系统将用户的密码保存在/etc/shadow中。
3.UID
将某个用户的UID改为0,就可以使该用户直接获得root权限。
4.GID
5.用户信息说明,用来描述用户的作用,可以用root权限网上添加,也可以没有。
6.家目录。用户的家目录(绝对路径)。
7.shell
/etc/shadow
对于其中的内容的分析
用:将每一行的内容分成了九个部分。
1.账号名称
2.密码,加密之后的密码(用SHA512算法),很难会破解,但也不一定不会被破解。
3.最近更改密码的日期,是一个时间戳,是从1970年1月1号开始进行累加的。(按秒为单位返回的时间戳)。
4.密码不可以被更改的天数,(与第三字段相比),如果是0可以随意改。
5.密码需要重复新变更的天数(第三字段相比)。
6.密码需要变更期限前的警告天数(第五字段相比)。
7.密码过期后的账号宽限天数(第五字段相比),再密码过期之后,并不会直接将用户删除,而是有一个宽限天数。
8.账号失效日期。
9.保留字段。
/etc/group
对于其中的内容分析
用:将其中的内容分成了四个部分。
1.组名
2.组群密码
3.GID
4.此组群支持的账号名称。各个账号之间用,进行分割,每个组群里的用户的多少不是固定的。
账号管理
就是账号的增删改查
增
useradd
可以手动用来实现,只需要在改变了的文件中写入一些内容即可。
1.在/etc/passwd下面增加了一行,就是增加了一个用户,在home下增加了一个目录。
2.在/etc/shadow下增加了一行,就是用来记录新增的用户的密码。
3.在/etc/group下增加了一行,跟账户名一样的group
useradd -D命令可以用来查看当使用useradd的时候都做了些什么事。
(在/etc/shadow中没有密码的用户用!!表示)
1.group=100,新建账号的初始组群的GID是100。
2.HOME=/home新建用户的家目录就是/home目录。
3.INACTIVE=-1密码过去后是否会失去配置
4.EXPIRE用户失效日期
5.SHELL= /bin/sh默认的shell
6.SKLE=/etc/skel如果批量的要创建一些用户,用户的初始有某些文件或者环境变量,可以在/etc/skel中去配置某些文件。
7.CREATE_MATL_SPOOL=yes使用邮件箱与否。
对用户密码的操作
对于没有密码的用户,是不可以使用的,在使用之前要为用户创建密码,之后对其进行操作。
passwd [用户名]
可以为某用户创建密码,或者修改密码。
passwd
给当前的用户创建密码或者修改密码。
passwd -S [用户名]
显示用户当前的在/etc/shadow文件下的状态。
chage
chage -l [用户名]
可以查看一些用户当前的年龄信息。
usermod
可以修改一些初始的useradd时的默认值
userdel
userdel [用户名]
删除用户。如果不确定当前用户是否确定要删除的时候,可以在/etc/shadow中注释掉(在最后一个字段中写0即可)。
Linux账号的组群
身份的切换
使用一般账号,而不是管理员账号是一个好习惯,考虑了一些安全的因素,管理员权限太大,容易误删,误改一些重要的文件,导致系统文件崩溃。
用较低权限的账号启动软件。
软件本身的限制。
su
su [用户名]
可以切换身份用户名的身份。从管理员身份到普通用户身份不需要密码。
su
在一般身份下执行该命令可以将身份切换为管理员。
su - 或者 su -l 时login shell的意思,相当于登录。再不加参数的情况下并不会登录该用户,
sudu
一开始系统默认只有root用户可以运行sudo
sudo是切换身份执行某些命令的意思。
当我需要用某一个用户去创建某一个文件,但是该文件还不可以登录的时候,可以用sudo切换用户去执行一个指令,一般没有shell的用户需要用到该命令。
sudo的流程
1.运行sudo的时候,系统再/etc/sudoers文件中查找该用户是否有运行sudo的权限;
2.如果有该权限,让使用者输入自己的密码进行确认。
3.密码成功就开始执行sudo之后的命令。
4.如果想切换的身份于使用者的身份相同,那么就无需输入密码。
visudo与/etc/sudoers
可以用visudo命令来对文件/etc/sudoers进行修改。用来对某些用户添加或减少或修改一些sudo的用户权限。
1.使用者账号
2.登陆者来源的主机名
3.可以切换的身份
4.可以执行的命令。
Linux主机上用户信息的查询
id [用户名]
查询某用户的GID UID groups
w和who
查询目前已经登录了的用户
last和lastlog
运行last
运行lastlog
按照用户进行排列
当用命令su - [用户名]
即使用户名没有shell无法操作,仍会有登录的
标签:账号,passwd,组群,用户,etc,密码,Linux 来源: https://blog.csdn.net/weixin_46130146/article/details/116558915