ubuntu中的用户及分组


1.ubuntu中的用户分类
 (1)超级管理员
       用root表示,拥有最高的权限,在ubuntu默认下,root用户是不能登录的,如果一定要以 root登录,可以执行以下命令:
 $ sudo passwd root
   enter new unix password:*******
   retype new unix password:*******
注:
    在实际操作着中是没有*号的显示的
 (2)安装时创建的系统用户
    此用户创建时被添加到admin组中,在admin组中的用户是可以使用sudo命令来执行只有root用户才能执行的命令,如果不使用sudo命令,它只相当于普通用户

 (3)普通用户
          此类用户由前两类用户建立,只能执行普通的操作,如果需要远程登录时都是以此类用户登录

2.用户的添加与删除
    使用useradd命令添加用户

useradd选项    含义
-u    指定用户的UID
-g    当用户被建立后默认所属的组,此组应该存在
-G    用户建立的同时将其加入到此参数指定的组中
-d    指定用户的主目录
-s    指定用户的登录shell
-m    强制建立用户的主目录

现在添加一个用户user1,则可以这样运行:
    $ sudo useradd user1
      这个命令直接将用户user1添加到/etc/passwd文件中,并在文件的末尾添加一行关于此用户的信息,当然此时user1用户必须要设定密码才能够激活并登录,设定密码如下:
    $ sudo passwd user1
         password:******
         enter new unix password:******

        此时user1用户就可以登录了,在默认情况下,如果useradd命令没有使用任何参数的话,那么此用户的UID是从1001开始的(应该是从1000开始,此UID已经被赋予了安装是的用户了),并且被添加到users组里,并且不会建立自己的主目录,即此用户如果登录就直接进入/目录下,而不是进入自己的目录中,
       如果想要建立一个用户hxl并且将其UID指定为1100,设置默认组为lyp,并且添加到root组中,强制建立其主目录,可以进行如下操作:
$ sudo useradd -u 1100 -g lyp -G root -d /home/lyp hxl

     可以通过useradd -D 命令查看useradd命令的默认参数

删除用户:
              $ userdel -r 用户名
说明:
       -r选项的作用是在删除用户的同时将其主目录和系统内的与其有关的内容删除

3.用户主目录

        用户主目录又称家目录,对于每个用户而言,成功登录后所进入的目录就是其主目录。在一般情况下,/home目录中保存了普通用户的主目录,并名称和普通用户名相同,对于root来说,由于其权限较大,所以其目录为/root目录,在此目录中,保存用户相关的配置文件,当用户登录后就会读取这些配置文件来进行其环境的设定。

4.用户相关的文件目录
       (1)/etc/default/useradd文件
            该文件设定了使用useradd命令的默认参数,参数如下:
GROUP=100:设定了默认添加用户的组GID
HOME=/home:设定了如果没有指定用户主目录时用户默认的主目录
INACTIVE=-1:密码过期时间
EXPIRE=:用户帐号失效时间
SHELL=/bin/sh:用户默认的shell
SKEL=/etc/skel:建立用户时会将此目录的所有内容复制到用户主目录中
CREATE_MAIL_SPOOL=yes:是否建立以用户名命名的邮箱以接收用户邮件
     (2)/etc/skel目录
       在建立一个用户后,在此用户主目录下使用“ls -l”命令查看的时候发现已经有一些问价了,而他们就是从/etc/skel目录中复制而来的。
   
5./etc/passwd 密码文件

       该文件的权限是644,属主和属组都是root,普通用户无权更改文件,该文件以行为单位,每行记录一个用户信息,每行分为7列,每列用冒号隔开。

列数    描述    解释
1    用户名    必须唯一且区分大小写
2    密码    此处密码为“*”,真正的密码保存在/etc/shadow文件中
3    UID    对于普通用户而言,从1000开始,管理员root的UID为0
4    GID    组ID默认从1000开始
5    用户的描述    在此可以添加对用户的注释
6    用户的主目录    记录用户的主目录
7    执行的程序    当用户登录后执行的第一个程序,大多情况下是在这里是用户登录shell

6./etc/shadow 影子密码文件

       该文件只有管理员root才能查看,它的每一行记录一个用户的有关信息,分为9列,每一列用冒号隔开。
