项目概要:两个项目分别为A、B。各开发项目由两个开发小组(各2名成员)进行。
- 创建四个不同的用户账号。
- 创建两个项目组,将成员加入到各个小组中。
- 可能项目之间有需要共同协作的部分,因此需要创建一个共同组,将所有成员加入该组中。
- 对各个用户账户进行权限的设置。
一、用户类型管理
1. 用户分类
超级用户 | 系统用户 | 普通用户 |
---|---|---|
具有一切权限,只有进行系统维护或其他必要情形下才使用root登录(如建立用户等) | 为了满足相应的系统程序对文件属主的要求而建立的 | 为了使用者能够使用Linux系统资源而建立的 |
root | bin、daemon、adm、lp等 | 我们大多数用户 |
UID=0 | UID∈[1,499] | UID∈[1000,60000] |
2. 用户帐号文件/etc/passwd
- /etc/passwd是账号管理文件,用于实现对账号的管理。每个用户在该文件中对应一行,文件中的每一行都对应一个用户。
user01@ubuntu:~$ cat -n /etc/passwd
- cat用于打开并查看文件,-n表示给文件的每一行加上一个序号
- 每条用户信息的格式:
账号名称:密码:UID:GID:个人资料:主目录:Shell
1)账号名称:用户名,登录Linux系统时用户使用的名称。
2)密码:显示为X,使用了影子(shadow)密码,真正加密后的密码存放至“/etc/shadow”文件中了。
3)UID:数值,用于区别不同用户。
4)GID:数值,用于区别不同的组。
5)个人资料:记录用户的个人信息。
6)主目录:超级用户是/root;其他用户是对应的/home/username。用户登录后,默认目录即主目录。执行"cd~"命令也会切换到个人主目录。
7)Shell:为用户指定使用的shell类型,默认是bash shell。
3. 用户密码文件/etc/shadow
- /etc/passwd文件行中有一个字段是用于存放经过加密的密码。
- 浏览/etc/passwd权限
【所有用户对该文件都有读的权限】 - 浏览/etc/shadow权限
【只有超级用户才能读取shadow内容】 - 浏览/etc/shadow文件的具体内容(注意以超级用户身份查看——sudo)
- shadow文件中的每一行和passwd中的行对应。
格式:用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志字段
- 用户名:和/etc/passwd用户名对应。
- 密码:存放加密后的口令密码。
- 最后一次修改时间:用户最后一次修改口令的时间。
- 最小时间间隔:两次修改口令允许的最少天数。
- 最大时间间隔:口令有效的维持天数。
- 警告时间:系统发出警告到口令失效的天数。
- 不活动时间:禁止登陆前用户名有效的天数。
- 失效时间:用户被禁止登陆的时间。
- 标志字段无意义,未使用。
4.用户管理
【❗要求具有root权限】
①添加用户
user01@ubuntu:~$sudo useradd student1
user01@ubuntu:~$cat -n /etc/passwd
- 参数选项
-c xxx:添加注释
-d xxx:设置个人主目录
-e xxxx-xx-xx:设置账号的有效日期(需要启动shadow)
-f xxx:密码到期后多少天永久停止账号(需要启动shadow)
-g xxx:设定该用户所属基本组,xxx必须是已经存在的GID
-G xxx:设定该用户所属附属组,xxx必须是已经存在的GID,多个夫数组之间用“,”隔开
-k xxx:和“-m”一起使用,将xxx目录中文件复制到主目录
-m:若用户主目录不存在,创建主目录。
-s xxx:设置用户登录和启动的xxx,默认Bash Shell
-u UID:设置账号的UID,默认是已有用户的最大UID+1
- 举例:
user01@ubuntu:~$ sudo useradd student2 -u 1011 -g 1001 -d /home/student2 -s /bin/bash
②用户密码的设置
- 格式:passwd [选项] 账号名称
- 参数选项:
-l:锁定,只有root可使用
-u:解开锁定,只有root可使用
-d:删除使用者密码,只有root可使用
- 修改用户student1的密码:
user01@ubuntu:~$sudo passwd student1
- 修改用户自己的密码:
user01@ubuntu:~$passwd
- 锁定student1账户:
user01@ubuntu:~$sudo passwd - l student1
- 解除student1锁定:
user01@ubuntu:~$sudo passwd -u student1
- 删除student密码:
user01@ubuntu:~$sudo passwd -d student1
③删除用户
- 格式:userdel [-r] 用户账号
- -r表示删除该用户账号的所有文件
- 例如:
user01@ubuntu:~$sudo userdel student1
④修改用户属性
- 格式:usermod [参数] 用户账号
- 常用参数:
- -c :修改备注
- -d:修改用户登入时的目录
- -g:修改用户所属群组
- -l:修改用户账号名称
- -e:修改账号的有效期限
- f:多少天关闭该账号
- s:修改登入后所使用的shell
- -U:修改在密码过期后解除对密码的锁定
- -G:修改用户所属附加群组
- -L:锁定用户密码,是密码无效
- -u:修改用户ID
5.修改用户默认设置
- 用户默认设置有关文件主要存放于== /etc/login.defs 和 /etc/default/useradd==文件夹中。
- 查看:
6. 用户的分组和管理
私有组 | 标准组 | 系统组 |
---|---|---|
建立账户时,若没有指定账户所属的组,系统会建立一个组名和用户名相同的组 | 组中的每个用户都具有组所拥有的权力 | 安装系统或添加新的软件包会自动建立系统组 |
只容纳一个用户 | 可以容纳多个用户 | - |
①/etc/group——用户组文件
- 该文件每一行对应一个组,格式:
组名称:组密码:GID:组成员
②组的添加
- 格式:groupadd [选项]
选项:
-g GID:指定新组GID,默认在已有最大GID+1;
-r:建立一个系统专用组 - 新增一个GID为1005、组名为stu的组:
user01@ubuntu:~$sudo groupadd -g 1005 stu
③组属性的修改
- 格式:groupmod [选项]
选项:
-g GID:指定组新的GID
-n name:更改组的名字为name - 将组名为stu的组改为组名为user1:
user01@ubuntu:~$sudo groupmod -n user1 stu
④删除组
- 删除组user1:
user01@ubuntu:~$sudo groupdel user1
⑤取消组密码
- 格式:gpasswd [参数] [用户名] 组名
- 参数选项:
【不带参数时,表示修改组密码】
-a:将用户加入到组中
-d:将用户从组中删除
-r:取消组密码
二、文件权限管理
1. 文件和目录的访问权限
- 文件和目录的访问权限有三种:读(r)、写(w)、执行(x)
- 举例【主要看每行信息的前十个字母】
第1列为“-”表示是普通文件(如果是d表示是文件夹)
第2-4列为“rw-”表示其拥有者(文件主root)可以读写,不可执行
第5-7列为“r–”表示同组的用户(g)只能读,不可以写和执行。
第8-10列为“r–”表示其他用户(o)只能读,不可以写和执行。
2. 修改文件的权限
①用字符方式修改文件权限
- 格式:chmod 【操作对象】【操作符号】 【权限】文件名
操作对象 | 操作符号 | 权限表 |
---|---|---|
u所有者 、g组用户、o其他用户、a所有用户 | +增加权限、-取消权限、=赋予权限 | r读、w写、x执行 |
②用数字方式修改文件权限
- 格式:chmod 【mode】文件名
0:没有权限;
1:可执行权限x;
2:可写权限w;
4:可读权限r;
mode为所拥有权限的和。
3. 默认访问权限umask
- umask是用来决定建立的文件或目录不能拥有的权限。
- 新建立的文件/目录的权限由系统默认权限和默认权限掩码共同决定。
新目录的权限=777-默认权限掩码
新文件的权限=666-默认权限掩码 - umask是一个三位数,表示文件的权限,三个数字从左到右依次表示为u、g、o的权限
4. 修改文件拥有者
- chown修改文件的拥有者
eg:user01@ubuntu:~$sudo chown user01:root stu
- chgrp修改文件的组拥有者
- 只有系统管理员才能修改文件的拥有者和组
三、su、sudo工具的使用
1. su变更用户ID
- 可以让用户在一个登录的shell中不退出就改变为另一个用户。
- 如果su命令后边不接任何用户名,默认为超级用户root
- 如果su后面接了某个用户名,就切换到该用户名底下
2. sudo工具的使用
- 允许系统管理员分配给普通用户一些权力,使其能够执行一些只有超级用户或其他特许用户才能完成的任务。
四、总结
blabla~