文章目录
- 前言(常用命令合集放在末尾)
- 一、用户管理(简介)
- 1.为什么区分普通和超级(简介)
- 2.什么时候使用普通用户,什么时候使用超级用户(简介)
- 2.1还有第三种用户?------特殊用户(简介)
- 3.用户管理(增删改查,赋予权限,用户切换,赋予+修改密码)
- 3.1:增加用户
- 3.2:*简单(语法):useradd(方便、快捷、学习、测试专用)
- 3.3:**进阶 (语法):vi/vim/shell(学习进阶以及高级以及shell,vi/vim时、特殊用户、有特殊任务专用)
- 3.3.1:什么是vi/vim?(简介)
- 3.3.1:什么是shell?(简介)
- 简单shell (语法) :创建一个用户
- 进阶shell(语法):批量创建用户
- 3.4:删除用户
- 3.5:删除用户(语法)(*简单 userdel 方便、快捷、学习、测试专用)
- 3.6:删除用户(*进阶 vim/vi shell 学习进阶以及高级以及shell,vi/vim时、特殊用户、有特殊任务专用)
- 简单shell(语法):删除某个用户
- 简单shell(语法):删除批量用户
- 3.7:修改用户
- 3.8:修改用户的密码(语法)(root权限下)
- 3.9:修改用户的密码(语法)(普通用户)
- 4:(转)修改用户的密码(普通用户/超级用户忘记自己的密码> > 启动VMware的linux:
- 4.1:查看用户
- 4.2:查看用户(语法)(简单)
- 4.3:查看用户(语法)(进阶)
- 4.4:用户小结
- 二、组管理
- 三、权限管理
- 四、学习总结
- 五、Linux常用命令合集
前言(常用命令合集放在末尾)
对于初学linux/linux运维的同学来说,学习Linux的用户,组,权限方面的知识是linux进阶学习的一个门槛,这篇文章将带你一起了解及学习这三个知识点,以及摸索出来的多种管理方法合集
提示:以下是本篇文章正文内容,下面案例可供参考
一、用户管理(简介)
1.为什么区分普通和超级(简介)
用户分为普通用户和超级用户,顾名思义,普通用户能做的事没有超级用户多,许多操作需要权限的时候需要使用超级用户才能完成,因此,有些用普通用户更好,有些时候超级用户更好用。
Linux是一个多用户、多任务的操作系统,多用户主要体现在用户的角色的多样性,不同的用户所分配的权限也不同
2.什么时候使用普通用户,什么时候使用超级用户(简介)
普通用户:
①:新手学习不需要权限的指令
②:更改数据(学习目的为主)
③:为保证数据的安全性以及防止出现麻烦,能使用普通用户完成任务就使用普通用户。超级用户:
①:顾名思义,”权力“最大的用户,拥有最高,最多权限
②:完成特定任务,需要授权的任务时使用
2.1还有第三种用户?------特殊用户(简介)
特殊用户:
也称虚拟用户、伪用户、假用户或者系统用户。在Linux系统中,每个文件、目录和进程,都归属于某一个用户,为了完成特定的任务,系统内建了若干用户,比如mail、ftp、bin等,系统用户也是受限用户。默认情况下,系统用户都是无法登录的,如果给这些用户授权登录口令后,就可以使用用户登录系统。但为了安全起见,最好不要给这些用户授权口令。
3.用户管理(增删改查,赋予权限,用户切换,赋予+修改密码)
3.1:增加用户
3.2:*简单(语法):useradd(方便、快捷、学习、测试专用)
useradd的一些基本用法如下:
. useradd 用户名 //新建一个用户,此时用户无密码,学习,测试,快捷适用
. useradd -u uid 用户名 //连同uid一起创建,uid为0时为超级管理员
. useradd -g gid // 用户名 指定用户gid ,gid为组id,把用户直接放进组里创建,此时的uid必须是已有的
. useradd -G gid 用户名 指定用户的附加组 //一定要存在这个gid的组
. useradd -c ‘用户信息说明’ 用户名 //指定用户的说明信息进行添加,说明不能使用中文
. useradd -d 用户家目录 用户名 //指定用户的家目录,该目录必须得存在
3.3:**进阶 (语法):vi/vim/shell(学习进阶以及高级以及shell,vi/vim时、特殊用户、有特殊任务专用)
3.3.1:什么是vi/vim?(简介)
它们都是多模式类似文本编辑器与windows中的一些文本编辑器差不多其实。vim 相当于vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:
1、多级撤消 我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性,vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮 vim可以用不同的颜色来加亮你的代码。
4、可视化操作 就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容 某些情况下,你可以把vim当成vi来使用。
vi/vim操作:
例子:uuuuuu❌1004:1017:linshichuangjian:/home/uuuuuu:/bin/bash
uuuuuu:用户名
x:密码,passwd文件中无法查看密码,此”x“是遮掩符号
1004:uid(类似qq号靓号,可以自己更改,0为超级管理员)
1017:组id(类似qq分组,规范的用户管理中,各组任务不同)
linshichuangjiang: 说明(可加可不加,类似于个性签名,该用户说明) home/uuuuuu:家目录
bin/bash:shell(用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的)
3.3.1:什么是shell?(简介)
shell的简单定义就是命令行解释器,功能是将使用者的命令翻译给核心处理,同时将核心处理的结果翻译给使用者。可以看出shell主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。
简单shell (语法) :创建一个用户
*简单-------1.打开终端 2.定义变量 3.反引号输入简单(操作)创建用户的命令即可执行
[root@localhost ~]# cjyh=`useradd shellyonghuyi`
[root@localhost ~]# echo $cjyh
进阶shell(语法):批量创建用户
批量创建用户,这里只介绍一种方法,多种方法都类推,更多学习资料请关注微信号:LiMianAAAAAA)
①:先创建两个文本文件:一个 userlist(批量添加的用户文件)另一个 userlistpasswd(要添加的用户密码文件)
②:赋予权限
③:创建shell文件编写shell文件
④:赋予shell文件权限
⑤:执行shell文件
[root@localhost ~]# touch userlist ***创建一个文本文件 userlist***
[root@localhost ~]# vi userlist ***vi/vim 进行编辑 userlist文件***
# userlist的内容如下: ***放进去批量添加的五个用户***
useryi
userer
usersan
usersi
userwu
[root@localhost ~]# chmod 777 userlist ***赋予文件 userlist权限***
[root@localhost ~]# touch userlistpasswd ***创建一个文本文件 userlistpasswd***
[root@localhost ~]# vi userlistpasswd ***用vi/vim 编辑文件 userlistpasswd***
#userlistpasswd的内容如下: ***每一个用户对应一个密码,此处为起教学作用,使用简单用户名和密码***
useryi:mimayi
userer:mimaer
usersan:mimasan
usersi:mimasi
userwu:mimawu
[root@localhost ~]# chmod 777 userlistpasswd ***赋予文件userlistpasswd权限***
[root@localhost ~]# cat userlist ***查看文件userlist 是否编辑成功***
[root@localhost ~]# cat userlistpasswd ***查看文件userlistpasswd是否编辑成功***
[root@localhost ~]# touch piliang.sh ***创建shell文件 piliang.sh***
[root@localhost ~]# vi piliang.sh ***vi/vim 编辑shell文件 piliang.sh***
# piliang.sh 内容如下:
#!/bin/bash
for user in `cat /root/userlist`
do
useradd $user
echo "redhat" | passwd --stdin $user
echo "$user ok"
done
chpasswd < /root/userlistpasswd
pwconv
[root@localhost ~]# chmod 777 piliang.sh ***赋予shell文件 piliang.sh权限***
********命令讲解********
chpasswd
#以root的身份执行/usr/sbin/chpasswd,chpasswd将经过/usr/bin/passwd命令编译过的密码写入/etc/passwd的密码栏
pwconv命令
#确定密码经密码写入/etc/passwd的密码栏后,执行命令/usr/sbin/pwconv命令将密码编译为shadow password,并将结果写入/etc/shadow
把这个shell脚本的权限给x
*/
[root@localhost ~]# ./piliang.sh ***执行shell文件***
效果截图:
3.4:删除用户
3.5:删除用户(语法)(*简单 userdel 方便、快捷、学习、测试专用)
[root@localhost ~]# userdel -r yonghu(用户名称)
3.6:删除用户(*进阶 vim/vi shell 学习进阶以及高级以及shell,vi/vim时、特殊用户、有特殊任务专用)
简单shell(语法):删除某个用户
[root@localhost ~]# bianliang=· userdel -r yonghu(用户名称)·
[root@localhost ~]# echo $bianliang
简单shell(语法):删除批量用户
[root@localhost ~]# touch piliangshan.sh ***创建一个shell文件 pishan.sh***
[root@localhost ~]# chmod 777 piliangshan.sh ***赋予shell文件 pishan.sh 权限***
[root@localhost ~]# vi/vim piliangshan.sh ***用vi/vim 编辑shell文件 pishan.sh***
//内容如下:
#!/bin/bash
for user in `cat /root/userlist`
do
userdel -r $user
echo "$user ok"
done
[root@localhost ~]# ./piliangshan.sh ***执行shell文件 pishan.sh***
效果截图
3.7:修改用户
3.8:修改用户的密码(语法)(root权限下)
[root@localhost ~]# passwd 用户名 ***根据提示输入两次密码即可***
//将uid改为0,即可变为超级用户
//***root用户可以修改任何普通用户的密码***
3.9:修改用户的密码(语法)(普通用户)
[root@localhost ~]# passwd 用户名 ***普通用户只能修改自己的密码,需要输入原密码加新密码***
4:(转)修改用户的密码(普通用户/超级用户忘记自己的密码> > 启动VMware的linux:
- 进入GRUB的彩色界面后,有3秒钟时间给你。回车进入GRUB,出现了:
Red Hat Enterprise Linux Server (2.6.18-8.e15xen)- 键入e出现: root(hd0,0) kernel /xen.gz-2.6.28-8.e15 module /vmlinux-2.6.18.e15xen ro root=/dev/VolGroup00/LogVo100 rhgb quiet
module /initrd-2.6.18-8.e15xen.img 上下键移到quiet那一行,按e进入,加上
single或者1即可,回车- 按b后进入重启模式,一定注意出现:
Starting udev:
在后面输入boot回车- 之后出现命令行:
sh-3.1#- 输入passwd即可修改root密码
- 完成之后reboot即可重启。
普通用户密码忘记了,比较简单:
在root账户下,打开/etc/shadow (不是passwd文件,因为密码实际上经过加密后放在了“影子口令”文件shadow中了。passwd文件每个用户均可见,但是shadow只有root可以见)。
找到普通用户名cicikasa,然后删除第二个域即可,域之间用“:”隔开的,如下: user:TdkakkkYUukkjkjk:14672:0:99999:7::: 上述红色部分就是经过加密的密码,删除即可
在普通用户下,输入passwd即可输入新密码
[转]各个Linux版本的本地root密码破解方法 2008-09-08 19:25
这段时间老碰到有人问及各个linux版本的本地root密码破解方法,我这里自己以及在网络上搜集了些资料,希望对看到了这文章而又恰好用得到的技术人员有点帮助:(一)RedHat/CentOS/Fedora 系统密码破解
1.在grub选项菜单按E进入编辑模式
2.编辑kernel 那行最后加上S (或者Single)
3.按B,启动到single-user mode
4.进入后执行下列命令
mount -t proc proc /proc
mount -o remount,rw /
passwd
#sync
#reboot(二)Debian linux 系统密码破解
1.在grub选项菜单’Debian GNU/Linux,…(recovery mode)’,按e进入编辑模式
2.编辑kernel那行最后面的 ro single 改成 rw single init=/bin/bash,按b执行重启
3.进入后执行下列命令 root@(none)#mount -a root@(none)#passwd root root@(none)#reboot(三)Freebsd 系统密码破解
1.开机进入引导菜单
2.选择每项(按4)进入单用户模式
3.进入之后输入一列命令 root@#mount -a root@#fsck -y root@#passwd(修改密码命令) root@#root(要破解密码的用户名) Enter new unix password: root@#init 6 (重启)(四)Solaris 系统密码破解
1.在grub选项菜中选择solaris failasfe 项
2.系统提示Do you wish to have it mounted read-write on /a ?[y,n,?] 选择y
3.就进入单用户模式
4.输入下列命令:passwd root@#init 6 (重启)(五)NetBsd 系统密码破解
1.开机:当出现提示符号并开始倒数五秒时, 键入以下指令:
boot -s (进入单用户模式命令)
2.在以下的提示符号中 Enter pathname of shell or RETURN for sh: 按下 Enter。
3.键入以下指令:
#mount -a
fsck -y
4.使用 passwd 更改 root 的密码。
5.使用 exit 指令进入多人模式。(六)SUSE 系统密码破解
1.重新启动机器,在出现grub引导界面后,在启动linux的选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash,出现命令行。
2.稍等片刻出现(none)#:命令行。
3.这时输入mount -n / -o remount,rw 表示将根文件系统重新mount为可读写,有了读写权限后就可以通过passwd命令修改密码了。
4.这时输入passwd命令就可以重置密码了
5.修改完成后记得用mount -n / -o remount,ro将根文件系统置为原来的状态。
**
【超级用户忘记密码转自:https://blog.csdn.net/globuser/article/details/5930480?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-1.highlightwordscore&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-1.highlightwordscore)】
**
4.1:查看用户
4.2:查看用户(语法)(简单)
[root@localhost ~]# id 用户名 ***能查看uid,组id,附组id***
4.3:查看用户(语法)(进阶)
[root@localhost ~]# cat /etc/passwd //查看所有用户列表
//passwd讲解 vi/vim:
例子:uuuuuu❌1004:1017:linshichuangjian:/home/uuuuuu:/bin/bash
uuuuuu:用户名
x:密码,passwd文件中无法查看密码,此”x“是遮掩符号
1004:uid(类似qq号靓号,可以自己更改,0为超级管理员)
1017:组id(类似qq分组,规范的用户管理中,各组任务不同)
linshichuangjiang: 说明(可加可不加,类似于个性签名,该用户说明) home/uuuuuu:家目录
bin/bash:shell(用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的)
4.4:用户小结
Linux操作系统是一个多用户多任务的操作系统,那么用户的管理就格外重要,但其实无非就是当作QQ用户来理解,但是其中超级用户的理解要分开,不同权限的用户做着不同的事情,用户操作是常用操作,其中未列完的方法与操作 都是可延申学习。
二、组管理
1:组的理解(简介)
1.首先,要理解,在咱们Linux中每一个用户必须要有一个组。
2.组的理解也可以类似于对QQ分组的理解,飞秋分组的理解,所以每个组的意义不同。
1.1:原组,附加组理解(简介)
原组:
也叫初始组,是用户登录系统时的组,规则如下:
创建新用户时,若未明确指定该用户所属的主组,会默认创建一个与用户名相同的组,作为该用户的主组
用户创建文件时,文件的所属权限组就是当前用户的主组
使用useradd命令时用-g参数可以指定主组,则不会默认创建同名的主组
用户有且只能所属一个主组
用户的主组不能被删除
用户不能直接被移出主组,但可以更换主组
用户被删除时它的主组若没有其他所属用户,则会自动删除该主组
附加组
登录后可切换的其他组,规则如下:
使用useradd命令时用-G参数可以指定附加组
用户可以所属零个或多个附加组
用户的附加组和主组可相同
附加组可以直接被删除而无需关心是否所属于用户
附加组可以新增和移除任意个所属用户
用户被删除时所属附属组不会受影响
2:组的创建
2.1:*(groupadd)(语法,组创建)
多种方法与区别
[root@localhost rootlimian]# groupadd 组名 ***简单的创建一个组 ***
[root@localhost rootlimian]# useradd -g 组名 用户名 ***把某个用户加入到某个组***
[root@localhost rootlimian]# cat /etc/group ***产看所有组,看看是否成功了***
[root@localhost rootlimian]# id 用户名 ***看看该用户是否成功加入到了该组***
2.2:文件/目录 所在组(简介)
理解:当某个用户创建了文件,那么该文件就属于该用户的所在组,所以这也逆向说明分组的重要性
[root@localhost rootlimian]# ls -ahl ***查看文件/目录 所在组***
2.3:修改文件所在组(语法)
理解:如上所说,分组有讲究,那么文件分组也有讲究,根据目的,任务,有时需要重新分配组
[root@localhost ~]# chgrp zuyi ttee ***文件 ttee 移动到组 zuyi 中***
2.4:组id(简介+语法)
理解:用户有uid,我们也已经学过了组也有组id,组id是唯一的。
除了使用Linux默认为我们设置的id(1000之后排号,自增1),我们也可以自己设置一个与已经存在的组没有重复的id,比如设置一个id为521的组,指定组id的时候需要使用参数g
语法为:groupadd -g 指定的端口号 组名
代码:
[root@localhost ~]# [root@localhost ~]# groupadd -g 1234 ceyess ***添加一个组id 1234 的组ceyess***
2.5:删除用户组(简介+语法)
理解:当我们有些组是为了完成特殊临时任务,或者学习使用时,达到目标一般都会删除掉该组
删除用户组的语法: groupdel 组名
2.6:修改用户组的权限信息和名字 groupmod -g -n (简介+语法)
修改用户组信息的时候需要添加参数表明我们要修改用户组的什么属性,我们常用的参数就两个
-g:修改组id,和创建组的时候一样
-n:修改组名称 如果两个同时修改,注意分开写参数和新值
语法:groupmod 参数选项 新值 原组名称
代码:
[root@localhost ~]# groupmod -g 1324 -n tetesst ceyess ***将 ceyess 组的uid变为 1324 组名也改为 tetesst***
> gpasswd:为组设定密码
2.7:创建组和修改组(进阶学习VI/VIM SHELL)(简介)
理解:此类方法主要是以学习为目的,除学习普通指令之外,学习vi/vim 和shell指令,为更后面的学习打下基础,同时此类方法也能完成更多任务
2.7.1:vi/vim操作组(增删改查)(语法)
理解:首先要知道,linux中,组都放在哪里?--------------etc/group
[root@localhost ~]# vi /etc/group *** or [root@localhost ~]# vim /etc/group 进入组编辑***
!添加组: 组名: 口令:(默认写个大写X就可以) 组id 组用户:
eg:ceshiyixiazu:X:1444:useryi
!注意:若要创建组的时候就添加用户进去,该用户必须已经存在
!修改 删除 都可以在此进行完成操作
2.7.2:shell操作组(增删改查)
【与用户操作一致:shell操作就是对命令行进行编辑操作—看3.3.1】
2.8:组小结
其实用户的组操作和用户操作都类似,只是将 userXXX 改为 groupXXX 即可,参数选项有所不同,对应修改的文件有所不同,一个是/etc/passwd,一个是/etc/gruop,大家也要去理解这两个文件,对后面的学习非常有帮助,而且非常常用!!!
三、权限管理
1:认识权限(简介)
理解:顾名思义,权限也就是用户,组的权限,权力,而在linux中,权限又划分为
1.读权限
2.写权限
3.执行权限
2:普通用户和超级用户(简介)
理解:普通用户前面说过用于测试,学习基础命令,防止不安全等情况,因此,普通用户所做的事肯定没有超级管理员多,原因就是超级管理员有普通用户没有的权限
普通用户—>超级用户:
1.uid改为0(uid为0时变成超级管理员,1~999为特殊用户,在上述的用户模块讲解2.1中写到,但其实一般来讲,就只分为普通用户和超级用户—方式如vi/vim中修改,shell命令修改)
2.在文件sudoers中进行修改 :vi/vim etc/sudoers 编辑sudoers文件or vi/vim sudo 写入 root ALL=(ALL) ALL xiyang ALL=(ALL) ALL
#允许xiyang在任何地方,执行任何命令 (!!!注意:该文件不能随意修改,也并不是在开发维护等重要过程中随便进入的,这里只是以学习用途讲解。)
3:文件权限(简介,详解)
理解:
1.在这里把组和文件放一起更方便大家学习理解,因为,上述说到,在后面linux使用过程中,组与组有着不同含义,类似QQ分组,那么哪些组能控制哪些文件,就是组的权限
2.文件权限分三大类:
①:该文件拥有者对此文件的权限:u:user
②:该组对此文件的权限:g:group
③:其他组/用户对此文件的权限:o:other
三大类下分为三小类:
①:读权限:r(read):4(数字4代替)
②:写权限:w(write):2 (数字2代替)
③:执行权限: x(execute):1(数字1代替)
3.文件权限图:
讲解: - 开始:rw-:读 写 无 r- -:读 r- -:读
得出该文件权限:
该文件创建者权限:读,写 (无执行权)
该文件组对此文件:读,无写权限,无执行权限
其他组/用户对此文件:读,无写权限,无执行权限
3:权限修改(语法)(chmod -字母法+数字法学习-文件颜色区别)
理解:在学习了上面文件权限三大类三小类之后,用此命令将会非常顺手简便
eg:上图文件 权限修改为:创建者,所在组,其他组/人均可以 读,写,执行
[root@localhost ~]# chmod u+r,u+w,u+x,g+r,g+w,g+x,o+r,o+w,o+x yigewenjian
[root@localhost ~]# chmod 777 yigewenjian
效果图:
小结:增加,删除某一项,多项权限均可以 使用字母法或者数字法。此时文件已变成绿色:
1、蓝色代表目录;
2、绿色代表可执行文件;
3、红色代表压缩文件;
4、浅蓝色表示链接文件;
5、灰色表示其它文件;
6、红色闪烁表示链接的文件有问题了;
7、黄色表示设备文件。
4:组权限(简介+语法)
理解:将某个文件移动/加入某个组
命令:chgrp 组名 文件名 //这里属于递归改变,原组还是不变,类似用户的附加组,原组不变。
usermod -G 组1 用户1 让用户1 成为 组1 的成员
usermod -g 组1 用户1 让用户1 成为 组1 的成员,并且用户1 不是组长了。
gpasswd -M 用户1 组1 让用户1 ry成为 组1 的成员
gpasswd -d 用户1 组1 让用户1 不再是ge 组1 so的成员
小结:组权限学习放在后面就是因为要先学 用户权限和文件权限
文件所属组的权限多,用户操作这个文件就是利用的组权限!
四、学习总结
总结:用户,组,权限是学习linux,linux运维的门槛,作为初学者,个人对此的理解如上,一定有不足的地方,之后会不断学习不断改进!
(最开始的用户理解和组理解以类似理解QQ一样理解,qq也有uid就是唯一qq号(qq号也可以更换例如腾讯里的靓号,那么就属于uid分类学习了),不同组不同含义,所以在学习完基础之后,最后还是尽量养成习惯,比如测试命令,学习命令等操作的用户放在一个组,对于权限的理解就在于看是通过什么方式进行的操作,通过谁的权限,又需要谁的权限,再区分。)
五、Linux常用命令合集
(转自)
https://blog.csdn.net/weixin_44895651/article/details/105289038?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163894724516780264034824%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163894724516780264034824&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-105289038.pc_search_mgc_flag&utm_term=linux%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4100%E6%9D%A1&spm=1018.2226.3001.4187