Linux系统用户与用户组管理(一)

3.1 用户配置文件和密码配置文件

用户配置文件:/etc/passwd

40278be5008dbd06cdd3ef1bb4946518109.jpg

以上图root开头行为例我们用“:”可以划分为7个部分:

1、root:用户名。用户名中的字符可以是大小写字母、数字、减号、点或下划线,不建议使用点、减号,容易造成混淆。

2、x:账户的密码。此处基于安全因素,全部用x代替。

3、0:用户标识号,即uid。

4、0:组标识号,即gid。

5、root:注释说明 ,通常记录该用户的一些属性,例如姓名、电话、地址等 ,可以用chfn命令来更改这些信息。

6、/root:用户的家目录,root用户的家目录就是/root,普通用户的家目录是/home/username。

7、/bin/bash:用户的shell,默认是/bin/bash,如果想建立一个不允许登录的账号,可以把该字段改为/sbin/nologin。

密码配置文件:/etc/shadow

f6418dcae88e2d0327f827502f797b49950.jpg

我们还是以上图root开头行为例我们用“:”可以划分为7个部分:

1、用户名。

2、用户密码,该密码已经加密。

3、上次更改密码的日期。

4、要过多少天才可以更改密码,默认为0。

5、密码多少天后到期,即在多少天内必须更改密码,例如,当我们设置为10,则10天内必须要更改一次密码,不然将登陆不了系统。默认为99999,即永远不需要更改。

6、即账号的生命周期,表示账号在这个日期前可以使用,到期后账号将作废。

7、保留字段。


3.2 用户组管理

groupadd:新增组,其格式为:groupadd [ -g GID ] groupname。

e9dbf21d193e0cc9e7a0ad704e0aa01d357.jpg

如果不加参数-g,系统会以默认的gid创建组,gid从1000开始,如果加参数-g,则可以自定义组的gid。

17cd4aa16b2572115bed396b12b38681e53.jpg

groupdel:删除组,其格式为:groupdel groupname。

a2c054ce9eddff0ecd838702d315024e73e.jpg

如果一个组中有账户,则只有组成员为空时,才能删除组。

79ff845938ee4ce77ce03bccd722ff76f28.jpg


3.3 用户管理

增加用户的命令:useradd,其格式为:useradd [ -u UID ] [ -g GID ] [ -d HOME ] [ -M ] [ -s ] username。

198502205c0bf851976330cfc557bfa951c.jpg

参数u表示自定义UID。

79f69da748f3cb4edcc4de4618d203ac73d.jpg

参数g表示使新增的用户属于已经存在的某个组,后面可以跟组id,也可以跟组名。

73cd9e7135faf4081b6ada2efd2a57962be.jpg

参数d表示自定义用户的家目录 。

53febbb149c890a67050d5e405a04668c1b.jpg

参数M表示不建立家目录。

1c80a555fb9f9538fce3e028238d64893bf.jpg

注意:参数-M的作用只是不创建此用户的家目录,但/etc/passwd中仍有此用户的家目录字段,但用ls命令查看,会提示我们目录不存在。

参数s表示自定义shell。

0766490ad34728f505335785186c7f1e9db.jpg

删除用户的命令:userdel,其格式为:userdel [ -r ] username。参数-r的作用是,当删除用户时,把用户的家目录也删除掉。

54d94a4a029a69fad8ef1a0451e2b600a94.jpg

14c247775448f949f1db0c1d430c14d8a9a.jpg


3.4 usermod命令

id username 可以查看用户的属性。

fea536e1c14eef50a15ebeada7b36008e83.jpg

更改用户属性的命令:usermod,其格式为usermod  [ -u UID ] [-g GID] [ -d HOME ] [ -s ] username。

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

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

一个用户可以属于多个组,但一个GID只能对应一个组。

ca6ac877b30fcdbf74d38727fd410f76c52.jpg


3.5 用户密码管理

账户创建后,默认是没有密码的,密码字段会以“!!”显示,只有设置好密码后,才可以登录系统。

2445b53b0c36e76b14ef59fa00beaf3c3d7.jpg

密码设定的一些规则:

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

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

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

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

passwd,更改用户密码(为用户设置密码),其格式为passwd [ username ]。如果命令后面不加用户名字,则是为自己设定密码。

97cb67d0e2a71f91909dfdd583bf799b1ff.jpg

92d7dfb03cf841d0397eda595f3c03f9514.jpg

密码设定后,密码字段则不会以“!!”显示:

4098a1e91554d50a9b66bbe4c80ae15c7f3.jpg

-l:锁定用户密码。(usermod -L username 也可以锁定用户密码)

0e77429fe2ab1f96f79c6544d8f0a979c42.jpg

fe44b1437de67eeb68278a12c0fc341bcd2.jpg

-u:解锁用户密码。(usermod -U username 也可以解锁用户密码)

3fab57f3a9e58856c19f3a94fd5e0e26cb6.jpg

12fb5358b383c0ab13e997f17c4e6f4f86c.jpg

此外,passwd --stdin username 也可以更改用户的密码:

1ad11745206162b5a3e1b07da9929dfeaeb.jpg


3.6 mkpasswd命令

命令mkpasswd用于生成密码。

Linux默认是没有这个命令的,我们需安装一个expect软件包:

2573d292eee51459bac1b3830dd58c5fffb.jpg

mkpasswd默认生成9位数密码,可以通过参数-l n 来生成n位数密码:

717d1aea662662bad1469b4215ff84d5b86.jpg


3.7 su命令

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

加“-”后,会切换到切换用户的家目录下

c00435f4749915741f895e3c72448502584.jpg

而不加“-”,则路径还是在root家目录下。

86ba0411d1d74661868362870e2b57692c8.jpg

su还可以以指定用户的身份去执行一条命令:su - -c "touch /tmp/zhangjin.py" zhangjin

791ac97aa839887e846b03eb9a8be9a3fef.jpg


3.8 sudo命令

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

普通用户想要使用sudo命令,需要root预先设定,我们可以使用visudo命令编辑配置文件 /etc/sudoers。

a1895965c59346a6bc580162447a2cb5871.jpg

上图中的root (指定哪个用户拥有sudo权限)    ALL(所有的主机)=(ALL)(获取哪个用户的身份)   ALL(可以使用的sudo的命令有哪些)

如图,增加93行

257f2943a9f2557f7604df06f029c6094f5.jpg

然后我们验证下zhangjin帐户的权限:

2e9100b29f96de69c62ec45397b72be7f97.jpg

如果想把很多用户都设置为具有sudo权限,可以这样设置:

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

3ac31f63e6b4529daed40c7f0d2e3032272.jpg


3.9 限制root远程登录

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

9b44027671cebe8d0d542afe16b00da5728.jpg

f6ef378b68905ef3fa8d46a80ea4de6d44f.jpg

转载于:https://my.oschina.net/u/3992198/blog/2251512

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值