linux用户管理

useradd

不同linux系统下 useradd的默认选项有所差别,比如centos下默认是useradd -m -k ,ubuntu下默认是useradd -M

userdel
usermod
passwd,chpasswd
chsh,chfn,chage

具体参数用man 解决
只需要在/etc目录下建立一个nologin文档,那么Linux上的所有用户(除了root以外)都无法登录!!
Linux下锁定账号,禁止登录系统的设置总结

相关配置文件
配置文件 作用
/etc/passwd 用户账户信息。
/etc/shadow 安全用户账户信息。
/etc/group 组账户信息。
/etc/gshadow 安全组账户信息。
/etc/default/useradd 账户创建的默认值。
/etc/skel/ 包含默认文件的目录。
/etc/subgid Per user subordinate group IDs.
/etc/subuid Per user subordinate user IDs.
/etc/login.defs Shadow 密码套件配置。

密码字段特殊字符的含义
/etc/shadow usually contains the following user information:
User login name
salt and hashed password OR a status exception value e.g.:
"NP" or "!" or null - No password, the account has no password.
"LK" or "" - the account is Locked, user will be unable to log-in
"!!" - the password has expired
密码项为
和 密码前加! 都可以使用户无法登录
*的本质就是账户被锁定,不能登录,从root su过去也不行.
!的本质是使用户的密码不可用,正常登录都会提示认证失败,但是从root能su过去,因为root su的时候不要密码.

