linux useradd、userdel 、usermod、chsh浅谈

useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle

linux useradd 命令详解

功能说明:建立用户帐号。

语  法:useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户帐号] 或 useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ]

补充说明:useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd 指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

参  数:
-c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。 
-d<登入目录>  指定用户登入时的启始目录。
-D  变更预设值.
-e<有效期限>  指定帐号的有效期限。
-f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。
-g<群组>  指定用户所属的群组。
-G<群组>  指定用户所属的附加群组。
-m  自动建立用户的登入目录。
-M  不要自动建立用户的登入目录。
-n  取消建立以用户名称为名的群组.
-r  建立系统帐号。
-s   指定用户登入后所使用的shell。
-u  指定用户ID。

 

删除用户 userdel
root@ts:/home# userdel -h
Usage: userdel [options] LOGIN

Options:
  -f, –force                   force removal of files,
                                even if not owned by user
  -h, –help                    display this help message and exit
  -r, –remove                  remove home directory and mail spool

终端方法:以下用newuser代替想要删除的用户账户
在root用户下:userdel -r newuser
在普通用户下:sudo userdel -r newuser
因为你需要彻底删除用户,所以加上-r的选项,在删除用户的同时一起把这个用户的宿主目录和邮件目录删除。

 

usermod 的功能介绍及语法结构:

虽然现在 usermod 程序的功能已经被其他很多命令所取代,但是无论如何,还是可以用 usermod 来细致高速用户账号的相关信息。 这个命令在我系统的”男人“里又是中文,有些奇怪,因为不知道具体啥时候是中文,啥时候是英文,唉,随 机。。嗯。

名称
usermod – 修 改 使 用 者 帐 号

语法
usermod [-c comment] [-d home_dir [ -m]]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-l login_name] [-s shell]
[-u uid [ -o]] login

usermod 的参数简谈:

似乎 linux 的每个命令都有太多的参数让我们根本记不住都应该怎样应用,不过“男人”实在是没的说,对每个参数都会给你尽量通俗的解释,不过是相对于能看懂外语的。呵 呵。其实大家一定要记住,命令只需要记住常用的一些参数即可,其他的,当有需要的时候一定要查一下手册,因为只有与系统配套的手册说的才 最准确。并且有机会的话大家实地操作一下,感受自会不同。 闲话少说,我再来简单的为大家介绍一下 usermod 的参数。

