Linux中的账号和权限管理(理论讲解部分)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中的账号和权限管理(理论讲解部分)相关的知识,希望对你有一定的参考价值。
小伙伴们本次给大家带来的是Linux中的账号和权限管理,这里我们首先要明确的就是这个权限是文件或者目录的权限。接下来我们会从以下几个部分进行了解:- 用户账号和组账号概述
- 用户账号和组账号管理
- 查询账号信息
- 查看目录或文件的属性
- 设置目录或文件的权限
- 设置目录或文件的归属
用户账号和组账号概述
Linux基于用户身份对资源访问进行控制
1.用户账号:
? 超级用户
? 普通用户
? 匿名用户(everyone)
? 程序用户(人为不可使用,单独管理系统中某个应用程序存在的服务)
2.组账号:组是系统用户权限的集合
? 基本组(私有组):伴随用户的创建而自行创建与用户同名
? 附加组(公共组)
3.UID和GID:查找标识:
? UID(User IDentity,用户标识号)
? GID(Group IDentify,组标识号)
此处补充:root用户是0、程序型用户是1-499、普通用户是500-60000
用户账号文件/etc/passwd
1.保存用户名称、宿主目录、登录Shell等基本信息:
文件位置:/etc/passwd
2.每一行对应一个用户的账号记录:
[root@localhost~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
我们以root:x:0:0:root:/root:/bin/bash为例详细看一下里面各每一项具体代表什么
用户账号文件/etc/shadow
保存用户的密码、账号有效期等信息
? 文件位置:etc/shadow
? 每一行对应一个用户的密码记录:哈希算法
接下来我们举例详细分析:
添加用户账号
1.useradd命令:sueradd [选项]… 用户名
2.常用选项:
? -u:UID
? -d:创建用户的家目录
? -e:指定失效时间 YYYY-MM-dd
? -g:指定基本组
? -G:指定附加组
? -M:不创建家目录
? -s:指定shell登录(/bin/bash 登录;/sbin/nologin 无法登录)
设置/更改用户口令passwd
1.passwd命令:passwd [选项]… 用户名
2.常用选项:
? -l:锁定用户
? -u:解锁用户
? -S:查看用户状态
修改用户账号的属性usermod
1.usermod命令:usermod [选项]… 用户名
2.常用选项:
? -l:锁定用户
? -L:锁定用户
? -U:解锁用户
以下选项与useradd命令中的含义相同:
? -u:解锁用户
? -d:创建用户的家目录
? -e:指定失效时间 YYYY-MM-dd
? -g:指定基本组
? -G:指定附加组
? -s:指定shell登录(/bin/bash 登录;/sbin/nologin 无法登录)
删除用户账号
1.Userdel命令:userdel [-r] 用户名
2.添加-r选项时,表示连用户的宿主目录一并删除
3.举例如下:
[root@localhost~]#useradd stu01
[root@localhost~]#ls -ld /home/stu01/
drwx------ 2stu01 stu02 4096 09-09 12:38 /home/stu01
[root@localhost~]#userdel -r stu01(这一步为删除用户账号stu01)
[root@localhost~]#ls -ld /home/stu01/
ls: /home/stu01/: 没有那个文件或目录
用户账号的初始配置文件
1.文件来源
新建用户账号时,从/etc/skel目录中复制而来
2.主要的用户出是配置文件
? ~/.bash_profile
:加载系统登录的时候会进行有效的加载
? ~/.bashrc
:在登陆shell环境时进行有效加载,同时包含登录系统
?~/.bash_logout
:注销的时候进行加载
上面三个是当前系统登录用户的环境变量文件
? /etc/profile
:系统的环境变量文件
组账号文件
1.与用户账号文件相类似
? /etc/group:保存组账号基本信息
? /etc/gshadow:保存组账号的密码信息
2.示例:
添加组账号groupadd
1.Groupadd命令:groupadd [-g GID] 组账号名
2.示例:
添加删除组成员gpasswd
1.设置组账号密码(极少用)、添加/删除组成员:gpasswd [选项]… 组账号名
2.常用选项
? -a:向组内添加一个用户
? -d:从组内删除一个用户成员
? -M:定义组成员列表,以逗号分隔
查询账号信息
? group命令:查询用户所属的组:group [用户名]
? id命令:查询用户身份标识:id [用户名]
? finger命令:查询用户账号的详细信息:finger [用户名]
? w、who、users命令:查询一登录到主机的用户信息
文件/目录的权限和归属
1.访问权限
? 读取r:允许查看文件内容、显示目录列表
? 写入w:允许修改文件内容,允许在目录中新建、移动。删除文件或子目录
? 可执行x:允许运行程序、切换目录
2.归属(所有权)
? 属主:拥有该文件或目录的用户账号
? 属组:拥有该文件或目录的组账号
查看文件/目录的权限和归属
d rwx r-x r-x. 2 root root 6 8月 5 2107 tmpfiles.d
? d:目录 -:文件 l:链接文件
? rwx:属主 主人
? r-x:属组 -代表不具备权限 r-只可以查看 ---没有任何权限
? r-x:other 所有人包括匿名用户
? root:属主
? root:属组
? 6:单位字节,文件大小
? 8月 5 2107:创建时间
? tempfiles.d:文件名
设置文件和目录的权限chmod
1.chmod命令
? chmod [ugoa]分别表示属主、属组、其他用户、所有用户 [+-=]分别表示增加、去除、设置权限 [rwx] 文件或目录…
? chmod nnn(3位八进制数)文件或目录
2.常用选项
? -R:递归修改指定目录下所有子项的权限
设置文件和目录的归属chown
1.chown命令
? chown 属主 文件或目录
? chown :属组 文件或目录
? chown 属主:属组 文件或目录
2.常用选项
? -R:递归修改指定目录下所有文件、子目录的归属
权限掩码umask
1.umask作用
? 控制新建的文件或者目录的权限
? 默认权限去除umask的权限就为新建的文件或者目录对的权限
2.umask设置:umask 022
3.umask查看:umask
示例:
? 将umsak设为000,新建目录或者文件,查看权限
? 将umsak设为022,新建目录或者文件,再查看权限
以上内容就是Linux中的账号和权限管理的相关理论部分,后面还会有针对理论进行的相关实验操作补充给大家,届时大家可以全程跟着实验部分进行一步一步的操作,谢谢!
以上是关于Linux中的账号和权限管理(理论讲解部分)的主要内容,如果未能解决你的问题,请参考以下文章