useradd常用选项
选项 作用
-D, --defaults 查看默认配置
-b, --base-dir BASE_DIR 如果没有使用 -d HOME_DIR,则使用默认的基目录。BASE_DIR 加上账户名就是主目录。如果没有使用 -m 选项,BASE_DIR 必须已经存在。如果选项没有指定,useradd 将使用 /etc/default/useradd 中的 HOME 变量,或者默认的 /home。
-c, --comment COMMENT 任何字符串。通常是关于登录的简短描述,当前用于用户全名
-d, --home-dir HOME_DIR 指定用户的家目录
-e, --expiredate EXPIRE_DATE 用户账户将被禁用的日期。日期以 YYYY-MM-DD 格式指定。如果没有指定,useradd 将使用 /etc/default/useradd 中 EXPIRE 变量指定的默认过期日期,或者一个空字符串(不过期)。
-f, --inactive INACTIVE 密码过期后,账户被彻底禁用之前的天数。0 表示立即禁用,-1 表示禁用这个功能。如果未指定,useradd 将使用 /etc/default/useradd 中的 INACTIVE 指定的默认禁用周期,或者默认为 -1
-g, --gid GROUP 用户初始登陆组的组名或号码。组名必须已经存在。组号码必须指代已经存在的组。如果没有指定, useradd 的行为将依赖于 /etc/login.defs 文件中的 USERGROUPS_ENAB 参数。如果此参数设置为了 yes (或者在命令行上指定了-U/--user-group),将会为用户创建一个组,组名和登录名相同。如果选项设置为了 no (或者在命令行上指定了 -N/--no-user-group),useradd 会把新用户的主组设置为 /etc/default/useradd 中 GROUP变量指定的值,再或者默认是 100。
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 用户还属于的附加组列表。每个组都用逗号隔开,没有中间的空格。这里的组受到了 -g 选项给定的组同样的限制。默认上,用户只属于初始组
-k, --skel SKEL_DIR 骨架目录,包含使用 useradd 创建用户时,要复制到用户主目录中的文件和目录。这个选项只有在指定 -m (或 --create-home) 选项时才有效。如果此项没有设置,骨架目录使用 /etc/default/useradd 中的 SKEL 的变量或默认为 /etc/skel。如果可以,也复制 ACL 和扩展属性.
-K, --key KEY=VALUE 默认覆盖 /etc/login.defs (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS 及其它)。 例如:-K PASS_MAX_DAYS=-1 可以用于创建一个密码不会过期的系统账户,即使系统账户没有密码。可以指定多个 -K选项,如:-K UID_MIN=100 -K UID_MAX=499
-l, --no-log-init 不要将用户添加到最近登录和登录失败数据库。默认上,最近登录和登录失败中用户的条目会被重置,以避免重新使用先前删除的用户的条目。
-m, --create-home 如果不存在,则创建用户主目录。骨架目录中的文件和目录(可以使用 -k 选项指定),将会复制到主目录。默认上,如果没有指定此选项并且 CREATE_HOME 没有启用,不会创建主目录。
-M 不创建用户主目录,即使系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes。
-N, --no-user-group 不要创建同名组,而是将用户添加到 -g 选项指定的组,或根据 /etc/default/useradd 中的 GROUP 变量。如果没有指定 -g, -N 和 -U 选项,默认行为由 /etc/login.defs 中的 USERGROUPS_ENAB 变量指定。
-o, --non-unique 允许使用重复的 UID 创建用户账户。此选项只有和 -u 选项组合使用才有效。
-p, --password PASSWORD 加密了的密码,就像 crypt(3) 的返回值。默认为禁用密码。注意:不推荐使用这个选项,因为密码(或加密过的密码)会被用户通过列出这个过程而看到。您应该确保密码符合系统的密码政策。
-r, --system 创建一个系统账户。System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).注意:useradd 不会为这种用户创建主目录,无论 /etc/login.defs (CREATE_HOME) 中是的默认设置是怎样。如果想为要创建的系统账户创建主目录,需要指定 -m 选项。
-R, --root CHROOT_DIR Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory.
-s, --shell SHELL 用户的登录 shell 名。默认为留空,让系统根据 /etc/default/useradd 中的 SHELL 变量选择默认的登录 shell,默认为空字符串。
-u, --uid UID 用户 ID 的数字值。此值必须为唯一的,除非使用了 -o 选项。此值必须非负,默认使用大于等于 UID_MIN,且大于任何其他用户 ID 最小值。请参考 -r 选项和 UID_MAX 的描述
-U, --user-group 创建一个和用户同名的组,并将用户添加到组中。如果没有指定 -g, -N 和 -U 选项,默认行为由 /etc/login.defs 中的 USERGROUPS_ENAB 变量指定。
-Z, --selinux-user SEUSER 用户登陆的 SELinux 用户。默认为留空,这会造成系统选择默认的 SELinux 用户。
-D 只带 -D 选项使用时,useradd 将显示当前的默认值。-D 和其它选项配合使用时,useradd 将为指定的选项更新默认值。有效的“更改默认值”选项有:
-D -b, --base-dir BASE_DIR 新用户主目录的路径前缀。如果创建新账户时,没有使用 -d 选项,用户的名称将会缀在 BASE_DIR 的后边形成新用户的主目录名。 这个选择在 /etc/default/useradd 中设置 HOME 选项。
-D -e, --expiredate EXPIRE_DATE 禁用此用户账户的日期.此选项在 /etc/default/useradd 中设置 EXPIRE 变量。
-D -f, --inactive INACTIVE 密码过期到账户被禁用之前的天数。这个选项在 /etc/default/useradd 中设置 INACTIVE 变量。
-D -g, --gid GROUP 新用户初始组的组名或 ID (使用了 -N/--no-user-group 或者 /etc/login.defs 中的变量 USERGROUPS_ENAB 设置为 no 时)。给出的组必须存在,并且数字组 ID 必须有一个已经存在的项。这个选项在 /etc/default/useradd 中设置 GROUP 变量。
-D -s, --shell SHELL 新用户的登录 shell 名。这个选项在 /etc/default/useradd 设置 SHELL 变量。
/etc/login.defs 配置
变量 含义
CREATE_HOME (boolean) 指示是否应该为新用户默认创建主目录。此设置并不应用到系统用户,并且可以使用命令行覆盖。
GID_MAX (number), GID_MIN (number) useradd,groupadd 或 newusers 创建的常规组的组 ID 的范围。GID_MIN 和 GID_MAX 的默认值分别是 1000 和 60000。
MAIL_DIR (string) 邮箱目录。修改或删除用户账户时需要处理邮箱,如果没有指定,将使用编译时指定的默认值。
MAIL_FILE (string) 定义用户邮箱文件的位置(相对于主目录)。
MAIL_DIR and MAIL_FILE 变量由 useradd,usermod 和 userdel 用于创建、移动或删除用户邮箱。
MAX_MEMBERS_PER_GROUP (number) 每个组条目的最大成员数。达到最大值时,在 /etc/group 开始一个新条目(行)(使用同样的名称,同样的密码,同样的 GID)。默认值是 0,意味着组中的成员数没有限制。 此功能(分割组)允许限制组文件中的行长度。这对于确保 NIS 组的行比长于 1024 字符。如果要强制这个限制,可以使用 25。注意:分割组可能不受所有工具的支持(甚至在 Shadow 工具集中)。您不应该使用这个变量,除非真的需要。
PASS_MAX_DAYS (number) 一个密码可以使用的最大天数。如果密码比这旧,将会强迫更改密码。如果不指定,就假定为 -1,这会禁用这个限制。
PASS_MIN_DAYS (number) 两次更改密码时间的最小间隔。将会拒绝任何早于此的更改密码的尝试。如果不指定,假定为 -1,将会禁用这个限制。
PASS_WARN_AGE (number) 密码过期之前给出警告的天数。0 表示只有只在过期的当天警告,负值表示不警告。如果没有指定,不会给警告。
SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number) If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate group IDs) allocate SUB_GID_COUNT unused group IDs from the range SUB_GID_MIN to SUB_GID_MAX for each new user.The default values for SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNT are respectively 100000, 600100000 and 10000.
SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number) If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate user IDs) allocate SUB_UID_COUNT unused user IDs from the range SUB_UID_MIN to SUB_UID_MAX foreach new user.The default values for SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT are respectively 100000, 600100000 and 10000.
SYS_GID_MAX (number), SYS_GID_MIN (number) useradd、groupadd 或 newusers 创建的系统组的组 ID 的范围。 SYS_GID_MIN 和 SYS_GID_MAX 的默认值分别是 101 和 GID_MIN-1。
UID_MAX (number), UID_MIN (number) useradd 或 newusers 创建的普通用户的用户 ID 的范围。UID_MIN 和 UID_MAX 的默认值分别是 1000 和 60000。
UMASK (number) 文件模式创建掩码初始化为此值。如果没有指定,掩码初始化为 022。useradd 和 newusers 使用此掩码设置它们创建的用户主目录的模式。也被 pam_umask 用作默认 umask 值。
USERGROUPS_ENAB (boolean) 如果设置为 yes,如果组中没有成员了,userdel 将移除此用户组,useradd 创建用户时,也会创建一个同名的默认组。
usermod

