Linux用户管理及文件权限
作者:网络转载 发布时间:[ 2015/12/25 11:04:57 ] 推荐标签:操作系统
一、Linux 用户管理
Linux 是一个可以实现多用户登陆的操作系统,多人可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制 ,不同用户不可以轻易地查看、修改彼此的文件。
1.查看用户
$ who am i 或者
$ who mom likes
输出结果的第一列表示打开当前伪终端的用户的用户名(要查看当前登录用户的用户名,去掉空格直接使用 whoami 即可),第二列的 pts/0 中 pts 表示伪终端,所谓伪是相对于 /dev/tty 设备而言的,七个使用 [Ctrl]+[Alt]+[F1]~[F7] 进行切换的 /dev/tty 设备是“真终端”,伪终端是当你在图形用户界面使用 /dev/tty7 时每打开一个终端会产生一个伪终端, pts/0 后面那个数字表示打开的伪终端序号,你可以尝试再打开一个终端,然后在里面输入 who am i ,看第二列是不是变成 pts/1 了,第三列则表示当前伪终端的启动时间。
2.创建用户
我们一般登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。
su,su- 与 sudo
su <user>可以切换到用户user,执行时需要输入目标用户的密码,sudo <cmd>可以以特权级别运行cmd命令,需要当前用户属于sudo组,且需要输入当前用户密码。su - <user>命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。
新建一个用户:
$ sudo adduser username
按照提示输入 密码(Linux 下密码输入通常都是不可见的),然后是给用户l设置密码,后面的选项的一些内容你可以选择直接回车使用默认值:
这个命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录:
使用如下命令切换登录用户:
$ su -l username
退出当前用户跟退出终端一样可以使用 exit 命令或者使用快捷键 Ctrl+d。
3.用户组
在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源,跟家的形式差不多,你的兄弟姐妹(不同的用户)属于同一个家(用户组),你们可以共同拥有这个家(共享资源),爸妈对待你们都一样(共享权限),你偶尔写写日记,其他人未经允许不能查看(私有资源和权限)。当然一个用户是可以属于多个用户组的,正如你既属于家庭,又属于学校或公司。
在 Linux 里面如何知道自己属于哪些用户组呢?
方法一:使用groups命令
$ groups username
输出为:username:groupname
其中冒号之前表示用户,后面表示该用户所属的用户组。每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组。默认情况下在sudo用户组里的可以使用sudo命令获得root权限。
方法二:查看/etc/group文件
$ cat /etc/group | sort
| sort 表示将读取的文本进行一个字典排序再输出
可以使用命令过滤掉一些你不想看到的结果:
$ cat /etc/group | grep -E "username|sudo"
clip_image003
etc/group 文件格式说明
/etc/group 的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list
你看到的 password 字段为一个 'x' 并不是说密码是它,只是表示密码不可见而已。
将其它用户加入 sudo 用户组
默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入sudo用户组从而获取 root 权限。
usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限,你可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令
4.删除用户
删除用户是很简单的事:
$ sudo deluser username--remove-home
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11