###############################################################
useradd 用户管理
###############################################################
1.useradd -D
显示默认创建用户选项
2.创建用户默认选项的模板文件位置
/etc/login.defs
/etc/defalt/useradd
vi /etc/default/useradd
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
GROUPS=video,dialout
CREATE_MAIL_SPOOL=no
3. user 命令详解
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组,多个组使用逗号分隔,不能有空格
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
-p: 指定用户密码 此处密码必须是加密后的。
示例:
1> 建一个用户,使用login.defs默认选项
userdel tata
2> 建一个用户,自动建立用户登录目录,-m一般和-d选项一起使用 /home/username
useradd -m tata
3> 建一个用户,指定自动登录目录
useradd -d /home/tata -m tata
4> 建一个用户,指定自动登录目录,指定附属组
userdel -G users -d /home/tata -m tata
5> 建一个用户,指定自动登录目录,指定附属组,指定密码
useradd -p `openssl passwd -1 -salt "tata" tata` -G users -d /home/tata -m tata
6> 建一个用户,自动建立用户登录目录, 指定私有组, 附属组
useradd -m tata -g tata -G users
useradd -p `openssl passwd -1 -salt "product_pub" product_pub` -G users -m -d /home/product_pub product_pub
注:关于openssl passwd 参加下方高级命题
初始话密码也可以使用如下语句:
[root@www ~]# useradd -G users smb1
[root@www ~]# useradd -G users smb2
[root@www ~]# useradd -G users smb3
[root@www ~]# echo 1234 | passwd --stdin smb1
[root@www ~]# echo 1234 | passwd --stdin smb2
[root@www ~]# echo 1234 | passwd --stdin smb3
###############################################################
usermod 修改用户信息,就是修改/etc/passwd文件选项对应内容
###############################################################
语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
补充说明:usermod可用来修改用户帐号的各项设定。
参 数:
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称 usermod -l new-user-name old-user-name
-L 锁定用户密码,使密码无效。
-s<shell> 修改用户登入后所使用的shell。
-u<uid> 修改用户ID。
-U 解除密码锁定。linuxso.com linux安全网
usermod 不 允 许 你 改 变 正 在线 上 的 使 用 者 帐 号 名 称 。 当 usermod 用 来 改 变 user ID, 必 须 确 认 这 名 user 没 在 电 脑 上 执 行 任 何 程 序。 你 需 手 动 更 改 使 用 者 的 crontab 档 。 也 需 手 动 更 改 使 用 者 的 at 工 作 档 。 采 用 NIS server 须 在 server 上 更 动 相 关 的 NIS 设 定 。
应用举例:
1、将 newuser2 添加到组 staff 中
# usermod -G staff newuser2
2、修改 newuser 的用户名为 newuser1
# usermod -l newuser1 newuser
3、锁定账号 newuser1
# usermod -L newuser1
4、解除对 newuser1 的锁定
# usermod -U newuser1
###############################################################
userdel username 删除用户
###############################################################
userdel tata
userdel murray 注:删除用户murray,但不删除其家目录及文件;
userdel -r murray 注:删除用户murray,其家目录及文件一并删除;
使用可选的 -r开关可以将用户的主目录及所有相关信息全部删除。如果想要保留用户主目录,
那么不要使用 -r开关。这个开关不会自动删除系统中所有属于这个用户的文件,只是删除他的主目录。
###############################################################
passwd 密码管理
###############################################################
passwd [选项] 账户名称 具体产看man passwd 说明文档
3.主要参数
-l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。
-u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。
-x, --maximum=DAYS:密码使用最大时间(天),只有具备超级用户权限的使用者方可使用。
-n, --minimum=DAYS:密码使用最小时间(天),只有具备超级用户权限的使用者方可使用。
-d:删除使用者的密码, 只有具备超级用户权限的使用者方可使用。
-S:检查指定使用者的密码认证种类, 只有具备超级用户权限的使用者方可使用。
###############################################################
高级命题 openssl passwd
###############################################################
openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin]
[-quiet] [-table] {password}
本指令支持三种哈希算法:
UNIX系统的标准哈希算法(crypt)
MD5-based BSD(1)
OPTIONS
-crypt UNIX系统的标准哈希算法
-1 MD5-based BSD 注意-1是数字一,不是字母L
-apr1 Apache $apr1$ 哈希
这三个option中任意选择一个作为哈希算法,缺省的是-crypt
-salt string
输入作为salt的字符串, 哈希离散时加入的作料,默认是当前时间
-in file
要哈希的文件名称
-stdin
从标准输入读入密码
-quiet
当从标准输入读密码,输入的密码太长的时候,程序将自动解短它。这个option的
set将不在情况下发出警告。
-table
在输出列的时候,先输出明文的密码,然后输出一个TAB,再输出哈希值.
示例:
#缺省是 crypt 算法 13字节
root@OP_39_184_sles10:/home# openssl passwd tata
xi39WUwNFP1mA
root@OP_39_184_sles10:/home# openssl passwd tata
m4DBd/Ys2lbrk
root@OP_39_184_sles10:/home# openssl passwd -crypt tata
NRD7.BwG98Ulk
root@OP_39_184_sles10:/home# openssl passwd -crypt tata
7jubybNYKQ/TQ
root@OP_39_184_sles10:/home# openssl passwd -crypt tata
gRZWFaTNrMIPU
#-1 MD5 34字节
root@OP_39_184_sles10:/home# openssl passwd -1 tata
$1$2QDCG7.k$Q6H/aSd8zNzCpX9iAJF2K1
root@OP_39_184_sles10:/home# openssl passwd -1 tata
$1$36irvjIG$pzYRmRbeno63nhAfJ/Gyf/
root@OP_39_184_sles10:/home# openssl passwd -1 tata
$1$ypfFFaSg$cz8MXJewT00cEsPpFqIUs/
#-apr1 37字节
root@OP_39_184_sles10:/home# openssl passwd -apr1 tata
$apr1$xqrnyuZ9$rcCyBnf33RbV2M0jlT7F80
root@OP_39_184_sles10:/home# openssl passwd -apr1 tata
$apr1$tJ50XhCQ$e201pOwVDACoLcU3BmzQt/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
用户管理:
useradd :添加用户
adduser :添加用户
passwd :为用户设置密码
usermod :修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov :同步用户从/etc/passwd 到/etc/shadow
pwck :pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv:是pwcov的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger :查看用户注释信息的工具
id :查看用户的UID、GID及所归属的用户组
chfn :更改用户信息工具
su :用户切换工具
sudo :sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo不需要root密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo :visodo是编辑/etc/sudoers的命令;也可以不用这个命令,直接用vi来编辑/etc/sudoers 的效果是一样的。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
uid 特性
UID:从0到65535。
0代表系统管理员,
1~499保留给系统使用,
1~99保留给系统默认账号,
100~499保留给服务
500~65535是给一般用户。