default账号 linux_ubuntu 删除用户命令与Linux帐号管理

终端方法:以下用newuser代替想要删除的用户账户

在root用户下:userdel -r newuser

在普通用户下:sudo userdel -r newuser

因为你需要彻底删除用户,所以加上-r的选项,在删除用户的同时一起把这个用户的宿主目录和邮件目录删除。

帐号管理

好啦!既然要管理帐号,当然是由新增与移除使用者开始的啰~底下我们就分别来谈一谈如何新增、 移除与更改使用者的相关资讯吧~

新增与移除使用者: useradd, 相关设定档, passwd, usermod, userdel

要如何在 Linux 的系统新增一个使用者啊?呵呵~真是太简单了~直接利用 useradd 这个指令即可! 他的指令下达方法如下:

# useradd

[root@linux ~]# useradd [-u UID] [-g initial_group] [-G other_group] \

> -[Mm] [-c 说明栏] [-d home] [-s shell] username

参数:

-u :后面接的是 UID ,是一组数字。直接指定一个特定的 UID 给这个帐号;

-g :后面接的那个群组名称就是我们上面提到的 initial group 啦~

该 group ID (GID) 会被放置到 /etc/passwd 的第四个栏位内。

-G :后面接的群组名称则是这个帐号还可以支援的群组。

这个参数会修改 /etc/group 内的相关资料喔!

-M :强制!不要建立使用者家目录

-m :强制!要建立使用者家目录!

-c :这个就是 /etc/passwd 的第五栏的说明内容啦~可以随便我们设定的啦~

-d :指定某个目录成为家目录,而不要使用预设值;

-r :建立一个系统的帐号,这个帐号的 UID 会有限制 (/etc/login.defs)

-s :后面接一个 shell ,预设是 /bin/bash 的啦~

范例:

范例一:完全参考预设值建立一个使用者,名称为 vbird1

[root@linux ~]# useradd vbird1

[root@linux ~]# ls -l /home

drwxr-xr-x 3 vbird1 vbird1 4096 Aug 30 17:33 vbird1

[root@linux ~]# grep vbird1 /etc/passwd /etc/shadow /etc/group

/etc/passwd:vbird1:x:502:502::/home/vbird1:/bin/bash

/etc/shadow:vbird1:!!:13025:0:99999:7:::

/etc/group:vbird1:x:502:

# 做这个范例只是想要让您瞭解,其实系统已经规范好了一些新增使用者时的参数了!

# 因此,当我们使用 useradd 时,系统会主动的去修改 /etc/passwd 与 /etc/shadow,

# 而这两个档案内的相关栏位参考值,则会以一些设定档的内容来规范喔!

# 同时也要注意到,使用 useradd 新增使用者时,这个使用者的 /etc/shadow

# 密码栏会是不可登入的 (以 !! 为开头),因此还需要使用 passwd

# 来给予 vbird1 密码后,才算新增完毕!

范例二:我知道我的系统当中有个群组名称为 users ,且 UID 700 并不存在,请用这两个参数给予 vbird2 建立一个帐号!

[root@linux ~]# useradd -u 700 -g users vbird2

[root@linux ~]# ls -l /home

drwxr-xr-x 3 vbird2 users 4096 Aug 30 17:43 vbird2

[root@linux ~]# grep vbird2 /etc/passwd /etc/shadow /etc/group

/etc/passwd:vbird2:x:700:100::/home/vbird2:/bin/bash

/etc/shadow:vbird2:!!:13025:0:99999:7:::

# 看一下,UID 与 initial group 确实改变成我们需要的了!

范例三:建立一个系统帐号,名称为 vbird3

[root@linux ~]# useradd -r vbird3

[root@linux ~]# grep vbird3 /etc/passwd /etc/shadow /etc/group

/etc/passwd:vbird3:x:101:102::/home/vbird3:/bin/bash

/etc/shadow:vbird3:!!:13025::::::

/etc/group:vbird3:x:102:

# 很重要喔!您会发现, UID 竟然是 101 ,而 GID 怎么会是 102,

# 并且与 /etc/group 有对应的关系喔!有没有加 -r 差很多ㄟ!

