1、用户和组的信息查看

// 用户分类:超级用户(root)、普通用户、程序用户。

超级用户:UID=0
程序用户:Rhel5/6,UID=1-499;                Rhel7,UID=1-999
普通用户:Rhel5/6,UID=500-65535;        Rhel7,UID=1000-60000
 

// 查看用户相关信息(可以使用 cat 直接输出):

vim /etc/passwd     //查看所有用户信息。root:x:0:0:root:/root:/bin/bash,分别表示[用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户主目录:shell类型]
vim /etc/group      //查看所有组。信息分别为[组名称:组密码占位符:组编号:组中用户列表]
vim /etc/shadow     //查看所有用户密码。非常遗憾,你根本看不到,都加密了。
vim /etc/gshadow    //查看所有组密码。信息分别为[组名称:组密码:组管理者:组中用户列表]

 

 

2、用户组操作:

// 添加组:

groupadd -g 888 dev   //添加组,叫做dev,编号为888

// 其他:

groupmod -n ope dev    //修改组名称。把名称dev改为ope
groupmod -g ope 668    //修改组编号,改成了668
groupdel ope           //删除组ope。请注意,删除用户组的前必须先删除用户。不然里面的用户会变成黑户。
gpasswd ope            //修改组ope的密码

 

 

3、 用户操作:

在使用useradd命令创建用户的时侯可以用-g 和-G 指定用户所属组和附属组。
基本组:如果没有指定用户组,创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是基本组,不可以把用户从基本组中删除。在创建文件时,文件的所属组就是用户的基本组。
附加组:除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。
用户不论为与基本组中还是附加组中,就会拥有该组的权限。一个用户可以属于多个附加组。但是一个用户只能有一个基本组。

 

// 添加用户并设置密码

useradd -g dev www             //创建用户www并加入到dev组中,如果没有指定基本组,则会创建一个同名的 www 组
passwd www              //设置用户 www 的密码

useradd -G wheel www   //将用户www且加入到附加组 wheel 附加组中(wheel组是系统自带的有 sudo 权限的组,可在 sudoers 文件中查看)
useradd -g dev www      //修改 www 所在组为 dev

groups www            //查看用户www所在的租。第一个是基本组,后面的是附加组。
id www                //查看用户信息

 

——请务必设置密码,否则无法登录和操作,毫无意义。

 

// 修改用户名和家目录:

// 1、杀死旧用户进程
sudo pkill -u 旧用户名

// 2、修改用户名称
usermod -l 新用户  旧用户 

// 3、修改用户的家目录。(其实就是指定新用户的家目录为什么而已)
sudo usermod -d /home/新用户 -m 新用户

 

// 修改用户所属组

usermod -g dev zhangsan    //修改用户 zhangsan 所属组为dev
userdel zhangsan           //删除用户zhangsan 
userdel -r zhangsan        //删除zhangsan和该用户的个人文件夹资料(一般需要妥善保存,不会直接删除) 
su abc                     //切换成用户abc
usermod -G wheel linfeng    //修改用户附加组为 wheel(可以有很多个附加组)

 

 

// 给用户设置 sudo 权限:

1、打开文件

vim /etc/sudoers

 

2、文件中会发现有以下信息:

root    ALL=(ALL)      
%wheel  ALL=(ALL)

—— 这表示 root 用户和 wheel 组的用户都有 sudo 权限,不过系统默认 root 用户使用 sudo 不需要输入密码,其他账号需要。

当然,还有一条,不过是被注释了:

# %wheel        ALL=(ALL)       NOPASSWD: ALL

—— 如果开启的话,表示 wheel 组的所有用户执行 sudo 也不需要输入密码

 

3、赋予新用户 sudo 权限,添加一行:

linfeng ALL=(ALL) ALL

保存退出就可以了。

  

 其他:

usermod -c dgdzmx sdf        //给用户sdf添加备注,备注为:dgdzmx
usermod -l cls sdf           //把sdf进行重命名为cls,一般会修改家目录。
usermod -d /home/cls cls     //给cls指定家目录(个人文件夹)
lsof | grep abc              //查看用户abc是否处于登录状态

passwd -l cls    //锁定账户cls,使其无法使用
passwd -u cls    //解锁账户cls
passwd -d cls    //支持账号cls无密码登录

 

 

 

4、文件或目录权限

文件权限 (使用 ls -la 即可查看 ):

drwxr-xr-x   2 root root 4096 Oct 15  2017 .pip

root root表示:所属用户和所属组

 

// 修改权限 - chmod

chmod 755 a.txt        //修改文件权限
chmod 600 my/          //修改目录权限(不含子目录)
chmod -R 600 my/       //修改 my 目录及其下的子文件(夹)的权限

 

// 修改所属用户和用户组 - chown

chown linfeng a.txt    //修改文件所属用户为 www
chown linfeng:dev a.txt      //修改 a.txt 的所属用户为 www,所属组为 wheel
chown linfeng:dev my/        //修改目录 my 的所属用户为 www,所属组为 wheel(不含子文件夹)
chown linfeng:dev -R my/     //修改目录 my及其所有子文件(夹)的所属用户为 www,所属组为 wheel

改变所属群组 - chgrp:

chgrp -v dev a.html    //将文件 a.html 的权限赋给群组wheel
chgrp -R dev my/    //将目录及其子目录权限赋给dev群组

 —— 说明:修改所属组

 

// 其他

who    //查看登录过的用户
whoaim  //当前登录账号
w   //查看当前所有登录的用户
last    //查看登录的历史记录
logout    //退出登录
echo $PATH    //查看目前环境变量
runlevel    //查看当前运行级别
cat /etc/inittab    //查看默认运行级别