Linux系统下的帐号管理学习

简介:
linux是多用户 操作系统,每一个用户在系统上都有一个唯一的id,这个id就是UID。
sh-3.2# id
uid=0(root) gid=0(root)
sh-3.2#
  id是一个数字,用户很难去记得一个数字到底对应的是哪个用户。
  所以可以给每个用户分配一个用户名,这个用户名是用户敏感的。
  用户名和UID的对应关系可以通过查看/etc/passwd知道,
sh-3.2# cat /etc/passwd
root:x:0:0:root:/home:/bin/sh
sh-3.2#
  linux系统还有群组的概念,每个用户在创建时可能就被指定到某个群组中。
  而为了方便对群组的管理,所以也有了GID。
  群组名和GID的对应关系可以通过查看/etc/group知道,
sh-3.2# cat /etc/group
root:x:0:root
sh-3.2#
  而群组又分为有效群组和初始群组,
  用户所对应的初始群组可以查看/etc/passwd档案了解其中的对应关系;
  用户所在的有效群组可以通过groups命令查看当前用户支援哪些群组。
  sh-3.2# groups
  root
  sh-3.2#
  以前一直搞不明白为什么文件权限是775,777,664或者是rwxrw-r-x之类的字串。
  现在 学习了用户和用户组之后,终于知道为什么了,还是挺开心的。
sh-3.2# ls -lh /etc/passwd
-rw-rw-r-- 1 root root 31 Jan  3 12:55 /etc/passwd
sh-3.2#
  在上面文件权限这一栏中,第一个字符用来标识档案的类型,
  是正规文件,还是目录,还是管道,还是链接文件?
  关于linux系统文件类型可以参考下面这篇 文章
  http://blog.csdn.net/boyxulin1986/article/details/12655659
  接下来三个字符表示的是文件所有者对文件所具有的权限;
  在接下来三个字符表示的是文件所有者所在的群组所具有的权限;
  在接下来的三个字符表示的是其它用户对文件所具有的权限。
  所以如果想知道拥有某个指定文件的哪些权限,
  必须要知道文件拥有者是谁,再查看用户与群组的对应关系。
  这样再确定当前用户是文件拥有者、还是属于文件拥有者所属的群组还是其他用户。
  注意:在多用户环境下,文件拥有者并不一定等于当前用户。

 查看当前用户的方法是:
sh-3.2# id
uid=0(root) gid=0(root)
sh-3.2#
  查看文件拥有者的方法是:
sh-3.2# stat /etc/passwd
File: "/etc/passwd"
Size: 31              Blocks: 1          IO Block: 4096   regular file
Device: fe00h/65024d    Inode: 985         Links: 1
Access: (0664/-rw-rw-r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-01-03 12:55:32.000000000
Modify: 2014-01-03 12:55:32.000000000
Change: 2014-01-03 12:55:32.000000000
sh-3.2#
  最后再了解一下文件权限中的sticky bit。
  sh-# ls -ld /tmp/
  drwxrwxrwt 5 root root 1020 Jan  1 00:03 /tmp/
  sh-#
  这个权限t就是目录或档案的sticky bit。
  linux系统中的sticky bit只对目录有效,对文件设置sticky bit是没有意义的。
  而对目录设置sticky bit的作用是:
  对于目录中已有的文件,只有文件的owner和root有权限删除;
  任何用户都可以在这个目录下创建或修改文件。
  这样对于多用户环境而言,就不用担心档案被其它用户删除了。
  增加sticky权限的方法如下,
sh-# mkdir ./temp
sh-# ls -ld ./temp/
drwxr-xr-x 2 root root 40 Jan  1 00:21 ./temp/
sh-#
sh-# chmod +t ./temp/
sh-#
sh-# ls -ld ./temp/
drwxr-xr-t 2 root root 40 Jan  1 00:21 ./temp/
sh-#
sh-# umask
0022
sh-#

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
5天前
|
Ubuntu 安全 Linux
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
36 1
|
12天前
|
资源调度 JavaScript 搜索推荐
Linux系统之部署envlinks极简个人导航页
【4月更文挑战第11天】Linux系统之部署envlinks极简个人导航页
52 2
|
15天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
77 0
|
15天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
29 0
|
13天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
37 6
|
15天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
1天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
18 2
|
1天前
|
缓存 Linux
linux系统缓存机制
linux系统缓存机制
|
1天前
|
存储 Linux Android开发
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
7 0
|
1天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
3 0