我的天呐!这个指令更动的档案怎么怎么多啊?对啊!你才知道啊~ 这也是为啥我们说帐号管理是很复杂的啦~而且他参考的设定档才更多哩! 这个指令至少可能会更动到的地方有:

* /etc/passwd

* /etc/shadow

* /etc/group

* /etc/gshadow

* /home/username

那请教一下,您有没有想过,以上述的第一个范例一好了,为何 useradd vbird1 他会主动在 /home/vbird1

建立起使用者的家目录?家目录内有什么资料且来自哪里? 为何预设使用的是 /bin/bash 这个 shell ?呵呵!这就得要说明一下

useradd 所使用的参考档案啰!

# 相关设定档

我们使用 useradd 去新增使用者时,一些在 /etc/passwd 当中的值会去参考‘ /etc/default/useradd ’ ,这个档案的内容有点像这样:

GROUP=100 <==预设的群组

HOME=/home <==预设的家目录所在目录

INACTIVE=-1 <==在 /etc/shadow 内的第 7 栏

EXPIRE= <==在 /etc/shadow 内的第 8 栏

SHELL=/bin/bash <==预设的 shell

SKEL=/etc/skel <==使用者家目录的内容资料参考目录

关于群组的建立机制:

当我们直接使用 useradd 来新增帐号时,在预设的情况下,相关的资讯都是参考 /etc/default/useradd 这个档案内容的设定的。不过,对于使用者群组的建立机制中, 则有两种不一样的机制存在的:

* 以 FC4 为代表,新建使用者时,若无指定 initial group , 则系统会主动建立一个与帐号相同的群组名称,以该群组作为使用者的 initial group;

* 以 SuSE 9 为代表,新建使用者时,预设不会建立新群组,而以 /etc/default/useradd 内的 GROUP 设定值作为使用者的 initial group 。

这应该是很容易理解才是~如果看不懂,请回去前一小节查阅一下 /etc/passwd, /etc/shadow 的相关内容架构。

