Linux 私房菜————Linux系统基本操作命令(六)|账号权限|用户账号|组账号|

一、Linux账号与权限

1.用户账户

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

超级用户root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的
普通用户由root用户或管理员用户创建,拥有的权限会收到限制,一般只在用户自己的宿主目录中拥有完整u秦安县
程序用户在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某给程序的正常运行,如 bin、daemon、ftp、mail等

2.组账户

基本组(私有组)
基本组账号只有一个,一般为创建用户时指定的组
在/etc/passwd文件中第4段记录的即为该用户的基本组GID号

附加组(公共组)
用户除了基本组以外,额外添加指定的组

3.UID和GID

  • UID (User IDentity 用户标识号)
  • GID (Group ID 组标识号)

root 用户账号的 UID和GID 号为固定值0
程序用户账号的 UID和GID 号默认为 1~499
普通用户的 UID和GID 号默认为500~60000

二、用户账户文件/etc/passwd

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

  • 文件位置:/etc/passwd
  • 每一行对应一个用户的账号记录
  • 所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改
  • 早期系统中,账号密码存放在passwd文件中,因为很容易被暴力破解,后期账户密码放入到了shadow文件中,而passwd文件仅保留了密码占位符X
  • passwd文件中每一行包含了7个冒号分隔的配置字段,示例如下:
  • 在这里插入图片描述

第一段:用户账号—用户账号的名称,也是登录系统时使用的识别名称
第二段:密码占位符—表示自己有密码
第三段:用户账号ID(UID)—用户账号的UID号
第四段:组账号ID(GID)—所属基本组账号的GID号
第五段:用户说明—用户全名,可以填写与用户相关的说明信息
第六段:宿主目录(家目录)—该用户登录后所在的默认工作目录
第七段:登录Shell—登录shell等信息,用户完成登录后使用的shell(/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)

三、用户账户文件/etc/shadow

保存用户的密码、账号有效期等信息
文件位置/etc/shadow
每一行对应一个用户的密码记录
默认只有root用户能够读取shadow文件在的内容,且不允许直接编译该文件的内容
shadow文件又被称为“影子文件”,其中保存有各种用户账号的密码信息,因此对shadow文件的访问应该进行严格限制
shadow文件的每一行内容中,包含了九个用冒号分隔的配置字段,示例如下>

在这里插入图片描述

字段说明
第一字段(root)用户账号名称
第二字段使用MD5加密的密码字串信息,当为“*”或者“!!”时表示此用户不能登录到信息,若该字段内容为空,则该用户无需密码即可正常登陆系统
第三字段(14374)上次修改密码的时间,表示从1970年1月1日起到最近一次修改密码时间隔的天数
第四字段(0)密码的最短有效天数。自本次修改密码后,必须至少经过该天数才能再次修改密码,默认值为0,表示不进行限制
第五字段(99999)密码的最长有效天数,自本次修改后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制
第六字段(7)提前多少天警告用户口令将过期,默认值为7
第七字段在密码过期后多少天内禁用此用户
第八字段账号失效时间,此字段制定了用户作废的天数(从1970年1月1日算起),默认值为空,表示账号永久可用
第九字段保留字段,目前没有特定用途

1.添加用户账号

useradd [选项] [用户名]
举例:添加一个用户
在这里插入图片描述

-d指定宿主目录
-e指定账户失效时间
-g指定用户基本组
-G指定用户附加组
-M不建立宿主目录
-s指定用户登录shell

2.设置用户密码

passwd [选项] [用户名]
举例:给ggtt设置密码[如不设置密码账户不会激活]
在这里插入图片描述

-d清空密码(可以空密码登录)
-l锁定用户
-s查询用户状态
-u解锁用户

3.修改用户账号的属性

usermod [选项] 用户名
举例:修改用户gt1
在这里插入图片描述

-d修改宿主目录
-e修改用户账户失效时间
-s指定用户登录shell
-l更改用户登录名
-L锁定用户
-U解锁用户
-g修改用户所属的基本组
-G修改用户所属的附加组

4.删除用户

userdel -r 用户名:删除用户时将宿主目录连带删除
在这里插入图片描述
如果执行:userdel ggtt , /etc/passwd 中的 ggtt 信息没了,但是宿主目录的 ggtt 目录还在;

如果执行:userdel -r ggtt , /etc/passwd 中的 ggtt 信息没了,宿主目录的 ggtt 目录也被删除了;

四、用户账号的初始配置文件

我们在当前命令框中的操作都是在 当前 bash Shell 中进行的,如果切换了 bash 环境(切换了 bash Shell),之前的操作都没了(比如使用 PS1修改提示字符颜色)。

如果想让当前用户,切换 bash时,或者重启后 配置还在 可以修改 用户初始配置文件 [.bash_profile] 和 [.bashrv ]。这两个文件在用户登录时(当前用户)就会执行。

vim bashrc 加一行 PS1=…

文件来源:

  • useradd 命令添加一个新的用户账号后,会在该用户的宿主目录中建立一些初始配置文件。
  • 这些文件来自于账号模板目录 /etc/skell,基本上都是隐藏文件。

主要的用户初始配置文件:

~/.bash_profile
~/.bashrc
~/.bash_logout

全局配置文件:

/etc/profile
/etc/profile.d/

五、组账户

1.添加组账户

groupadd -g gid 组账户名

2.查询组账户

grep ”组账户“ /etc/group

3.将用户加入指定组中

gpasswd -a 用户名 组名
gpasswd -d 用户名 组名

4.查询账户信息

id 用户名查询用户的uid和gid
groups 用户名查询用户所属的组
finger 用户名查询用户的详细信息
w查询当前主机用户登录情况

5.将多个用户加入新组

gpassed [用户名] [组名]

访问权限:

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

归属(所有权):

属主拥有该文件或目录的用户账号
属组拥有该文件或目录的组账号

权限分三段:属主、属组、其他用户

设置文件和目录的权限chmod

chmod -R nnn 文件或目录
nnn为三个八进制数

*设置文件和目录的归属
*

chown 属主 文件或目录
chown 属组 文件或目录
chown 属主:属组 文件或目录

权限掩码

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

umask 掩码

举例:
在这里插入图片描述

如果执行命令“umask 000”,代表文件的默认权限是“777”
如果执行命令“umask 022”,代表目录的默认权限是“755”

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值