用户&组
linux是一个多用户多任务的分时操作系统。每一个用户账号都有唯一的用户名和密码。对于这些用户账号的管理,主要有如下一些命令:
whoami
whoami //查看当前登陆用户
用户账号的增、删、改
1、useradd
useradd [options] LOGIN //增加用户
options
- -c:对创建的用户的一个简短描述
- -d:指定一个用户的主目录
- -m:创建一个用户主目录
- -g:指定用户的所属组
- -G:指定用户的附加组
- -s:指定用户登录shell的名称
- LOGIN:新账号的登录名
2、userdel
userdel [options] LOGIN //删除用户
options
- -r:将用户的主目录一起删除
3、usermod
usermod [options] LOGIN //修改用户名
options
- -a:将用户添加到补充组
- -c:添加一个简短描述
- -l:将原来的用户名改为新的用户名
用户密码管理
/etc/passwd文件是系统能够识别的用户清单;用户登录时,系统会查询这个文件,确定用户的UID并验证用户口令
/etc/group文件是包含了UNIX组的名称和每个组中成员列表
passwd
passwd [options] [LOGIN] //设置用户密码
options
- 默认修改当前用户的密码
- -d:删除用户密码
- -u:锁定指定用户的密码,使其不能登录
- 普通用户修改自己密码时,需要原密码;使用root用户时,不需要知道原密码
用户组管理
groupadd
groupadd [options] group //添加用户组
options
- -g:GID 指定新用户组的组ID
- -h:显示帮助信息
- -r:创建一个系统组
groupdel
groupdel [options] GROUP //删除用户组
groupmod
groupmod [options] GROUP //修改用户组属性
newgrp
newgrp [-] [group] //用户组切换
相关文件
/etc/passwd
每个用户在该文件中都有对应的一行,用来记录该用户的基本属性,文本中每个字段由:分隔开,共7个字段,其格式和含义如下:
用户名:密码(加密后):用户标识号:组标识号:注释性描述:主目录:登录Shell
用户标识号:0->root 1~99->系统保留,管理账户 取值0~65535
伪用户(管理账户):
- bin 拥有可执行的用户命令文件
- sys 拥有系统文件
- adm 拥有帐户文件
- uucp UUCP使用
- lp lp或lpd子系统使用
- nobody NFS使用
-
/etc/shadow
文件,用于存储 Linux 系统中用户的密码信息,只有root
用户可读,文本中每个字段由:分隔开,共9个字段,其格式和含义如下:
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
最后一次修改时间:返回自1970-1-1起的天数。
最小修改时间间隔:指定密码多长时间不可修改
密码有效期:默认99999
密码需要变更前的警告天数:过期前几天提示用户该修改密码
忘记密码的可以使用root
用户登录,使用passwd
命令设置新的密码 -
/etc/group
存放用户组信息,文本中每个字段由:分隔开,共4个字段,其格式和含义如下:
组名:密码:组标识号:组内用户列表
批量添加文件
编辑文本用户文件
书写格式按照/etc/passwd
中的格式,注意用户名、用户ID、主目录均不相同,举例如下newusers.txt:
user1::300:100:user:/home/user1:/bin/bash
user2::301:100:user:/home/user2:/bin/bash
user3::302:100:user:/home/user3:/bin/bash
user4::303:100:user:/home/user4:/bin/bash
user5::304:100:user:/home/user5:/bin/bash
执行命令newusers,创建用户
# newusers < newusers.txt
可通过查看/etc/passwd
是否出现这些新用户,并查看每个新用户的主目录是否创建
执行命令pwunconv
# pwunconv
该命令可以将用户密码用shadow中,重新存回到passwd中
编辑一个密码对照文件
格式为用户名:密码
,保存为password.txt
user1:123456
user2:123456
user3:123456
user4:123456
user5:123456
user6:123456
使用chpasswd命令写入密码
# chpasswd < passwd.txt
确认结果
使用pwconv
将 /etc/passwd
中密码重新映射到/etc/shadow
中
# pwconv
#磁盘管理
mount
mount [-fnrsvw] [-t fstype] [-o options] device dir
- -t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
- -o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
- device 要挂接(mount)的设备。
- dir设备在系统上的挂接点(mount point)。
- 挂接镜像文件
- 从光盘制作光盘镜像文件。
#cp /dev/cdrom /home/username/mydisk.iso
#dd if=/dev/cdrom of=/home/username/mydisk.iso
- 文件和目录制作成光盘镜像文件
#mkisofs -r -J -V mydisk -o /home/username/mydisk.iso /home/username/ mydir
这条命令将/home/sunky/mydir
目录下所有的目录和文件制作成光盘镜像文件/home/sunky/mydisk.iso
,光盘卷标为:mydisk
- 光盘镜像文件的挂接(mount)
#mkdir /mnt/vcdrom
建立一个目录用来作挂接点(mount point)
#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
使用/mnt/vcdrom
就可以访问盘镜像文件mydisk.iso里的所有文件了。 - 挂载U盘
- 检测存储设备名称
sudo fdisk -l
- 挂载存储设备sdb1到挂载点/mnt目录
sudo mount /dev/sdb1/mnt
- 访问
/mnt
- 卸载
/mnt
sudo umount /mnt
umount
umount [-dflnrv] {directory|device}...
dd
dd [OPERAND]...
- 拷贝光碟(注意,光碟是标准的 iso9660格式)
dd if=/dev/cdrom of=cdrom.iso
- 例2:将文件sfile拷贝到文件 dfile中。
$ dd if=sfile of=dfile
- 例3:创建一个100M的空文件
/dev/null
,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
/dev/zero
,是一个输入设备,你可用它来初始化文件,从里面读出来的数据都是0。
dd if=/dev/zero of=hello.txt bs=100M count=1
df
df [OPTION]... [FILE]... //检查文件系统的磁盘空间占用情况
options
- -a :列出所有的文件系统
- -k :以 KBytes 的容量显示各文件系统
- -m :以 MBytes 的容量显示各文件系统
- -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
- -H :以 M=1000K 取代 M=1024K 的进位方式
- -T :显示文件系统类型
- -i :不用硬盘容量,而以 inode 的数量来显示
du
du [OPTION]... [FILE]... //显示目录或文件的大小
options
- -a:显示目录中个别文件的大小。
- -b:显示目录或文件大小时,以byte为单位
- -L:显示选项中所指定符号连接的源文件大小
- -l: 重复计算硬件连接的文件
- -k :以 KBytes 的容量显示各文件系统
- -m :以 MBytes 的容量显示各文件系统
- -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
- -H :以 M=1000K 取代 M=1024K 的进位方式
- -help 显示帮助。
- -version 显示版本信息
fdisk
fdisk [options] device
options
- -l :输出后面接的装置所有的分区内容
学习笔记持续更新,公众号记录: