1、Linux 用户 操作系统不是根据用户名来区分用户,而是通过ID来区分用户
[root@localhost ~]# id 当前的root用户下的id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
管理员root账户 默认UID=0 RH 7 普通用户是UID从1000 开始分配
(1)用户的uid保存在和用户账户信息: /etc/passwd 文件中 cat /etc/passwd |grep student
student:x:1000:1000:student user:/home/student:/bin/bash student 表示用户名 x 表示是否认证 1000 表示UID(所在有用户的编号) 1000 表示GID(所在组的编号) student user 表示用户的描述信息 /home/student 表示用户所在的家目录 /bin/bash 表示shell环境
(2)用户的密码文件: /etc/shadow 文件中 cat /etc/shadow |grep student
student:$1$4UVn2bIM$M1jcd8dukZVvScgV4r0py.:17588:0:99999:7::: student 表示用户名 17588 表示密码创建的天数(从1970.1.1 算起) 0 表示是最小有效期 99999 表示最大有效期 7 表示过期前7天提醒
2、Linux组 多个用户的一个集合 组的信息保存在 /etc/group cat /etc/group |grep student student:x:1000: 组分为两种类型: 主要组 每一个用户都有一个主要组 本地用户的主组用GID表示,可以/etc/passwd文件当中看见用户的主组 通常情况下,用户创建文件的属组是由主组所有; 通常情况下,创建一个用户时,用户的UID和GID相同 创建用户时,系统会创建一个相同名字的主组 用户不能从主组中被删除 附加组 用户可能是零个或者多个附加组成员 用户可以被附加组删除 一个用户可以属于多个附加组,但是只能属于一个主组 查看附加组的信息,可以在/etc/group 中查看 附加组有助于用户访问系统上的其它资源 root 超级管理员 安装软件\删除软件\创建用户... 必须有管理员权限
(1) su - 切换用户 - 用于切换用户环境
su root /home/student 切换用户,不切换目录 pwd su -roor /root 切换用户同时切换目录 pwd
sudo 提升用户权限
允许管理员让普通用户执行一些或者全部的root命令的工具; [student@localhost ~]$ sudo useradd user1 使用student 用户创建user1用户 默认情况下,要想使用student 用户创建user1用户需要先必须先设置授权;
sudo 授权方式: visudo (管理员 才可以s使用visudo)
[root@localhost ~]# visudo
## Allows people in group wheel to run all commands
#%wheel ALL=(ALL) ALL
student ALL=/usr/sbin/useradd 添加useradd权限给student
[root@localhost ~]# which useradd 查找useradd的路径
[student@localhost ~]$ sudo -l 查看sudo 授权 [sudo] password for student: Matching Defaults entries for student on this host: requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS secure_path=/sbin:/bin:/usr/sbin:/usr/bin User student may run the following commands on this host: (root) /sbin/useradd
2)vim /etc/sudoers
sudo useradd user1 sudo 的密码有效期默认为5分钟 sudo -k 将缓存清空
3、管理本地用户和组 useradd 新建用户 -c 指定备注信息 -d 指定家目录 -e 指定账户的失效日期 -g 指定主组ID -G 指定附加组ID -m 创建家目录(默认创建) -M 不创建家目录 一般情况下M和s一起用 -s 指定用户的shell -u 指定UID
useradd -c “this usesr is not root” user3 用户描述信息”this user is not root” passwd user3 创建用户以后,必须要为用户创建密码 useradd -d /user4/ user4 指定user4的家目录 每创建一个用户,会将/etc/skel 中的内容复制一份到家目录中 /etc/skel 家目录的模板 useradd -u 2000 user7 指定user7 的 UID id user6 id user7 id user8 useradd -e 20161231 user9 指定user9的账户失效日期 cat /etc/passwd tail /etc/shadow 密码的失效日期 useradd -g 2000 user10 前提是主组存在,指定主组 useradd -G 2000 user11 提前是附加组存在,指定附加组 cat /etc/group 附加组可以查看 useradd -Ms /sbin/nologin user12
(2)usermode 修改用户 -g 修改主组ID -G 修改附加组ID -d 修改用户家目录 -m 移动家目录到新的额目录,m和d合用 -s 修改shell -l 修改登录名 -L 锁定 -u 修改UID -U 解锁 usermod -g 2000 user12 主组必须存在,修改主组 usermod -u 2006 user12 usermod -G 2000 user12 usermod -md /home/user6 user6 usermod -s /sbin/nologin u1 tail -l /etc/passwd usermod -l user11 u1 vim /etc/passwd 可以通过直接修改passwd的配置文件,来修改user usermod -L user1 usermod -U user1 (3) userdel 删除用户信息 -r 删除用户的所有信息,包括家目录以及邮箱 -z 删除所有的SELinux用户映射 userdel -r u1 userdel -r user10
(4)用户的默认策略 /etc/login..defs 每创建一个用户,用户的账户策略使用/ettc/login.defs。 以后每创建的新用户所有策略会被此文件设备策略 chage 更改用户策略的方式
chage -d 表示最后更改日期,通常-d 0 表示下次登录式必须修改密码 -m 表示最小使用天数 -M 表示最大使用天数 -W 表示警告的天数 -I 表示设置失效的时间 -l 查看用户的策略信息 -E 设置账号过期时间 chage -l user3 chage -m 3 user3
chage -M 30 user3
chage -W 5 user3 chage -I 10 user3 chage -E 60day user3 账户过期时间 date -d +60day chage -d 0 user1
(6)管理本地组账户 groupadd gl -g 指定组ID group -g 8000 u2 gpasswd 用于添加组成员 -a 添加一个用户到组 -d 从组中删除一个用户 -m 添加多个用户到组 -M 添加用户到组,替换 -g2 删除组 usermod -G g1 user1 gpasswd -a user3 g1 groupmod -g 2007