Linux系统命令接近400个,这么多的命令初学者不需要马上学习完整,我们主要学习几个常用的就好了,其他的在以后慢慢积累。
本小节主要学习如下命令:
首先要了解linux 下的两种帐号:
1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。
2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。
注意:超级用户的提示符是“#”,其他用户的提示符是“$”。利用 whoami 可以知道当前登录的用户账号是什么身份。
功能: su命令的作用是切换用户。
语法: su [用户名] ([]表示可选)
使用示例:
(1)Ubuntu登录超级用户
- junjia@junjia:/$ sudo passwd root //默认的超级用户没有设置密码,需要设置密码
- [sudo] password for junjia: //输入当前用户密码
- 输入新的 UNIX 密码: //输入root用户密码
- 重新输入新的 UNIX 密码: //再次输入root用户密码
- passwd:已成功更新密码
- junjia@junjia:/$ su root //切换到root用户
- 密码: //输入root密码
- root@junjia:/# //‘$’变成‘#’了
(2)两个用户间的切换
- root@junjia:/# su junjia //超级用户切换到普通用户不需要密码
- junjia@junjia:/$ su JUNJIA2 //普通用户之间的切换需要密码
- 密码:
- JUNJIA2@junjia:/$
在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创建用户如下
- root@junjia:/# useradd -d /home/lisi -p 123456 lisi
- root@junjia:/# su lisi
- lisi@junjia:/$
(2)adduser命令
使用adduser时,创建用户的过程更像是一种人机对话,系统会提示你输入各种信息,然后会根据这些信息帮你创建新用户。
adduser是一个perl脚本, 选项和useradd相同,可以交互式地设定一些用户参数。
如:adduser -m -d /usr/system -s /bin/bash -p passwd system
总结上来讲,在Ubuntu中,adduser更适合初级使用者,因为不用去记那些繁琐的参数选项,只要跟着系统的提示一步一步进行下去就行,缺点就是整个创建过程比较复杂而漫长;而useradd比较适合有些高阶经验的使用者,往往一行命令加参数就能解决很多问题,所以创建起来十分方便。
示例:使用adduser创建用户
- root@junjia:/# adduser zhangsan
- 正在添加用户"zhangsan"...
- 正在添加新组"zhangsan" (1002)...
- 正在添加新用户"zhangsan" (1002) 到组"zhangsan"...
- 创建主目录"/home/zhangsan"...
- 正在从"/etc/skel"复制文件...
- 输入新的 UNIX 密码:
- 重新输入新的 UNIX 密码:
- passwd:已成功更新密码
- 正在改变 zhangsan 的用户信息
- 请输入新值,或直接敲回车键以使用默认值
- 全名 []:
- 房间号码 []:
- 工作电话 []:
- 家庭电话 []:
- 其它 []:
- 这些信息是否正确? [Y/n] y
- root@junjia:/# su zhangsan
(3)查看用户,cat /etc/shadow
- root@junjia:/# cat /etc/shadow
- root:$6$zzUlrhTA$VX82YWjcDV/bvp2QcyvUzuBHyffmg0CVxZDwFejN1tPktqAkRn0ijS5aSylkEi4fixQPT4H0pompa51q8fqGv.:16815:0:99999:7:::
- daemon:*:16484:0:99999:7:::
- bin:*:16484:0:99999:7:::
- .....
- hplip:*:16484:0:99999:7:::
- pulse:*:16484:0:99999:7:::
- junjia:$6$dBGzM51o$vdnqnt6zjkLN2xu46FToESQO7SkseUHu1NffJyIYNqFHM9Y7qczh99j.Eck4VH3zcw12mGo71l3JGhes0tCzi/:16780:0:99999:7:::
- JUNJIA2:$6$9K7Kyy03$dx.f1YeQv/ht1Msj7DFBm4XgIgq7GXa0X6lab3wbxJ2KptKZEVFMJZj6bywfymF8UiV6.aTmXDvRq2rO9EQE40:16814:0:99999:7:::
- zhangsan:$6$Z9.YkhoF$Dbr12EKfkcMCDs279hLjtBejQ/BNpYvmKaTdoy3bq81XAPn8PpH6eo16Gqd5r4rTG4D83C6mr3qWIYfhDnJhb.:16815:0:99999:7:::
- lisi:123456:16815:0:99999:7:::
- root@junjia:/#
(4)删除用户userdel
终端方法:以下用newuser代替想要删除的用户账户
在root用户下:userdel -r newuser
在普通用户下:sudo userdel -r newuser
因为需要彻底删除用户,所以加上-r的选项,在删除用户的同时一起把这个用户的宿主目录和邮件目录删除。
例子:
root@junjia:/# userdel -r zhangsan
功能: 添加密码和修改密码。
语法: passwd [用户名]
说明: 出于系统安全考虑, Linux 系统中的每一个用户除了有其用户名外,还有其对应的用户密码。因此使用 useradd 命令增加用户时,还需使用 passwd 命令为每一位新增加的用户设置密码;用户以后还可以随时用 passwd命令改变自己的密码。
注意:只有超级用户可以使用“passwd 用户名”修改其他用户的密码,普通用户只能用不带参数的 passwd 命令修改自己的密码。
选取一个不易被破译的密码是很重要的,选取密码应遵守如下规则:密码应该至少有六位(最好是八位)字符。
例子:
- jia@jia-virtual-machine:~/桌面$ sudo passwd
- [sudo] jia 的密码:
- 新的 密码: # 提示下输入新的密码(在屏幕上看不到这个密码)
- 无效的密码: 密码未通过字典检查 - ????????????/?????????
- 重新输入新的 密码: # 系统提示再次输入这个新密码
- passwd:已成功更新密码
- jia@jia-virtual-machine:~/桌面$
输入正确后,这个新密码被加密并放入/etc/shadow 文件。
下一小节:查看进程状态命令ps、pwd、cd、ls、mkdir