Linux账号管理

1.1 Linux账号与用户组

1.1.1 用户标志符:UID与GID

每个登录的用户至少会取得两个ID,一个是用户ID(UserID,简称UID),一个是用户组ID(GroupID,简称GID)。ID与账号的对应关系就在/etc/passwd当中。

1.1.2 用户账号

当输入账号密码后,系统先寻找etc/passwd里面是否有输入的账号,如果没有则跳出,如果有的话则将该账号对应的UID与GID(在etc/group)读出来,该账号的主文件夹与shell设置一并读出。接下来进入etc/shadow里面找出对应的账号与UID,然后核对输入的密码是否正确。

etc/passwd文件结构如下:



可以看出每一行用:隔开,共有7个字段,分别是:

1.账号名称:用来对应UID。

2.密码:这里仅显示一个x。

3. UID

为0的时候是系统管理员,即root。为1-499是系统账号。500-65535是可登陆账号。

4.GID

5.用户信息说明列:解释这个账号的意义

6.主文件夹:用户主文件夹

7.Shell

当用户登陆候会取得一个Shell来与系统内核通信以进行用户的操作任务。


etc/shadow文件结构如下:



同样其中有9个字段:

1.账号名称

2. 密码

3.最近更改密码日期(以1970.1.1累加日期)

4.密码不可变动天数(相对于3)

5.密码需要重新更改天数(相对于3)

6.密码需要更改警告天数(依照5)

7.密码过期后账号宽限时间(相对于5)

8.账号失效日期

9.保留

1.1.3 有效与初始用户组:groups,newgrp



/etc/group每个字段的意义是:

1.用户组名称

2.用户组密码

3.GID

4.此用户组支持的账号名称

一个账号可以加入多个用户组,以逗号隔开。


有效用户组和初始用户组

etc/passwd第四列的GID就是初始用户组。

以groups命令可查看当前用户的组,第一个显示的用户组就是有效用户组。

使用newgrp可以切换有效用户组。


2.2 账号管理

2.2.1 新增和删除用户以及相关配置文件

新增用户可使用useradd和adduser。

adduser会自动为创建的用户指定主目录,系统shell版本,会在创建时要求设置好密码。

useradd需要使用参数指定上述基本设置,如果不使用任何参数,则创建的用户无密码,无主目录,无shell版本。要设置密码使用passwd。change可以显示更详细的密码参数显示功能。usermod可以对账号相关数据进行微调。


2.3 用户身份切换

使用一般账号,相对比较安全,避免一些严重的错误。

要从一般用户进入root,有两种方式。

“su -”直接将用户变为root,但这个命令需要root密码。

sudo需要事先设置好,sudo需要输入用户自己的密码,因此root密码不会流出去。

2.3.1 su

若要完整地切换到新用户的环境,必须要使用“su -username”或“su - | username”,才会连同PATH/USER/MAIL等变量都转换成新用户的环境。

如果仅想执行一次root命令,可以利用“su - -c “命令” ”。

root切换成任何用户,不需要输入密码。

2.3.2 sudo

由于sudo在输入自己密码即可以其他用户身份执行命令,因此并非所有人都能执行sudo,只有/etc/sudoers内的用户才能执行。

除了root账号之外,若想使用sudo执行属于root的权限命令,则root首先需使用visudo去修改/etc/sudoers,让该账号能够使用全部或部分root命令。





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值