linux 之 用户管理

任务目标:学会随意切换用户 添加用户 并管理用户之间的权限

3种 用户

超级用户 root uid =0

普通用户 uid 500 – 60000

伪用户 uid 1- 499

每个用户 至少有一个 用户组

useradd

最简单的添加用户的方法:

useradd lisi

passwd lisi

su linux

案例:

情景:多人协同开发,root建立的software文件夹,其他用户没有写权限,要授权用户jack 和mary 对目录software 同时具有写权限

可能会用到的命令:

groupadd softteam //参数比较多 可以通过groupadd --help获得,意思是 添加名为softeam的用户组usermod -G softteam jack //将 jack 添加到组 softteam 中gpasswd -a mary softteam  //把mary添加到softteam中 和上面差不多意思,参数不同,-A 指定管理员chgrp  softteam  /software  //chgrp命令变更文件或目录所属群组  这里的意思是把/software的所属组 改成softteamchmod g+w  /software    //变更权限 让所属组对software有写的权限

检验组是否已经生成

grep 'softteam' /etc/group;chown www testfile    //改变所属者为www

实验:

# mkdir /home/software; //建立文件夹# useradd jack //添加用户jack# useradd mary# groupadd softadmin; //添加组softadmin# grep softadmin /etc/group;   // 此处为查看softadmin 创建 成功与否,softadmin:x:505: # usermod -G softadmin jack;  //把jack添加到softadmin这个组中去# usermod -G softteam mary;# chgrp  softadmin  /home/software;  //把这个文件夹的所属组 改成softadmin# ls -ld /home/software;  //查看目录的权限# chmod g+w /home/software;  //让所属组 有写的权限

试验后,可以用su + 用户名 ,检验一下 ,是否可以在目录添加文件

tail

tail  -15 /etc/shadow  //显示最后15行

sudo 和 su的分别

1 . su

su命令就是切换用户的工具,su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥有。解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法并不是最好的;二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root。我们可以看到当然通过su 切换是一种比较好的办法;通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证;

su root     //这个虽然切换到了root 但是没有切换到root的环境,sbin的命令还是没法使用 echo $PATH; //这个用来检验,发现环境变量中还是没有发现有sbin这个目录su - root //切换至root用户 并 切换至root的环境,就能超级管理员的密码

但是su有着明显的安全问题,作为管理员如果想让其它用户通过su来切换到超级权限的root,必须把root权限密码都告诉这10个用户

2. sudo

sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权;实际上就是root的身份来执行

sudo -l; //普通用户查看自己有那些命令权限

编辑/etc/sudoers

格式:

用户名(组名) 主机地址= 命令(绝对地址)

root状态下 输入visodu

example:

//允许hellen这个用户使用useradd这个命令 进入vi后 按i 下面提示–insert– ,然后输入,输入后:wq退出保存,命令多个用逗号隔开

hellen localhost=/usr/sbin/useradd hellen localhost=/usr/sbin/useradd,/bin/vi

授权后,并不代表能直接使用命令

sudo /usr/sbin/useradd sdfsdf; //使用绝对路径 前面加sudo

旅行,重复一个承诺和梦想,听他第二十八次提起童年往事,

linux 之 用户管理

相关文章:

你感兴趣的文章:

标签云: