计算机中用户的作用:主要实现资源分享,在分享资源同时涉及到资源安全,又新增用户密码认证,使其资源由特定权限的用户或用户组才可访问。

linux系统中用户和组分类:

用户分为:管理员用户(root)、普通用户和系统用户(对守护进程获取资源进行权限分配,也就是在系统启动时或需要启动某进程服务时需要的用户,也称为“伪用户”)

用户组分为:管理员组、普通用户组,当然在创建用户时会同时创建一个同用户名的基本组,因此伪用户也有着自己的基本组。另外用户组针对用户来说还有一个“附加组”,当然也是普通用户组

并且同时在创建用户后会生成唯一标识用户的uid号,当然用户组也是有gid,管理员uid和gid为“0",因此如果在将一个用的uid和gid改为"0"那么这用户即可提升为系统管理员。在centos6中一般uid从1-499区间表示为"系统用户",uid为500+的用户为普通用户‘。

useradd命令:create a new user or update default new user information

【功能】创建一个新的用户或更新用户原来的信息

【语法】

useradd [option] USERNAME

【常用选项】

-u: [UID_MIN,UID_MAX]  定义在/etc/login.dnfs/
-g:指定用户的基本组,可为组名,也可以是GID
-c:指定用户的属性信息
-d:指定用户的家目录,但是如果指定与用户名不同的家目录,指定时该目录应该不事先存在
-s:指定用户登录系统默认shell
-G:指定用户的附加组,不同附加组用逗号隔开即可,一个用户可以属于多个附加组,组必须事先存在
-r:创建系统用户  centos6: 1-499  centos7:1-999

【配置文件】/etc/passwd 和 /etc/shadow

/etc/passwd文件以":"做分隔符将文件每行数据分为"7"段,而每行代表一个用户信息。
root:x:0:0:root:/root:/bin/bash  这些信息分别表示:
用户名:密码占位符:uid:gid:用户资料(电话号码,年龄等):用户属主目录:用户登录系统默认shell/etc/shadow:文件以":"做分隔符将文件每行数据分为"9"段,每行代表一个用户密码安全信息
root:$6$tlIcIKYX0qGDqZF5$QtTrzgTGF1cSp2Gf5.tWUGh7mR9JLNE32OJVcNVctD0x3Lv/YEqua8YY.En5xuEp4LiJAYdQ2i6FQahVuEynq.:16912:0:99999:7:::
1)用户名
2)加密的密码
3)上次更改密码的日期(从1970-1-1开始)
4)最短密码期限(按天计算,0 = 无最短期限)
5)最长密码期限(按天计算)
6)密码警告期限(按天计算,0 = 未指定警告)
7)密码非活动期限(按天计算)
8)账号到期时间(从1970-1-1开始)
9)保留域

【实例】useradd创建用户

[root@perthon50 ~]# useradd -u 505 -c "this is testuser" testuser1
[root@perthon50 ~]# tail -n 1 /etc/passwd
testuser1:x:505:505:this is testuser:/home/testuser1:/bin/bash
[root@perthon50 ~]# tail -n 1 /etc/shadow
testuser1:!!:16913:0:99999:7:::    //密码加密为显示为"!!"表示无法登录系统,没设置密码

usermod命令:modify a user account

【功能】修改用户基本信息,

【语法】

usermod [options] USERNAME

【常用选项】

当然可以直接改/etc/shadow文件,不建议
-e:修改用户账号有效期限
-u:修改用户uid
-g:修改用户基本组
-c:修改用户的属性信息
-d:修改用户的家目录,但是如果指定与用户名不同的家目录,指定时该目录应该不事先存在
-s:修改用户登录系统默认shell
-G:修改用户的附加组,不同附加组用逗号隔开即可,一个用户可以属于多个附加组,组必须事先存在
-l:修改用户名称,
-L:锁定用户密码,使其用户密码无效,无法登录系统
-U:解除用户密码锁定

【实例】修改用户名称、默认shell、用户属性信息

[root@perthon50 ~]# tail -n 2 /etc/passwd
gentoo:x:504:504:xxxxxxxxxxxxx:/home/gentoo:/bin/bash  //原来用户信息
testuser1:x:505:505:this is testuser:/home/testuser1:/bin/bash
[root@perthon50 ~]# usermod -s "/bin/tcsh" -l user1 -c "tell 110" testuser1
[root@perthon50 ~]# tail -n 2 /etc/passwd
gentoo:x:504:504:xxxxxxxxxxxxx:/home/gentoo:/bin/bash
user1:x:505:505:tell 110:/home/testuser1:/bin/tcsh    //修改后用户信息

