欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > linux用户管理

linux用户管理

2024/12/23 6:17:56 来源:https://blog.csdn.net/lou0720/article/details/144383754  浏览:    关键词:linux用户管理

用户组管理

1.用户组添加

命令:groupadd
作用:添加组
语法:# groupadd [参数选项 选项值] 用户组名
选项:-g:设置用户组ID 数字,如果不指定,则默认从1000 之后递增(1-999系统组)

用法一:groupadd 组名
示例代码:
#groupadd shujia
含义:新建一个组叫做shujia

在这里插入图片描述
提示:linux下我们执行完命令,有时候会没有任何提示,直接回到#提示符,这种状态表明,命令执行
成功,没有报错。“没有消息就是最好的消息”
存储用户组信息的文件:/etc/group
使用cat命令,查看/etc/group文件
/etc/group文件结构:
特别说明:
1) 密码位 x 代表 占位符 ,用户组可以设置密码,但是大部分情况下不需要设置
2)组内用户名:表示附加组是该组的用户名称。
在这里插入图片描述

2.用户组修改

命令:groupmod
语法:# groupmod [选项 选项值] 用户组名
选项:-g :gid缩写,设置一个自定义的用户组ID 数字

 -n :name缩写,设置新的用户组的名称

示例代码:修改shujia用户组,将组ID改成1100,将名称改为wyhshujia

用法一:groupmod -g 新的组ID -n 新的组名字 原有组名字
示例代码:
#groupmod -g 1100 -n wyhshujia shujia
含义:将shujia组的组ID改成1100,组名改成wyhshujia```
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c8bf60caeb6545bb8e73f5efdb509eb6.png)
## 3. 用户组删除
命令:groupdel
语法:# groupdel 用户组名
案例:删除wyhshujia组```markup
用法一:groupdel 组名
示例代码:
#groupdel wyhshujia
含义:将wyhshujia组删除

在这里插入图片描述

用户管理

用户的管理涉及用户的添加、删除和修改。
与用户相关的文件:/etc/passwd

useradd添加用户

命令:useradd
作用:添加用户
语法:# useradd [选项 选项的值] … 用户名
选项:-g:表示指定用户的用户主(主要)组,选项值可以是用户组ID,也可以是组名

 -G:表示指定用户的用户附加(额外)组,选项值可以是用户组ID,也可以是组名-u :uid,用户的id(用户的标识符),系统默认会从500 /或1000之后按顺序分配uid,如果不想使
用系统分配的,可以通过该选项自定义【类似于腾讯QQ 的自选靓号情况】-c:comment,添加注释(选择是否添加)-s:指定用户登入后所使用的shell 解释器,默认/bin/bash【专门的接待员】,如果不想让其登录,
则可以设置为/sbin/nologin   (重要)-d:指定用户登入时的启始目录(家目录位置)-n:取消建立以用户名称为名的群组(了解)当我新建一个账户叫user01, 同时,系统会自动建立一个组也叫user01
用法一:useradd 用户名
示例代码:
#useradd wyh
含义:创建用户wyh,不带任何选项。

注意:不用任何参数,创建用户,系统会默认执行以下操作:
1)在 /etc/passwd 文件中创建一行关于wyh用户的数据
在这里插入图片描述
2)在 /etc/shadow 文件中新增了一行关于wyh密码的数据
在这里插入图片描述
3)在 /etc/group 文件中创建一行与用户名相同的组,例如wyh
在这里插入图片描述
4)在 /etc/gshadow 文件中新增一行与新增群组相关的密码信息,例如wyh
在这里插入图片描述
5)自动创建用户的家目录,默认在/home下,与用户名同名
在这里插入图片描述
验证是否成功:
1)使用tail文件查看/etc/passwd文件
2)使用tail文件查看/etc/group文件
3)验证是否存在家目录(在Centos 下创建好用户之后随之产生一个同名家目录)

2.etc/passwd存储用户信息的文件

使用vim命令打开/etc/passwd文件

# wyh:x:1000:1000::/home/wyh:/bin/bash
root : x : 0 : 0 : root : /root : /bin/bash
用户名 : 密码 : 用户ID : 用户组ID : 注释 : 家目录 : 解释器shell

用户名:登录linux时使用的用户名
密码:此密码位置一般情况都是"x",表示密码的占位,真实密码存储在/etc/shadow
用户ID:用户的识别符,每个用户都有唯一的UID【-u】
用户组ID:该用户所属的主组ID;【-g】
注释:解释该用户是做什么用的;【-c】
家目录:用户登录进入系统之后默认的位置;【-d】
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,转换成机
器语言,传递给内核处理;如果解释器是==/bin/bash 表示用户可以登录到系统==,/sbin/nologin表
示该用户不能登录到系统
【-s】
下面我们来看一下对于useradd参数的使用

企业场景1:

