用户组权限实例                                                                                                                                                     

先直接抛一个需求出来吧!先步骤完成了,后面再分析。

授权用户 chongshi 和 bugmaster 对目录/cnblogs有写权限

创建目录
[root@localhost hzh]# mkdir /cnblogs      创建目录
[root@bogon hzh]# ls -ld /cnblogs     查看目录
drwxr-xr-x 2 root root 4096 5月 10 23:20 /cnblogs

添加两个用户并设置密码
[root@bogon hzh]# useradd chongshi     创建用户
[root@bogon hzh]# passwd chongshi      设置密码
Changing password for user chongshi.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

[root@bogon hzh]# useradd bugmaster
[root@bogon hzh]# passwd bugmaster
Changing password for user bugmaster.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

 

添加一个组

[root@bogon hzh]# groupadd testing                    创建组
[root@bogon hzh]# grep testing /etc/group         查看组信息
testing:x:506:

 

将用户添加到组中

[root@bogon hzh]# usermod -G testing chongshi        用户chongshi添加到组testing
[root@bogon hzh]# gpasswd -a bugmaster testing     用户bugmaster添加到组testing
Adding user bugmaster to group testing
注意:上面两种方式不同,但作用是一样的,都是将用户添加到组中。
[root@bogon hzh]# grep testing  /etc/group         查看组中成员
testing:x:506:chongshi,bugmaster

我们知道,组有什么样的权限,组中成员也有什么样的权限。

设置cnblogs目录的所属组为testing

[root@bogon hzh]# chgrp testing  /cnblogs            将/cnblogs目录的所属组改为testing

[root@bogon hzh]# ls -ld /cnblogs         查看目录所属组
drwxr-xr-x 2 root testing 4096 5月 10 23:20 /cnblogs

对组加写权限

[root@bogon hzh]# chmod g+w /cnblogs                 对组加写权限
[root@bogon hzh]# ls -ld /cnblogs                            查看组对目录的权限
drwxrwxr-x 2 root testing 4096 5月 10 23:20 /cnblogs

现在用户chongshi和bugmaster已经对/cnbogs已经有写权限
[root@bogon hzh]# su -- chongshi                    切换用户
[chongshi@bogon hzh]$ touch /cnblogs/abc     创建文件,(可以成功在目录下创建文件,说明对本目录具有写权限)

用户常用操作命令                                                                          

添加一个用户
添加用户稍微复杂一些,我们先来看一下,添加用户都有那些选项
root@fnngj-virtual-machine:/# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no

参数详解:
-u:UID
-g:缺省所属用户组GID
-G:指定所属多个组
-d:宿目录
-s:命令解释器Shell
-c:描述信息
-e:指定用户失效时间
例子:
root@fnngj-virtual-machine:/# useradd -u 1888  -g webadmin -G sys,root -s /bin/bash  -c "market lisi"  -e 2012-12-12  jack

 

添加用户到组

usermod -G [组名]  [用户名]
root@fnngj-virtual-machine:/# usermod -G webadmin tom
root@fnngj-virtual-machine:/# grep webadmin /etc/group
webadmin:x:1001:tom

修改用户名

 usermod -l  [新用户名]  [旧用户名]
修改用户与添加用户时的内容基本相同,但多了一个修改用户的选项。
root@fnngj-virtual-machine:/# usermod -l tom jack                   把jack改为tom

删除用户
userdel -r [用户名]
-r:删除用户组

手工删除:
使用find命令查找属于某个用户或用户组的文件
find选项 -user、-uid、-group、-gid、
1、对需要保留的文件进行移动和备份
2、对不需要的文件进行删除
3、清除用户文件中的相关表项
4、清除用户宿主目录
[root@bogon /]# find /home -user fnngj
/home/fnngj
/home/fnngj/.bashrc
/home/fnngj/.bash_profile
/home/fnngj/.gtkrc
/home/fnngj/.bash_history
/home/fnngj/.bash_logout
可以对查找出来的用户信息判断需要干掉哪些。

用户信息查看命令                                                           

pwck   检测/etc/passwd文件
检测用户的设置文件是否正常。直接输入命令,后面不用带参数

vipw    编辑/etc/passwd文件
这个命令与vi最大的区别就是编辑的时候锁定文件。如果多人对passwd文件
都有编辑权限,那么多人同时编辑就会造成混乱。使用vipw编辑passwd文件时,别
人就无法打开passwd文件。

id        查看用户ID和组信息,直接输入命令,后面不用带参数
[root@bogon fnngj]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6
(disk),10(wheel) context=root:system_r:unconfined_t

finger      查看当前用户的登录信息
finger [用户名]    查看某个用户的详细信息。
[root@bogon fnngj]# finger
Login Name Tty Idle Login Time Office Office Phone
root root pts/1 May 13 14:57 (192.168.203.1)
[root@bogon fnngj]# finger root
Login: root Name: root
Directory: /root Shell: /bin/bash
On since 日 5月 13 14:57 (CST) on pts/1 from 192.168.203.1
New mail received 日 5月 6 11:00 2012 (CST)
Unread since 三 2月 22 20:40 2012 (CST)
No Plan.

