4-1 Linux用户管理命令详解

mac2022-06-30  135

1. /etc/passwd 格式

用户名:密码:UID:GID:注释:家目录:默认shell

 

useradd  [options ]    USERNAME

-u: UID  要大于等于500,

 

-g: GID 指基本组,必需事先存在,UID会在最下面的一个ID加1

 

小插曲,下载了xshell来运行。

 

 

 

 

-G:GID,组要存在,可能存在多个。

 

-c:“COMMENT”注释

       

-d:/path/to/somedirectory 意思为指定家目录。默认是在home目录下的userfolder下。

 

 

-s: 指定了当前系统可用的安全shell,它存在于etc/shells下

 

注意切换用户的方法:   #su – USERNAME    ,如下 #su – user413

 

-m: 给用户强制创建家目录

 

-k:要跟-m一起用

 

/etc/skel,其实就是shell的配置文件,其中-a是用于显示影藏文件的

 

 

使用-m 可以指定不用创建家目录

 

 

 

 

 

 

 

2.  不为用户创建家目录

首先,有个文件可以先拿出来看看 /etc/login.defs,

/etc/login.defs 是设置用户帐号限制的文件。该文件里的配置对root用户无效。

如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs

 

# *REQUIRED* required

#   Directory where mailboxes reside, _or_ name of file, relative to the

#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.

#   QMAIL_DIR is for Qmail

#

#QMAIL_DIR Maildir

MAIL_DIR  /var/spool/mail#指定邮件目录

#MAIL_FILE .mail

# Password aging controls:

#

# PASS_MAX_DAYS Maximum number of days a password may be used.

# PASS_MIN_DAYS Minimum number of days allowed between password changes.

# PASS_MIN_LEN Minimum acceptable password length.

# PASS_WARN_AGE Number of days warning given before a password expires.

#

PASS_MAX_DAYS 99999 #密码最大有效期

PASS_MIN_DAYS 0 #两次修改密码的最小间隔时间

PASS_MIN_LEN 10 #密码最小长度,对于root无效

PASS_WARN_AGE 7 #密码过期前多少天开始提示

#

# Min/max values for automatic uid selection in useradd

#创建用户时不指定UID的话自动UID的范围

UID_MIN  500   #用户ID的最小值

UID_MAX 60000 #用户ID的最大值

#

# Min/max values for automatic gid selection in groupadd

#自动组ID的范围

GID_MIN  500   #组ID的最小值

GID_MAX 60000 #组ID的最大值

#

# If defined, this command is run when removing a user.

# It should remove any at/cron/print jobs etc. owned by

# the user to be removed (passed as the first argument).

#

#USERDEL_CMD /usr/sbin/userdel_local  当删除用户的时候执行的脚本

#

# If useradd should create home directories for users by default

# On RH systems, we do. This option is overridden with the -m flag on

# useradd command line.

#

CREATE_HOME yes #使用useradd的时候是够创建用户目录

# The permission mask is initialized to this value. If not specified, 

# the permission mask will be initialized to 022.

UMASK           077 #

# This enables userdel to remove user groups if no members exist.

#

USERGROUPS_ENAB yes

# Use MD5 or DES to encrypt password? Red Hat use MD5 by default.

MD5_CRYPT_ENAB yes  #用MD5加密密码

 

 

3. 删除用户

userdel

#userdel    [options]  USERNAME

如果没有指定选项,家目录不删除。

 

id:查看用户的账号信息

#id     USERNAME

 

 

 

注意,这边还有一finger的命令,这个应该是外部命令,功能是查看用户账号信息。

 

 

其实userdel这个命令只是删除/etc/passwd 下的账号信息。但是home下的信息没有删了

 

如果要彻底删除,需要一个选项 –r

补充一点,之前删Tom的时候,passwd删了,但是home没有删了,我们用这个命令再删的话,会出错。至于怎么弄,回头再总结。

 

以Jack为例

 

 

 

4. 修改用户账号属性

usermod 与 useradd 类似

-u     UID

-g     GID

-G     GID    会覆盖原来的GID

-a     -G    GID,添加新的组,不会覆盖

-d  -m :既指定家目录,又移动此前的家目录内容(这个还不清楚)

-L   锁定账号,类似禁用

chsh  :改用户的默认shell

chfn:修改注释信息

 

 

5. 密码管理

passwd  用户只用于改自己密码

passwd  USERNAME,管理员改其他密码

--stdin:(standard input),标准输入,会标准输入接受密码,将来的脚本会用到

-l:锁定用户账号

-d: 删除用户密码

 

pwck: password check 检查用户账号完整性。但是这个怎么看,还不是很清楚。

 

 

 

 

 

6. 组管理

创建组

groupadd,用 – g 指定GID,不指定为大于等于500,且比上一个大。

记住:有哪些组,可以通过 cat /etc/group  来看

 

-r: 添加一个系统用户或组,系统账号没有login权限,且没有home

 

 

 

groupmod:

-g:   GID

-n GRPNAME

 

 

groupdel

 

gpasswd:给组改密码

newgrp GROUPNAME 切换组

 

貌似,创建用户,并添加密码包含三个方面:passwd, shell, group文件下各加一行。但要懂格式

 

7. 作业

 

转载于:https://www.cnblogs.com/BlackWizard2016/p/6228100.html

最新回复(0)