Linux系统中的用户管理大全
1.用户及用户组存在的意义
-
用户存在的意义
a、身份 account
b、授权 author
c、认证auth
3A机制,其组成系统中最底层的安全架构 -
用户组存在的意义
用户组是一个逻辑容器,对用户进行归类和统一授权
2.用户及用户组在系统中的存在方式
- 用户其实就是/etc/passwd文件中的一行字符
- 用户组其实就是/etc/group文件中的一行字符
3.用户切换及环境变量
-
用户查看
- whoami ##查看当前用户
- id ##查看当前用户id-u ##查看用户的用户id -g ##查看用户的主组id -G ##查看用户的所有组id -n ##显示名称
-
用户切换
- su - username
##"-"表示切换用户,以login的方式登录,进程会显示root用户和切换的用户的shell,以及家目录也会发生转换,得到切换的用户的用户环境。如果没有“-”只是会切换用户身份信息,不会切换用户环境信息。
##需要注意的是:不可以在几个用户之间来回切换,每切换一次需要退出这个用户,exit,不然可能会发生环境混乱。
加“-”的,切换时读取/etc/bashrc和/etc/profile俩个文件
不加“-”的,只读取/etc/bashrc文件
##加个注销图形的命令- gnome-session-quit --force
4.用户涉及到的系统配置文件
- /etc/passwd#############用户身份信息。用户名称:密码:用户id:主组id:用户说明:家目录:默认shell
- /etc/shadow#############用户认证信息文件
- /etc/group###############用户组身份信息文件,组名称:组密码:组id:组的附加成员
- /etc/skel/.* ##############用户环境配置模板
- /home/username#########用户家目录
5.用户及用户组的建立及删除
-
用户组建立groupadd 用户组删除groupdel
- -g ###主组id -
用户的建立”useradd + 参数+ 用户名“与删除userdel +‘-r’+用户名
- 参数 - g ##设置主组信息 -G ##设置附加组信息 - c ##设置用户信息 -s ##设置shell信息 - d ##指定用户家目录 -M ##建立用户时不建立家目录
建立时可以打开一个单独的shell进行监控:
命令:watch -n 1 "tail -n 3 /etc/passwd /etc/shadow/ /etc/grop;ls -l /home"
6.用户及用户组的信息管理
-
用户组的管理groupmod
- groupmod -g 组id 组名
-
用户管理usermod
- usermod + 参数+参数内容+用户- l ##修改用户名称 -u ##修改用户的用户id - g ##修改用户的主组id -G ##修改用户的附加组id - c ##修改用户说明 -s ##修改用户的shell - d ##修改用户的家目录指向 -md ##修改用户的家目录和真实目录 - s ##修改用户的shell类型 -aG ##追加附加组,不会删除原来的附加组 - L ##冻结密码 -U ##解冻密码 - 注:修改用户组的时候,这个组必须先存在!!!
##前俩张图片是命令信息,最后一张是运行时的监控信息。
7.用户认证文件的内容分析
此内容是存放在/etc/shadow文件中的 ,类似于图片中
各项含义:
- 用户名:密码:最后一次修改密码的时间:密码最短有效期:密码最长有效期:密码过期警告:密码非活跃天数(过期了之后还可以用的天):到期日(y一般不设置)
8.用户认证管理
俩种方式:
-
passwd+参数+参数内容+用户。passwd可以修改密码和属性,但是有的属性不可以修改
- l ##对用户密码进行冻结 -u ##对用户密码进行解冻 - S或--status ##对用户状态进行查看 -e ##设置最后一次修改密码的时间,只能设置为零 - n ##设置密码的最短有效期 -x ##设置密码的最长有效期 - w ##设置密码的到期警告时间 -i ##设置密码的非活跃天数 - d ##删除用户密码
首先用命令:watch -n 1 'tail -n 1 /etc/shadow'
打开一个监控,实时查看修改的信息变化
比如设置一个密码,设置最后一次修改密码的时间为0,查看用户密码状态,设置密码最短周期为1天,最长周期为7天,警告期为5天,非活跃天数为3天。
-
chage+参数+参数内容+用户名
- l ##显示密码信息 -d ##最后一次修改密码的时间 - m ##密码最短有效期 -M ##密码最长有效期 - W ##密码到期警告 -I ##密码非活跃天数 - E ##密码到期日 chage -E "YYYY-MM-DD" 用户名
9.用户权力的下放
有一些权力普通用户是不可以使用的,比如useradd、userdel等,所以我们需要赋予这些普通用户权力,那就需要用到权力的下放。
命令格式:sudo 命令
我们可以修改/etc/sudoers下的文件内容,来达到权力下放的目的。
##如果使用vim 修改这些内容,不会提供语法检测,使用visudo会提供对应的语法检测,出错会提示what now 的信息,按e可以对提示信息进行修改。一般从100行邹游修改。
##比如我们要将useradd、userdel权力下放到普通用户,并且设置免密执行
格式:用户名 主机名=(权限) 命令所在目录
免密执行:
内容到此结束!!!!!!