①用户名:此列与/etc/passwd文件的第一列相同
②密码:此处显示为乱码,改密码为加密后的密码
③最近一次修改密码的时间:此处是从1970.1.1开始计算的,单位是天
④多长时间才可以修改密码:指定用户多长时间可以修改密码
⑤多长时间必须修改密码:指定在规定时间内必须修改密码
⑥修改密码提前警告时间:如果快到修改密码的时间了,提前多长时间通知用户
⑦宽限时间:在过了修改密码的时间二没有修改,可以根据此栏的时间给定一个宽限时间,在此时间段内用户可以进行登录修改密码,如果还没有修改,那么用户就会被禁用
⑧用户帐号禁用时间:此用户彻底被禁用的时间,到了该时间后该用户将会被彻底禁用
⑨备用栏:主要是留给以后新加功能使用

7.添加批量帐号
(1)先编辑一个文本用户文件如lyp.txt,每列按照/etc/passwd密码文件的格式书写,注意每个用户名,UID,主目录都不可以相同,列之间用冒号隔开
(2)以root身份执行命令/usr/sbin/newuser,从刚建立的用户文件lyp.txt导入数据,建立用户
           $ sudo newusers <  lyp.txt
(3)执行命令/usr/sbin/pwunconv,将/etc/shadow产生的shadow密码解码,然后回写到/etc/passwd中,并将/etc/shadow的shadow密码栏删掉,这是为了下一步的密码转换工作,即先取消shadow password功能
              $ sudo pwunconv
(4)编辑每个用户的密码对照文件如password.txt,每行两列分别是用户名和密码,用冒号隔开
(5)以root身份运行命令/usr/sbin/chpasswd建立用户密码,chpasswd会将经过/usr/bin/passwd指令编码过的密码写入/etc/passeord的密码栏
      $ sudo chpasswd < password.txt
(6)确定密码经过编码写入/etc/passwd的密码栏后,执行命令/usr/bin
/pwconv将密码编码为shadow password,并将结果写入/etc/shadow
       $ sudo pwconv

7.组管理
   ubuntu默认情况下,有admin组,该组成员可以使用sudo命令执行管理员才能执行的命令;有users组,该组GID为1000,添加的用户都默认加到该组中。
(1)组的添加与删除
    添加: $ sudo groupadd 组名
注:组的GID默认情况下,是从1000开始的,要想指定GID 使用-g 选项$ sudo -g GID 组名
 
    删除:$ sudo groupdel 组名

(2)组相关文件
     组的信息保存在/etc/group中,它以行为单位,每行为一个组,每行又分为4列,每列间用冒号隔开
①组名:组名的命名规则跟用户名相同
②组密码:可以设密码也可以不设
③GID:组的ID
④组成员:一个组中有多个组员,每个成员之间用逗号隔开

(3)有效组与默认组及相互转换
    要想把一个用户加入到一个特定的组,可以直接打开/etc/group文件,然后在该组所在的行的第四列将该用户加进去

8.用户信息修改
(1)使用usermod修改用户信息
①-d 主目录路径:修改用户的主目录信息
②-c 用户信息:修改用户的描述信息
③-u 数字:修改用户的UID
④-g 组名:修改用户的默认组,但后面的组名必须是已经存在的组
⑤ -G 组名:将用户加入到指定的组
⑥ -L 用户名: 禁止用户登录,使用此选项可以禁止一个用户登录
⑦ -U 用户名:可以将一个禁止的用户恢复可登录
⑧-I 新用户名  原用户名:改名

(2)使用groupmod修改组信息
①-g  GID:修改GID
②-n 新组名 老组名:修改组的名

9.查看用户信息
   id命令可以查看用户的UID,GID及其所在的组等信息
   groups命令能够查看用户一共属于那些组,其中第一个为有效组

     w,who,last这三个命令都可以对当前已经的登录的用户的信息进行查询,只是详细程度不一样

10.身份切换
(1)su命令
   su命令使用是需要输入对方的密码
     格式:$ su [-c] 用户名
注意:
      如果只是使用su命令的时候,那么只是用户的身份暂时切换成对方而已,很对原用户的环境变量并没有发生变化,如果想要将用户的环境变量也改变需要加上“-”,$ su – 用户名
     -c参数只是临时使用某个身份执行一个命令而已,就不必进行切换,此时使用-c参数

(2)sudo命令
      sudo命令可以允许指定用户输入自己的密码就可以执行一些指定的操作
     格式: $ sudo [-u 用户名]  操作
如果不使用“-u 用户名”参数的话,默认是root用户                                                                                                                                                                                                                                                                 
 

   sudo命令执行时,它会读取/etc/sudoers文件,这个文件里面列出了可以使用sudo命令的用户和他们所能执行的命令。



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值