linux基于用户身份对资源访问进行控制
一 , 用户账号:超级用户,普通用户,程序用户 【UID]
超级用户;root用户是linux操作系统中默认的超级用户账号,对本机拥有最高的权限。系统中超级用户是唯一的
普通用户;由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限
程序用户;在安装linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登陆到系统。仅用于维持系统或某个程序的正运行
二,组帐号;基本组(私有组)和附加组(公共组)[GID]
基本组(私有组)基本组帐号只有一个,一般为创建用户时指定的组
在 /etc/passwd文件中第4字段记录的即为该用户的基本组 GID号
附加组(公共组)用户出来基本组意外,额外添加的指定的组
三,UID和GID
UID ;用户标识号
GID;组标识号
root用户账号的UID和GID号为固定值 0
程序用户账号的UID和GID号默认为Centos5.6 ;1-499,Centos7;1-999
普通用户的UID和GID号默认为Centos5,6;500-60000,Centos7;1000-60000
2.1 ==账号文件/etc/passwd ==(用户帐号文件) 保存用户名称,宿主目录,登录shell等基本信息 ,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行修改
每一行对应一个用户账号记录文件位置/etc/passwd (七个字段)
七个字段的含义
登录shell /bin/bash 表示允许登录
/sbin/nologin 表示不允许登录(有提示信息不允许登录)/bin/false 禁止登录系统(没有提示 直接登录不了)
也可用man 5 passwd 查看passwd手册的用法
2.2 账号文件/etc/shadow(用户密码文件)
保存用户密码,账号有效等信息,每一行对应一个用户密码记录。默认情况下只有root用户可以查看 不允许直接编辑修改文件内容 文件位置/etc/shadow (九个字段)
bin : * : 18353 : 0 : 99999 : 7 : : :
九个字段含义
useradd
useradd [选项】 ... 用户名
参数选项
添加用户账号在/etc/passwd文件和/etc/shadow文件的末尾增加该用户账号的记录若未指明用户的宿主目录,则在home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。若没有明确指定用户所属组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group 和/etc/gshadow文件中。
创建新用户
useradd lisan
查看/etc/passwd 文件
/etc/shadow 文件
useradd -d /admin -e 2023-12-31 -s /sbin/nologin admin1创建用户admin1 家目录为admin 不允许登录系统 账号失效时间为2023 12 31
查看账号信息
不指定家目录默认在/home目录下 不指定UID GID号默认加一
useradd -u 2000 -g admin1 -G 1001 admin2创建新用户admin2 UID号为2000 基本组名admin1 附加组为1001GID号的组
查看创建用户所属组和附加组
passwd
passwd [选项】 ...用户名
常用参数
root用户可以指定用户名作为参数,对指定账户密码进行管理;不指定用户名时,修改当前账号的密码
在root目录下直接输入passwd修改的是root密码
如果在root目录下passwd + 用户名 修改的是指定用户的你密码
普通用户却只能执行单独的passwd命令修改自己的密码
passwd -d lisan
清除lisan 密码 之后可直接登录
passwd -l lisan 锁定lisan用户
锁定之后此用户无法登录
passwd -S lisan 查看用户lisan 是否被锁定
passwd -u lisan 解锁用户lisan
用户解锁后可正常使用登录
还可用以下两种方法修改密码
方法二
echo '密码‘ | passwd --stdin 用户名
方法三
echo <用户名> :<密码> | chpasswd
登录用户验证即可
usermod [选项】...用户名
常用参数
-u -d -e -g -G -s 与useradd命令中含义相同
-L -U 用于锁定和解锁 与passwd中含义相同只存在大小写之分
usermod -l <新名称> <旧名称>
usermod -l maliu lisan
修改用户名为maliu
usermod -s /bin/nologin maliu
修改用户maliu 不允许登录系统
usermod -d /lisan maliu
修改maliu 家目录为lisan
没修改之前的
修改之后的
usermod -L maliu
锁定用户
passwd -S maliu 查看用户状态
usermod -U maliu
解锁用户maliu
userdel [-r] 用户名
添加-r 选项时表示连用户的宿主(家目录)目录一并删除
userdel admin2 删除后admin2家目录还在
userdel -r lisi 删除后lisi 家目录也一起删除
文件来源:useradd命令添加一个新的用户账号后会在该户用的宿主目录中建立一些初始配置文件。这些文件来自于账号模板目录/etc/shel/,基本上都是隐藏文件
主要的用户初始配置文件
~/.bash_profile 此文件中的命令将在该用户每次登录时被执行,它会设置一些环境变量,并且会调用该用户的~/.bashrc文件
此文件中的命令会在每次打开新的bash shell时(也包括登录系统)被执行,
并且会调用/etc/bashrc文件
此文件中的命令将在用户每次退出登录或退出bash shell时执行
用户宿主目录下的初始配置文件只对于用户有效
对于全局系统有效的配置文件
/etc/profile 环境变量开机自动加载
这个文件是为系统全局变量配置文件,可通过重启系统或者执行source /etc/profile 命令
使profile文件读取
/etc/profile.d/
这个文件实际上是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本
/etc/bashrc 环境变量 针对shell 切换变量
每一个运行bash shell的用户都会执行此文件,可通过执行bash 命令打开一个新的bash shell时,
使bashrc文件被读取
总结
作用范围
/etc/profile /etc/bashrc 对所有用户有效
~/.bash_profile ~/.bashrc 只针对当前用户有效
功能
profile;系统启动后用户登录直接执行文件里的命令或者配置
bashrc;用户登录或者用户切换shell环境就会执行文件里的命令或者配置
调用挂关系
/etc/profile ->/etc/profile.d/XXX.sh
~/.bash_profile -> ~/.bashrc -> /etc/bashrc
/etc/group;保存组账号基本信息
/etc/gshadow;保存组账号的密码信息
vim /etc/group 查看组文件基本信息
四个字段
最后一个字段 所有以此组做附加组的都可以看到
一,添加组账号 groupadd
groupadd [-g GID] 组账户名
GID号不能被使用
二,添加 删除组成员gpasswd
gpasswd [选项] ...组账户名
参数选项
-a 向组内添加一个一个用户
-d 从组内删除一个用户成员
-M 定义组成员列表,以逗号分隔
gpasswd -a dsj yjs
向yjs组内添加一个组dsj
gpasswd -d dsj yjs
从yjs 是中删除dsj
gpasswd -M lisi,zhaoliu yjs
将用户lisi zhaoliu 定义到ysj组
没定义之前
定义之后
注意 定义 是有覆盖的意思 覆盖原有的重新定义新的组名
三,删除组账号groupdel
groupdel 组账号名
groupdel yjs
四,查看账号信息groups id
查询用户所属的组
groups [用户名】
查询用户身份标识
id [用户名】
五,查询账号信息
finger 查询用户账号的登录属性
先安装finger软件包
finger 【用户名】
查询已登录到主机的用户信息
w who users
一,访问权限
-读取r ;允许查看文件内容,显示目录列表
二,设置文件和目录的权限chmod
chmod [ugoa] [+ - =] [rwx] 文件或目录
u g o a 分别表示 属主 属组 其他用户 所有用户
+ - = 分别表示增加 去除 设置权限
r w x 分别表示读写执行
chmod xxx 文件或目录....
chmod 770 abc 修改abc目录权限
chmod 755 111 修改111文件权限
chmod o+r abc
给abc目录中的其他用户加上读的权限
chmod +r abc
给abc所有用户加上读的权限 a+r a可以省略
chmod a+w abc
给abc目录下所有用户加上写的权限
注意 写的权限给所有用户时必须加a
chmod ug+rx abc
给abc目录下的主用户和组用户 加上读和执行权限
chmod o= abc
其他用户什么权限都没有 主用户和组用户权限不变
-R 递归修改指定目录下所有子子项文件
chmod g+w bb 仅修改bb目录自己的权限
chmod -R o+w bb 修改bb目录下所有文件和目录权限
三,设置文件和目录的归属chown
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
-R 递归修改指定目录下所有文件子目录的归属
chown lisi abc
修改lisi 为abc 目录的属主
chown :lisi 111
修改111文件属组为lisi
chown lisi:
修改文件 属主和属组为lisi
chown
用点来分割效果一样
chown -R :lisi bb
bb目录下所有文件和目录同时修改所属组
补充知识点
SBIT特殊权限 只能用于对目录进行设置,使指定目录中的文件或者目录只有所有者才能删除文件或目录
添加sbit权限 chmod 1777 lisi
1 表示SBIT权限
四,设置目录和文件的默认权限umask
作用
新建的文件或者目录的权限为默认最大权限减去umask
普通文件的最大默认权限为6(rw),目录的最大默认权限为7 (rwx)
文件/目录的默认权限=最大默认权限-umask值
查看umask权限为022
新建文件的权限=666-022=644
新建目录的权限=777-022=755
需求 新建一个目录 cc属主可读可写 属组可读可执行 其他用户不变
操作 设置 umask 120 (由于目录最大权限777)mkdir cc
需求 创建一个新文件22.txt 只有可读权限操作 umask
本文发布于:2024-01-29 09:35:08,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170649211314350.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |