大型网站开发合同,网络维护工作,网站什么英文字体,wordpress <>1. 文件权限 在Linux系统中#xff0c;文件权限是一个非常基础且重要的安全机制。它决定了用户和用户组对文件或目录的访问控制级别。 每个文件或目录都有一个包含9个字符的权限模式#xff0c;这些字符分为三组#xff0c;每组三个字符#xff0c;分别对应文件所有者的权限…1. 文件权限 在Linux系统中文件权限是一个非常基础且重要的安全机制。它决定了用户和用户组对文件或目录的访问控制级别。 每个文件或目录都有一个包含9个字符的权限模式这些字符分为三组每组三个字符分别对应文件所有者的权限、所属组的权限和其他用户的权限。 具体来说这三个权限位组按顺序排列如下
文件所有者Owner的权限所属组Group的权限其他用户Others的权限
每个权限位组内的三个字符代表读r、写w和执行x三种权限
rRead允许读取文件内容对于目录意味着可以列出其下的文件列表wWrite允许修改或删除文件内容对于目录意味着可以在该目录下创建、移动或删除文件xExecute允许运行程序脚本或进入目录对于目录意味着可以通过cd命令进入该目录
当某个权限不存在时则用 - 来代替相应的字符。
此外还有一种特殊的情况如果一个文件设置了suid、sgid或者sticky bit那么权限位上可能出现s、S、t和T等符号它们分别表示
s 或 S设置了setuid/setgid位表示执行该文件时将拥有文件所有者的权限对于可执行文件或临时加入到文件所在组对于目录。t 或 T只针对目录设置了粘滞位sticky bit表示即使非文件所有者或所在组成员也可以删除或修改自己的文件但不能删除其他用户的文件。
例如一个文件可能有如下的权限设置
-rwxr-xr--
这表示
文件所有者具有读r、写w和执行x权限。所属组具有读r和执行x权限但没有写w权限。其他用户只有读r和执行x权限同样没有写w权限。
使用 ls -l 或 ll 命令时
[rootzhangpeng mydir]# ll
total 8
drwxr-xr-x. 3 zhang zhang 68 Aug 14 17:35 a
-rw-r--r--. 1 zhang zhang 93 Aug 16 10:00 Test1.java
-rw-r--r--. 1 zhang zhang 0 Aug 14 17:34 Test5.java
-rw-r--r--. 1 zhang zhang 106 Aug 16 09:48 Test.java
-rw-r--r--. 1 zhang zhang 0 Aug 14 17:34 Test.txt从上面文件详细信息列表中可以查出文件操作权限及所属用户、用户组、时间、大小等信息
drwxr-xr-x :
d 表示目录 (文件类型)
当为 d 则是目录当为 - 则是文件若是 l 则表示为链接文档(link file)若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置)若是 c 则表示为装置文件里面的串行端口设备例如键盘、鼠标(一次性读取装置)
rwx: 表示可读可写可执行文件所属用户
r-x: 表示可读不可写可执行 (文件所属组)
r-x : 表示可读不可写可执行 (Other 其他用户)
数字模式
rwx: 111 ---7
r-- : 100 ---4
r-x : 101 ----5
举例
-rw-r--r--. 用数字表示是 110 100 100 转为十进制 644 。 修改文件所属 chown - change file owner and group [rootwang dir]# ll
total 16
drwxr-xr-x. 4 root root 29 Aug 24 03:17 dest
drwxr-xr-x. 2 root root 107 Aug 24 03:08 newdir
-rwxr--r-x. 1 root root 0 Aug 24 03:23 testfile.txt
-rw-r--r--. 1 root root 0 Aug 24 04:13 Test.java
-rw-r--r--. 1 root root 61 Aug 24 04:14 Test.xx
-rwxr-xr--. 1 root root 13 Aug 24 04:29 T.java
-rw-r--r--. 1 root root 8 Aug 24 03:06 TT.txt
-rw-r--r--. 1 root root 23 Aug 24 04:34 Word.java
drwxr-xr-x. 2 root root 74 Aug 24 03:17 xyz
[rootwang dir]# chown zhang newdir
[rootwang dir]# ll
total 16
drwxr-xr-x. 4 root root 29 Aug 24 03:17 dest
drwxr-xr-x. 2 zhang root 107 Aug 24 03:08 newdir
-rwxr--r-x. 1 root root 0 Aug 24 03:23 testfile.txt
-rw-r--r--. 1 root root 0 Aug 24 04:13 Test.java
-rw-r--r--. 1 root root 61 Aug 24 04:14 Test.xx
-rwxr-xr--. 1 root root 13 Aug 24 04:29 T.java
-rw-r--r--. 1 root root 8 Aug 24 03:06 TT.txt
-rw-r--r--. 1 root root 23 Aug 24 04:34 Word.java
drwxr-xr-x. 2 root root 74 Aug 24 03:17 xyz
[rootwang dir]# 2.用户管理
查看用户信息
1su username 切换用户名 2whoami 查看当前用户
[rootzhangpeng mydir]# whoami
root
3id: 查看当前用户的编号所属组号所属组的信息
[rootzhangpeng mydir]# id
uid0(root) gid0(root) groups0(root) contextunconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
4id zhang: 查看zhang用户的编号组号等信息
[wangwuzhangpeng ~]$ id zhang
uid1000(zhang) gid1000(zhang) groups1000(zhang)
5groups 查看当前用户所属组
[wangwuzhangpeng ~]$ groups
wang
6groups zhang: 查看用户zhang所在组
[wangwuzhangpeng ~]$ groups zhang
zhang : zhang7用户信息文件 /etc/passwd 存储用户账号 /etc/group 存储组账号 /etc/shadow 存储用户账号的密码 /etc/gshadow 存储用户组账号的密码
添加用户
8添加组
[rootwang ~]# groupadd zhou
[rootwang ~]# useradd zhouyu -g zhou
[rootwang ~]# id zhouyu
uid1010(zhouyu) gid1009(zhou) groups1009(zhou)9添加用户
[rootzhangpeng wangwu]# useradd lisi -g li ## 添加用户时指定所属组 -g
[rootzhangpeng wangwu]# useradd li -g li
[rootzhangpeng wangwu]# id li ## 查看指定用户所属组
uid1006(li) gid1004(li) groups1004(li)useradd zhang # 默认创建 zhang 用户同时创建同名zhang的组。
[rootzhangpeng wangwu]# useradd zhao
[rootzhangpeng wangwu]# id zhao
uid1007(zhao) gid1007(zhao) groups1007(zhao)
重置密码 passwd [rootwang ~]# passwd caozhi
Changing password for user caozhi.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[rootwang ~]# 用户创建成功后默认会在 /home 目录下自动创建以用户名为目录名的一个目录。目录直接所属新增的这个用户
[rootwang etc]# ls /home
caopi caozhi guan li lisi liu wang wangwu zhang zhangsi zhao
[rootwang etc]# 用户删除 userdel username : 注意 删除时不能删除关联的 home 下的目录及其他附属信息 userdel -r username : 彻底删除删除/home 目录及关联其他信息 注意删除用户时此用户是组中最后一个用户会关联删除组 [rootwang home]# useradd huang
[rootwang home]# id huang
uid1010(huang) gid1010(huang) groups1010(huang)
[rootwang home]# userdel -r huang
[rootwang home]# 用户组删除
[rootwang home]# useradd huang # 同时创建组
[rootwang home]# tail -3 /etc/group # 查看组
cao:x:1008:
zhou:x:1009:
huang:x:1010:
[rootwang home]# groupdel huang # 删除组 不能删除存在用户的组
groupdel: cannot remove the primary group of user huang
[rootwang home]# [rootwang home]# groupadd zhang # 创建空组
[rootwang home]# groupdel huang # 可以直接删除成功
用户权限
[rootwang home]# ll
total 4
drwxr-xr--. 3 wangliu wang 132 Aug 24 09:47 wangliu # 其他用户只读
drwxr-x---. 3 wangwu wang 78 Aug 24 09:42 wangwu
drwxr-x---. 15 zhang zhang 4096 Aug 24 08:54 zhang
drwx------. 5 zhangsan zhang 107 Aug 24 09:47 zhangsan
[rootwang home]# su zhangsan
[zhangsanwang home]$ cd wangliu # 当前zhangsan 不能进入到r-- 目录中因为没有执行权限
bash: cd: wangliu: Permission denied
[zhangsanwang home]$ ls wangliu # 可以查看文件下文件可以使用 ls
ls: cannot access wangliu/Test2.java: Permission denied
ls: cannot access wangliu/Test3.java: Permission denied
ls: cannot access wangliu/Test4.java: Permission denied
Test2.java Test3.java Test4.java