13-. Linux Accounts and ACL Permissions
13-. Linux 账号 与 ACL 权限
1. Linux 账号
UID: User ID
UID 只有 0 与非为 0 两种,非为 0 则为一般账号。一般账号又分为系统账号 (1~999) 及可登入者账号 (大于 1000)
GID: Group ID
注意区分:User Name != UID,User Name 是方便人类记忆而抽象出来的 ASCII 文字,而 Linux 内部识别用户的唯一方法就是 UID。
使用者的账号/群组与 UID/GID 的对应,参考 /etc/passwd 及 /etc/group 两个文件
2. Linux 账号密码
root 可以在未知初始密码的情况下修改 user 的密码。
以往会加入 finger 指纹 来对密码进行进行加密
/etc/passwd 文件结构以冒号隔开,共分为七个字段,分别是『账号名称、密码、UID、GID、全名、家目录、 shell』
3. ACL 的使用
Access Control List 控制权限
使用者 (user):可以针对使用者来设定权限;
群组 (group):针对群组为对象来设定其权限;
默认属性 (mask):还可以针对在该目录下在建立新文件/目录时,规范新数据的默认权限;
ACL 可进行单一个人或群组的权限管理,但 ACL 的启动需要有文件系统的支持
4. 使用者身份切换
su
指令。
sudo
指令。
4.1. sudo
sudo
由于一开始系统默认仅有 root 可以执行 sudo ,因此底下的范例我们先以 root 的身份来执行,等到 谈到 visudo 时,再以一般使用者来讨论其他 sudo 的用法吧! sudo 的语法如下:
sudo [-b] [-u 新使用者账号] 选项与参数:
-b :将后续的指令放到背景中让系统自行执行,而不与目前的 shell 产生影响
-u :后面可以接欲切换的使用者,若无此项则代表切换身份为 root。
sudo
执行流程:
当用户执行 sudo 时,系统于 /etc/sudoers 文件中搜寻该使用者是否有执行 sudo 的权限;
若使用者具有可执行 sudo 的权限后,便让使用者『输入用户自己的密码』来确认;
若密码输入成功,便开始进行 sudo 后续接的指令(但 root 执行 sudo 时,不需要输入密码);
若欲切换的身份与执行者身份相同,那也不需要输入密码。
5. PAM 模块
PAM 模块可进行某些程序的验证程序!与 PAM 模块有关的配置文件位于 /etc/pam.d/* 及 /etc/security/*
5.1. PAM 模块
Pluggable Authentication Modules,嵌入式模块
PAM 可以说是一套应用程序编程接口 (Application Programming Interface, API),他提供了一连串的验证机制,只要使用者将验证阶段的需求告知 PAM 后, PAM 就能够回报使用者验证的结果 (成功或失败)
6. Linux 主机上的用户
系统上面账号登入情况的查询,可使用 w, who, last, lastlog 等;
在线与使用者交谈可使用 write, wall,脱机状态下可使用 mail 传送邮件!
Last updated