su [用户名]      切换用户(su- 环境变量切换)
su - [用户名]    切换的时候也会把环境的时候也会切换环境变量
[root@bogon /]# su fnngj
[fnngj@bogon /]$ echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/fnngj/bin
[fnngj@bogon /]$ su root
Password:
[root@bogon /]# su - fnngj
[fnngj@bogon ~]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/fnngj/bin

passwd -S [用户名]    查看用户密码状态
[root@bogon fnngj]# passwd -S fnngj
Password set, MD5 crypt.

who、w    查看当前登录用户信息
[fnngj@bogon ~]$ who
root pts/1 May 13 14:57 (192.168.203.1)
[fnngj@bogon ~]$ w
15:11:29 up 54 min, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 192.168.203.1 14:57 0.00s 0.84s 0.01s w

用户禁用与恢复                                                                

禁用和恢复用户
当一个用户在操作的时候经常有违规操作或近期一段时间不用,我们可以对这
个用户进行锁定。就像你的游戏账号发生异常被禁用一样。

-----------------------------------

禁用
#usermod -L username
#passwd -l username
恢复
#usermod -U username
#passwd -u username

------------------------------------

[root@bogon /]# passwd -l fnngj     禁用fnngj用户
Locking password for user fnngj.
passwd: Success
[root@bogon /]# passwd -S fnngj
Password locked.                   提示被禁用

[root@bogon /]# passwd -u fnngj    密码解锁
Unlocking password for user fnngj.
passwd: Success.
[root@bogon /]# passwd -S fnngj
Password set, MD5 crypt.

禁用原理:
[root@bogon /]# grep fnngj /etc/shadow
fnngj:$1$EudBseaZ$kw1S8ZS2dsvnJ83phhvQF0:15456:0:99999:7:::
[root@bogon /]# passwd -l fnngj
Locking password for user fnngj.
passwd: Success
[root@bogon /]# grep fnngj /etc/shadow
fnngj:!!$1$EudBseaZ$kw1S8ZS2dsvnJ83phhvQF0:15456:0:99999:7:::

  看到上面的操作,相信你已经明白了,当我禁用你的密码后,密码在shadwo文件中依然存在,只是前面多了两个叹号(!!),这样你肯定登录不了了,因为验证端改变了密码。当然,解锁之后,密码前面的两个叹号会去掉。

  其实,我们知道了原理以后,完全可以不用通过命令,通过vi编辑文件,一样可以禁用用户。

用户组常用操作命令                                                                        

  先看一下组配置文件里都存放了哪些内容

[root@bogon /]# more /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
mail:x:12:mail
news:x:13:news
uucp:x:14:uucp
man:x:15:
games:x:20:
gopher:x:30:

.................

dialout:x:20:fnngj
dialout    组名            用户登录时所在的组
x            组密码         一般不用
20          GID        组标识号  
fnngj       组内用户列表   属于该组的所有用户列表

添加用户组

groupadd  [用户组名]
root@fnngj-virtual-machine:/# groupadd webadmin                添加一个组webadmin
root@fnngj-virtual-machine:/# grep webadmin  /etc/group   查看组信息
webadmin:x:1001:

我们在添加组的时候也可以指定好组的id
root@fnngj-virtual-machine:/# groupadd  -g 8888 webadmin
root@fnngj-virtual-machine:/# grep webadmin  /etc/group  
webadmin:x:8888:

删除用户组
groupdel [用户组名]
[root@bogon /]# groupdel webadmin               删除组webadmin

修改用户组信息

groupmod -n  [新组名] [旧组名]
[root@bogon /]# groupmod -n apache webadmin        修改组名webadmin为apache

用户组信息查看命令                                                                  

groups     查看用户隶属于哪些用户组

[root@bogon /]# groups fnngj
fnngj : fnngj

newgrp    切换用户组
[root@bogon /]# newgrp fnngj 不是组成员,知道组密码(如果有密码)一样可
以切换。

grpck       用户组配置文件检测

chgrp       修改文件所属组

vigr          编辑/etc/group文件(锁定文件)
与vipw用法一样,在编辑group文件时,禁止其他人编辑。防止多人写操作,造成写混乱。

用户组管理命令                                                                                

gpasswd命令
这个事所有linux都有的一个命令。先看一下都有哪些参数。
root@fnngj-virtual-machine:/# gpasswd
Usage: gpasswd [option] GROUP
Options:
  -a, --add USER                add USER to GROUP
  -d, --delete USER             remove USER from GROUP
  -h, --help                    display this help message and exit
  -r, --remove-password         remove the GROUP's password
  -R, --restrict                restrict access to GROUP to its members
  -M, --members USER,...        set the list of members of GROUP
  -A, --administrators ADMIN,...
                                set the list of administrators for GROUP
