• Linux命令大全


    useradd命令

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

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

    语法

    useradd(选项)(参数)

    选项

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

    参数

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

    实例

    新建用户加入组:

    useradd –g sales jack –G company,employees    //-g:加入主要组、-G:加入次要组

    建立一个新用户账户,并设置ID:

    useradd caojh -u 544

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

    groupadd命令

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

    语法

    groupadd(选项)(参数)

    选项

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

    参数

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

    实例

    建立一个新组,并设置组ID加入系统:

    groupadd -g 344 linuxde

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

    id命令

    d命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。id命令已经默认预装在大多数Linux系统中。要使用它,只需要在你的控制台输入id。不带选项输入id会显示如下。结果会使用活跃用户。

    当我们想知道某个用户的UID和GID时id命令是非常有用的。一些程序可能需要UID/GID来运行。id使我们更加容易地找出用户的UID以GID而不必在/etc/group文件中搜寻。如往常一样,你可以在控制台输入man id进入id的手册页来获取更多的详情。

    语法

    id [-gGnru][--help][--version][用户名称]

    选项

    -g或--group   显示用户所属群组的ID。
    -G或--groups   显示用户所属附加群组的ID。
    -n或--name    显示用户,所属群组或附加群组的名称。
    -r或--real    显示实际ID。
    -u或--user    显示用户ID。
    -help         显示帮助。
    -version      显示版本信息。

    实例

    [root@localhost ~]# id
    uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

    解释:用户root的UID号码 = 0,GID号码 = 0。用户root是下面组的成员:

    • root组GID号是:0
    • bin组GID号是:1
    • daemon组GID号是:2
    • sys组GID号是:3
    • adm组GID号是:4
    • disk组GID号是:6
    • wheel组GID号是:10

    打印用户名、UID 和该用户所属的所有组,要这么做,我们可以使用 -a 选项:

    [root@localhost ~]# id -a
    uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

    输出所有不同的组ID ,有效的,真实的和补充的,我们可以使用 -G 选项来实现:

    [root@localhost ~]# id -G
    0 1 2 3 4 6 10

    结果只会显示GID号。你可以和/etc/group文件比较。下面是/etc/group文件的示例内容:

    只输出有效的组ID,通过使用 -g 选项来只输出有效组ID:

    [root@localhost ~]# id -g
    0

    输出特定用户信息,我们可以输出特定的用户信息相关的UID和GID。只需要在id命令后跟上用户名:

    [root@localhost ~]# id www
    uid=500(www) gid=500(www) groups=500(www)

    passwd命令

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

    语法

    passwd(选项)(参数)

    选项

    -d:删除密码,仅有系统管理者才能使用;
    -f:强制执行;
    -k:设置只有在密码过期失效后,方能更新;
    -l:锁住密码;
    -s:列出密码的相关信息,仅有系统管理者才能使用;
    -u:解开已上锁的帐号。

    参数

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

    知识扩展

    与用户、组账户信息相关的文件

    存放用户信息:

    /etc/passwd
    /etc/shadow

    存放组信息:

    /etc/group
    /etc/gshadow

    用户信息文件分析(每项用:隔开)

    例如:jack:X:503:504:::/home/jack/:/bin/bash
    jack  //用户名
    X  //口令、密码
    503  //用户id(0代表root、普通新建用户从500开始)
    504  //所在组
    :  //描述
    /home/jack/  //用户主目录
    /bin/bash  //用户缺省Shell

    组信息文件分析

    例如:jack:$!$:???:13801:0:99999:7:*:*:
    jack  //组名
    $!$  //被加密的口令
    13801  //创建日期与今天相隔的天数
    0  //口令最短位数
    99999  //用户口令
    7  //到7天时提醒
    *  //禁用天数
    *  //过期天数

    实例

    如果是普通用户执行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
    Changing 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.                         //空密码,也就是没有密码;

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

    CentOS关机命令:
    重启命令
    reboot
    shutdown -r now 立刻重启
    shutdown -r 10 过10分钟自动重启
    shutdown -r 20:35 在时间为20:35时候重启
    shutdown -c 取消重启
    关机命令
    halt
    poweroff 立刻关机
    shutdown -h now 立刻关机
    shutdown -h 10 10分钟后自动关机
  • 相关阅读:
    C++笔记-智能指针 shared_ptr
    Linux笔记-性能调优工具perf
    git submodule 如何push代码
    性能测试工具gperftools使用
    Linux信号使用及自定义信号
    DNN在推荐系统中的应用参考资料
    vscode远程代码同步
    感知机模型到DNN模型
    c++笔记-libcurl多线程并发时的core【转载】
    go笔记-熔断器
  • 原文地址:https://www.cnblogs.com/lenther2002/p/9371441.html
Copyright © 2020-2023  润新知