用法: usermod [选项] 登录名(注意一定是登录名 不要用uid)

选项 作用
-l, --login new_name 登录名 修改登录账户的登录名
-u, --uid UID 用户帐号的新 UID
-L --lock 锁定账户,使用户无法登录.其实就是在密码前加个 !,使密码失效.
-L 同上.但是通过sshkey 无密码登录的方式,一样可以登录.看来还是密码项设置为*好
-U, --unlock 解锁用户帐号
-p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码
-s, --shell SHELL 该用户帐号的新登录 shell
-o, --non-unique 允许使用重复的(非唯一的) UID
-c, --comment 注释 GECOS 字段的新值
-d, --home HOME_DIR 用户的新主目录
-e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE
-f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态
-g, --gid GROUP 强制使用 GROUP 为新主组
-G, --groups GROUPS 新的附加组列表 GROUPS,并从其它组中删除此用户
-a, --append GROUP 必须和-G 一起使用,将用户追加至上边 -G 中提到的附加组中,并不从其它组中删除此用户
chage命令参数
参数 描述
-d 设置上次修改密码的时间
-E 设置密码过期的日期
-I 设置密码过期到锁定账户的天数
-m 设置修改密码之间最少要多少天
-W 设置密码过期前多久开始出现提醒信息

chage命令的日期可以用下面两种方式中的任意一种:
1.YYYY-MM-DD格式的日期
2.代表从1970年1月1日起到该日期天数的数值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容