Linux的账号及权限管理

前言

如果把Linux系统当成一个家的话,就不可能让所有人随随便便的进出,肯定是手握钥匙的人,也就是拥有进出权限的人才能对Linux进行控制和验证,所以这就涉及到了Linux中的账号及权限管理。

一、用户账号和组帐号

1.概述

Linux基于用户身份对资源访问进行控制
用户账号:超级用户(root)、普通用户、程序用户

组帐号:
基本组 (私有组)∶基本组账号只有一个,一般为创建用户时指定的组。
附加组 (公共组)∶ 用户除了基本组以外,额外添加指定的组。可以理解为基本组在创建系统时用户自带的组,附加组为用户自己加入的组。

UID(User IDentity,用户标识号)
GID(Group IDentify,组标识号)
标识号时唯一的,root 用户账号的 UID和GID 号为固定值 0
程序用户账号的 UID和GID 号默认为 Centos 6∶ 1~499,Centos7∶1~999
普通用户的 UID和GID 号默认为 Centos 6∶ 500~60000,Centos7∶ 1000~60000

2.用户账号文件

2-1.保存用户名称、宿主目录、登陆shell等基本信息
文件位置:/etc/passwd
每一行对应一个用户的账号记录
在这里插入图片描述
2-2.保存用户的密码、账号有效期等信息
用户帐号文件/etc/shadow
可以看到一串乱码,其实那是sha算法对密码进行加密的方式,bin后面的17110则是从1970年1月1日Linux诞生开始算起的天数
在这里插入图片描述
date -d "1970-01-01 17110 days"可以看上次修改日期
在这里插入图片描述

二、命令

1.用户账号的初始配置文件

文件来源
新建用户账号时,从/etc/skel目录中复制而来
主要的用户初始配置文件需要用ls -la来查看隐藏文件
在这里插入图片描述

其中~/.bash profile和~/.bashrc 是一样的,每次登陆会加载shell,登陆系统时会执行bashrc
~/.bash_logout 每次退出登陆时执行

2.添加用户账号useradd

useradd [选项] 用户名
常用选项
-U 指定用户的UID号,要求改UID号码未被其他用户使用

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

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

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

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

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

-s 指定用户的登陆Shell
例:
useradd -d /admin -g wheel -G root admin
指定admin宿主目录,wheel基本组,root附加组,定制用户名称admin
在这里插入图片描述
useradd -e 2021-08-10 -s /sbin/noloin wang
指定wang用户登陆shell,账户到2021年8月10号失效
chage -l wang 可查看账户过期时间等信息
在这里插入图片描述

3.设置/更改用户口令passwd

passwd 【选项】 用户名

常用选项
-d 清空密码
在这里插入图片描述

-l 锁定用户
在这里插入图片描述

-S(大写) 查看用户的状态
在这里插入图片描述

-u 解锁
在这里插入图片描述

4.修改用户账号的属性usermod

usermod 【选项】 用户名

常用选项
-l 更改用户账号的登陆名称
usermod -l [新名字] [旧名字]
-L 锁定用户账户
-U 解锁用户账户

以下常用选项与useradd命令中的含义相同
-d 指定用户的宿主目录位置(当与-M一起使用时,不生效)
-e 指定用户的账户失效时间,可使用YYYY-MM-DD的时间格式。2021-01-01
-g 指定用户的基本组名(或使用GID号)
-G 指定用户的附加组名(或使用GID号)
-s 指定用户的登陆Shell
-u 解锁

重点说一下usermod和passwd锁定账户的区别,可以看到使用passwd锁定的账户多出了一个感叹号,那么就意味着passwd需要双重验证,从安全角度来说要优于usermod
在这里插入图片描述在这里插入图片描述

5.删除用户账号userdel

userdel命令
userdel 【-r】 用户名
添加r是连宿主目录一并删除,不加是删除用户名
在这里插入图片描述

6.添加组账号groupadd

组账号文件
与用户账号文件相类似
/etc/group:保存组账号基本信息
/etc/shadown:保存组账号的密码信息

groupadd命令
groupadd [-g GID] 组账号名
例:[root@localhost ~]# groupadd -g 1003 wang 添加组帐号wang
在这里插入图片描述

7.添加删除组成员gpasswd

gpasswd命令
设置组账号密码(极少用)、添加/删除组成员
gpasswd [选项] 组账号名

常用选项
-a:向组内添加一个用户
在这里插入图片描述

-d:从组内删除一个用户成员
在这里插入图片描述

-M:定义组成员列表,以逗号分隔
在这里插入图片描述

8.删除组帐号groupdel

groupdel命令
groupdel 组帐号名
在这里插入图片描述

9.查询账号信息

1.groups命令
查询用户所属的组
groups [用户名]
在这里插入图片描述

id命令
查询用户身份标识
id [用户名]
在这里插入图片描述

三、文件/目录的权限和归属

1.访问权限

读取r:允许查看文件内容、显示目录列表
写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行x:允许运行程序、切换目录
在这里插入图片描述

在这里插入图片描述
如上图:第一个红框是指文件类型权限,第二个红框是指属主和属组
归属(所有权)
属主(用户):拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
详细解释:
第 1 个字符:表示该文件的类型,可以是 d(目录)、b(块设备文件)、c(字符设备文件)、“-”(普通文件)
字母“l”(链接文件)等。
第 2~4 个字符:表示该文件的属主用户(User)对该文件的访问权限。
第 5~7 个字符:表示该文件的属组内各成员用户(Group)对该文件的访问权限。
第 8~10 个字符:表示其他任何用户(Other)对该文件的访问权限。

2.设置文件和目录的权限chmod

chmod命令1
chmod [ugoa] [±=] [rwx] 文件或目录
[ugoa]中的u、g、o、a分别表示属主(用户)、属组、其他用户、所有用户
[±=]中的+、-、=分别表示增加、去除、设置权限
[rwx]中的r、w、x分别表示读、写、运行权限
在这里插入图片描述
如上图所示:可以看到zhangsan被去除了运行权限

chmod命令2
chmod nnn 文件或目录
nnn 3位八进制数
常用选项
-R:递归修改指定目录下所有子项的权限
在这里插入图片描述
如上图所示,可以看到原本没有运行权限的zhangsan又被赋予了所有的读写以及运行权限

3.设置文件和目录的归属chown

chown命令
chown [属主] 文件或目录 可以单独更改用户账号
chown [:属组] 文件或目录 可以单独更改组账号
chown [属主:属组] 文件或目录 两个可以一起改
常用选项
-R:递归修改指定目录下所有文件、子目录的归属
在这里插入图片描述

4.权限掩码umask

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

umask设置: umask 022
umask查看:umask
在这里插入图片描述
如上图所示,可以看到给lisi的属主权限是读、写、运行权限,属组则是读、运行权限,其他用户也是读、运行权限,可以理解为777-022=755,也就是7=r w x,5=r - x,5=r - x

总结

总体来说是围绕着用户账户进行操作的一些命令,难度并不大,passwd和shadow保存的东西并不一样,passwd主要保存用户名称、宿主目录等基本信息,而shadow才是保存用户的密码和账号有效信息等。至于passwd和usermod这条命令个人习惯还是用passwd多一些。
设置文件和目录的权限chmod的两种方式个人还是偏向于第二种,另外要注意设置文件和目录的归属chown和设置文件和目录的权限chmod不要混淆。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值