目录
一、用户常用操作
【1】添加用户
-d 目录 指定用户主目录,如果目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的主用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。有一个特殊的shell程序叫nologin,如果某帐号使用此shell,就表示用户不允许登录,该用户通常成为伪用户。
-u 用户号 指定用户的用户号,默认Linux会自动分配在(500-65535)之间
useradd zhangsan
useradd -g root -G tape -u 605 tom 指定主组为root,附加组为tap,用户id为605
【2】查看用户信息
id username
id tom
【3】查看所有用户
cat /etc/passwd
vim /etc/passwd
【4】修改普通用户密码
passwd zhangsan
然后输入密码以及确认密码
补充:
- 添加用户之后,最好修改用户密码,否则将不能登录该用户,默认该用户将不会有密码,意味着从外面永远登不上该用户
- root用户,修改密码可以不遵守密码策略。
- 普通账户修改密码时,必须满足密码安全策略。
【5】删除用户
userdel -r zhangsan
【6】切换用户
su zhangsan
二、组常用操作
【1】添加组
-g 指定新用户组的GID
-o 通常与-g同时使用,使新用户组可以使用系统已有的组ID系统。系统底层会将两个GID相同用户组识别为同一个用户组,这样做的目的是让两个用户组的权限相同。识别规则,后者遵循前者。
groupadd group1
【2】查看组
cat /etc/group
【3】修改组
-g 修改用户组的组ID
-n 用来修改组的组名 groupmod -n newname oldname
groupmod -g 102 tom
groupmod -n tom cat
【4】删除组
groupdel groupName
groupdel tom
补充:如果删除的用户组,已经被用户追加为附加组,对应的所有用户的该附件组会被撤销掉。
如果被删除的用户组,已经被用户指定为主组,则该用户组无法被删除。
三、权限操作
(1)逻辑权限
【1】逻辑权限是指,每个文件前的执行权限。
在Linux系统中,所有的文件和目录都可以设置权限。(Linux中有万物皆文件这一说法)
每个文件前面都有权限表示
以drwxr-xr-x.为例讲解
第1位表示,该文件是文件还是目录 d为目录,-为文件
第一组:2-4位表示,该文件对本用户的权限 r:读 (4) w:写(2) x:可执行(1)
第二组:5-7位表示,该文件对用户组的权限 r:读 (4) w:写(2) x:可执行(1)
第三组:8-10位表示,该文件对其他用户的权限 r:读 (4) w:写(2) x:可执行(1)
【2】设置逻辑权限
修改权限:chmod [选项] 权限大小 文件名称
-R 表示递归处理,处理文件夹所有文件的权限。
权限大小可以通过 +w、+r、+x进行设置,使用这种方法设置的是三组的权限,不能单独设置某一组的权限
通过 数字 进行设置,可以单独设置每一组的特定的权限。
chmod +x demo d--x--x--x.
chmod 770 demo drwxrwx---
【3】修改文件所有者或者所属组
chown 所有者 : 属组 文件名 改变文件的所属者和属组
chown : 属组 文件名 只改变用户的属组
chmod :root demo 修改属组为root
(2)物理权限
修饰某个文件/夹不允许被修改。注意:不能给/ /tmp /dev /var 加保护,即便是root,也不是随意就能删除
【1】设置物理权限
chattr [选项] file/dir
-i 表示不能以任何方式进行文件/夹的修改,增加,删除
-a 表示文件/夹只能追加,不能修改,删除
-R 递归处理
chattr +i demo 设置demo文件不能被修改,增加,删除
chattr -i demo 取消demo文件的i权限
通常情况,日志文件用 a 属性。如果是配置文件用 i 的属性。
【2】查看物理权限
lsattr 文件名称
lsattr demo
四、sudo操作
它可以让普通用户执行root的权限。sudo可以限制用户执行部分root的权限。
【1】sudo操作的好处:
- 使用自己配置好的用户环境
- 不需要知道root密码,保证root的密码安全
- 可以限制用户执行有限的root权限
- sudo执行的每条命令都会被记录,便于日后的日志审计,例如用户执行过高危操作命令。
【2】sudoers文件配置
vim /etc/sudoers 编辑sudoers文件
在文件中添加
Defaults logfile = /home/log.txt 表示日志储存位置
tom ALL=(ALL) ALL 表示tom拥有和root一样的权限
【3】执行shell
执行命令之后,只需要 sudo +命令 即可执行比自己权限高的命令。