(1)useradd和adduser
注:useradd=adduser
useradd用来建立linux系统的登陆用户。
使用useradd建立的用户,存储在/etc/passwd文件中。
如:建立用户user01
useradd user01
查看存储文件/etc/passwd,命令如下:
cat /etc/passwd
查看结果:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
user01:x:501:501::/home/user01:/bin/bash
可以看到最后一个user01,是新建立的用户
user01:x:501:501::/home/user01:/bin/bash
删除用户,命令为userdel
userdel user01
再次查看/etc/passwd文件,则不存在user01,查看命令:
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
(2)useradd的命令参数
Usage: useradd [options] LOGIN
Options:
-b, --base-dir BASE_DIR base directory for the home directory of the
new account
-c, --comment COMMENT GECOS field of the new account
-d, --home-dir HOME_DIR home directory of the new account
-D, --defaults print or change default useradd configuration
-e, --expiredate EXPIRE_DATE expiration date of the new account
-f, --inactive INACTIVE password inactivity period of the new account
-g, --gid GROUP name or ID of the primary group of the new
account
-G, --groups GROUPS list of supplementary groups of the new
account
-h, --help display this help message and exit
-k, --skel SKEL_DIR use this alternative skeleton directory
-K, --key KEY=VALUE override /etc/login.defs defaults
-l, --no-log-init do not add the user to the lastlog and
faillog databases
-m, --create-home create the user's home directory
-M, --no-create-home do not create the user's home directory
-N, --no-user-group do not create a group with the same name as
the user
-o, --non-unique allow to create users with duplicate
(non-unique) UID
-p, --password PASSWORD encrypted password of the new account
-r, --system create a system account
-s, --shell SHELL login shell of the new account
-u, --uid UID user ID of the new account
-U, --user-group create a group with the same name as the user
-Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping
举例:
创建一个普通用户user001
useradd user001
user001的UID,GID=557,家默认是/home/user001,shell 默认是/bin/bash
user001:x:557:557::/home/user001:/bin/bash
创建一个普通用户user002,指定家位置/home/users002,
useradd user002 -d /home/users002
user002的UID,GID=558,shell 默认是/bin/bash
user002:x:558:558::/home/users002:/bin/bash
创建一个普通用户user003,指定UID=553,如果GID没指定,则也默认为553
useradd user003 -u 553
user003的UID,GID=553,shell 默认是/bin/bash,家默认为/home/user003
user003:x:553:553::/home/user003:/bin/bash
创建一个普通用户user004 ,指定所属的组为 -g test01 -G test03 test 04
useradd user004 -g test01 -G test03,test04
查看user004在的组:
id user004
结果:
uid=559(user004) gid=502(test01) groups=502(test01),505(test03),559(test04)
注:useradd users001,会创建一个同名的组
useradd users001
使用命令 cat /etc/group,得到,群组users001组号为501.
users001:x:501:
使用id users001,得到,用户users001所属群组为users001(gid=501)
uid=501(users001) gid=501(users001) groups=501(users001)
使用 cat /etc/passwd,得到
users001:x:501:501::/home/users001:/bin/bash
(3)
解释下/etc/passwd文件,每一行的内容表示的意思为
用户名:口令:用户标识号:组标识号:注释性描述:主目录(家):登录Shell
(user):(password):(UID):(GID):(COMMENT):(HOME):(SHELL)
用户名(login_name):是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。。
口令(passwd):一些系统中,存放着加密后的用户口令字。现在许多Linux系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。
用户标识号(UID):是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。取值范围是0-65535。0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。
组标识号(GID):字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。
注释性描述(users):字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。
主目录(home_directory):也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。
登录Shell(Shell):用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。常用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。
用户的登录Shell可以指定为某个特定的程序(此程序不是一个命令解释器)。利用这一特点,我们可以限制用户只能运行指定的应用程序,在该应用程序运行结束后,用户就自动退出了系统。有些Linux系统要求只有那些在系统中登记了的程序才能出现在这个字段中。
参考地址:https://blog.csdn.net/a1154490629/article/details/52190801
(4) 关于/etc/group
用户组的所有信息都存放在/etc/group文件中。此文件的格式是由冒号(:)隔开若干个字段,这些字段具体如下:
组名:口令:组标识号:组内用户列表
test01:x:502:
test02:x:503:
test03:x:505:
test04:x:559:
testg01:x:1000:
users001:x:501:
举例:
第一个冒号前:是组名,如test01
第二个冒号前:是加密后的密码,如X
第三个冒号前:是组号GID,如503
第三个冒号后:是组内的用户
to be continued