• 第1章 Linux基础知识 -- 掌握linux常用命令(1)


    1.4 linux常用命令

            Linux系统命令接近400个,这么多的命令初学者不需要马上学习完整,我们主要学习几个常用的就好了,其他的在以后慢慢积累。

            本小节主要学习如下命令:

    1.4.1 su -- 用户切换

    首先要了解linux 下的两种帐号:

            1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。

            2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。

            注意:超级用户的提示符是“#”,其他用户的提示符是“$”。利用 whoami 可以知道当前登录的用户账号是什么身份。

            功能: su命令的作用是切换用户。

            语法: su [用户名] ([]表示可选)

            使用示例:

    (1)Ubuntu登录超级用户

    1. junjia@junjia:/$ sudo passwd root //默认的超级用户没有设置密码,需要设置密码
    2. [sudo] password for junjia: //输入当前用户密码
    3. 输入新的 UNIX 密码: //输入root用户密码
    4. 重新输入新的 UNIX 密码: //再次输入root用户密码
    5. passwd:已成功更新密码
    6. junjia@junjia:/$ su root //切换到root用户
    7. 密码: //输入root密码
    8. root@junjia:/# //‘$’变成‘#’了

    (2)两个用户间的切换

    1. root@junjia:/# su junjia //超级用户切换到普通用户不需要密码
    2. junjia@junjia:/$ su JUNJIA2 //普通用户之间的切换需要密码
    3. 密码:
    4. JUNJIA2@junjia:/$

    1.4.2 useradd、adduser和userdel -- 添加用户

            在Ubuntu中创建新用户,通常会用到两个命令:useradd和adduser,虽然作用一样,但用法却不尽相同。

            (1)useradd命令

            useradd如果后面不添加任何参数选项,创建出来的用户将是默认“三无”用户:一无Home Directory,二无密码,三无系统Shell。

            例如sudo useradd test,会添加用户名,并创建和用户名相同的组名,但它并不在/home目录下创建基于用户名的目录,也不提示创建新的密码。

            useradd可加选项增加更改的功能如下:

    -b, –base-dir BASE_DIR

    指定home目录的base目录

    -d, –home-dir HOME_DIR

    指定home目录

    -g, –gid GROUP

    指定gid

    -l, –no-log-init

    不要把用户添加到lastlog和failog中, 这个用户的登录记录不需要记载

    -M, –no-create-home

    不要建立home目录

    -p, –password PASSWORD

    指定新用户的密码

    -r, –system

    建立一个系统帐号

    -s, –shell SHELL

    指定shell

            例子:通常使用useradd创建用户如下

    1. root@junjia:/# useradd -d /home/lisi -p 123456 lisi
    2. root@junjia:/# su lisi
    3. lisi@junjia:/$

            (2)adduser命令

            使用adduser时,创建用户的过程更像是一种人机对话,系统会提示你输入各种信息,然后会根据这些信息帮你创建新用户。

            adduser是一个perl脚本, 选项和useradd相同,可以交互式地设定一些用户参数。

            如:adduser -m -d /usr/system -s /bin/bash -p passwd system

            总结上来讲,在Ubuntu中,adduser更适合初级使用者,因为不用去记那些繁琐的参数选项,只要跟着系统的提示一步一步进行下去就行,缺点就是整个创建过程比较复杂而漫长;而useradd比较适合有些高阶经验的使用者,往往一行命令加参数就能解决很多问题,所以创建起来十分方便。

            示例:使用adduser创建用户

    1. root@junjia:/# adduser zhangsan
    2. 正在添加用户"zhangsan"...
    3. 正在添加新组"zhangsan" (1002)...
    4. 正在添加新用户"zhangsan" (1002) 到组"zhangsan"...
    5. 创建主目录"/home/zhangsan"...
    6. 正在从"/etc/skel"复制文件...
    7. 输入新的 UNIX 密码:
    8. 重新输入新的 UNIX 密码:
    9. passwd:已成功更新密码
    10. 正在改变 zhangsan 的用户信息
    11. 请输入新值,或直接敲回车键以使用默认值
    12. 全名 []:
    13. 房间号码 []:
    14. 工作电话 []:
    15. 家庭电话 []:
    16. 其它 []:
    17. 这些信息是否正确? [Y/n] y
    18. root@junjia:/# su zhangsan

            (3)查看用户,cat /etc/shadow

    1. root@junjia:/# cat /etc/shadow
    2. root:$6$zzUlrhTA$VX82YWjcDV/bvp2QcyvUzuBHyffmg0CVxZDwFejN1tPktqAkRn0ijS5aSylkEi4fixQPT4H0pompa51q8fqGv.:16815:0:99999:7:::
    3. daemon:*:16484:0:99999:7:::
    4. bin:*:16484:0:99999:7:::
    5. .....
    6. hplip:*:16484:0:99999:7:::
    7. pulse:*:16484:0:99999:7:::
    8. junjia:$6$dBGzM51o$vdnqnt6zjkLN2xu46FToESQO7SkseUHu1NffJyIYNqFHM9Y7qczh99j.Eck4VH3zcw12mGo71l3JGhes0tCzi/:16780:0:99999:7:::
    9. JUNJIA2:$6$9K7Kyy03$dx.f1YeQv/ht1Msj7DFBm4XgIgq7GXa0X6lab3wbxJ2KptKZEVFMJZj6bywfymF8UiV6.aTmXDvRq2rO9EQE40:16814:0:99999:7:::
    10. zhangsan:$6$Z9.YkhoF$Dbr12EKfkcMCDs279hLjtBejQ/BNpYvmKaTdoy3bq81XAPn8PpH6eo16Gqd5r4rTG4D83C6mr3qWIYfhDnJhb.:16815:0:99999:7:::
    11. lisi:123456:16815:0:99999:7:::
    12. root@junjia:/#

            (4)删除用户userdel

            终端方法:以下用newuser代替想要删除的用户账户

            在root用户下:userdel -r newuser

            在普通用户下:sudo userdel -r newuser

            因为需要彻底删除用户,所以加上-r的选项,在删除用户的同时一起把这个用户的宿主目录和邮件目录删除。

            例子:

    root@junjia:/# userdel -r zhangsan

    1.4.3 passwd -- 修改密码命令

            功能: 添加密码和修改密码。

            语法: passwd [用户名]

            说明: 出于系统安全考虑, Linux 系统中的每一个用户除了有其用户名外,还有其对应的用户密码。因此使用 useradd 命令增加用户时,还需使用 passwd 命令为每一位新增加的用户设置密码;用户以后还可以随时用 passwd命令改变自己的密码。

            注意:只有超级用户可以使用“passwd 用户名”修改其他用户的密码,普通用户只能用不带参数的 passwd 命令修改自己的密码。

            选取一个不易被破译的密码是很重要的,选取密码应遵守如下规则:密码应该至少有六位(最好是八位)字符。

            例子:

    1. jia@jia-virtual-machine:~/桌面$ sudo passwd
    2. [sudo] jia 的密码:
    3. 新的 密码: # 提示下输入新的密码(在屏幕上看不到这个密码)
    4. 无效的密码: 密码未通过字典检查 - ????????????/?????????
    5. 重新输入新的 密码: # 系统提示再次输入这个新密码
    6. passwd:已成功更新密码
    7. jia@jia-virtual-machine:~/桌面$

            输入正确后,这个新密码被加密并放入/etc/shadow 文件。

            下一小节:查看进程状态命令ps、pwd、cd、ls、mkdir

  • 相关阅读:
    go语言初学03 连接mysql
    Java笔记七(封装,继承与多态)
    如何深度自定义mybatis
    AI全栈大模型工程师(二)课程大纲
    算法训练营第50天|LeetCode 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II
    虚拟机和linux
    GAN实战笔记——第三章第一个GAN模型:生成手写数字
    第六章第二节:图的遍历(广度优先遍历和深度优先遍历)和应用(最小生成树、最短路径、有向无环图的描述表达式、拓扑排序、关键路径)
    Springboot 之整合(Druid数据库连接池、PageHelper实现分页、Redis缓存)
    SQL中:语法总结(group by,having ,distinct,top,order by,like等等)
  • 原文地址:https://blog.csdn.net/qq_21386397/article/details/128210417