账号和权限的管理

简介:

了解账号及权限、组之的关系;管理用户;管理组;设置权限
1.了解账号及权限,组之间的关系
1)用户:包含一个名和密码,人在计算机中体现
2)组:用户集合,作用批量设置权限
3)权限:限制用户访问资源(如文件,app,进程,硬件等)
用户--权限限制--资源
组--批量限制--资源
文件系统提供权限,不同文件系统权限的实现方式不同。
head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名称:密码占位符:UID:GID:描述:家目录:登录shell
用户分为:root管理员,普通用户,程序用户
UID:root=0;程序用户=1-499;普通用户=500-65535;GID的号与UID相同
家目录:管理员/root,普通用户/home/用户名称
登录shell:正常使用的shell一般为/bin/bash;不能登录为/sbin/nologin(非交互式shell)

ls -a -l /etc/passwd /etc/shadow /etc/login.defs /etc/default/useradd /etc/skel/ ##出来Linux中与用户有关的文件
案例:
useradd u01 ##创建账号u01
tail -1 /etc/passwd ##查看新用户的信息
tail -1 /etc/shadow ##查看信用户的密码信息
shadow文件中第二个字段的四种形态:
!!:表示未初始化密码,用户不能登录,新建用户后的默认形态
加密字符串:修改过密码的形态
!!加密字符串:用户密码被锁定形态
空:用户密码清空的形态
echo 123123 | passwd --stdin u01 ##设置密码
passwd -l u01 ##锁定用户密码
passwd -d u01 ##清空用户密码,只能本地登录,不能远程登录

4)组:批量管理用户
/etc/group ##组的账号文件
tail -1 /etc/group
u01:x:500:
组名:每一个用户都有一个基本组,如果把其他用户加入到组中,该组成为其他用户附加组
GID:组ID
组的成员:默认情况下组附加组没有成员,基本的成员为对应的用户。

总结:
新建用户和组:就是在相应文件中添加记录或者根据要求复制基本数据文件。
删除用户和组:与新建相反。

2.管理用户的账号:增useradd,删userdel,改usermod,passwd,用户的文件
1)增:useradd
语法:useradd [选项] 用户名称
[选项]:-d指定用户的家目录,-M不创建家目录,-g指定gid,-G附加组,-s指定登录shell
案例:
useradd --help ##查看帮助
useradd -d /opt/hehe -s /sbin/nologin -g 1000 -G 0 hehe ##创建hehe用户
tail -1 /etc/passwd ##验证
grep hehe /etc/group ##验证hehe是在root组中
groupadd -g 1000 hehe ##创建hehe用户时若没有1000GID的组报错,创建后再新建。
2)改usermod,passwd
语法:usermod [选项] 用户
passwd 用户 ##修改密码
案例:
usermod -s /bin/bash hehe
usermod -l admin hehe ##修改hehe登录名称,root登录时不能修改
usermod -g 0 admin ##修改基本组信息
passwd admin ##交互式中修改密码
echo 123123 |passwd --stdin admin ##非交互式修改密码
passwd -l admin ##锁定账号,与usermod -L功能一样
passwd -S admin ##查看用户状态
passwd -u admin ##解锁账号,与usermod -U功能一样
3)删userdel
语法:userdel -r 用户
案例:
userdel -r admin ##-r连带家目录等信息彻底删除

3.管理组的账号:增groupadd,删groupdel,改gpasswd
1)增groupadd
语法:groupadd [选项] 组名称
案例:
groupadd -g 999 hh ##创建组hh,gid=999
grep hh /etc/group ##验证是否创建
grep root /etc/group ##查看root用户所在所有的组(查看root组信息)
2)改gpasswd
语法:gpasswd [选项] 用户 组 ##将用户加入到组中
案例:
useradd u01 ##相同方法创建u02,u03,u04
groupadd -g 1001 g01 ##创建g01组
groupadd -g 1002 g02
gpasswd -a u01 g01 ##将u01添加到g01组中,相同方法添加u02到g01中
grep g01 /etc/group ##验证u01,u02已加入g01组
gpasswd -M u03,u04 g02 ##将g02组的成员设置为u03,u04
grep g02 /etc/group ##验证
gpasswd -M u03,u04 g01 ##覆盖原有的成员
grep g01 /etc/group ##验证
gpasswd -d u03 g01 ##将u03移除g01
grep g01 /etc/group ##验证
3)删groupdel
语法:groupdel 组名
案例:
groupdel g01 ##删除g01组

总结:用户组的新建和删除都是在操作文件,用户登录后有相应特殊配置一般存放在家目录的配置文件中。
常见的配置存放文件有:
/home/用户名称/.bashrc(bash的配置文件,每一次登录或者执行bash时生效);.bash_profile(用户独立配置文件,一般设置环境变量等在用户登录生效);
.bash_logout(用户退出时的配置文件,一般可以将一些操作写入在退出时执行)
/etc/profile 所有用户的全局配置文件,
home下配置在创建用户时从/etc/skel/.*复制的。

