Linux中的账号和权限管理(理论讲解部分)

小伙伴们本次给大家带来的是Linux中的账号和权限管理,这里我们首先要明确的就是这个权限是文件或者目录的权限。接下来我们会从以下几个部分进行了解:

  1. 用户账号和组账号概述
  2. 用户账号和组账号管理
  3. 查询账号信息
  4. 查看目录或文件的属性
  5. 设置目录或文件的权限
  6. 设置目录或文件的归属

用户账号和组账号概述
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命令:useradd [选项]… 用户名
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中的账号和权限管理(理论讲解部分))