Linux用户的基本操作1 用户相关信息 及useradd /usermod 部分
linux 用户管理 - 用户的基本操作
用户管理
1.什么是用户?
用户指的是能够正常登录Linux或windows系统
2.那Linux与windows系统的用户有什么区别?
本质都是登录系统的,只不过Linux支持多用户同时登录,windows默认不支持,但是修改`组策略`的情况下也是可以多用户登录的。

3.用户的作用
1)系统中的进程(运行的程序),都是需要特定的用户来运行的
2)管理文件的权限,每一个文件都有特定的用户拥有,所以访问一个文件或者目录受到用户的限制
3)进程能够以何种方式访问某一个文件或目录,和进程所关联的用户有关

4.如何查看系统中所存在的用户?
1)查看当前系统用户信息
[root@db04 ~]# id
uid=0(root) gid=0(root) 组=0(root)
[root@db04 ~]# id zls
uid=602(zls) gid=602(zls) 组=602(zls)
2)每一个文件都有所有者
[root@db04 tmp]# ll
总用量 12
drwxr-xr-x 2 zls zls 4096 6月 2 20:44 zls
drwxr-xr-x 2 oldboy oldboy 4096 6月 2 20:44 oldboy
drwxr-xr-x 2 student student 4096 6月 2 20:44 student
3)每一个进程都有用户运行
[root@db04 ~]# ps -ef|less
5.用户相关配置文件
用户的信息存放在/etc/passwd用户的密码都保存在/etc/shadow这两个文件是linux系统中最重要的文件之一。
如果没有这两个文件或者这两个文件出问题,会导致无法正常登录linux系统。
1)/etc/passwd账户文件

[root@zls ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
1 2 3 4 5 6 7
注释: /etc/passwd由 ':' 为分割符, 分为7个字段,每个字段的具体含义如下:
字段名称 注释说明
1.用户名称 #用户的账号名称
2.密码占位符 #存放账户的口令,暂用x表示,密码保存在/etc/shadow
3.用户的UID #用户标识号
4.用户基本组GID #组标识号
5.用户注释 #用户详细信息
6.用户家目录 #root家目录是/root普通用户家目录存在/home/username(可自定义)
7.用户登录Shell #用户登录Linux使用的shell #cat /etc/shells
2)/etc/shadow 用户密码文件

