栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux系统命令-用户与用户组(二)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux系统命令-用户与用户组(二)

7 Linux用户和组的关系

用户和用户组的对应关系有以下 4 种:

  • 一对一:一个用户可以存在一个组中,是组中的唯一成员;
  • 一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权限;
  • 多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限;
  • 多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。
8 管理用户(user)的工具或命令
useradd 添加用户 
adduser 添加用户
usrdel  删除用记
passwd 为用户设置密码
usermod 修改用户命令,可以通过usermod 来修改登录名、用
             户的家目录等等;
pwcov 同步用户从/etc/passwd 到/etc/shadow 
pwck pwck是校验用户配置文件/etc/passwd 和/etc/shadow 
             文件内容是否合法或完整;
pwunconv 是pwcov 的立逆向操作,是从/etc/shadow和 
             /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 查看用户信息工具
id  查看用户的UID、GID及所归属的用户组
chfn 更改用户信息工具
su 用户切换工具
sudo  是通过另一个用户来执行命令(execute a command as 
          another user),su 是用来切换用户,然后通过切换到的
          用户来完成相应的任务,但sudo 能后面直接执行命令,比
          如sudo 不需要root 密码就可以执行root 赋与的执行只有
          root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直
          接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 和sudo 功能差不多;
9 管理用户组(group)的工具或命令
groupadd 添加用户组;
groupdel 删除用户组;
groupmod 修改用户组信息
groups  显示用户所属的用户组
grpck
grpconv   注:通过/etc/group和/etc/gshadow 的文件内容来
     同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv   注:通过/etc/group 和/etc/gshadow 文件内容来
       同步或创建/etc/group ,然后删除gshadow文件;
 gpasswd 用于管理 /etc/group 和 /etc/gshadow 。每个组都可
       以有管理员、成员和密码。
10 三个与用户和用户组相关的环境配置

(1)/etc/skel目录

/etc/skel目录是个模板,它用来存放新用户配置文件的目录,当我们添加新用户时,这个目录下的所有文件会自动被复制到新添加的用户的家目录下。默认情况下,/etc/skel目录下的所有文件都是隐藏文件(以.点开头的文件);通过修改、添加、删除/etc/skel目录下的文件,我们可为新创建的用户提供统一的、标准的、初始化用户环境。

(2) /etc/login.defs文件

用来定义创建用户时需要的一些用户的配置信息,如创建用户时是否需要家目录,UID和GID范围,用户及密码的有效期限等。

(3)/etc/default/useradd文件

是在使用useradd添加用户时的一个需要调用的一个默认的配置文件,可以使用 “useradd -D 参数”,这样的命令格式来修改文件里的内容。

11 创建用户

Useradd 命令创建Linux用户。

创建无home用户

$ sudo useradd music
$  cat /etc/passwd | grep music
 music:1002:1002::/home/music:/bin/sh
$ ls /home/
 lost+found  movie  songguoya

上面"sudo useradd music"这条命令,创建了一个名为music的用户,同时创建了一个名为music的私有组。但是,并没有为music用户创建home目录,虽然passwd中记录了"/home/music"。

创建有home用户

sudo useradd movie -m -s /bin/bash -g songguoya
  • “-m”创建一个带有家目录,这样/home/movie生成,并且从/etc/skel拷贝过同个配置文件,并且创建"文档、图片、下载"等目录。(英文版是document、picture、download等等)
  • “-s”可以登录 bash 的用户。如果没有用这个参数,默认是“/bin/sh”。这是一个链接文件,指向dash或bash,具体是哪个,由系统的环境配置决定。所以我认为,不用这个“-s”参数指定反而比较好,除非你一定想用哪个shell环境(bash或dash)。
  • "-g songguoya" 把这个用户创建到songguoya用户组。

创建时指定home目录

$ sudo useradd -m -d /home/mytest user_test

上面这个创建了user_test用户,且指定/home/mytest为其home目录。

创建没有home目录且不能登录的用户,

$ sudo useradd -s /sbin/nologin nologin_uer
12 删除用户

接上面的例子:

$userdel nologin_uer
$userdel user_test

对于“nologin_uer”这个不需要登录Linux,且无home的用户,“userdel nologin_uer”就可以彻底删除了。

但是对于有home的用户"user_test",“userdel user_test”删除这个用户之后,只是除了名,但它的家"/home/mytest"尚在,下面的还有一些子目录和文件,因此,要进一步删除这些东西,斩草除根才行。

rm -rf /home/mytest
13 用新创建的用户登录ubuntu

创建有home的用户,且登录shell是bash或dash,这种用户就可以在重启系统时登录。

但是,“sudo useradd movie -m -s /bin/bash -g songguoya”后能真正的用movie用户登录吗?肯定是不可能,因为还少了一步,必须设置密码才可以。

$ sudo useradd movie -m -s /bin/bash -g songguoya
$ sudo passwd movie
    输入当前登录用户的密码:(我的当前是 songguoya)
    输入新密码:123456(指 movie的密码)
    校验新密码:123456

上图是创建有home用户后的重启login界面显示图,但是必须给movie用户设置密码后才能真正的登录。因为没有创建密码的账户,其密码是随机的,你不可能知道。

上面就是新用户,第一次login后的界面,感觉一切又回到了初始状态。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/334901.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号