passwd命令:update user's authentication tokens

【功能】对用户/etc/shadow文件管理,类似usermod命令

【语法】

passwd [options] USERNAME

【常用选项】

-l:锁定用户
-u:解锁用户
-n mindays:指定用户密码最短使用期限,表示用户修改密码后 必须#天后才能再次修改密码
-x maxdays:最大使用期限,表示用户修改密码#天后必须修改密码,否则不可以登录系统
-w warndays:提前多少天前警告  表示用户密码最大期限到期的前#天提醒用户修改密码
-i inactivedays:非活动期限,表示用户还可以登录系统
-e expire:YY-MM-DD 设置密码过期期限
--stdin: 从标准输入接收用户密码echo "PASSWORD" | passwd --stdin USERNAME 表示echo出来的直接输入给passwd --stdin 设置USERNAME 密码,但是必须显示的可以使用 管道送给/dev/null    bit buckets黑洞于此对应的有        /dev/zero  一直吐零

【实例】为用户添加登录认证密码

//为用户添加密码方法一
[root@perthon50 ~]# tail -n 2 /etc/shadow
gentoo:!!:16913:0:99999:7:::   //密码加密位显示"!!"表示无密码并不可登录系统
user1:!!:16913:0:99999:7:::
[root@perthon50 ~]# passwd gentoo
Changing password for user gentoo.
New password:                //输入自己需要的密码即可,普通用户为自己设置密码要求复杂性
BAD PASSWORD: it is based on a dictionary word
Retype new password:         //再次输入密码,
passwd: all authentication tokens updated successfully.//为用户设置密码方法二,并查看刚才设置密码是否成功
//不建议除非是批量新建用户时,并写脚本自动生成时,否则建议别使用,万一谁查看过你的历史命令或者是站在你后面可怎么办哦,
[root@perthon50 ~]# echo "linux@123" | passwd --stdin user1
Changing password for user user1.
passwd: all authentication tokens updated successfully.
[root@perthon50 ~]# tail -n 2 /etc/shadow
gentoo:$6$JQGxgi3e$XZiFTUa1lQVrCrwfHw6m4cWVJQ4ktmH7QKu8aXnsAJyNzdikosrGQxT4pMilsmVo1BDlXw0aLgQBcJJL9/sYI1:16913:0:99999:7:::
user1:$6$b5rZKPL1$3aWfNwGVPz.VWN67SZN58sHLt4.j/RPnk7C/eXGL0qFHPxwqYJTYA0p2scr6zdTi7cpfiIhqkAmRqUNFMvLZE1:16913:0:99999:7:::

userdel命令: delete a user account and related files

【功能】常用删除用户

【语法】

userdel [option] USERANME

【常用选项】

-r:表示在删除用户时,同时删除用户属主目录(小心谨慎)

【实例】在系统中删除gentoo用户并且删除gentoo的属主目录

[root@perthon50 ~]# ls /home
gentoo  lisi  testuser1  zhangsan   //在home目录下有gentoo的属主目录
[root@perthon50 ~]# tail -n 2 /etc/passwd
gentoo:x:504:504:xxxxxxxxxxxxx:/home/gentoo:/bin/bash   //gentoo的用户
user1:x:505:505:tell 110:/home/testuser1:/bin/tcsh
[root@perthon50 ~]# userdel -r gentoo               //删除gentoo用户并属主目录
[root@perthon50 ~]# !ls
ls /home
lisi  testuser1  zhangsan                         //无gentoo属主目录
[root@perthon50 ~]# tail -n 2 /etc/passwd         //也无gentoo用户
lisi:x:503:503::/home/lisi:/bin/bash
user1:x:505:505:tell 110:/home/testuser1:/bin/tcsh

groupadd命令:create a new group

【功能】在用户需要指定附加组时,而附加组是必须事先存在才可指定,那么在创建用户指定用户附加组之前就必须先创建"组"。

【语法】

groupadd [options] GROUPNAME

【常用选项】

-g:创建组时指定gid
-r:创建系统工作组,gid位于1-499区间

