Linux账号管理

一、新增与移除使用者

我们可以使用useradd来新增使用者,密码的给予则使用passwd这个指令,这两个指令使用方法如下:

1.1 useradd

语法如下:

useradd [-u UID] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明文件] [-d 家目录绝对路径] [-s shell] 使用者账号名

选项与参数:
-u:后面跟的是UID,是一组数字,直接指定一个特定的UID给这个账号
-g:后面接的是初始群组,该群组的GID会被放置到/etc/passwd的第四部分中
-G:后面接的群组名称则是这个账号还可以加入的群组,这个选项会修改/etc/group内的相关资料
-M:强制,不建立使用者家目录(系统账号预设值)
-m:强制,建立使用者家目录(一般账号预设值)
-c:这个就是/etc/passwd第五部分的说明内容,我们可以随意设定
-d:指定某个目录成为家目录,而不要使用预设值,这里一定要使用绝对路径
-r:建立一个系统账号(注意系统账号的UID有限制)
-s:后面接一个shell,如果没有指定则预设/bin/bash
-e:后面接一个日期,格式为[YYYY-MM-DD],这部分内容可写入shadow第八部分,亦即账号失效的设定项目录
-f:后面接shadow的第七部分,指定密码是否会失效。0为立刻失效,-1为永不失效(密码值会过期而登陆时重新设定)

使用例子:

例:完全参考预设值建立一个使用者
[root@study ~]# useradd vbird1
[root@study ~]# ll -d /home/vbird1
drwx------. 3 vbird1 vbird1 74 Jul 20 21:50 /home/vbird1
# 预设会建立使用者家目录,且权限为700,要注意这点

[root@study ~]# grep vbird1 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird1:x:1003:1004::/home/vbird1:/bin/bash
/etc/shadow:vbird1:!!:16636:0:99999:7:::
/etc/group:vbird1:x:1004:     <==预设会建立一个与账号一摸一样的群组名

从上面的例子可以看出,我们可以简单使用useradd 账号来建立使用者,系统已经帮我们预设好了很多值。系统这些预设值主要帮我们处理如下部分:

  • 在/etc/passwd里面建立一行与账号有关的信息,包括建立UID/GID/家目录等
  • 在/etc/shadow里面将此账号的密码相关参数填入,但是此时还没有密码
  • 在/etc/group里面加入一个与账号名称一摸一样的群组名称
  • 在/home底下建立一个与账号同名的目录作为使用者家目录,且权限为700

由于在/etc/shadow内仅有密码参数而没有加密过的密码信息,因此在我们建立使用者账号时,还需要使用passwd 账号来给予密码才算是完成了使用者建立的流程。如果由于特殊需求而需要改变使用者相关参数时,就得要透过上述表格中的选项来建立了,参考如下例子:

例:假设我们已经知道系统中有个群组名称为users,且UID1500不存在,现在我们用users为初始群组,以及UID为1500来建立一个名为vbird2的账号

[root@study ~]# useradd -u 1500 -g users vbird2
[root@study ~]# ll -d /home/vbird2
drwx------. 3 vbird2 users 74 Jul 20 21:52 /home/vbird2

[root@study ~]# grep vbird2 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird2:x:1500:100::/home/vbird2:/bin/bash
/etc/shadow:vbird2:!!:16636:0:99999:7:::
#可以看到,UID与初始群组确实变为我们所需要的了

了解了一般账号后,我们接下来看下什么是系统账号:

例:建立一个系统账号,名称为vbird3

[root@study ~]# useradd -r vbird3
[root@study ~]# ll -d /home/vbird3
ls: cannot access /home/vbird3: No such file or directorya   <==不會主動建立家目錄

[root@study ~]# grep vbird3 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird3:x:699:699::/home/vbird3:/bin/bash
/etc/shadow:vbird3:!!:16636::::::
/etc/group:vbird3:x:699:

Linux账号与群组系统介绍中提到过,一般账号的ID在1000以后,所以使用者建立的自己的系统账号是小于1000的,本例中指定了699作为UID,699作为GID。此外,由于系统账号主要用来进行运作系统所需要的权限设定,所以系统账号预设都不会主动建立家目录。

1.2 useradd参考文件

useradd的预设值可以使用下面的方法显示出来:

[root@study ~]# useradd -D
GROUP=100		<==預設的群組
HOME=/home		<==預設的家目錄所在目錄
INACTIVE=-1		<==密碼失效日,在 shadow 內的第 7 欄
EXPIRE=			<==帳號失效日,在 shadow 內的第 8 欄
SHELL=/bin/bash		<==預設的 shell
SKEL=/etc/skel		<==使用者家目錄的內容資料參考目錄
CREATE_MAIL_SPOOL=yes   <==是否主動幫使用者建立郵件信箱(mailbox)

这些信息其实储存在/etc/default/useradd中,上面这些设定的意义是:

  • GROUP=100:新建账号的初始群组使用GID为100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值