ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux用户管理

2021-06-09 19:34:08  阅读:289  来源: 互联网

标签:oldboy 管理 用户 etc useradd Linux root bash


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 创建用户系统配置,对应文件

标签:oldboy,管理,用户,etc,useradd,Linux,root,bash
来源: https://www.cnblogs.com/mrliu-L/p/14868086.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有