公司新员工lisi,属于shujia部门,用户ID1200,不允许登录系统
思路:创建用户lisi,默认lisi属于自己同名的主组,让lisi 属于附加组shujia,用户ID 1200,注释
为"数加工程师lisi",解释器为/sbin/nologin
用法二:useradd -G 附加组名 -u 用户ID -s /sbin/nologin -c "shuser lisi" 用户名
useradd -G shujia -u 1200 -s /sbin/nologin -c "数加工程师lisi" lisi
示例代码:
[root@master xiaohu]# useradd -G wyhshujia -u 1200 -s /sbin/nologin -c "数加工程师
lisi" lisi
useradd:“wyhshujia”组不存在
[root@master xiaohu]# groupadd wyhshujia
[root@master xiaohu]# useradd -G wyhshujia -u 1200 -s /sbin/nologin -c "数加工程师
lisi" lisi
含义:创建用户lisi,不带任何选项。
shujia行的含义:在shujia的组里(组id 是1002)有一个组内用户lisi(lisi 的附加组就是1002,附
加组的名字是shujia)。
如果需要为一个用户指定多个附加组,只需要将多个附加组的id 通过英文逗号“,”分割即可。
例如-G 500,501,502
① 主组只能有1 个(类似于亲生父母只有一对),附加组可以多个,也可以没有附加组(类似于认干爹干妈,
可以有也可以没有,也可以有多个)
② 主组必须有
③ 后期将权限管理的时候,关于文档的属组指的是主组(了解)

3.id查看用户信息

命令:id
作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则
默认当前用户。
语法1:# id 默认显示当前执行该命令的用户的基本信息
在这里插入图片描述
语法2:# id 用户名 , 显示指定用户的基本信息
如何验证以上信息是否正确?
答:验证用户信息:通过文件/etc/passwd,验证用户组信息:通过文件/etc/group

4.usermod修改用户

命令:usermod(user modify)
语法:# usermod [选项 选项的值] … 用户名
作用:修改用户的各种属性
选项:-g:表示指定用户的用户主组,选项的值可以是用户组的ID,也可以是组名

-G:表示指定用户的用户附加组,选项的值可以是用户组的ID,也可以是组名-u:uid,用户的id(用户的标识符),系统默认会从500 之后按顺序分配uid,如果不想使用系统分配
的,可以通过该选项自定义【类似于腾讯QQ 的自选靓号情况】-L:锁定用户,锁定后用户无法登陆系统lock-U:解锁用户unlock-c<备注>:修改用户帐号的备注文字-d<登入目录>:修改用户登入时的目录-s<shell>:修改用户登入后所使用的shell

企业场景2:

公司员工wangwu,属于bigdata25部门,现在要休产假,产假期间,暂时停止她登陆电脑的权限,同时
原来属于shujia部门的员工lisi,负责wangwu的工作,所以,需要把lisi加入到bigdata25的组,同时,
修改lisi的账户注释为“shujia bigdata25 user”对于wangwu用户,我们要执行锁定和解锁操作对于lisi用户,我们要将lisi加入到bigdata的附加组,同时修改lisi账户的注释
[root@master xiaohu]# usermod -L wangwu
usermod:用户“wangwu”不存在
[root@master xiaohu]# useradd -G bigdata -u 1300 -c "大数据开发" wangwu
useradd:“bigdata”组不存在
[root@master xiaohu]# groupadd bigdata
[root@master xiaohu]# useradd -G bigdata -u 1300 -c "大数据开发" wangwu
[root@master xiaohu]# usermod -L wangwu
用法一:usermod -L 王五账户名
示例代码:
#usermod -L wangwu
含义:将王五账户暂时锁定
用法二:usermod -U 王五账户名
示例代码:
#usermod -U wangwu
含义:将王五账户解锁
用法三:usermod -G 组名 -c “注释内容” 李四用户账号
示例代码:
#usermod -G bigdata22 -c "shujia bigdata22 user" lisi
含义:将李四的账户加入bigdata组,并修改注释内容为shhr user

在这里插入图片描述

5.passwd修改用户密码

Linux ==不允许没有密码的用户登录到系统==,因此前面创建的用户目前都处于锁定状态,需要设置密
码之后才能登录计算机。

命令:passwd
语法:# passwd 用户名 【如果不指定用户名则修改自己的密码】
作用:修改用户密码

企业场景3:

王五产假休完回到公司上班,需要将王五的账户解锁,在使用usermod -U解锁时,我们看到一个错误信
息如下:

usermod: unlocking the user’s password would result in a passwordless account.
解锁这个账户,将导致一个没有密码的账户,因为之前王五的账户没有密码。这时候,我们就需要使用
passwd命令,给王五的账户设置一个密码

用法一:passwd 账户名
示例代码:
#passwd wangwu
含义:为wangwu账户设置密码
注意:当密码过于简单时,系统会提示这是一个不好的密码,因为它太简单了,但是我们仍然可以坚持使用这个
密码。在我们输入密码时,屏幕不会有任何显示。密码需要输入两次,请确保两次输入的密码是一样的。

