您的位置:首页 > 运维架构 > Linux

Linux就该这么学(用户身份与文件权限)第5章

2020-06-22 23:11 120 查看

用户操作

useradd 命令(第118页)

格式: useradd [选项] 用户名

选项 解释
-d 指定用户的家目录(默认为/home/username) -e 账户的到期时间,格式为 YYYY-MM-DD.
-u 指定该用户的默认 UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认 Shell 解释器
[root@localhost ~]# useradd -d /home/lws3 -u 8888 -s /sbin/nologin lws3
#-d /home/lws3:用户家目录\
#-u 888:/用户uid,不指定gid时gid和uid一样
#-s:解释器为不登陆
#lws3:创建的用户名

[root@localhost ~]# id lws3
uid=8888(lws3) gid=8888(lws3) 组=8888(lws3)

groupadd命令(第119页)

创建用户组,格式为:groupadd [选项] 群组名

usermod 命令(第119页)

格式: usermod [选项] 用户名

注:用户的信息保存在 /etc/passwd 文件中

选项 解释
-c 填写用户账户的备注信息
-d -m 参数-m 与参数-d 连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e 账户的到期时间,格式YYYY-MM-DD
-g 变更所属用户组
-G 变更扩展用户组
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的 UID
  • 修改用户所属组
[root@localhost ~]# id lws3 #查看用户id属性
uid=8888(lws3) gid=8888(lws3) 组=8888(lws3) #这里的组是8888

[root@localhost ~]# usermod -G root lws3 #-G root:修改用户所属组,root组名称
[root@localhost ~]# id lws3 #再次查看,用户的属组组是 0(root)
uid=8888(lws3) gid=8888(lws3) 组=8888(lws3),0(root)
  • 修改用户 uid
[root@localhost ~]# usermod -u 7777 lws3
您在 /var/spool/mail/root 中有新邮件
[root@localhost ~]# id lws3
uid=7777(lws3) gid=8888(lws3) 组=8888(lws3),0(root)

passwd 命令(第120页)

格式:passwd [选项] 用户名

选项 解释
-l 锁定用户,禁止其登录
-u 解除锁定,允许用户登录
–stdin 允许通过标准输入修改用户密码,如 echo “NewPassWord”
-d 使该用户可用空密码登录系统
-e 强制用户在下次登录时修改密码
-S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称

userdel 命令(第121页)

格式:userdel [选项] 用户名

选项 解释
-f 强制删除用户
-r 同时删除用户及用户家目录
[root@localhost ~]# userdel -rf lws3 #强制删除用户及其家目录
[root@localhost ~]# id lws3
id: lws3: no such user

文件权限与归属(第122页)

-rw-r–r--. 1 root root 4 6月 18 10:42 123.txt

第一列标签 解释
- 普通文件
d 目录文件。
l 链接文件。
b 块设备文件。
c 字符设备文件。
p 管道文件

文件权限的字符与数字表示

权限分配 所有者 -------- -------- 所属组 -------- -------- 期他用户 -------- --------
权限项 执行 执行 执行
字符表示 r w x r w x r w x
数字表示 4 2 1 4 2 1 4 2 1

SBIT 保护位(第125页)

在共享目录里面用户只能删除自已的文件

-R:为递归,即目录下的所有文件都执行同样操作
o+t:设置保护位
操作流程:
1.root环境下创建一个目录
2.设置权限777(看情况定)
3.再执行 -R o+t 保护位设置

[lws@localhost ~]$ chmod -R o+t lws_dir2

#设置后会在文件权限属性的最后一位出现 t
drwxrwxr-t. 2 lws  lws    20 6月  22 22:08 lws_dir2

chattr 文件的隐藏权限(第126页)

参数 解释
i 无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a 仅允许补充(追加)内容,无法覆盖/删除内容(Append Only) S 文件内容在变更后立即同步到硬盘(sync) s 彻底从硬盘中删除,不可恢复(用 0 填充原文件所在硬盘区域)
A 不再修改这个文件或目录的最后访问时间(atime)
b 不再修改文件或目录的存取时间
D 检查压缩文件中的错误
d 使用 dump 命令备份时忽略本文件/目录
c 默认将文件或目录进行压缩
u 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t 让文件系统支持尾部合并(tail-merging) X 可以直接访问压缩文件中的内容
[root@localhost lwsaa]# chattr +a 123.txt
#设置123.txt文件隐藏权限为 a

[root@localhost lwsaa]# ll
-rw-rw-r--. 1 lws lws 9 6月  22 22:22 123.txt
#查看,没有什么变货

[root@localhost lwsaa]# rm -rf 123.txt  #但就允许删除
rm: 无法删除"123.txt": 不允许的操作

lsattr 命令(第127页)

lsattr 命令用于显示文件的隐藏权限

#执行了 lsattr命令后就可以看到隐藏权限了
[root@localhost lwsaa]# lsattr 123.txt
-----a---------- 123.txt

文件访问控制列表(第128页)

果希望对某个指定的用户进行单独的权限控制,就需要用到文件的访问控制列表(ACL)

setfacl 命令

格式:setfacl [参数] 文件名称

-R:递归
-m:文件或目录来进行读/写/执行权限的控制
-b:清除文件的ACL

#没有设置 ACL 时,普通用户进不了 /root 目录
[lws@localhost lwsaa]$ cd /root
bash: cd: /root: 权限不够

#u:lws:rwx 解释 u:用户名:r读,w写,x执行
[root@localhost ~]# setfacl -Rm u:lws:rwx /root

#查看设置了ACL的目录,在权限后面出现了【 + 】号
[root@localhost ~]# ls -ld /root
dr-xrwx---+ 18 root root 4096 6月  22 21:27 /root

#设置了 ACL 后,普通用户可以进入 /root 目录
[lws@localhost /]$ cd /root
[lws@localhost root]$

getfacl命令

getfacl 命令用于显示文件上设置的 ACL 信息

[lws@localhost /]$ getfacl /root
getfacl: Removing leading '/' from absolute path names
# file: root
# owner: root
# group: root
user::r-x
user:lws:rwx   #这里就是指定用户的权限
user:lws2:rwx  #这里就是指定用户的权限
group::r-x
mask::rwx
other::---

su命令(第129页)

su 命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户

su 命令与用户名之间有一个减号(-),这意味着完全切换到新的用户

sudo 命令(第130页)

sudo 命令用于给普通用户提供额外的权限来完成原本 root 管理员才能完成的任务

格式:sudo [参数] 命令名称 (然后输入 root 密码)

  • sudo 命令不需要输入管理员密码的方法
[root@localhost ~]# whereis poweroff  # 1:这里输入
poweroff: /usr/sbin/poweroff /usr/share/man/man8/poweroff.8.gz
[root@localhost ~]# visudo # 2:这里输入(进入到配置文件)
...略...
97 ## Allow root to run any commands anywhere
98 root    ALL=(ALL)       ALL
99 lws ALL=NOPASSWD: /usr/sbin/poweroff # 3:这里增加
100 ## Allows members of the 'sys' group to run networking, software,
...略...

[root@localhost ~]# su - lws # 4:这里切换到普通用户
上一次登录:一 6月 22 23:00:40 CST 2020pts/0 上
[lws@localhost ~]$ poweroff # 5: 这里输入此命令

#完成上面5步,lws用户在运行sudo命令时就不需要输入root密码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: