Linux——账号与权限管理

mac2024-08-12  61

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

用户账号

超级用户 (root)普通用户 (自定义) 匿名用户(nobady 类似于guest)程序用户 (无法登陆)

不同的身份,不同的权限

UID为 0 代表root

​ 1~999 代表程序用户

​ 1000~60000 代表普通用户

组帐号

基本组(私有组)伴随着用户的创建而创建,与用户同名附加组(公共组)直接创建空组,可以添加已有用户,给组设置权限,该组中所有用户都具备此特权

UID和GID

UID (User IDentity,用户标识号)GID (Group IDentify, 组标识号)

用户账号文件/etc/passwd

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

文件位置:/etc/passwd每一行对应一个用户的账号记录 密码占位符X:仅代表root密码,不代密码在这或密码时X

带有/bin/bash 表示此账号可以登陆系统

带有/sbin/nologin 表示此账号不能登陆系统

用户账号文件/etc/shadow

保存用户的密码、账号有效期等信息
文件位置:/etc/shadow每一行对应一个用户的密码记录 账号后面带有*或者!表示账号不能被人所登陆

添加用户账号命令

useradd [选项] 用户名

-u:指定UID标记号

-d:指定宿主目录, 例如 /home/用户名 默认home

-e:指定账号失效时间

-g:基本组

-G:公有组

-M:不为用户建立并初始化宿主目录

-s:指定用户的登陆Shell

用户账号的初始配置文件

文件来源

新建用户账号时,从/etc/skel目录中复制而来
主要的用户初始配置文件:(有 ls -a 显示)

~/.bash_profile 指定的是环境变量的参数

~/.bashrc 在用户登陆时加载

~/.bash_logout 在注销时启动

在配置文件中加入内容后,加载时会自动执行

如果用户账号下的配置文件没有了

可以从etc下面的skel这个目录复制进去,可以达到修复的作用

设置/更改用户口令 passwd

passwd [选项] 用户名

-d:清空用户的密码,使之无需密码即可登陆

-l:锁定用户账号

-u:解锁用户账号

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

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

/sbin/nologin 用户无法直接登陆图形化界面和被切换登陆,都无法登陆

-l 用户账号被锁定后,无法直接登陆,但高权限用户(root)可以往低权限用户切换 输出123123通过管道符传递给密码,标准输出密码 lisi的 免交互

修改用户的账号属性usermod

usermod命令
usermod [选项] 用户名
常用选项
-l、 -L、 -U以下选项与useradd命令中的含义相同 -u、-d、-e、-g、-G、-s

usermod-L 锁定等同于passwd-l

usermod-U 解锁 等同于passwd-u

删除用户账号userdel

userdel [-r] 用户名
添加-r选项时,表示连同宿主目录同时删除

​ 不加-r ,则不删除宿主目录

组账号文件

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

添加组账号groupadd

groupadd [-g GID] 组账号名

示例:(添加组账号market)

[root@localhost ~]# groupadd -g 1000 maket

[root@localhost ~]# tail -1 /etc/group

market:x:1000:

添加删除组成员gpasswd

gpasswd命令
gpasswd [选项] 组账号名
设置组账号密码(极少用)、添加/删除组成员
常用选项
-a:向组内添加一个用户-d:从组内删除一个用户成员-M:定义组成员列表,已逗号分隔 (批量添加用户时,会将组中原有用户剔除(-M时,往新组里添加))

创建组-财务,将zhangsan添加到caiwu -M 批量添加用户时,会将组中原有用户剔除(-M时,往新组里添加)

删除组账号groupdel

groupdel命令

groupdel 组账号名

示例:(删除组账号market)

[root@localhost ~]# groupdel market

[root@localhost ~]#grep “market” /etc/group

查询账号信息

groups命令
查询用户所属的组

​ groups [用户名]

id命令

查询用户身份标识

id [用户名]

finger命令

查询用户账号的详细信息

finger [用户名]

w、who、users命令
查询已登录到主机的用户信息
lastb 命令
查看最近登陆的历史纪录

文件/目录的权限和归属

访问权限

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

归属(所有权)

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

-文件类型(数据文件)

d 目录

1 链接文件(软连接) (硬链接是2)

c 设备文件(字符) 代表 输入输出

b 块设备文件 存储

rw- r-- r-- (权限)

rw- 属主权限 rwx(读写执行3种权限) r-x 能读不能写能执行

r-- 属组权限 rwx(读写执行3种权限) rw-能读能写不能执行

r-- 所有人权限 other其他 r-- 只读

root 属主
root 属组
513 大小 单位:默认字节
11月5 2016 创建时间
updatedb.conf 文件名

设置文件和目录的权限chmod

chmod命令

chown 属主 文件或目录

chown :属组 文件或目录 (:和 . 都可以更改属组)

chown 属主:属组 文件或目录

常规选项:-R 递归修改指定目录下所有文件、子目录的归属

正常情况下我们使用chmod [3位八进制数] 文件或目录 更改权限

有写权限没有读的权限情况下:

可以vim写入,wq!强制保存退出,无法cat查看

写入的内容将把原有的内容覆盖掉

权限掩码umask(反码)

例如002,权限就是775

umask作用

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

umask设置:umask 022

umask查看:umaskk

示例:
将umask设为000,新建目录或者文件,查看权限 将umask设为022,新建目录或者文件,再查看权限

最新回复(0)