【实例】创建新组

//创建一个组名为testgroup,gid为534,
[root@perthon50 ~]# groupadd -g 534 testgroup
[root@perthon50 ~]# tail -n 2 /etc/group
test:x:555:
testgroup:x:534://创建默认系统工作组,gid位于1-399区间
[root@perthon50 ~]# groupadd -r systemgroup
[root@perthon50 ~]# tail -n 2 /etc/group
testgroup:x:534:
systemgroup:x:498:

gpasswd命令:administer /etc/group and /etc/gshadow

【功能】管理/etc/group,/etc/gshadow文件,当对组设置密码时,可实现当用户不属于改组的成员,可通过gpasswd设置的密码,进行组切换,操作完成退出即可,不常用

【语法】

gpasswd [options] GROUPNAME

【常用选项】

-a user: 将user添加至指定组中,附加组

-d user:删除用户user从附加组中移除

-A user1,user2……,设置有管理权限的用户列表

newgroup:临时切换组

pwck:检查用户认证信息完成性问题

【实例1】添加删除用户附加组

[root@perthon50 ~]# id user1
uid=505(user1) gid=505(testuser1) groups=505(testuser1)
[root@perthon50 ~]# gpasswd -a user1 test   //添加test组为用户user1的附加组
Adding user user1 to group test
[root@perthon50 ~]# id user1
uid=505(user1) gid=505(testuser1) groups=505(testuser1),555(test)
[root@perthon50 ~]# gpasswd -d user1 test   //移除user1的附加组test
Removing user user1 from group test
[root@perthon50 ~]# id user1
uid=505(user1) gid=505(testuser1) groups=505(testuser1)

groupdel命令: delete a group

【功能】删除系统中用户组

【语法】

groupdel GROUPNAME

【实例】删除系统中组

[root@perthon50 ~]# tail -n 2 /etc/group
testgroup:x:534:
systemgroup:x:498:
[root@perthon50 ~]# groupdel systemgroup
[root@perthon50 ~]# tail -n 2 /etc/group
test:x:555:
testgroup:x:534:

chage命令:change user password expiry information

【功能】修改用户/etc/shadow文件字段信息

【语法】

chage [options] USERNAME

【常用选项】

-d, --lastday LAST_DAY 修改最近一次修改密码时间
-E, --expiredate EXPIRE_DATE  有效时间
-I, --inactive INACTIVE  非活动期限
-m, --mindays MIN_DAYS 最小使用天数
-M, --maxdays MAX_DAYS 最大使用天数
-W, --warndays WARN_DAYS 提前警告时间

【实例】修改用户密码过期"提前警告天数"

[root@perthon50 ~]# tail -n 1 /etc/shadow
user1:$6$b5rZKPL1$3aWfNwGVPz.VWN67SZN58sHLt4.j/RPnk7C/eXGL0qFHPxwqYJTYA0p2scr6zdTi7cpfiIhqkAmRqUNFMvLZE1:16913:0:99999:7:::   //默认为7天
[root@perthon50 ~]# chage -W 6 user1
[root@perthon50 ~]# tail -n 1 /etc/shadow
user1:$6$b5rZKPL1$3aWfNwGVPz.VWN67SZN58sHLt4.j/RPnk7C/eXGL0qFHPxwqYJTYA0p2scr6zdTi7cpfiIhqkAmRqUNFMvLZE1:16913:0:99999:6:::  //已经修改为6天

以下为笔记本

Linux用户管理

用户创建:useradd USERNAME

#useraddUSERNAME

#tail -1 /etc/passwd  查看最后一个创建用户的用户名

#tail -1 /etc/group

#tial -1 /etc/shadow  查看到用户有!!表示该用户没有设置密码无法登录系统

[option]

-u UID:指定用户的UID 在/etc/login.defs定义默认+1

-g GID:指定基本组,可使用组名、GID号指定,但是在创建用户时,如果需要指定基本组,组必须事先存在

-c comment :通常是用户的简短信息简要说明,如果有空格需要引号

-d 指定用户家目录 #useradd -d /home/balir user5,如果该目录已经存在的情况,不会复制默认文件  (默认配置文件在 /etc/skel中)

-s 指定用户默认shell

-G GROUP1,GROUP2 指明用户的附加组,使用逗号隔开,组必须事先存在

