linux —— 学习笔记(用户管理与权限控制)
目录:1、用户的创建和管理
2、组的创建和管理
3、文件执行权限的控制
4、不用密码执行sudo
1、用户的创建和管理
用户的创建和管理: useradd、usermod 、 userdel 、passwd(只有通过passwd,设定了密码之后才可以登陆)
相关文件:/etc/passwd (用户的基本信息包括用户简单描述和目录等)/etc/shadow(密码信息)
例子:useradd -m -d /home/benson -c Comment benson
2、组的创建和管理
组的创建和管理:groupadd 、 groupmod、groupdel
相关文件:/etc/group(所有组的信息) /etc/login.defs (组相关的标准)
3、文件执行权限的控制
linux中,所有文件和文件夹都有三种基本权限:读、写、执行,行使权限的用户也可分为三种:文件拥有者、文件所属组用户、其他用户。
3.1查看文件的具体权限信息使用 以下两个命令:
ls -l 或者 ll
执行后,文件夹和文件权限展示如下:
文件: - rw- rw- r-- 1 bensonlaur webadmin 1007 9月 20 14:07 .project 文件夹: d rwx rwx r-x 4 bensonlaur webadmin 4096 9月 20 14:12 WebContent/ | | | | | | | | | | | | 文件所属组 文件名 | | | | 文件的拥有者 | | | 这三位表示其他用户拥有的权限 | | 这三位表示 文件所属组者所拥有的权限 | 这三位表示 文件拥有者 的权限 第一位表示是否是目录(Directory),是目录则为d,不是则为空
文件拥有者和文件所属组默认为 创建文件的用户和其所在的组(用户的默认组);
3.2 更改文件的权限
更改文件的权限使用命令:(具体见 man chmod)
chmod [OPTION]... MODE[,MODE]... FILE...
第一种格式是字母形式执行权限的更改:
chmod a+x filename
chmod a+x ,g+w filename a+x 是很多可选项的一种选择,表示所有用户(a)添加(+)执行权限(x) a的可替代项有: u: owner user 文件拥有者 g: group user 文件所属组用户 o: out of group 其他用户 a: all 所有用户 +的可替代项有: +:添加,追加 -:去除 =:直接重新赋值 x的可替代项有: r: 读权限 w:写权限 x: 执行权限
第二种格式是数字形式执行权限的更改:
chmod [OPTION]... OCTAL-MODE FILE...
chmod 755 filename 755 三个数字分别代表三类用户: u,g,o 每个数字都是由其二进制形式的三个位决定的。 7 = 4 + 2 + 1 5 = 4 + 0 + 1 5 = 4 + 0 + 1 | | | | | x | w r 所以755 表示的文件权限,对应与上面的 ls -l 的结果就是: - r w x r - x r - x
3.3 更改文件的所有者
改变文件的所有者:
chown [OPTION]... [OWNER][:[GROUP]] FILE... 例子: chown -R benson 目录名 #表示递归地修改目录以及目录下的文件的所有者为 benson
也可以在修改所有者的时候顺便修改所属组名:
chown -R benson:webadmin 目录名 #表示递归地修改目录以及目录下的文件的所有者为 benson, 所属组为 webadmin
3.4 更改文件的所属组
单独更改所属组:
chgrp [OPTION]... GROUP FILE... 例子: chgrp -R webadmin 目录名 #递归的更改目录以及目录下文件的组名位webadmin
4、不用密码执行sudo
使用vim /etc/sudoers 在最后添加 一行:(这里用户名为:bensonlaur)
注意:如果出现语法错误,保持后将导致sudo无法使用,到时得重启进入root模式才能改回来,所以最好使用 visudo 命令,它会在退出保存时自动检查语法。
bensonlaur ALL=(ALL)NOPASSWD :ALL :<<BLOCK 授权格式: 授权用户 主机=[(切换到哪些用户或用户组)] [是否需要密码验证] 命令1,[(切换到哪些用户或用户组)] [是否需要密码验证] [命令2],[(切换到哪些用户或用户组)] [是否需要密码验证] [命令3]...... BLOCK
配置别名:不同用户命令权限控制 命令别名的配置
版权声明 本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者 BensonLaur 和本文原始地址: https://www.cnblogs.com/BensonLaur/p/5870223.html |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端