Linux用户管理

人          名字     身份证
linux      root       0
身份标识    UID      唯一标识
组标识      GID      唯一标识

用户介绍(user)

Linux里都有哪些用户?作用?

1)超级用户
系统管理员,掌握系统最高权限, 家目录/root
用户名root,UID为0
UID为0的用户就是root
登录shell,/bin/bash
登录安全   企业级应用
a.配置ssh,禁用root通过SSH远程登录,权限非常大,所有人都知道.使用普通用户登录,然后切换root
b.平时使用普通用户登录,有必要的话在登录root
2)普通用户
普通的权限,写的权限范围:家目录 /home/用户名,/tmp
登录shell,/bin/bash
由管理员用户创建的.日常登录应该首先登录普通用户
UID为C6 (500-60000) C7 (1000-60000)

普通用户如何管理系统?
a.切换root,su - oldboy 角色改变,由普通用户变成了root。
b.不切换到root,可以使用root的权限去做事,sudo useradd oldboy
赋予普通用户一部分权限。

3)虚拟用户(傀儡)(UID:1-999)
多数情况装系统就存在的,不能登录的
登录shell,/sbin/nologin
存在还不能登录?
Linux 文件,进程这样的东西如果要存在,必须要有对应的用户和组.
文件创建时就要有对应的用户和组
进程启动时就要有对应的用户和组

虚拟用户存在的目的就是满足进程启动时对用户和组的要求(用普通用户也可以)

普通用户如何管理系统?

a.切换root,su -  XXXX 角色改变,由普通用户变成了root
b.不切换root,可以使用root的权限去做事,sudo useradd XXXXX	

最小化原则

1.安装软件最小化
2.登录安全最小化(普通用户)
3.进程启动权限最小化。
4.权限最小化
临时关闭SElinux setenforce 0

用户组介绍(group)

GID Group Identify
一个用户可以在多个组了
一个组可以有多个用户
用户组是怎么产生的?
1)创建用户的时候默认产生的,创建XX,默认情况就会生成XX组
用户和组同名,且UID和GID相同
2)由root用户直接创建

用户相关的配置文件

直接相关的有4个
用户文件
/etc/passwd     用户主配置文件,用户的各种属性(UID,GID,家目录,登录shell)
/etc/shadow     用户密码文件,存放密码及密码的属性(失效时间,修改密码时间等) 
用户组文件
/etc/group      组文件,存放用户组及属性
/etc/gshadow    用户组的密码文件(废弃)
和创建用户相关的有3个
/etc/default/useradd   创建用户命令useradd的配置文件
/etc/skel              创建用户环境变量原始文件存在地
/etc/login.defs        创建用户系统配置,对应文件

当创建一个用户时,系统会操作/etc/passwd, /etc/shadow这两个文件

/etc/group

/etc/gshadow

跟用户相关的命令

useradd  添加用户
usermod  修改用户
userdel  删除用户

useradd添加用户

useradd
useradd -u 指定要创建用户的UID,不允许冲突
useradd -u 5000 test2
useradd -e 指定创建用户的终止日期 MM/DD/YY
格式 useradd -e "2030/05/30" xx
useradd -c 指定要创建用户的备注信息
useradd -g 指定要创建用户的组
useradd  test5 -g root
useradd -G 指定要创建用户附加组,逗号隔开可添加多个附加组
useradd -d 指定要创建用户家目录
useradd -d /opt test4
useradd -s 指定要创建用户登录的bash shell  /bin/bash /sbin/nologin(禁止登陆)
useradd -s /sbin/nologin test3
useradd -M 给创建的用户不创建家目录
useradd -M  test6
useradd -r 创建系统账户,默认无家目录(200-999)
注:企业应用:配置网络服务时候,编译安装需要,创建虚拟用户 -s /sbin/nologin
           给非运维人员设置用户登录的固定期限,到期后自动无法登录  -e
           创建用户 要切换记得配置密码   echo "1" | passwd --stdin xxx       
-bash-4.2$  缺少用户环境变量导致
如何解决
root处理方式
\cp /etc/skel/.bash* .
chown -R user.user /用户家目录下的.bash*