关于使用者家目录的参考:/etc/skel/*

Linux帐号与身份管理

相关文件

/etc/passwd 系统帐号信息

/etc/shadow 帐号密码信息 经MD5 32位加密 在密码栏前面加『 * 』或『 ! 』表示禁止使用该帐号

/etc/group 系统群组信息

/etc/gshadow

/etc/default/useradd 新增用户时的参考设置文件

/etc/login.defs 与密码及 UID/GID 有关的设置文件

/etc/skel/* 用户家目录参考目录

/etc/pam.d/passwd PAM验证模块

起始用户组 initial group

有效用户组 effective group

相关命令

newgrp 改变登陆组

useradd & adduser 建立新用户

[test@linux ~ ]$ useradd -m test 自动建立用户的登入目录

[test@linux ~ ]$ useradd -m -g pgroup test 指定所属组(初始用户组)

[test@linux ~ ]$ useradd -r test 建立一个系统帐号,这个账号的UID会有限制(/etc/login.defs)

passwd 更改密码

[test@linux ~ ]$ passwd test

usermod 修改用户帐号

userdel 删除帐号

[test@linux ~ ]$ userdel -r test 连同家目录一起删除

一般用户使用的命令

chsh 更换登陆系统时使用的SHELL [-l]显示可用的SHELL;[-s]修改自己的SHELL

chfn 改变自己的相关信息

finger 查找并显示用户信息

id 显示用户的ID信息

[test@linux ~ ]$ id test

用户组相关命令

groupadd 添加组

groupmod 与usermod类似

groupdel 删除组

gpasswd

newgrp

切换用户身份

su test 更改用户 su - 进入root,且使用root的环境变量

sudo 以其他身份来执行指令

[test@linux ~ ]$ sudo mkdir /root/testing

Password:

visudo 编辑/etc/sudoers,该文件有一些比较特殊的语法,如果直接使用vi编辑,若输入有误则可能会造成无法启动sudo的后果,因此,建议使用visudo来编辑。该命令必须使用root的身份来执行。

格式:用户帐号 登录的主机 = (可以变换的身份) 可以执行的命令

test ALL=(ALL) ALL 使用test成为可以随意使用sudo的身份,如果没有加上身份声明的话,即为test ALL= ALL,那么“默认是仅能进行root的身份切换”

%wheel ALL = (ALL) ALL 系统里所有wheel群组的用户都可用sudo,加上"%"代表用户组

%wheel ALL = (ALL) NOPASSWD: ALL wheel群组所有用户在使用sudo时都不用输入密码

除单一个人或单一用户组之外,还可以指定一些“帐号别名,主机别名、命令别名”等数据来相互套用,别名必须要使用大写字母。例:

User_Alias ADMPW = vbird, dmtsai, vbird1, vbird3 将用户vbird, dmtsai, vbird1, vbird3加入ADMPW组

ADMPW ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, \\

!/usr/bin/passwd root 可以更改使用者密码,但不能更改root密码 (在指令前面加入 ! 代表不可)

用户的特殊SHELL和PAM模块

特殊的shell、/sbin/nologin

禁止用户登录。编辑/etc/nologin.txt文件,在此文件中说明用户不能登录的原因,那么下次用户想要登录系统时,屏幕上则会出现/etc/nologin.txt的内容,而不是默认的内容了。

PAM 模块:/etc/nologin、/etc/securetty

(Pluggable Authentication Modules, 嵌入式模块)

PAM的设置文件放在/etc/pam.d这个目录中

更多的环境相关设置在/etc/security/*中

PAM是通过自己提供的相关模块来进行验证,模块放在/lib/security/*中

PAM的设置文件范例

文件格式: 验证的类别 验证的控制标准 使用的PAM模块 该模块能使用的参数

验证的类别(Module type)

auth 进行用户的身份验证

account 检验用户是否具有正确的使用权限

session 管理用户正确使用该程序时的环境设置

password 提供验证的修改工作,如修改密码

验证的控制标准(control flag)

required 发生错误时,继续操作下面的模块,后续操作完成后返回failure信息

requisite 发生错误时,立刻给原程序发送failure的信息并且中断PAM的运行

optional 多用于显示信息

sufficient 通过验证时,立刻给原程序发送通过的信息并且中断PAM的运行

/etc/securetty

pam_securetty 模块最主要的功能是预防不安全的登录环境,而且主要针对root用户。

该模块被启用时,会去读取 /etc/securetty 文件,如果我们将被认定是安全的终端 terminal 环境写入该文件,则root仅可以在那几个终端环境下登录。

/etc/nologin

pam_nologin 模块也用于控制用户登录,但只针对一般用户,对root没有效果。

如果/etc/nologin 存在时,任何一个一般用户在尝试登录时,仅会获得该文件的内容,而无法登录主机。

/etc/security/*

Linux 系统的用户对话与邮件的使用

查询用户

who & w 看谁在线

last 最近登陆主机的信息

lastlog 最近登入的时间 读取 /var/log/lastlog

用户对话

talk 与其他用户交谈

write 发送信息

[abc@linux ~ ]$ write test

Hi, how are you...

按下 [ctrl] d 发送

mesg 设置终端机的写入权限,是否接收消息

[abc@linux ~ ]$ mesg n 禁止接收

[abc@linux ~ ]$ mesg y 打开

[abc@linux ~ ]$ mesg 查看当前的mesg状态

wall 向所有用户发送信息

[abc@linux ~ ]$ wall this is q test

用户邮件信箱

mail 写mail

[abc@linux ~ ]$ mail username@localhost -s “邮件标题”

[abc@linux ~ ]$ mail test -s "nice to meet you"

hello,test

Nice to meet you in the network.

byebye!

.结束时输入点(.)

Cc:

手动增加用户

PS:最好不要手动修改

一些检查工具

pwck

pwconv 将/etc/passwd 内的帐号与密码移到/etc/shadow中

pwunconv 将/etc/shadow内的密码栏数据写回/etc/passwd 中,并且删除/etc/shadow 文件

chpasswd

帐号的建立

建立所需要的用户组(vi /etc/group)

将/etc/group与/etc/gshadow同步(grpconv)

建立账号的各个属性(vi /etc/passwd)

将/etc/passwd与/etc/gshadow同步(pwconv)

建立该帐号的密码(passwd)

建立用户家目录(cp -a /etc/skel /home/username)

更改用户家目录属性(chown -R username.group /home/username)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值