Linux用户和组
Linux是多用户系统,每个用户都有一个用户名和用户id(uid)。每个用户可以属于一个或者多个组,每个组也有组名和组id(gid)。
1. 一些文件内容介绍
1.1 /etc/passwd
此文件存储用户名和用户的相关信息,每行记录有7个段,like: root: x:0:0:root:/root:/bin/bash
- 用户名
- 密码->此项存储在/etc/shadow中
- 用户id
- 组id
- 注释
- 主目录:用户登录后的初始位置
- 登录shell:用户登陆成功,会交由程序控制,程序一般是shell的一种,默认是/bin/sh
- 超级用户root:0,系统用户1~999,普通用户 1000以上(32位uid了现在)
可以看到系统里面还有一些奇怪的内置用户,如nobody, ftp这些,是用来完成一些特定任务的。如nobody任何人都可以登录系统,但是没有任何特权,权限最小。其默认的登录shell是/usr/sbin/nologin,不允许登录到shell上。如果禁止某个用户登录,可以使用passwd -l uname, -u解锁。登陆时就会显示This account is currently not available. Connection to xxx closed.
touch /etc/nologin 禁止所有用户登录
1.2 /etc/shadow
存放用户登录密码的,只有root拥有可读权限。有9个字段,分别是用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段,不详细展开了。
1.3 /etc/group 和 /etc/gshadow
group文件是用户组配置文件,包含用户组的相关信息。每条记录分为4个字段,组名:密码:GID:该用户组中的用户列表。密码和/etc/passwd文件一样,这里的 “x” 仅仅是密码标识,真正加密后的组密码默认保存在 /etc/gshadow 文件中。密码很少用了,用来给组设置管理员代替root管理用户进出的。
2 文件权限与归属
众所周知,linux里面一切都是文件,所以文件非常重要。文件包含目录文件,权限分为三类:所有者、所有组、其他人,具体权限有rwx,分别是421,如下图所示。
2.2 suid、sgid
2.3 文件的隐藏属性
lsattr filename
显示隐藏属性, chattr [-+=] [ASacdistu] filename
设置文件隐藏属性
3 一些用户管理命令
- useradd/groupadd username
- passwd username
- usermod/groupmod username
- userdel/groupdel -r username
- id username
- su username
- whoami who am i