4.设置权限:查看、改
1)查看权限
用户、组---访问控制---文件或目录
控制有:读(r)、写(w)、执行(x),目录和文件的控制有区别详见p72-4-1表。
注意:写的不能轻易给。
ls -l /etc/hosts ##查看文件的权限列表
ls -ld /home/u01 ##查看目录的权限列表
权限列表 inode数量 用户 组 日期 文件或目录名称
权限列表:
第一个表示文件的类型,如d目录,-(f)普通文件,L链接,b块设备,c字符设备,p管道文件,s套接字文件
2-4表示用户权限,如rwx,“-”表示没有权限
5-7表示组的权限,同上
8-10表除用户和组外的其他人的权限,一般为“r--”表只读

2)改:chmod改权限列表,chown改用户和组
语法:
chmod [ugoa][+-=][rwx] 文件或目录
chmod 数字 文件或目录
chmod -R 权限 文件或者目录 ##表示递归执行
案例:
mkdir /opt/test
touch /opt/test/a
ls -ld /opt/test
chmod u-w /opt/test ##去除用户写的权限
chmod u+w,g+w,o= /opt/test ##设置用户和组加写,其他人没有权限
chmod 775 /opt/test ##设置用户和组的权限为rwx,其他人权限为rx;r=4,w=2,x=1,用户权限=4+2+1=rwx
chmod -R 755 /opt/test ##递归设置权限,即目录下的所有内容都使用此权限
useradd lx
echo 123123 |passwd --stdin lx
分析:lx目前属于其他人,有rx的权限
chmod o= /opt/test
su - lx ##切换账号
cd /opt/test ##报错权限拒绝
exit
chmod o+x /opt/test
su - lx
cd /opt/test ##进入目录成功,结论:要进入目录必须给x的权限
ls ##权限拒绝
exit
chmod o+r /opt/test
su - lx
cd /opt/test
ls ##查看到a文件,结论:要查看目录中内容必须给r的权限
exit
chmod o+w /opt/test
ls -l /opt/test ##目录的权限为o=rwx,a文件的权限为o=r
su - lx
cd /opt/test
rm -rf a ##删除a文件,结论:只要对目录有写权限,目录写内容可以被删除、修改、移动,不管子文件有无权限,因此w权限一般不给其他人,慎重给u,g。

3)修改用户列表:chown
语法:
chown 用户:组 文件或目录 ##同时修改资源的用户和组
chown 用户 文件或目录 ##只修改用户
chown :组 文件或目录 ##只修改组
使用-R可以递归设置。
案例:
chown lx /opt/test ##修改用户为lx
ls -ld /opt/test
chown :g01 /opt/test ##修改组为g01
ls -ld /opt/test ##验证
chown u01:g02 /opt/test ##同时修改用户和组
chown -R u01:g02 /opt/test ##递归设置权限'














本文转自信自己belive51CTO博客,原文链接: http://blog.51cto.com/11638205/2043503,如需转载请自行联系原作者

相关文章
|
11月前
|
消息中间件 存储 Kafka
2024最全Kafka集群方案汇总
Apache Kafka 是一个高吞吐量、可扩展、可靠的分布式消息系统,广泛应用于数据驱动的应用场景。Kafka 支持集群架构,具备高可用性和容错性。其核心组件包括 Broker(服务器实例)、Topic(消息分类)、Partition(有序消息序列)、Producer(消息发布者)和 Consumer(消息消费者)。每个分区有 Leader 和 Follower,确保数据冗余和高可用。Kafka 2.8+ 引入了不依赖 Zookeeper 的 KRaft 协议,进一步简化了集群管理。常见的集群部署方案包括单节点和多节点集群,后者适用于生产环境以确保高可用性。
647 0
|
XML 存储 数据格式
RAG效果优化:高质量文档解析详解
本文关于如何将非结构化数据(如PDF和Word文档)转换为结构化数据,以便于RAG(Retrieval-Augmented Generation)系统使用。
1079 11
|
数据采集 传感器 新能源
LabVIEW新能源汽车电池性能测试系统
LabVIEW新能源汽车电池性能测试系统
301 0
|
2天前
|
弹性计算 运维 搜索推荐
三翼鸟携手阿里云ECS g9i:智慧家庭场景的效能革命与未来生活新范式
三翼鸟是海尔智家旗下全球首个智慧家庭场景品牌,致力于提供覆盖衣、食、住、娱的一站式全场景解决方案。截至2025年,服务近1亿家庭,连接设备超5000万台。面对高并发、低延迟与稳定性挑战,全面升级为阿里云ECS g9i实例,实现连接能力提升40%、故障率下降90%、响应速度提升至120ms以内,成本降低20%,推动智慧家庭体验全面跃迁。
|
2天前
|
数据采集 人工智能 自然语言处理
3分钟采集134篇AI文章!深度解析如何通过云无影AgentBay实现25倍并发 + LlamaIndex智能推荐
结合阿里云无影 AgentBay 云端并发采集与 LlamaIndex 智能分析,3分钟高效抓取134篇 AI Agent 文章,实现 AI 推荐、智能问答与知识沉淀,打造从数据获取到价值提炼的完整闭环。
343 90
|
9天前
|
人工智能 自然语言处理 前端开发
Qoder全栈开发实战指南:开启AI驱动的下一代编程范式
Qoder是阿里巴巴于2025年发布的AI编程平台,首创“智能代理式编程”,支持自然语言驱动的全栈开发。通过仓库级理解、多智能体协同与云端沙箱执行,实现从需求到上线的端到端自动化,大幅提升研发效率,重塑程序员角色,引领AI原生开发新范式。
819 156