Linux用户和权限——管理用户和用户组的命令
程序员文章站
2022-08-17 15:26:05
Linux用户和权限——管理用户和用户组的命令 摘要:本文主要学习了在Linux系统中管理用户和用户组的命令。 useradd命令 useradd命令可以用来创建新用户。 基本语法 选项说明 使用举例 passwd命令 使用passwd命令设置密码。 基本语法 选项说明 使用举例 usermod命令 ......
linux用户和权限——管理用户和用户组的命令
摘要:本文主要学习了在linux系统中管理用户和用户组的命令。
useradd命令
useradd命令可以用来创建新用户。
基本语法
1 [root@localhost ~]# useradd [选项] 用户名
选项说明
1 -u num:num是数字,手工指定用户的uid,注意num的范围不要小于500。 2 -d name:name是目录名,手工指定用户的主目录。主目录必须写绝对路径,而且如果需要手工指定主目录,则一定要注意权限。 3 -c description:description是描述,手工指定/etc/passwd文件中各用户信息中第五个字段的描述性内容,可随意配置。 4 -g name:name是目录名,手工指定用户的初始组。一般以和用户名相同的组作为用户的初始组,在创建用户时会默认建立初始组。一旦手动指定,则系统将不会在创建此默认的初始组目录。 5 -g name:name是目录名,指定用户的附加组。我们把用户加入其他组,一般都使用附加组。 6 -s shell:shell是脚本文件名,手工指定用户的登录shell,默认是/bin/bash。 7 -e date:date是日期,指定用户的失效日期,格式为“yyyy-mm-dd”。也就是/etc/shadow文件的第八个字段; 8 -o:允许创建的用户的uid相同。 9 -m:建立用户时强制建立用户的家目录。在建立系统用户时,该选项是默认的。 10 -r:创建系统用户,也就是uid在1~499之间,供系统程序使用的用户。由于系统用户主要用于运行系统所需服务的权限配置,因此系统用户的创建默认不会创建主目录。
使用举例
1 [root@localhost ~]# useradd sam -g root 2 [root@localhost ~]# cat /etc/passwd 3 root:x:0:0:root:/root:/bin/bash 4 bin:x:1:1:bin:/bin:/sbin/nologin 5 ... 6 sam:x:1000:1000::/home/sam:/bin/bash 7 [root@localhost ~]# cat /etc/group 8 root:x:0:sam 9 bin:x:1: 10 ... 11 sam:x:1000: 12 [root@localhost ~]#
passwd命令
使用passwd命令设置密码。
基本语法
1 [root@localhost ~]# passwd [选项] 用户名
选项说明
1 -s:查询用户密码的状态,也就是/etc/shadow文件中此用户密码的内容,仅root用户可用。 2 -l:暂时锁定用户,该选项会在/etc/shadow文件中指定用户的加密密码串前添加“!”,使密码失效,仅root用户可用。 3 -u:解锁用户,和-l选项相对应,仅root用户使用。 4 -d:删除已命名帐号的密码,仅root用户可用。 5 -k:保持身份验证令牌不过期。 6 -f:强制执行操作。 7 -n num:num为数字,设置该用户修改密码后,多长时间不能再次修改密码,对应/etc/shadow文件中各行密码的第四个字段。 8 -x num:num为数字,设置该用户的密码有效期,对应/etc/shadow文件中各行密码的第五个字段。 9 -w num:num为数字,设置用户密码过期前的警告天数,对应/etc/shadow文件中各行密码的第六个字段。 10 -i date:date为日期,设置用户密码失效日期,对应/etc/shadow文件中各行密码的第七个字段。
使用举例
1 [root@localhost ~]# passwd sam 2 更改用户 sam 的密码 。 3 新的 密码: 4 无效的密码: 密码未通过字典检查 - 过于简单化/系统化 5 重新输入新的 密码: 6 passwd:所有的身份验证令牌已经成功更新。 7 [root@localhost ~]#
usermod命令
usermod命令用于修改用户信息。
基本语法
1 [root@localhost ~]# usermod [选项] 用户名
选项说明
1 -c comment:comment是说明信息,修改用户的说明信息,即修改/etc/passwd文件目标用户信息的第五个字段。 2 -d name:name是目录名,修改用户的主目录,即修改/etc/passwd文件中目标用户信息的第六个字段,需要注意的是,主目录必须写绝对路径。 3 -e date:date是日期,修改用户的失效曰期,格式为"yyyy-mm-dd",即修改/etc/shadow文件目标用户密码信息的第八个字段。 4 -g name:name是组名,修改用户的初始组,即修改/etc/passwd文件目标用户信息的第四个字段(gid)。 5 -u num:num是数字,修改用户的uid,即修改/etc/passwd文件目标用户信息的第三个字段(uid)。 6 -g name:name是组名,修改用户的附加组,其实就是把用户加入其他用户组,即修改/etc/group文件。 7 -l name:name是用户名,修改用户名称。 8 -l:临时锁定用户(lock)。 9 -u:解锁用户(unlock),和-l对应。 10 -s shell:shell是脚本文件名,修改用户的登录shell,默认是/bin/bash。
使用举例
1 [root@localhost ~]# usermod -g root lisa 2 [root@localhost ~]# cat /etc/group 3 root:x:0:lisa 4 bin:x:1: 5 ... 6 [root@localhost ~]#
userdel命令
userdel命令功能很简单,就是删除用户的相关数据。此命令只有root用户才能使用。
基本语法
1 [root@localhost ~]# userdel [选项] 用户名
选项说明
1 -r:表示在删除用户的同时删除用户的家目录。
使用举例
1 [root@localhost ~]# userdel lisa 2 [root@localhost ~]# cat /etc/passwd 3 root:x:0:0:root:/root:/bin/bash 4 bin:x:1:1:bin:/bin:/sbin/nologin 5 ... 6 [root@localhost ~]#
id命令
id命令可以查询用户的uid、gid和附加组的信息。
基本语法
1 [root@localhost ~]# id 用户名
使用举例
1 [root@localhost ~]# id root 2 uid=0(root) gid=0(root) 组=0(root) 3 [root@localhost ~]#
su命令
su命令是最简单的用户切换命令,通过该命令可以实现任何身份的切换,包括从普通用户切换为root用户、从root用户切换为普通用户以及普通用户之间的切换。
普通用户之间切换以及普通用户切换至root用户,都需要知晓对方的密码,只有正确输入密码,才能实现切换;从root用户切换至其他用户,无需知晓对方密码,直接可切换成功。
基本语法
1 [root@localhost ~]# su [选项] 用户名
选项说明
1 -:当前用户不仅切换为指定用户的身份,同时所用的工作环境也切换为此用户的环境(包括path变量、mail变量等),使用-选项可省略用户名,默认会切换为root用户。 2 -l:同-的使用类似,也就是在切换用户身份的同时,完整切换工作环境,但后面需要添加欲切换的使用者账号。 3 -p:表示切换为指定用户的身份,但不改变当前的工作环境,即不使用切换用户的配置文件。 4 -m:和-p一样。 5 -c command:command为命令,仅切换用户执行一次命令,执行后自动切换回来,该选项后通常会带有要执行的命令。
使用举例
1 [root@localhost ~]# su - sam 2 上一次登录:四 7月 11 08:43:12 cst 2019pts/0 上 3 [sam@localhost ~]$ su - 4 密码: 5 上一次登录:四 7月 11 09:06:21 cst 2019pts/2 上 6 [root@localhost ~]#
groupadd命令
groupadd命令用来添加用户组。
基本语法
1 [root@localhost ~]# groupadd [选项] 组名
选项说明
1 -g n:n是数字,指定组id。 2 -r:创建系统群组。
使用举例
1 [root@localhost ~]# groupadd test 2 [root@localhost ~]# cat /etc/group 3 root:x:0: 4 bin:x:1: 5 ... 6 test:x:1001: 7 [root@localhost ~]#
gpasswd命令
可以使用gpasswd命令给群组设置一个群组管理员,代替root完成将用户加入或移出群组的操作。
基本语法
1 [root@localhost ~]# gpasswd [选项] 组名
选项说明
1 :选项为空时,表示给群组设置密码,仅root用户可用。 2 -a user1,...:将群组的控制权交给user1,...等用户管理,也就是说,设置user1,...等用户为群组的管理员,仅root用户可用。 3 -m user1,...:将user1,...加入到此群组中,仅root用户可用。 4 -r:移除群组的密码,仅root用户可用。 5 -r:让群组的密码失效,仅root用户可用。 6 -a user:将user用户加入到群组中。 7 -d user:将user用户从群组中移除。
使用举例
1 [root@localhost ~]# gpasswd -m sam test 2 [root@localhost ~]# cat /etc/group 3 root:x:0: 4 bin:x:1: 5 ... 6 test:x:1001:sam 7 [root@localhost ~]#
groupmod命令
groupmod命令用于修改用户组的相关信息。
基本语法
1 [root@localhost ~]# groupmod [选项] 组名
选项说明
1 -g n:n是数字,修改组id。 2 -n name:name是组名,修改组名。
使用举例
1 [root@localhost ~]# groupmod -g 1002 test 2 [root@localhost ~]# cat /etc/group 3 root:x:0: 4 bin:x:1: 5 ... 6 test:x:1002: 7 [root@localhost ~]#
groupdel命令
groupdel命令用于删除用户组。
基本语法
1 [root@localhost ~]# groupdel 组名
使用举例
1 [root@localhost ~]# groupdel test 2 [root@localhost ~]# cat /etc/group 3 root:x:0:sam 4 bin:x:1: 5 ... 6 [root@localhost ~]#
上一篇: Linux权限_用户_和用户组
下一篇: WP7完美多语言的实现
推荐阅读