用户管理和用户组管理

用户组配置文件 /etc/group

[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:30:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
input:x:999:
systemd-journal:x:190:
systemd-bus-proxy:x:998:
systemd-network:x:192:
dbus:x:81:
polkitd:x:997:
ssh_keys:x:996:
dip:x:40:
tss:x:59:
sshd:x:74:
postdrop:x:90:
postfix:x:89:

“/etc/grpoup”里列出了系统中所有存在的用户组及相关配置,每行一个用户组配置,以”:”分隔成4个字段,具体含义如下——

  1. 用户组名

  2. 组密码标识

  3. 用户组标识,GID。

  4. 组中附加用户

用户组密码配置文件 /etc/shadow

[root@localhost ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
lp:::
mem:::
kmem:::
wheel:::
cdrom:::
mail:::postfix
man:::
dialout:::
floppy:::
games:::
tape:::
video:::
ftp:::
lock:::
audio:::
nobody:::
users:::
utmp:!::
utempter:!::
input:!::
systemd-journal:!::
systemd-bus-proxy:!::
systemd-network:!::
dbus:!::
polkitd:!::
ssh_keys:!::
dip:!::
tss:!::
sshd:!::
postdrop:!::
postfix:!::

“/etc/shadow”里列出了系统中所有存在的用户组密码及相关配置,每行一个用户组密码配置,以”:”分隔成4个字段,具体含义如下——

  1. 用户组名

  2. 用户组密码

  3. 组管理员用户名

  4. 组中附加用户

用户管理相关文件

用户的家目录

  • 超级用户:/root/,所有者和所属组都是root用户,权限是550。

  • 普通用户:/home/username/,所有者和所属组都是此用户,权限是700。

用户的邮箱:”/var/spool/mail/username/”

用户模板目录:”/etc/skel/”

在创建一个新的用户时,该目录中的所有文件会直接拷贝到相应的用户家目录下。

用户相关命令

useradd 命令

useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码。而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在”/etc/passwd”文本文件中。

在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd命令建立新用户,如此可方便管理员建立用户帐号。在Red HatLinux中,adduser命令则是useradd命令的符号连接,两者实际上是同一个指令。

useradd 语法

useradd (选项) 参数)

useradd 选项

-c<备注>:加上备注文字,备注文字会保存在passwd的备注栏位中;

-d<登入目录>:指定用户登入时的启始目录;

-D:变更预设值;

-e<有效期限>:指定帐号的有效期限;

-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;

-g<群组>:指定用户所属的群组;

-G<群组>:指定用户所属的附加群组;

-m:自动建立用户的登入目录;

-M:不要自动建立用户的登入目录;

-n:取消建立以用户名称为名的群组;

-r:建立系统帐号;

-s:指定用户登入后所使用的shell;

`-u“:指定用户id。

useradd 参数

用户名:要创建的用户名。

useradd 实例

  • 新建用户加入组
useradd –g sales jack –G company,employees //-g:加入主要组、-G:加入次要组 
  • 建立一个新用户账户,并设置ID
useradd caojh -u 1024

需要说明的是,设定ID值时尽量要大于1000,以免冲突。因为Linux安装后会建立一些特殊用户,在CentOS7中一般0到10000之间的值留给bin、mail这样的系统账号。

passwd 命令

passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

passwd 语法

passwd (选项) (参数)

passwd 选项

-d:删除密码,仅有系统管理者才能使用;

-f:强制执行;

-k:设置只有在密码过期失效后,方能更新;

-l:锁住密码;

-s:列出密码的相关信息,仅有系统管理者才能使用;

-u:解开已上锁的帐号。

passwd 参数

用户名:需要设置密码的用户名。

passwd 实例

  • 如果是普通用户执行passwd只能修改自己的密码。如果新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建。
[root@localhost ~]# passwd linuxde //更改或创建linuxde用户的密码;
Changing password for user linuxde. 
New UNIX password: //请输入新密码;
Retype new UNIX password: //再输入一次;
passwd: all authentication tokens updated successfully. //成功;
  • 普通用户如果想更改自己的密码,直接运行passwd即可,比如当前操作的用户是linuxde。
[linuxde@localhost ~]$ passwd 
password for user linuxde. //更改linuxde用户的密码; (current) UNIX
password: //请输入当前密码;
New UNIX password: //请输入新密码;
Retype new UNIX password: //确认新密码;
passwd: all authentication tokens updated successfully. //更改成功;
  • 比如我们让某个用户不能修改密码,可以用-l选项来锁定:
[root@localhost ~]# passwd -l linuxde //锁定用户linuxde不能更改密码;
Locking password for user linuxde. passwd: Success //锁定成功;

[linuxde@localhost ~]# su linuxde //通过su切换到linuxde用户;
[linuxde@localhost ~]$ passwd //linuxde来更改密码;
Changing password for user linuxde.
Changing password for linuxde
(current) UNIX password: //输入linuxde的当前密码;
passwd: Authentication token manipulation error //失败,不能更改密码;
  • 再来一例:
[root@localhost ~]# passwd -d linuxde //清除linuxde用户密码;
Removing password for user linuxde. passwd: Success //清除成功;

[root@localhost ~]# passwd -S linuxde //查询linuxde用户密码状态;
Empty password. //空密码,也就是没有密码;

注意:当我们清除一个用户的密码时,登录时就无需密码,这一点要加以注意。

userdel 命令

userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。

userdel 语法

userdel (选项) (参数)

userdel 选项

-f:强制删除用户,即使用户当前已登录; -r:删除用户的同时,删除与用户相关的所有文件。

userdel 参数

用户名:要删除的用户名。

userdell 实例

  • userdel命令很简单,比如我们现在有个用户linuxde,其家目录位于/var目录中,现在我们来删除这个用户:
userdel linuxde //删除用户linuxde,但不删除其家目录及文件;
userdel -r linuxde //删除用户linuxde,其家目录及文件一并删除;
  • 请不要轻易用-r选项;他会删除用户的同时删除用户所有的文件和目录,切记如果用户目录下有重要的文件,在删除前请备份。
    其实也有最简单的办法,但这种办法有点不安全,也就是直接在”/etc/passwd”中删除您想要删除用户的记录;但最好不要这样做,”/etc/passwd”是极为重要的文件,可能您一不小心会操作失误。

用户组相关命令

group 命令

groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。

group 语法

groupadd (选项) (参数)

group 选项

-g:指定新建工作组的id; -r:创建系统工作组,系统工作组的组ID小于1000; -K:覆盖配置文件“/ect/login.defs”; -o:允许添加组ID号不唯一的工作组。

group 参数

组名:指定新建工作组的组名。

group 实例

  • 建立一个新组,并设置组ID加入系统.
groupadd -g 1024 linuxde

此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。

groupdel 命令

groupdel命令用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

groupdel 语法

groupdel (参数)

groupdel 参数

组:要删除的工作组名。

groupdel 实例

groupadd damon //创建damon工作组
groupdel damon //删除这个工作组
分类: Linux笔记

发表评论

电子邮件地址不会被公开。 必填项已用*标注