[root@zls ~]# tail -1 /etc/shadow
zls1:!!:16312:0:99999:7:::
注释: /etc/shadow由 ':' 为分割符, 分为9个字段,每个字段的具体含义如下:
字段名称 注释说明
1.用户登陆名 #用户的账号名称
2.加密后的密码 #用户密码,这是加密过的口令(未设密码时为!!)
3.最近一次密码更改时间 #从1970年到最近一次更改密码时间之间过了多少天
4.密码最少使用几天 #密码最少使用几天才可以更改密码(0表示无限制)
5.密码最长使用几天 #密码使用多少天需要修改密码(默认99999永不过期)
6.密码到期前警告期限 #密码过期前多少天提醒用户更改密码(默认过期提前7天警告)
7.密码到期后保持活动的天数 #在此期限内, 用户依然可以登陆系统并更改密码, 指定天数过后, 账户被锁定
8.账户到期时间 #从1970年起,账户在这个日期前可使用,到期后失效。
9.标志 #保留
6.用户分类(约定,规范)
| 用户UID | 系统中约定的含义 |
|---|---|
| 0 | 超级管理员(拥有最高权限) |
| 1-200 | 系统用户,系统自建,由系统分配给系统进程使用 |
| 201-999 | 系统用户,咱们创建,用来运行服务账户,不需要登陆系统(动态分配) |
| 1000+ | 常规普通用户 |
- 注意: 在CentOS7系统之前, UID1-499用于系统用户, 而UID 500+则用于普通用户
用户的相关命令
#### 1.`useradd`
使用useradd和adduser这两个命令,来创建用户
添加用户前需要确定:
确定用户的默认组是否有特殊要求
确定用户是否允许登陆
确定用户的密码策略
确定用户的有效期
确定用户的uid是否有特殊要求
1)使用useradd命令新增用户, 注意: adduser命令软链接指向useradd命令
| -u | 指定用户的UID,不能和现有ID冲突 |
|---|---|
| -g | 指定用户用户默认基本组 |
| -G | 指定用户附加组,用逗号隔开添加多个附加组 |
| -d | 指定用户家目录 |
| -c | 指定用户注释信息 |
| -M | 不建立家目录 |
| -s | 指定用户默认shell |
| -r | 创建系统账户, 没有家目录 |
| -a | 附加组,都留下,配合-G,追加 |
#创建zls用户,指定UID5001,基本组students 附加组sa,dba 注释信息:one newB user, 登陆的shell:/bin/bash
[root@zls ~]# groupadd sa
[root@zls ~]# groupadd dba
[root@zls ~]# groupadd students
[root@zls ~]# useradd -u 5001 -g students -G sa,dba -c "one newB user" -d /home/zls -s /bin/bash zls
[root@zls ~]# tail -1 /etc/passwd
zls:x:5001:505:one newB user:/home/zls:/bin/bash
//创建系统用户,不建立用户家目录 指定nologin使其用户无法登陆系统
[root@zls ~]# useradd mysql -M -s /sbin/nologin
[root@zls ~]# useradd -r dba -s /sbin/nologin
2)使用usermod命令修改用户组
| -u | 修改用户的UID |
|---|---|
| -g | 修改用户所属的基本组GID |
| -G | 修改用户附加组, 使用逗号隔开多个附加组, 覆盖原有的附加组 |
| -a | 追加更多的附加组, 必须和-G使用: -aG 追加附加组 |
| -m | 家目录迁移, 必须和-d一起使用, 移动用户的家目录到新的位置 |
| -d | 指定用户的家目录新位置 |
| -c | 修改用户的注释信息 |
| -s | 更改用户使用的shell |
| -l | 更改用户登录名 |
| -L | 锁定用户 |
| -U | 解锁用户 |
[root@zls ~]# grep "zls" /etc/passwd
zls:x:5001:505:2018 new student:/home/zls:/bin/bash
//修改用户uid,gid, 附加组, 注释信息, 用户家目录, 登录shell, 登录名
//建立组,指定组gid
[root@zls ~]# groupadd -g 5008 network_sa
[root@zls ~]# groupadd -g 5009 devops
//修改用户属性
[root@zls ~]# usermod -u 6001 -g5008 -a -G 5009 -c "2019 new student" -md /zls -s /bin/sh -l zls_zls zls
//检查是否修改成功
[root@zls ~]# grep "zls" /etc/passwd
zls_zls:x:6001:5008:2019 new student:/zls:/bin/sh
[root@zls ~]# id zls_zls
uid=6001(zls_zls) gid=5008(network_sa) groups=5008(network_sa),503(sa),504(dba),5009(devops)
//验证家目录
[root@zls ~]# ll -d /zls
drwx------. 2 zls_zls network_sa 4096 2014-09-23 00:13 /zls
锁定用户
[root@zls ~]# echo "123" |passwd --stdin zls_zls
[root@zls ~]# usermod -L zls_zls
//无法正常登录系统
➜ ~ ssh zls_zls@192.168.56.11
zls_zls@192.168.56.11's password:
Permission denied, please try again.
解锁用户
[root@zls ~]# usermod -U zls_zls
//正常登录系统
➜ ~ ssh zls_zls@192.168.56.11
zls_zls@192.168.56.11's password:
Welcome to Aliyun Esc Linux
-sh-4.1$
Linux用户的基本操作1 用户相关信息 及useradd /usermod 部分的更多相关文章
- linux(centOS7)的基本操作(三) 用户、组、权限管理
用户和组 1.用户.组.家目录的概念 linux系统支持多用户,除了管理员,其他用户一般不应该使用root,而是应该向管理员申请一个账号.组类似于角色,系统可以通过组对有共性的用户进行统一管理.每个用 ...
- linux用户的基本操作2 用户密码管理
目录 linux系统的基本用户操作2 用户的扩展知识 用户密码管理 linux系统的基本用户操作2 3)使用userdel删除账户 语法 : userdel [-r] username -r 同时删除 ...
- 怎样在 Linux 上查看某个端口的相关信息?
比如 TCP端口 / UDP端口 / 端口占用程序的进程号 等, 这些信息都可以使用: netstat -atunlp | grep 端口号 来进行获取. 比如我们想获取 22 端口的相关信息: 这里 ...
- ubuntu下如何查看用户登录及系统授权相关信息【转】
转自:http://www.tuicool.com/articles/ia67Bj 如何在ubuntu下查看相关用户登录历史,进行系统的日志跟踪和分析,以便发现系统登录问题,进行安全策略防护呢?ubu ...
- tomcat在linux中的启动和查看相关信息
打开终端cd /java/tomcat#执行bin/startup.sh #启动tomcatbin/shutdown.sh #停止tomcattail -f logs/catalina.out # ...
- linux用户管理-用户的基本操作
目录 linux用户管理-用户的基本操作 用户相关的命令 linux用户管理-用户的基本操作 什么是用户 用户指能够正常登录linux或windows系统 区别 本质都是登录系统的,只不过Linux支 ...
- 获取IP相关信息和文件上传
获取IP相关信息 要获取用户访问者的IP地址相关信息,可以利用依赖注入,获取IHttpConnectionFeature的实例,从该实例上可以获取IP地址的相关信息,实例如下: var connect ...
- Linux显示目前与过去登入系统的用户相关信息
Linux显示目前与过去登入系统的用户相关信息 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ last youhaido pts/0 :0 Sat Jan 2 ...
- Linux学习总结(十二)—— CentOS用户管理:创建用户、修改用户、修改密码、密码有效期、禁用账户、解锁账户、删除用户、查看所有用户信息
文章首发于Linux学习总结(十二)-- CentOS用户管理,请尊重原创保留原文链接. 创建用户 useradd -g webadmin -d /home/zhangsan zhangsan pas ...
随机推荐
- 当遇到npm ERR! Unexpected end of JSON input while parsing near……时的解决办法
运行npm install时有时会遇到以下错误: npm ERR! Unexpected end of JSON input while parsing near ... 这时可以先执行下面的命令: ...
- 关于servlet-api.jar和jsp-api.jar的选择和使用
选择哪个依赖 javax包下都是jdk提供接口规范,由第三方服务器厂商自己来实现. jsp-api的依赖发生如下了2次迁移: javax.servlet.jsp-api==>javax.serv ...
- 第五周总结 & 实验报告(三)
第五周总结 一.继承 1.类的继承格式 class 父类{} class 子类 extends 父类{} 2.扩展类的功能 class 父类{ 父类属性: .......... ..... ...
- ACM ICPC 2011-2012 Northeastern European Regional Contest(NEERC)A ASCII Area
A: 给你一个矩阵求'/' 和 '\' 围成的图形,简单签到题,有一些细节要考虑. 题解:一行一行的跑,遇到'/'和'\' 就加0.5, 在面积里面的'.' 就加1.用一个flag来判断是否在围住的图 ...
- Spring Security 报There is no PasswordEncoder mapped for the id "null"
查了下发现是spring security 版本在5.0后就要加个PasswordEncoder了 解决办法 在securityConfig类下加入NoOpPasswordEncoder,不过官方已经 ...
- 彩色点云生成mesh的纹理
上一篇文章 https://www.cnblogs.com/lovebay/p/11423576.html ,我们使用MPA算法实现了 点云生成mesh,但仅仅实现mesh的顶点着色,为了让mesh有 ...
- 五大好用的开源MySQL管理工具推荐
众所周知,对于数据库管理工作者(DBA)来说,保持数据正常运行在最佳状态需要具备敏捷.专注.冷静和快速的反应能力.因为数据库几乎是所有应用程序成功运行的核心,由于DBA负责组织数据,因此寻找可靠的工具 ...
- Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu、TMenuItem、TMenuBar、TMainMenu
Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu.TMenuItem.TMenuBar.TMainMenu 相关控件: TMenuBar.TPopup ...
- php5.4编译安装apache
1.下载源码包 wget 网址/php-5.4.45.tar2.解压源码包 tar -zxvf php-5.4.45.tar3.创建一个安装目录 mkdir /usr/local/php4.进入解压后 ...
- 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_18maven的java工程取mysql数据库
使用maven创建ava功能,然后读取数据库做一个测试. 我们做的持久层,没有和页面有交互,只做一个java工程就可以了 创建的是java工程,用不用骨架都可以.这里不使用骨架,直接next 直接fi ...