类型描述
-c更改 /etc/passwd 第5栏用户信息说明的部分,后面接描述信息,可以使用 chfn 命令替代
-d 更改 /etc/passwd 第6栏用户的家目录部分,如果再加上 -m 参数(只与-d配合
则会将现有家目录的地址重命名为新的家目录地址,如原来没有指定家目录地址,则为账号新建一个指定的家目录地址
-e更改 /etc/shadow 的第8栏账号的失效日期,后面接日期参数格式为 MM/DD/YY 或 YYYY-MM-DD
-f更改 /etc/shadow 的第7栏账号过期宽限时间部分,当后面接的值为 0 时,账号立即失效,为 -1 时关闭此功能默认值为 -1
-g后面接 group name 必须是现有 group 组中的一个,改变用户的初始化用户组 id 对应 /etc/passwd 的第4栏内容
-G后面接 group name 必须是现有 group 组中存在的组名,改变用户能够支持的用户组,修改的是 /etc/group
-l后面接账号名称,即更改用户名。对应的是 /etc/passwd 的第一栏
-s后面接shell的实际文件,即 /bin/bash ,/bin/csh之类,可以使用 chsh 命令替代
-u更改用户的UID,对应的是 /etc/passwd 的和3栏数据,此 UID 不能与目前系统中已经存在的UID相同
-L暂将用户的密码冻结,禁止其登录,即更改 /etc/shadow 的密码栏,在其前面加上 !
-U暂将用户的密码解冻,即去掉其 /etc/shadow 密码栏前面的 !

usermod 示例:

示例是鲜活的,是很能说明问题的,有时候如果忘了一个参数咋用了,过来翻一下例子,一下就会想起来不少。所以,咱们要举例证明刚才参数的作用,并且 也要实际操作一下,以加深印象。说来咱就来,瞧好吧您。

#  给新增加的账号 chongpig 加上说明 "这就是个快要被删除的账号"
[ simaopig @ xiaoxiaozi ~ ] $ su
密码:
[ root @ xiaoxiaozi simaopig ] # usermod -c '这就是个快要删除的账号' chongpig
[ root @ xiaoxiaozi simaopig ] # grep chongpig /etc/passwd
chongpig:x: 501 : 501 :这就是 个快要删除的账号: / home / chongpig: / bin / bash
# 使用户 chongpig 的密码在 2009-07-31 前失效
[ root @ xiaoxiaozi simaopig ] # usermod -e '07/31/2009' chongpig
[ root @ xiaoxiaozi simaopig ] # grep chongpig /etc/shadow
chongpig: $6 $mVu5nBAo $4 HzNf92n3RYAiDfVk2Q5YtIxfjrVxvYHAusGeUAWfabLr5WIuQdn / 2HCcsHwKRoRpxGLCJ.wA.1QLgG.rXuhw / : 14447 : 0 : 99999 : 7 :: 14456 :
# 说明日期格式 MM/DD/YY 与 YYYY-MM-DD均可
[ root @ xiaoxiaozi simaopig ] # usermod -e '2009-07-31' chongpig
usermod:无改变
# 更换chongpig 用户的家目录,指定新地址为 /home/chongpig_new
# 该命令执行时间很长,要改的东西其实还是蛮多的,大家耐心等候
# 先看原来 /home 目录下都有谁的家目录
[ root @ xiaoxiaozi home ] # ls
chongpig  lost+found  simaopig  simaopig2  simaopig4
[ root @ xiaoxiaozi home ] # usermod -d /home/chongpig_new -m chongpig
# 看chongpig的家目录是否已经换过来了
[ root @ xiaoxiaozi home ] # ls
chongpig_new  lost+found  simaopig  simaopig2  simaopig4
# 将chongpig用户暂时冻结起来,然后再解冻
# 咋听着像是娱乐圈的事啊,呵呵,看密码栏(第二栏)先加上了 ! 后又没了
[ root @ xiaoxiaozi home ] # usermod -L chongpig
[ root @ xiaoxiaozi home ] # grep chongpig /etc/shadow
chongpig: ! $6 $mVu5nBAo $4 HzNf92n3RYAiDfVk2Q5YtIxfjrVxvYHAusGeUAWfabLr5WIuQdn / 2HCcsHwKRoRpxGLCJ.wA.1QLgG.rXuhw / : 14447 : 0 : 99999 : 7 :: 14456 :
[ root @ xiaoxiaozi home ] # usermod -U chongpig
[ root @ xiaoxiaozi home ] # grep chongpig /etc/shadow
chongpig: $6 $mVu5nBAo $4 HzNf92n3RYAiDfVk2Q5YtIxfjrVxvYHAusGeUAWfabLr5WIuQdn / 2HCcsHwKRoRpxGLCJ.wA.1QLgG.rXuhw / : 14447 : 0 : 99999 : 7 :: 14456 :

 

 

chsh 描述、语法、示例:

chsh 这个命令现在一般被用来替换 usermod -s 命令即更改用户登录的shell。其常用的只有两个参数 -l 和 -s 至于其他的无非就是一些版本信息,及帮助之类的就不再介绍了。

chsh -l 起到的作用是列出当前系统的所有shell ,只有您知道有啥了,才会正确的为用户设置shell不是,否则没有的那就得您自己去安装了。咱们不谈。

[ root @ xiaoxiaozi home ] # chsh -l
/ bin / sh
/ bin / bash
/ sbin / nologin
/ bin / zsh

而 chsh -s 呢就是为用户指定shell了,咱们继续看实例,这没啥好说的。嗯。

# 先切换用户至chongpig
sudo chongpig
# 要求输入chongpig用户的密码
[ chongpig @ xiaoxiaozi ~ ] $ chsh -s / bin / sh ; grep chongpig / etc / passwd
Changing shell for chongpig.
密码:
Shell changed.
chongpig:x: 501 : 501 :这就是 个快要删除的账号: / home / chongpig_new: / bin / sh


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值