一、用户账号与用户组的创建
1.用户与用户组的概念
Linux是一个多用户、多任务的服务器操作系统。
通过 权限的划分 来实现。
(1)Linux用户分为3钟角色:
超级用户:默认root。
普通用户:只能对自己目录下的文件进行访问和修改。
虚拟(伪)用户:不能登录系统,其存在价值是为了方便系统管理。例如:默认的bin, adm, nobody用户等。
(2)用户组:批量管理一组用户的权限。
2.系统文件
Linux系统中与用户管理相关的主要系统文件有/etc/passwd、/etc/shadow、/etc/group 和 /etc/gshadow。
(1)用户信息配置文件/etc/passwd
由7个字段构成:
用户名:口令:用户标识号(UID):用户组标识号(GID):注释性描述:用户主目录:命令解释器
(2)用户密码配置文件 /etc/shadow(只有root用户能读取)
由9个字段构成:
用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
(3)用户组配置文件/etc/group
由4个字段构成:
组名:组口令:组标识号(GID):组成员
(4)用户组密码配置文件/etc/gshadow(only root)
由4个字段构成:
组名:组口令:组的管理员账号:组成员
3.用户管理
主要包括:用户创建、用户信息修改、用户密码创建、用户删除。
(1)用useradd创建用户——xiaoming
//-d 指定用户主目录为:/var/xiaoming
//-g 用户组:root
//-c 加注释:101school
//-s 登录时使用的shell类型:/bin/sh
[root@localhost ~]# useradd -d /var/xiaoming -g root -c 101school -s /bin/sh xiaoming
//在passwd文件中查看新用户信息(最后一行)
[root@localhost ~]# tail -1 /etc/passwd
xiaoming:x:1003:0:101school:/var/xiaoming:/bin/sh
(2)用usermod修改用户属性
//-l:修改用户名为 lixiaoming
[root@localhost ~]# usermod -l lixiaoming xiaoming
//-d:修改主目录为 /var/lixiaoming xiaoming
[root@localhost ~]# usermod -d /var/lixiaoming lixiaoming
//-c:修改注释 neusoft
[root@localhost ~]# usermod -c neusoft lixiaoming
[root@localhost ~]# tail -1 /etc/passwd
lixiaoming:x:1003:0:neusoft:/var/lixiaoming:/bin/sh
(3)用userdel删除用户
[root@localhost ~]# userdel -r lixiaoming
userdel:未找到 lixiaoming 的主目录“/var/lixiaoming”
[root@localhost ~]# tail -1 /etc/passwd
mysql:x:1002:1002::/home/mysql:/sbin/nologin
4.用户组管理
即用户的集合,方便管理。
(1)用groupadd创建
//-r 是创建系统用户组
[root@localhost /]# groupadd student
(2)用groupmod修改
//-n 修改用户组名
[root@localhost /]# groupmod -n teacher student
(3)用groupdel删除
[root@localhost /]# groupdel teacher
注:删除用户组时,被删除的用户组不能是某个用户的主组
(4)用gpasswd维护组中成员
//-a 添加用户到组
[root@localhost /]# gpasswd -a bob teacher
//-A 设为组管理员
[root@localhost /]# gpasswd -A bob teacher
//-d 删除用户
[root@localhost /]# gpasswd -d bob teacher
5.其他
[root@localhost ~]# id freya //查看用户信息
uid=1000(freya) gid=1000(freya) 组=1000(freya),10(wheel)
[root@localhost ~]# groups freya //输出所在组
freya : freya wheel
[root@localhost ~]# whoami //查看当前登录用户
root
[root@localhost ~]# who am i
freya pts/0 2018-10-24 10:29 (:0)
[root@localhost ~]# w //查看当前用户
11:15:26 up 3:47, 2 users, load average: 0.06, 0.11, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
freya :0 :0 二09 ?xdm? 9:49 0.29s /usr/libexec/gn
freya pts/0 :0 10:29 6.00s 0.21s 4.34s /usr/libexec/gn
[root@localhost ~]# chsh -l //查看系统安装的shell类型,可使用chsh -s 类型 用户 修改用户shell类型
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
二、文件属性的读取与修改
1.文件属性
使用长格式查看目录信息:
文件属性由10个字母组成:
其中文件类型共有7种:
- d(directory):目录文件
- l(link):符号链接(指向另一个文件,类似windows的快捷方式)
- s(socket):套接字文件
- b(block):块设备文件,二进制文件
- c(character):字符设备文件
- p(pipe):管道文件
- -:普通文件
其中权限共有3种:r \ w \ x (可执行)
2.修改文件属性
(1)修改文件访问权限的chmod命令
-
绝对权限法(数字权限法)
用户权限是用rwx表示,则有权限用1表示,没有0,组成一个3位二进制编码再转换为十进制表示。例如:一文件权限为 rw- r-- r-- ,二进制:110 100 100,十进制:644
//修改test文件的权限为rw- r-- r--
chmod 644 test
- 相对权限法(字符权限法)
//对文件test的组用户添加写权限
chmod g+w test
其中 :u(文件所有者)、g(同组用户)、o(其他用户)、a(全体用户)
(2)修改文件所有者的chown命令(权限转让)
//将当前目录下的file文件的所有者修改为tom,所属组修改为tup
chown tom.sup file
(3)提升用户权限
//切换到tom用户
su - tom
同时可以再命令前加 sudo 来强制执行。