Except for the -A and -M options, the options cannot be combined.
上面的参数信息虽然事英文的,不解释了,相信你懂的。
用法非常简单:
root@fnngj-virtual-machine:/# gpasswd -a tom webadmin     添加用户到组
root@fnngj-virtual-machine:/# gpasswd -d tom webadmin     把用户从组中删除
root@fnngj-virtual-machine:/# gpasswd webadmin                给用户组设置密码
root@fnngj-virtual-machine:/# gpasswd -A tom webadmin    将tom提升为组管理员
root@fnngj-virtual-machine:/# gpasswd -r webadmin        删除组密码
root@fnngj-virtual-machine:/# gpasswd -R webadmin       禁止其他用户切换到该组

转载于:https://www.cnblogs.com/chnmyying/archive/2013/04/28/3048728.html

linux那点事儿(五)----用户管理常用命令 (转)相关推荐

  1. linux用户管理常用命令

    一.权限管理chmod 1.修改test文件的权限:chmod 777 test  (将该文件的拥有着.所属组.其他用户都具有读.写.执行的权限) 2.递归修改dir目录的权限:chmod -R 77 ...

  2. linux 用户管理 指令,Linux 用户管理常用命令

    前言 1. 用户名和密码 在linux的管理中,相当重要的一环就是管理用户,不是什么人都可以登录服务器的,若有人要登录服务器,必须申请相关的权限,经过管理员许可才可以登录服务器.虽然我们登录服务器时输 ...

  3. Linux学习:文件和用户管理——文件管理命令

    1.Linux基础命令 (1)改变目录 cd:绝对路径和相对路径: 绝对路径:eg:cd  /home 相对路径:eg:cd/ ls(list):列出目录内容       语法:ls  文件(目录)地 ...

  4. linux系统下删除vsftp用户,Linux下VsFTP和ProFTP用户管理高级技巧 之一

    Linux下VsFTP和ProFTP用户管理高级技巧 FTP服务时互联网上比较古老的一种应用,至今Interner应用面非常广泛,但令管理员头痛不已的是其用户管理,既多且杂,如何解决这一问题呢?使用M ...

  5. Linux终端常用命令(二)----远程管理常用命令

    远程管理常用命令 目录 远程管理常用命令 1. 关机/重启 1.1 shutdown 2. 查看或配置网卡信息 2.1 网卡 和 IP地址 2.2 ifconfig 2.3 ping 3. 远程登录和 ...

  6. Linux下VsFTP和ProFTP用户管理高级技巧 之一

    Linux下VsFTP和ProFTP用户管理高级技巧   FTP服务时互联网上比较古老的一种应用,至今Interner应用面非常广泛,但令管理员头痛不已的是其用户管理,既多且杂,如何解决这一问题呢?使 ...

  7. Linux学习(一)用户管理

    Linux学习(一)用户管理 用户管理 新建用户 指定密码 查看用户 查看创建了哪些用户 切换用户 删除用户 查看登录用户信息 设置普通用户具有root权限 修改用户 用户组管理命令 新增组 删除组 ...

  8. linux kvm虚拟化命令,Linux系统下kvm虚拟化(三)日常管理常用命令和配置说明

    根据我们之前创建和一些操作可以知道,KVM虚拟机的管理主要是通过virsh命令对环境下kvm虚拟机进行管理,下边这里整理一些常用的配置说明以及如何进行日常管理维护. 1,查看KVM虚拟机配置文件 KV ...

  9. (六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 常用命令总结

    因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...

最新文章

  1. 树链剖分——线段树区间合并bzoj染色
  2. 科学:揭示自由意志的生物学本质
  3. Apache OpenWebBeans 发布适用于 Java EE 微服务的 Meecrowave 服务器 1.0
  4. (5) nginx:location
  5. React之事件绑定
  6. 收藏 | 人脸检测之Retinaface
  7. JAVA 面向对象程序设计的继承举例
  8. RabbitMQ的简单示例
  9. TensorFlow都有哪些模块?
  10. 树状数组相关应用之多叉树子树问题
  11. eclipse报错:“start ruble bundle manager”解决方法
  12. 不要在锁的作用域之外通过指针或引用传递要保护的数据
  13. .net4.0切换2.0时,SplitContainer”的对象强制转换为类型
  14. C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表 .
  15. python处理excel函数库_Python 操作 Excel 的函数库
  16. Java版进销存ERP管理系统源码
  17. 模拟器安装magisk
  18. 容积卡尔曼滤波算法 CKF
  19. SEO不能不知道的首页关键词策略
  20. 微软专利技术介绍系列课程

热门文章

  1. Zookeeper一致性级别分析,面试题附答案
  2. 【2021年度训练联盟热身训练赛第二场】g2g c u l8r(python)
  3. 优秀的中文分词第三方库——jieba
  4. java class 使用_Java反射机制(Class类的使用)
  5. 机器人末端执行器气爪怎么吸合_平行气爪工作原理是什么?平行气爪原理图作用是什么...
  6. java map缓存6_Java内存缓存-通过Map定制简单缓存
  7. 英特尔网站推广瞄准智慧社区建设,有望加速社区智慧化转型发展
  8. 网站建设优质内容页面如何打造?
  9. python迷宫小游戏代码_C++课程设计迷宫小游戏
  10. 使命召唤5该服务器没有响应,使命召唤5突然就建不了服务器了~~~求高人帮忙~~...