一
1 新用户的创建 使用useradd以及相关 参数进行创建 如 u(uid) g(gid)G(附加组)等
创建后可以用 passwd +-d +用户名 来设定密码 ps; 超级用户设定密码没有要求 其他用户创建需要数字字母结合
2 组的建立与用户类似 使用groupadd (用户在创建时指定组时 这个组必须存在)
二 普通用户取得权限 (权限的下放)
1 这项操作需要在超级用户中进行 输入visudo 在通过 :100 到达修改位置
修改格式为: 用户名(student)等 主机名(localhost)等 =(root) 可以执行的命令 比如/usr/sbin/useradd
命令前加入NOPASSWD表示执行时不需要密码 如下图 也可以执行命令输入ALL 表示所有操作都可以执行 用户输入ALL表示所i用户
三 文件的权限
文件的权限分为三部分 所有者的权限 组的权限 及其他用户的权限
如下图
可以通过chmod来更改权限 例如ugo+rwx表示对于所有用户都是可以读写的 也可以对于 ugo三者分别设置
同样也可以更改文件的所属和组 通过出chown 命令来修改 同样的对于目录可以通通过chgrp来修改
通过前面的学习我们知道对目录的操作通常需要递归来实现 (-R) 所以要改变目录下所有文件的属性也需要-R 来辅助
如 chown -R 用户,组 目录
这部分的理解较为复杂 通过来年习题来辅助理解 如下图
先创建三个组 在创建三个用户 使他们的附加组分别为三个组
第一部分
创建公共目录 所有用户都可以读写 但是只能管理自己的文件 这一步需要 chmod o+t来实现
第二部分
创建三个目录 使他们分别属于三个组 (可以理解为各个部门的系统)
并且需要使这些目录只有所属组的成员才可以读写 并且创建的文件只能属于这个组(用户的初始组不是目录所在组 而附加组是目录所在目录 如果不加以修改 会让用户可以依靠附加组来进入读写 但无法正确保存数据) 所以这一步用g+s来限定
如下图 tom用户的组为tom 附加组为生产 通过修改 他在sc目录下的文件都成为生产组的文件第三部分
我们同样可以设置一个用户对特定目录进行管理 这一步需要使用 setfacal命令 如下图 修改之后 不属于目录所在组且不是超级用户的特殊用户也以可以对目录进行管理
如下图 查看修改后的权限使用getfacl
五 mask
mask为最大权限值 使用 chmod来修改
修改后的真实权限为 effective后的权限
setfacl -m m:rwx 使用此命令可以恢复mask的值
四 总结
1这一部分的知识很重要 对于文件目录的权限修改需要熟悉 用户之间的权限及制约也需要理解
2可以通过 watch语句来实时观察指令对目标的改变 比如可以通过 watch -n 1 tail -n 1 /etc/shadow 来观察用户密码的变化
3观察需要注意我们观察的是最后一行 如果要查看指定用户 需要在passwd中找到对应的行数 观察使用 sed -n ‘起始,结束p’ /etc/passwd来观察 或者 和head 与tail用管道|来实现
4还有比如chmod是对权限的修改 chown与chgrp是对目录的修改 以及chmod 777 之类的快捷修改方式
5对于系统保护措施的默认权限我们也可以进行修改 umask 命令可以修改 但是为临时效果 如果需要永久修改需要对 shell进行修改 更改 /etc/下bashrc与profile 分别在70行与60行左右修改 修改后需要对系统重新读取一次 通过 source来实现