6.认识/etc/shadow文件

由于 /etc/passwd文件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 
/etc/passwd 文件中分离出来,并单独放到了shadow文件中。
/etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全
性。 

与用户密码相关的文件:/etc/shadow
为用户设置密码之后,会自动在/etc/shadow文件中进行体现,使用vim编辑器打开
第一列为用户名,例如zhangsan
后面是加密后的密码,就是$开头的字符串
如果显示为!!,则表示这个用户没有设置密码。
在这里插入图片描述
由以上截图所知,wyh,lisi是没有设置密码的。wangwu我们刚刚设置了密码,所以显示为一个加密的字
符创
任务:新建一个账户叫shujiaxiaoli

新建第二个账户叫shujiaxiaoli给shujiaxiaoli账户设置一个密码进入shadow文件,观察两个账户的区别

7.su切换用户

在设置用户密码之后就可以使用此账号进行登录系统了,如果系统处于已登录状态,则可以使用su命令进
行切换用户。为了系统安全,企业中通常不会允许root用户直接登录计算机,但是工作需要,我们又需要使用root权
限,这时候,我们就可以先使用一个普通用户登录计算机,再通过su命令切换到root权限。

命令:su
语法:# su [-] 账号
作用:切换用户

用法一:su 用户名
示例代码:
#su root
含义:切换到root权限
注意:
a. 从root 往普通用户切换不需要密码,但是反之则需要root 密码;
b. 切换用户之后前后的工作路径是不变的,添加了选项[-]会自动切换到用户的家;
c. 普通用户没有办法访问root 用户家目录,但是反之则可以;

启用wheel组设置(了解)
步骤1:使用vim编辑器 打开/etc/pam.d/su文件
在这里插入图片描述
步骤2:编辑文件,去掉auth required pam_wheel.so use_uid这一行前面的#,使这一行配置生效
在这里插入图片描述
步骤3:下面是去掉#后的状态
在这里插入图片描述
步骤4:保存退出 :wq
这时,只有在wheel组内的用户才可以su到root
⑧userdel删除用户
命令:userdel
语法:# userdel 选项 用户名
作用:删除账户及其对应家目录
选项:-r:表示删除用户的同时,删除其家目录/home下的对应文件夹
在这里插入图片描述
权限:
通过ll查看详细信息时:-rw-r–r–. 1 root root 11 4月 24 21:22 xiao.txt
-:表示类型
rw-:当前用户权限
r–:当前用户组权限
r–:其他用户权限·

r:读     4
w:写     2
x:执行   1
u:当前用户
g:当前组
o:其他
a:所有

权限分配
chmod:修改权限
格式1:(使用相加减表达权限)
chmod [选项] [权限修改] [文件]
格式2:(使用数字表达权限)
chmod [选项] [权限修改] [文件]
4:读
2:写
1:执行
7:全部
注意:如果只给一个数字表示修改o,两个表示修改go
选项:

  • R:迭代修改
chgrp:修改用户组格式:chgrp [选项] [组名] [文件或目录]选项:-R:表达迭代修改注意:文件或目录的所有用户或所有组,都是以编号来查询所有用户或所有组如果不存在就显示编号,存在显示名称
chown:修改所属用户格式:chown [选项] [组名] [文件或目录]选项:-R:表达迭代修改
sudo:越权执行格式:sudo 命令注意:sudo实际上去借root权限执行命令(root对普通用户分配了权限)
sudo -l:查看当前权限
visudo:修改配置文件进行权限分配(文件所在位置/etc/sudoers)例如:普通用户拥有root所有权限用户名 ALL=(ALL) ALL用户名 ALL=(root) ALL例如:普通用户只能执行一个命令用户名 ALL=(root)/bin/rm
可以同过vim /etc/sudoers修改权限分配

查找
find
格式:
find 开始查找路径 [选项] [条件]
选项:

  • -name
    表示匹配所有
    ?表示匹配一个
    例如:从/开始查找后缀为.txt
    find / -name “.txt”
  • -type
    d:表示目录
    f:表示文件
    例如:从/开始查找文件
    find / -type f
  • -size
    ll --block-size=单位
    例如:大小以k为单位进行显示
    ll --block-size=k
    注意:条件需要给上单位
    +表示大于
    -表示小于
    不给就是等于
    例如:从/开始查找文件大小大于2k
    find / -size +2k
  • -user
  • -group
    Linux常见符号
    |:管道,把前面一部分的内容交给后面去处理
    例如:
    cat /etc/profile | more
grep:筛选格式:grep 筛选条件
>>:追加,把命令1的结果写入到命令2格式:命令1 >> 命令2 例如:cat profile >> test.txt
>:覆盖格式:命令1 > 命令2 例如:cat profile > test.txt

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com