Linux-用户管理
一. 用户和组的概念
- 每个进程(运行的程序)都是作为一个特定用户运行的
- 每个文件由一个用户拥有
- 访问文件和目录受用户限制
- 与进程相关联的用户觉得能否访问文件和目录
二. 和用户、组有关的文件
2.1 /etc/passwd
用户名:密码占位符:uid:gid:用户说明:家目录:使用的bash
2.2 /etc/shadow
2.3 /etc/group
三. 用户和组管理的命令
3.1 组
groupadd
groupdel
3.2 用户
useradd
userdel
usermod
3.3 把用户加入某些附属组
usermod:
# -G是直接修改属组
[root@localhost home]# usermod -G test1 coco
[root@localhost home]# id coco
uid=1002(coco) gid=0(root) groups=0(root),1003(test1)
# -aG是追加属组
[root@localhost home]# usermod -aG test2 coco
[root@localhost home]# id coco
uid=1002(coco) gid=0(root) groups=0(root),1003(test1),1004(test2)
[root@localhost home]#
gpasswd:
[root@localhost home]# gpasswd -a coco test
Adding user coco to group test
直接修改/etc/group文件:
四. 用useradd创建用户时,默认的配置取决于这两个文件
- /etc/login.defs
[root@localhost ~]# cat /etc/login.defs |grep -v "^$" |grep -v "^#"
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999
GID_MIN 1000
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512
- /etc/default/useradd
五. 非交互式修改用户密码
[root@localhost ~]# useradd wo
[root@localhost ~]# echo 123456 |passwd --stdin wo
Changing password for user wo.
passwd: all authentication tokens updated successfully.
六. 强制用户下次登录时修改密码
chage -d 0 用户名
七. 普通用户的提权
7.1 方法一:su - root
- su - 用户名 可以切换成任意用户,但要输入相应用户的密码
- su - 或 su - root 都是切换到root
7.2 方法二:sudo
- 需要先把用户加入轮子组
[root@localhost ~]# usermod -G wheel andy - 然后sudo 命令