-D 表示修改用户默认值设定,/etc/default/useradd文件中,以后新增的用户就会按照默认值来设置默认

-r 创建系统用户

Centos6 ID<500

Centos7 ID<1000

定义用户的创建时的默认信息

#cat /etc/login.defs   例如默认UID  GID等等

#cat /etc/default/useradd 表示创建用户默认指定的用户信息 例如家目录、bash等等

【练习】

1.创建用户gentoo,附加组为distro和linux ,默认shell为/bin/csh,注释信息为"Gentoo Distribution"

#groupadd distro

#groupadd linux

#useradd -c "Gentoo Distribution" -s /bin/csh -G distro,linux gentoo

Linux组管理

组创建:groupadd GroupNAME

#groupadd GROUPNAME

-g GID 指明GID号,

-r 创建系统组

Centos6 ID<500

Centos7 ID<1000

创建系统组

#groupadd -r mysql

#tail -l /etc/group

指定组id

#groupadd -r -g 121 mysql

#tail -1 /etc/group

id与su命令

查看用户的相关ID信息  id命令

#id

查看指定用户的id

#id -u  USERNAME

查看指定用户的基本组

#id -g USERNAME

查看指定用户的附加组

#id -G USERNAME

#id -n Name

切换用户或以其他用户身份执行命令:su

su [option…][-] [user [args…..]]

切换用户的方式

su UserName 非登录试切换,即不会读取目标用户的配置文件

su - UserName 登录试切换,会读取目标用户的配置文件,完全切换

Note : root 使用su命令其他用户无须密码,非root用户切换时需要密码

su使用其他用户只需命令

#su - UserName -c 'COMMAND'

命令只需结束后回到当前用户

选项

-l : "su -l UserName"表示登录试切换

usermod命令用户属性修改

usermod命令

-u UID 指定新UID

-g GID 指定新GID

-G 指定新的附加组,但是原来的附加组会被覆盖,如果需要保留原来的附加组,需要-a选项表示追加

-s SHELL 修改默认shell

-c 'COMMENT' ,修改注释信息

-d HOME:修改新的家目录,原有的家目录中的文件不会移动到新的家目录下,如果需要同时移动到新的家目录下,需要同时使用-m选项

-l 表示修改用户的用户名

-L 锁定指定用户  只有管理员有权限

-U 解锁指定用户  只有管理员有权限

-e YYYY-MM-DD 指定用户账号过期日期

-f INACTIVE  指定非活动期限

#usermod -d /home/newhome  UserName

#usermod -L UserName  查看结果是密码之前加!号cat /etc/shadow

passwd命令

给用户添加密码:passwd

#passwd UserName 修改指定用户的密码,只有root有权限

#passwd    修改当前用户的密码,任何用户如果没有密码是无法修改密码

常用选项

-l 锁定指定用户

-u 解锁指定用户

-n mindays  指定最短使用期限

-x maxdays 指定最大使用期限

-w warndays 提前多少天警告

-i  inactivedays 非活动期限

--stdin 从标准输入接手用户密码

#echo"redhat" | passwd --stdin UserName

Note: /dev/null ,bint buckets 特殊设备,无限吞

/dev/zero   无限吐

userdel删除用户

userdel命令

userdel [option…] UserName

#userdel UserName  不删除用户家目录

#userdel UserName   同时删除用户家目录

groupmod,groupdel,gpasswd,newgrp

groupmod命令修改组属性

groupmod

-n  group_name  修改组的新名字

-g  GID 修改新的GID

groupdel命令

#groupdelGroup_name

给组新增密码

gpasswd命令

gpasswd [option…]

#gpasswd Group_Nanme

-a 添加用户至指定组

#gpasswd -a UserName  Group

-d 将用户移除指定组

#gpasswd -d UserName Group

-A UserName1,UserName2……设置有管理权限的用户列表,设置某个用户在改组有管理员权限

newgrp命令

如果用户本属于此组,则需要组密码

newgrp Group_Name

pwck 命令检查用户是否有效

#pwck   /etc/shadow

chage命令更改用户密码过期信息

chage命令

-d 设置用户最近一次修改密码的时间

-E 修改用户账户号的过期期限

-I 修改用户的非活动期限

-m 修改密码的最小使用天数

-M 修改密码的最大使用天数

-W 修改用户的警告期限