检查 id name

**2.如何使用usermod命令修改用户信息 **

usermod -u 指定要修改用户的UID
usermod -u test1 10001
usermod -g 指定要修改用户基本组
usermod -g test2 root
usermod -G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组
useramod -e 指定修改用户的终止日期 MM/DD/YY
chage -l xxx  查看密码的属性,间接看/etc/gshadow
usermod -e "2031/02/20" test6
usermod -d 指定要修改用户家目录
usermod -s 指定要修改用户的bash shell
usermod -s /bin/bash test8
usermod -c 指定要修改用户注释信息
usermod -l 指定要修改用户的登陆名
usermod -L 指定要锁定的用户
usermod -U 指定要解锁的用户

使用userdel命令删除账户

userdel -r 删除用户同时删除它的家目录  有风险
企业应用:人员离职,它的用户怎么管
a.userdel -r 离职人员   容易把离职人员的数据删除  不明智
b.userdel 离职人员      家目录保留
c.设置过期时间, /etc/passwd里注释掉
了解即可:
使用finger命名查询用户信息以及登录信息,示例: finger UserName
使用chfn命令修改用户信息(注释),示例: chfn UserName
使用chsh命令修改用户登录Bash Shell,示例: chsh UserName
使用who、whoami、w检查用户登陆情况

useradd命令相关的3个配置文件

/etc/default/useradd   创建用户命令useradd的配置文件
/etc/skel              创建用户环境变量原始文件存在地
/etc/login.defs        创建用户系统配置,对应文件

/etc/default/useradd 创建用户命令useradd的配置文件

cat /etc/default/useradd
useradd defaults file
GROUP=100
HOME=/opt           把默认/home/修改为/opt
INACTIVE=-1
EXPIRE="2031/12/31"
SHELL=/sbin/nologin 默认/bin/bash,修改为/sbin/nologin。
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
===========
useradd -D 修改/etc/default/useradd里面配置。
useradd -D -s /sbin/nologin
/etc/skel 用户环境变量原始文件存放地
每个用户家目录默认都会有.bash_logout .bash_profole .abshrc
创建用户的同时,从/etc/skel里复制到/home/用户名下的,如果这几个文件丢失
就会出现提示问题 -bash-4.2$ 
创建用户的时候会从/etc/skel下面拷贝环境变量。
/etc/default/useradd   创建用户命令useradd的配置文件
useradd    你   /etc/default/useradd 你媳妇
备份:
cp /etc/default/useradd{,.ori}
cp /etc/default/useradd /etc/default/useradd.ori
chage -l test8
最近一次密码修改时间					:6月 29, 2030
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间						:从不
两次改变密码之间相距的最小天数		:0
两次改变密码之间相距的最大天数		:99999
在密码过期之前警告的天数	:7

范例

使用oldboy用户登录到Linux系统后,发现提示符为如下所示异常情况,
请问如何恢复到正常的Linux命令行提示符情况?
-bash-4.1$ 
-bash-4.1$
解答:环境变量文件丢失问题
普通用户处理:
-bash-4.2$ cp /etc/skel/.bash*  .
-bash-4.2$ ls -la
总用量 12
drwx------. 2 oldboy oldboy  62 6月  30 01:32 .
drwxr-xr-x. 8 root   root    85 6月  30 01:17 ..
-rw-r--r--. 1 oldboy oldboy  18 6月  30 01:32 .bash_logout
-rw-r--r--. 1 oldboy oldboy 193 6月  30 01:32 .bash_profile
-rw-r--r--. 1 oldboy oldboy 231 6月  30 01:32 .bashrc
-bash-4.2$ 重新登录即可
root用户处理:
\cp /etc/skel/.bash*  .
chown -R oldboy.oldboy /home/oldboy
su - oldboy
上一次登录:日 6月 30 01:31:25 CST 2030pts/0 上
[oldboy@oldboy ~]$ 
/etc/login.defs 创建用户系统配置,对应文件

posted on 2021-06-09 19:21  晨曦日出  阅读(122)  评论(0编辑  收藏  举报