用户和组管理类命令

用户和组管理类命令

useradd

useradd命令用于Linux中创建的新的系统用户

语法

    useradd(选项)(参数)

选项

    -c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
    -d<登入目录>:指定用户登入时的启始目录;
    -D:变更预设值;
    -e<有效期限>:指定帐号的有效期限;
    -f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
    -g<群组>:指定用户所属的群组;
    -G<群组>:指定用户所属的附加群组;
    -m:自动建立用户的登入目录;
    -M:不要自动建立用户的登入目录;
    -n:取消建立以用户名称为名的群组;
    -r:建立系统帐号;
    -s<shell>:指定用户登入后所使用的shell;
    -u<uid>:指定用户id。

参数

用户名:要创建的用户名

实例

  • 新建用户

    [root@localhost ~]#useradd centos
    [root@localhost ~]# id centos
    uid=1000(centos) gid=1000(centos) groups=1000(centos)
    
  • 新建用户加入组

    [root@localhost ~]# useradd test1 -g centos -G test,testuser //-g:加入主要组、-G:加入次要组
    [root@localhost ~]# id test1
    uid=1004(test1) gid=1000(centos) groups=1000(centos),1001(test),1002(testuser)
    
  • 新建用户,并制定设置ID

    [root@localhost ~]# useradd test2 -u 567
    [root@localhost ~]# id test2
    uid=567(test2) gid=1004(test2) groups=1004(test2)
    

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


userdel

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

语法 userdel(选项)(参数)

选项

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

参数

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

实例

    userdel test1  //删除用户test1,但不删除其家目录及文件;
    userdel -r test2 //删除用户test2,其家目录及文件一并删除;

usermod

usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。

语法

    usermod(选项)(参数)

选项

    -a:仅和-G一起使用,将用户增加到附属群组
    -c<备注>:修改用户帐号的备注文字;
    -d<登入目录>:修改用户登入时的目录;
    -e<有效期限>:修改帐号的有效期限;
    -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
    -g<群组>:修改用户所属的群组;
    -G<群组>;修改用户所属的附加群组;
    -l<帐号名称>:修改用户帐号名称;
    -L:锁定用户密码,使密码无效;
    -s<shell>:修改用户登入后所使用的shell;
    -u<uid>:修改用户ID;
    -U:解除密码锁定。

参数

登录名:指定要修改信息的用户登录名。

实例

  • 将test1 的附属群组改为linux

    [root@localhost ~]# usermod -G linux test1
    [root@localhost ~]# id test1
    uid=1004(test1) gid=1000(centos) groups=1000(centos),1003(linux)
    
  • 将test1 增加附属群组testuser

    [root@localhost ~]# usermod -aG testuser test1
    [root@localhost ~]# id test1
    uid=1004(test1) gid=1000(centos) groups=1000(centos),1002(testuser),1003(linux)
    
  • 将test1 所属群组改为 test

    [root@localhost ~]# usermod -g test test1
    [root@localhost ~]# id test1
    uid=1004(test1) gid=1001(test) groups=1001(test),1002(testuser),1003(linux)
    
  • 将test1 用户名改为testusers

    [root@localhost ~]# usermod -l testusers test1      
    [root@localhost ~]# id testusers
    uid=1004(testusers) gid=1001(test) groups=1001(test),1002(testuser),1003(linux)
    [root@localhost ~]# 
    
  • 锁定账号,使其密码无效

    usermod -L testusers
    
  • 解锁账号

    usermod -U testusers
    

groupadd

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

语法

    groupadd(选项)(参数)

选项

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

参数

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

实例

新建一个组,并设置组ID

    [root@localhost ~]# groupadd -g 1234 testgroup
    [root@localhost ~]# cat /etc/group | grep "testgroup"
    testgroup:x:1234:

groupdel

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

语法

groupdel(参数)

参数

组:要删除的工作组名。

实例

    root@localhost ~]# groupdel testgroup
    [root@localhost ~]# cat /etc/group | grep "testgroup"

groupmod

语法

    groupmod(选项)(参数)

选项

    -g<群组识别码>:设置欲使用的群组识别码;
    -o:重复使用群组识别码;
    -n<新群组名称>:设置欲使用的群组名称。

参数

组名:指定要修改的工作的组名。


综合实例

  • 创建组distro,其GID为2016;

    [root@localhost ~]# groupadd distro -g 2016
    [root@localhost ~]# cat /etc/group  | grep "distro"
    distro:x:2016:
    
  • 创建用户mandriva, 其ID号为1005;基本组为distro;

    [root@localhost ~]# useradd mandriva -u 1005 -g distro
    [root@localhost ~]# id mandriva
    uid=1005(mandriva) gid=2016(distro) groups=2016(distro)
    
  • 创建用户mageia,其ID号为1100,家目录为/home/linux;

    [root@localhost ~]# useradd mageia -u 1100 -d /home/linux
    [root@localhost ~]# cat /etc/passwd | grep "mageia"
    mageia:x:1100:1100::/home/linux:/bin/bash
    
  • 给用户mageia添加密码,密码为mageedu;

    [root@localhost ~]# echo "mageedu" | passwd --stdin mageia
    Changing password for user mageia.
    passwd: all authentication tokens updated successfully.
    
  • 删除mandriva,但保留其家目录;

    [root@localhost ~]# userdel mandriva
    
  • 创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

    [root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin
    [root@localhost ~]# id slackware
    uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin)
    
  • 修改slackware的默认shell为/bin/tcsh;

    [root@localhost ~]# usermod slackware -s /bin/tcsh
    [root@localhost ~]# cat /etc/passwd | grep "slackware"
    slackware:x:2002:2016::/home/slackware:/bin/tcsh
    
  • 为用户slackware新增附加组admins;

    [root@localhost ~]# usermod slackware -aG admins
    [root@localhost ~]# id slackware
    uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin),2018(admins)
    

chown

chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。

语法

chown(选项)(参数)

选项

-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quite或——silent:不显示错误信息;
-h或--no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件;
-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——version:显示指令执行过程;

参数

用户:组:指定所有者和所属工作组。当省略“:组”,仅改变文件所有者; 文件:指定要改变所有者和工作组的文件列表。支持多个文件和目标,支持shell通配符。

实例

修改/tmp/mytest1的文件夹及子目录

[root@localhost ~]# chown -R test:test /tmp/mytest1
[root@localhost ~]# ll /tmp | grep mytest1
drwxr-xr-x. 35 test test 4096 Mar 11 16:04 mytest1

id

id命令可以显示真实有效的用户ID(UID)和组ID(GID)。

语法

id(选项)(参数)

选项

-g或--group   显示用户所属主群组的ID。
-G或--groups   显示用户所属所有群组的ID。
-n或--name    显示用户,所属群组或附加群组的名称。
-r或--real    显示实际ID。
-u或--user    显示用户ID。

实例

  • 显示用户信息

    [root@localhost ~]# id test
    uid=1001(test) gid=1001(test) groups=1001(test),1003(linux)
    
  • 只显示用户uid

    [root@localhost ~]# id -u test
    1001    
    
  • 只显示用户gid

    [root@localhost ~]# id -g test
    1001
    
  • 显示用户所属所有群组的id

    [root@localhost ~]# id -G test
    1001 1003
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值