其他命令

chfn chsh  finger

#chfn User_Name 设置用户的注释信息

#finger  User_Name  查看用户的注释信息,需要安装

#chsh  User_Name   修改用户的默认shell

转载于:https://blog.51cto.com/perthon/1766927

linux基础入门---用户和组管理命令相关推荐

  1. linux组的管理命令,Linux用户与组管理命令

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...

  2. Linux 目录所属组设置,Linux系统用户与组管理命令及配置文件总结

    一.Linux系统用户及组分类 1.用户类别 Linux系统中的用户大致可分为三类:root用户.系统用户.普通用户.每一个用户都拥有一个唯一的身份标识UID. 2.组分类 与用户信息对应的,Linu ...

  3. linux组的管理命令,linux 用户和组管理命令(示例代码)

    Linux 用户和组管理 组管理 groupadd命令:添加组 groupadd 选项 group_name -g GID :指定GID;默认是上一个组的GIDS+1 -r 创建系统组: groupm ...

  4. Linux增加四个用户分别并命名,16、Linux用户和组管理命令演练和实战应用,,150R...

    一.内容回顾 bash  globing,*,?,[],[^] IO重定向及管道  >  ,   >>  ,  2>  ,   2>>   &>  , ...

  5. linux基础:用户与组,权限管理

    linux中用户与权限管理 与Window的单用户系统不同,Linux操作系统在设计之初就遵循着多用户.多任务的理念.而在这种情况下,安全问题非常重要,不同用户,不同的用户组之间的隐私保护,安全管理就 ...

  6. Linux(10)用户和组管理命令

    进程以其发起者的身份运行:进程对文件的访问权限取决于发起此进程的用户权限 系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,这类用户从不用登录系统 grou ...

  7. 用户和组管理命令介绍与详解

    用户管理命令: useradd,userdel,usermod,passwd,chsh.chfn,finger,id,chage Useradd(建立用户) useradd [options] USE ...

  8. Linux下的用户与用户组管理命令(含上机作业)

    文章目录 用户与用户组管理 一.用户与组文件目录 1.用户账号文件--/etc/passwd 2.用户影子文件--shadow 3.用户组账号文件--group和gshadow 4.使用pwck和gr ...

  9. linux目录所属用户和组,管理用户所属的用户组《 Linux 文件与目录权限 》

    现在 app 这个目录的权限是 777 ,你会看到在这里它会高亮显示,因为 777 权限比较危险.这里我们先去掉其它人对这个目录的写入权限.chmod o-w app ... 如果仍然想让 wangh ...

最新文章

  1. python数据储存_五种使用python储存数据的方式
  2. 曲奇问答CEO:从产品经理的角度玩转社区类产品
  3. springcloud的理解
  4. 宝山区佳力图服务器空调维修价格,成都佳力图空调维修师傅
  5. lnmp 1.4 mysql_lnmp1.4配置https教程
  6. php设计模式课程---4、观察者模式的好处是什么
  7. 信息隐藏技术与应用期末复习
  8. Swift常用第三方库
  9. m序列生成方法及其fpga实现
  10. opendrive map with UE4
  11. 【目标检测】YOLOV2详解
  12. C语言两位八段LED数码管的,简单共阳极数码管电路图大全(五款led数码管电路图详解)...
  13. 阿里巴巴实习生面试悲惨经历
  14. win10c盘扩容_Win10中无损分区扩容调整大小
  15. ios开发读取剪切板的内容_iOS开发之详解剪贴板
  16. 微软新的邮件帐户域名 @live.com和@windowslive.com
  17. c语言省二级编程证书,c语言二级考试
  18. 图数据库nebula——常用的nGQL
  19. 分享一个ASCII艺术字(图)集网站
  20. 细细私语,看喜欢的书

热门文章

  1. Word 安全模式可以启动,正常模式不能启动
  2. 抢票软件之——py12306使用指南
  3. 【lua/aviutl】小型倒计时
  4. RNN/LSTM (四) 实践案例改编
  5. 文字转语音软件哪个好?快把这些软件收好
  6. macbook使用automator实现文文本自动化处理
  7. guzzle发起请求设置cookie失效
  8. Redis基本数据类型,redis官网
  9. python绘制各种摆线(包括心形线星形线等,超炫酷)
  10. 【4分频电路 -verilog】