Linux用户和用户组的管理

1.1 用户管理

增加用户的命令:useradd,其格式为:useradd [ -u UID ] [ -g GID ] [ -d HOME ] [ -M ] [ -s ] username。
在这里插入图片描述
参数u表示自定义UID。
在这里插入图片描述
参数g表示使新增的用户属于已经存在的某个组,后面可以跟组id,也可以跟组名。
在这里插入图片描述
参数d表示自定义用户的家目录 。
在这里插入图片描述
参数M表示不建立家目录。
在这里插入图片描述
注意:参数-M的作用只是不创建此用户的家目录,但/etc/passwd中仍有此用户的家目录字段,但用ls命令查看,会提示我们目录不存在。

参数s表示自定义shell。
在这里插入图片描述
删除用户的命令:userdel,其格式为:userdel [ -r ] username。参数-r的作用是,当删除用户时,把用户的家目录也删除掉。
在这里插入图片描述
在这里插入图片描述

1.2 用户组管理

groupadd:新增组,其格式为:groupadd [ -g GID ] groupname。
在这里插入图片描述
如果不加参数-g,系统会以默认的gid创建组,gid从1000开始,如果加参数-g,则可以自定义组的gid。
在这里插入图片描述
groupdel:删除组,其格式为:groupdel groupname。
在这里插入图片描述
如果一个组中有账户,则只有组成员为空时,才能删除组。
在这里插入图片描述

1.3 usermod命令

id username 可以查看用户的属性。
在这里插入图片描述
更改用户属性的命令:usermod,其格式为usermod [ -u UID ] [-g GID] [ -d HOME ] [ -s ] username。

其中,参数-u、-g、-d、-s的用户跟命令useradd的用户一样。

此外,命令usermod还有一个参数-G,表示为扩展组,此参数可以给一个用户设定多个组。

一个用户可以属于多个组,但一个GID只能对应一个组。
在这里插入图片描述

1.4 用户密码管理

账户创建后,默认是没有密码的,密码字段会以“!!”显示,只有设置好密码后,才可以登录系统。
在这里插入图片描述

密码设定的一些规则:

(1)长度大于10个字符;

(2)密码包含大小写字母、数字、特殊字符*、&、%等;

(3)不规则性(不要出现linux、love、123456等类似的);

(4)密码中不要带有自己的名字、电话、生日等信息。

passwd,更改用户密码(为用户设置密码),其格式为passwd [ username ]。如果命令后面不加用户名字,则是为自己设定密码。
在这里插入图片描述
在这里插入图片描述
密码设定后,密码字段则不会以“!!”显示:
在这里插入图片描述
-l:锁定用户密码。(usermod -L username 也可以锁定用户密码)
在这里插入图片描述
在这里插入图片描述
-u:解锁用户密码。(usermod -U username 也可以解锁用户密码)
在这里插入图片描述
在这里插入图片描述
此外,passwd --stdin username 也可以更改用户的密码:
在这里插入图片描述

1.5 mkpasswd命令

命令mkpasswd用于生成密码。

Linux默认是没有这个命令的,我们需安装一个expect软件包:
在这里插入图片描述
mkpasswd默认生成9位数密码,可以通过参数-l n 来生成n位数密码:
在这里插入图片描述

1.6 su命令

su命令,用于切换用户。其格式为:su [ - ] username。

加“-”后,会切换到切换用户的家目录下
在这里插入图片描述
而不加“-”,则路径还是在root家目录下。
在这里插入图片描述
su还可以以指定用户的身份去执行一条命令:su - -c “touch /tmp/zhangjin.py” zhangjin
在这里插入图片描述

1.7 sudo命令

su命令切换到其他用户,前提是我们要知道root的密码。那么,既然我们已经知道了root用户的密码,也就可以直接用root用户的密码去登录root了,这就存在很大的安全隐患。为了解决这个问题,于是又有了sudo命令。使用sudo命令的作用在于执行一个只有root才能执行的命令,但是需要需要输入用户自己的密码。

普通用户想要使用sudo命令,需要root预先设定,我们可以使用visudo命令编辑配置文件 /etc/sudoers。
在这里插入图片描述
上图中的root (指定哪个用户拥有sudo权限) ALL(所有的主机)=(ALL)(获取哪个用户的身份) ALL(可以使用的sudo的命令有哪些)

如图,增加t第93行内容:
在这里插入图片描述
然后我们验证下zhangjin帐户的权限:
在这里插入图片描述
如果想把很多用户都设置为具有sudo权限,可以这样设置:

把# %wheel ALL=(ALL) ALL前面的注释#去掉,让这一行生效即可。然后把需要设置sudo权限的所有用户都加入到wheel组中。
在这里插入图片描述

1.8 限制root远程登录

sshd服务的配置文件为 /etc/ssh/sshd_config ,在Linux中是默认允许root用户通过ssh远程登录的,如果我们想设置不允许root用户远程登录Linux,可以通过修改配置文件 /etc/sshsshd_config 来实现。
具体方法是,在此文件中查找#PermitRootLogin yes,然后 修改为PermitRootLogin no,保存好配置文件后,再重启ssh服务即可:
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值