Linux-用户管理
2016-03-15 22:04
295 查看
用户管理----用户信息与密码的配置文件
用户管理要学的内容很多,当然了,不会简单的放两个创建用户的命令,这样的文章太多了。我们来看两个用户管理中非常重要的配置文件吧!
我们来看看用户的相关配置文件都存放在什么地方。
用户信息文件: /etc/passwd
密码文件: /etc/shadow
用户组文件: /etc/group
用户组密码文件: /etc/gshadow
用户配置文件:
/etc/login.defs
/etc/default/useradd
新用户信息文件:/etc/skel
登录信息: /etc/motd
========================用户信息文件详解============================================
我们先看一下用户信息文件里都放的什么
[root@localhost ~]# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:/sbin/nologin
........
每一行内容存放一个用户的信息,每个用户信息有7部分组成
root:x:0:0:root:/root:/bin/bash
root 用户名 用户登录系统时使用的用户名
x 密码 密码位
2 UID 用户标识号
2 GID 缺省组标识
root 注释性描述 例如存放用户全名等信息
/root 宿主目录 用户登录系统后的缺省目录
/bin/bash 命令解释器 用户使用的Shell ,默认为bash
UID ?
关于上面的UID这里细说一下,其实决定用户是什么权限,是由UID号决定的。
linux用户分为三种:
超级用户:(root UID=0)
普通用户: (UID 500~60000)
伪用户: (UID 1~499)
所以,我们可以修改用户的UID号来修改用户的类型,如果把root的UID号为500,那么root就变成了普通用户,如果把fnngj用户的UID改为0,那么它就拥有了root用户的超能力。
[root@localhost ~]# vi /etc/passwd 进入之后修改,完了保存退出就OK了。
伪用户?
说到用户种类,又牵扯到一个伪用户,那么伪用户是干什么用的?
1.伪用户与系统和程序服务相关
bin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户。
mail、news、games、apache、ftp、mysql及sshd等,与linux系统的进程相关。
2. 伪用户通常不需要或无法登录系统
3. 可以没有宿主目录
==========================密码文件详解========================================
用户密码文件,用户信息文件中留有密码位,为什么没密码了呢? 其实,最早的linux这个位置真的是放密码的,因为不全安,所以,就将密码单独存放了,现在只是用x表示这里有存放密码的位置。
为什么要把密码放在/etc/shadow中
[root@bogon /]# ls -l /etc/shadow
-r-------- 1 root root 1021 2月 27 21:31 /etc/shadow 我可以看到这个文件只有管理员root有权限查看修改
现在我们来看密码文件都放了什么?
[root@bogon /]# more /etc/shadow
root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:15391:0:99999:7:::
bin:*:15391:0:99999:7:::
daemon:*:15391:0:99999:7:::
adm:*:15391:0:99999:7:::
lp:*:15391:0:99999:7:::
sync:*:15391:0:99999:7:::
shutdown:*:15391:0:99999:7:::
halt:*:15391:0:99999:7:::
mail:*:15391:0:99999:7:::
news:*:15391:0:99999:7:::
uucp:*:15391:0:99999:7:::
operator:*:15391:0:99999:7:::
games:*:15391:0:99999:7:::
..........................
我们还以第一行为例进行分解。
root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:15391:0:99999:7:::
root 用户名 用户登录系统时使用的用户名
$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs. 密码 加密密码 MD5
15391 最后一次修改时间 linux这里以1970年1月1日作为1,1971年1月1日就是366,依次类推到我修改密码的日期表示为15391了。
0 最小时间间隔 这个字段代表要经过多久才可以更改密码。如果是“0”表密码可以随时更改。
99999 最大时间间隔 于害怕密码被人盗取而危害到整个系统的安全,所以安排了这个字段,你必须在这个时间内重新修改密码,否则这个帐号将暂时失效。上面的99999,表示密码不需要重新输入,最好设定一段时间修改密码。确保系统安全
7 密码变更期期限快到前的警告期:当帐号的密码失效期限快到时,系统依据这个字段的设定发出警告,提醒用户“再过n天您的密码将过期,请尽快重新设定密码。默认的是七天。
帐号失效期: 如果用户过了警告期没有重新输入密码,使得密码失效,而该用户在这个字段限定的时间内又没有向管理员反映,让帐号重新启用,那么这个帐号将暂时失效。
帐号取消日期: 这个日期跟第三个字段一样,都是使用1970年以来的日期设定方法。这个字段表示:这个帐号在此字段规定的日期之后将无法再使用。这个字段通常用于收费服务系统中,可以规定一个日期让该帐号不能再使用。
保留: 最后一个字段是保留的,看以后有没有新功能加入。
疑问:既然shadow文件保存了密码,而passwd文件中没有保存密码,为什么不把passwd文件中的密码位取消掉呢?
其实,密码在存放之前,是先放在passwd文件中的,然后再转换到shadow文件中的。下面来验证下
[root@bogon /]# grep root /etc/passwd /etc/shadow
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin
/etc/shadow:root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:15391:0:99999:7:::
[root@bogon /]# pwunconv 将密码回写
[root@bogon /]# grep root /etc/passwd /etc/shadow
/etc/passwd:root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:0:0:root:/root:/bin/bash
/etc/passwd:operator:*:11:0:operator:/root:/sbin/nologin
grep: /etc/shadow: 没有那个文件或目录
[root@bogon /]# pwconv 转换到shdow文件中,只不过平时这个动作平时由linux自动完成。
[root@bogon /]# grep root /etc/passwd /etc/shadow
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin
/etc/shadow:root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:15456:0:99999:7:::
linux对用户登录的验证就是通passwod文件来验证用户名是否存在,然后通过shadow文件来验证用户名对应的密码是否正确,那么理解了底层东西很有必要,我们可以不需要去学习创建用户命令,真接通过vim命令在两个文件中添加用户。这就是linux的魅力噢。不像windows一样,我们不但知其然,还知其所以然。
“会灵魂附体的”命令权限
继续用户管理的学习,上一小节我们知道,只有root可以修改密码文件,那么普通用户为什么可以修改自己的密码,这是因为我们所操作有命令“灵魂附体”般的拥有了root权限。这个小节自我感觉不教难理解,而我的内容也是顺着思路写,按着顺序看,最好去试验一下。^_^
小节重点:
===============================
setUID=4 所有人
setGID=2 所属组
粘着位=1 其它人
===============================
创建用户:
[root@localhost ~]# useradd lisi 添加创建了一用户lisi
[root@localhost ~]# passwd lisi 设置lisi的密码
Changing password for user wangwu.
New UNIX password: 这里输入密码
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: 再次确认密码
passwd: all authentication tokens updated successfully.
上面这种是不被推荐的一种创建用户的方式,任何的用户都应该属于某个组。创建这样的“散人”实际中没有太大意义。
[root@localhost ~]# grep lisi /etc/passwd
lisi:x:502:502::/home/lisi:/bin/bash
从上面信息中看到,系统默认为我们创建了一个lisi的组,组ID为504
用户切换:
[root@localhost ~]# su -- lisi root切换到lisi用户
[lisi@localhost root]$ su -- root lisi用户切换到root
Password: 普通用户切换root用户是要密码的哟!亲!
普通用户切换到其它普通用户也是要密码的哟!
用户修改密码:
[lisi@localhost root]$ passwd
Changing password for user lisi.
Changing password for wangwu
(current) UNIX password: 先输入原始密码
New UNIX password: 输入新有密码
Retype new UNIX password: 再次确认新密码
passwd: all authentication tokens updated successfully.
上面是铺垫,下面才是重点。。
思考:在上一节中,我们提到,存放用户密码的文件shadow只有root用户才可操作。那么普通用户为什么可以修改密码呢?
=========================setUID===============================
这里引出一个东东----setUID
定义:当一个可执行程序具有setUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。
哈哈!小狼不能和小羊谈朋友,小羊可以与小羊谈朋友,于是,小狼披上了羊的外衣,然后以羊的身份和小羊一起幸福的生活。吼吼。
其实,用户执行的这个程序就是命令,passwd命令授权了SetUID权限。所以普通用户也可以通过passwd命令改密码。
下面来做个试验!!很有意思的噢,要不要也来试试噢?
切换到lisi用户下面。
[lisi@localhost ~]$ touch file01 touch创建一个file01的文件
[lisi@localhost ~]$ ls -l file01
-rw-rw-r-- 1 lisi lisi 0 5月 5 22:14 file01
我们看到,这个时候用touch命令创建的文件,所有者是lisi,所属于组是lisi组
切换到root下面
[root@localhost ~]# ls -l /bin/touch
-rwxr-xr-x 1 root root 38056 2009-07-03 /bin/touch
细心朋友会发现权限前面还多一位。没错!setUID就属于这一位。
setUID=4
现在我们给touch命令授予个setUID授予setUID权限有两种方式。
[root@localhost ~]# chmod u+s /bin/touch
[root@localhost ~]# chmod 4755 /bin/touch
关于用户权限不理解的看我之前的相关文章。
再次切换到lisi目录下
[lisi@localhost ~]$ touch file02 创建文件file02
[lisi@localhost ~]$ ls -l file02
-rw-rw-r-- 1 root lisi 0 5月 5 22:35 file02
这次我们发现,同样的一个命令touch ,这次创建出来的文件所有者变成的root
去掉setUID权限的两种方式:
[root@localhost ~]# chmod u-s /bin/touch
[root@localhost ~]# chmod 755 /bin/touch
========================setGID=================================
setGID的用法与setUID的用法一起,它是添加组权限的。
setGID=2
添加setGID的方式如下:
[root@localhost ~]# chmod g+s /bin/touch
[root@localhost ~]# chmod 2755 /bin/touch
一般的命令我们不能随便授予setUID权限假如给vi命令授予setUID命令,无疑于给linux留了个后面,那样我们就可以通过vi命令修改用户与密码信息文件了。
那么到底有哪些命令设置有setUID呢?我们可以查找一下。
[root@localhost ~]# find / -perm -4000 -o -perm -2000
在当前目录下(/)查找具有setUID(-perm -4000)或者(-o)具有
setGID(-perm -2000)权限的命令
=======================粘着位==================================
粘着位有什么作用,我们来看一个例子,这样更容易理解。。
[root@localhost test]# mkdir abc 创建一个目录abc
[root@localhost test]# touch abc/newfile 在这个目录下创建一个文件newfile
[root@localhost test]# chmod 777 abc 对这个目录设置权限为所有人都有所有权限
[root@localhost test]# ls -ld abc
drwxrwxrwx 2 root root 4096 5月 5 23:44 abc
[root@localhost test]# ls -l abc/newfile newfile文件的权限是其它人没有删改的权限。
-rw-r--r-- 1 root root 0 5月 5 23:44 abc/newfile
切换到lisi用户
[lisi@localhost test]$ rm -rf abc
具然把abc目录下面的newfile干掉了,lisi用户虽然有对abc目录的所有权限,但对newfile文件没有删除权限呀。这就是linux对文件的权限规定。
假如张三和李四对一个文件夹都有所有权,这个文件夹下放的有张三的文件,也有李四的文件,如果张三看李四的文件不爽,那么他就直接干掉了,李四上去一看哭了。为什么办法让李四不哭呢?这里就用到粘着位了。
粘着位
粘着位=1
t,如果一个权限为777目录有粘着位,每个用户都可以在这个目录下创建文件,但只能删除自己是所有者的文件。
粘着位的授权方式:
[root@localhost test]# chmod o+t abc
[root@localhost test]# chmod 1755 abc
我们再来删除试试:
[lisi@localhost abc]$ rm newfile
rm:是否删除有写保护的一般空文件‘newfile’? y
rm: 无法删除‘newfile’: 权限不够
自己创建的文件就可以删除噢!
[root@localhost test]# touch newfile2
[root@localhost test]# rm newfile2
rm:是否删除一般空文件‘newfile2’? y
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
from:http://blog.csdn.net/m13666368773/article/details/7615125
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
用户组权限实例
先直接抛一个需求出来吧!先步骤完成了,后面再分析。
授权用户 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
修改用户名
[b] [b]usermod -l [b][新用户名] [旧用户名][/b][/b]
[/b]修改用户与添加用户时的内容基本相同,但多了一个修改用户的选项。
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 禁止其他用户切换到该组
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
from:http://blog.csdn.net/m13666368773/article/details/7615132
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
用户管理要学的内容很多,当然了,不会简单的放两个创建用户的命令,这样的文章太多了。我们来看两个用户管理中非常重要的配置文件吧!
我们来看看用户的相关配置文件都存放在什么地方。
用户信息文件: /etc/passwd
密码文件: /etc/shadow
用户组文件: /etc/group
用户组密码文件: /etc/gshadow
用户配置文件:
/etc/login.defs
/etc/default/useradd
新用户信息文件:/etc/skel
登录信息: /etc/motd
========================用户信息文件详解============================================
我们先看一下用户信息文件里都放的什么
[root@localhost ~]# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:/sbin/nologin
........
每一行内容存放一个用户的信息,每个用户信息有7部分组成
root:x:0:0:root:/root:/bin/bash
root 用户名 用户登录系统时使用的用户名
x 密码 密码位
2 UID 用户标识号
2 GID 缺省组标识
root 注释性描述 例如存放用户全名等信息
/root 宿主目录 用户登录系统后的缺省目录
/bin/bash 命令解释器 用户使用的Shell ,默认为bash
UID ?
关于上面的UID这里细说一下,其实决定用户是什么权限,是由UID号决定的。
linux用户分为三种:
超级用户:(root UID=0)
普通用户: (UID 500~60000)
伪用户: (UID 1~499)
所以,我们可以修改用户的UID号来修改用户的类型,如果把root的UID号为500,那么root就变成了普通用户,如果把fnngj用户的UID改为0,那么它就拥有了root用户的超能力。
[root@localhost ~]# vi /etc/passwd 进入之后修改,完了保存退出就OK了。
伪用户?
说到用户种类,又牵扯到一个伪用户,那么伪用户是干什么用的?
1.伪用户与系统和程序服务相关
bin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户。
mail、news、games、apache、ftp、mysql及sshd等,与linux系统的进程相关。
2. 伪用户通常不需要或无法登录系统
3. 可以没有宿主目录
==========================密码文件详解========================================
用户密码文件,用户信息文件中留有密码位,为什么没密码了呢? 其实,最早的linux这个位置真的是放密码的,因为不全安,所以,就将密码单独存放了,现在只是用x表示这里有存放密码的位置。
为什么要把密码放在/etc/shadow中
[root@bogon /]# ls -l /etc/shadow
-r-------- 1 root root 1021 2月 27 21:31 /etc/shadow 我可以看到这个文件只有管理员root有权限查看修改
现在我们来看密码文件都放了什么?
[root@bogon /]# more /etc/shadow
root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:15391:0:99999:7:::
bin:*:15391:0:99999:7:::
daemon:*:15391:0:99999:7:::
adm:*:15391:0:99999:7:::
lp:*:15391:0:99999:7:::
sync:*:15391:0:99999:7:::
shutdown:*:15391:0:99999:7:::
halt:*:15391:0:99999:7:::
mail:*:15391:0:99999:7:::
news:*:15391:0:99999:7:::
uucp:*:15391:0:99999:7:::
operator:*:15391:0:99999:7:::
games:*:15391:0:99999:7:::
..........................
我们还以第一行为例进行分解。
root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:15391:0:99999:7:::
root 用户名 用户登录系统时使用的用户名
$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs. 密码 加密密码 MD5
15391 最后一次修改时间 linux这里以1970年1月1日作为1,1971年1月1日就是366,依次类推到我修改密码的日期表示为15391了。
0 最小时间间隔 这个字段代表要经过多久才可以更改密码。如果是“0”表密码可以随时更改。
99999 最大时间间隔 于害怕密码被人盗取而危害到整个系统的安全,所以安排了这个字段,你必须在这个时间内重新修改密码,否则这个帐号将暂时失效。上面的99999,表示密码不需要重新输入,最好设定一段时间修改密码。确保系统安全
7 密码变更期期限快到前的警告期:当帐号的密码失效期限快到时,系统依据这个字段的设定发出警告,提醒用户“再过n天您的密码将过期,请尽快重新设定密码。默认的是七天。
帐号失效期: 如果用户过了警告期没有重新输入密码,使得密码失效,而该用户在这个字段限定的时间内又没有向管理员反映,让帐号重新启用,那么这个帐号将暂时失效。
帐号取消日期: 这个日期跟第三个字段一样,都是使用1970年以来的日期设定方法。这个字段表示:这个帐号在此字段规定的日期之后将无法再使用。这个字段通常用于收费服务系统中,可以规定一个日期让该帐号不能再使用。
保留: 最后一个字段是保留的,看以后有没有新功能加入。
疑问:既然shadow文件保存了密码,而passwd文件中没有保存密码,为什么不把passwd文件中的密码位取消掉呢?
其实,密码在存放之前,是先放在passwd文件中的,然后再转换到shadow文件中的。下面来验证下
[root@bogon /]# grep root /etc/passwd /etc/shadow
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin
/etc/shadow:root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:15391:0:99999:7:::
[root@bogon /]# pwunconv 将密码回写
[root@bogon /]# grep root /etc/passwd /etc/shadow
/etc/passwd:root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:0:0:root:/root:/bin/bash
/etc/passwd:operator:*:11:0:operator:/root:/sbin/nologin
grep: /etc/shadow: 没有那个文件或目录
[root@bogon /]# pwconv 转换到shdow文件中,只不过平时这个动作平时由linux自动完成。
[root@bogon /]# grep root /etc/passwd /etc/shadow
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin
/etc/shadow:root:$1$5DlBd7m8$tF.az6hWi27oaaFw7OpFs.:15456:0:99999:7:::
linux对用户登录的验证就是通passwod文件来验证用户名是否存在,然后通过shadow文件来验证用户名对应的密码是否正确,那么理解了底层东西很有必要,我们可以不需要去学习创建用户命令,真接通过vim命令在两个文件中添加用户。这就是linux的魅力噢。不像windows一样,我们不但知其然,还知其所以然。
“会灵魂附体的”命令权限
继续用户管理的学习,上一小节我们知道,只有root可以修改密码文件,那么普通用户为什么可以修改自己的密码,这是因为我们所操作有命令“灵魂附体”般的拥有了root权限。这个小节自我感觉不教难理解,而我的内容也是顺着思路写,按着顺序看,最好去试验一下。^_^
小节重点:
===============================
setUID=4 所有人
setGID=2 所属组
粘着位=1 其它人
===============================
创建用户:
[root@localhost ~]# useradd lisi 添加创建了一用户lisi
[root@localhost ~]# passwd lisi 设置lisi的密码
Changing password for user wangwu.
New UNIX password: 这里输入密码
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: 再次确认密码
passwd: all authentication tokens updated successfully.
上面这种是不被推荐的一种创建用户的方式,任何的用户都应该属于某个组。创建这样的“散人”实际中没有太大意义。
[root@localhost ~]# grep lisi /etc/passwd
lisi:x:502:502::/home/lisi:/bin/bash
从上面信息中看到,系统默认为我们创建了一个lisi的组,组ID为504
用户切换:
[root@localhost ~]# su -- lisi root切换到lisi用户
[lisi@localhost root]$ su -- root lisi用户切换到root
Password: 普通用户切换root用户是要密码的哟!亲!
普通用户切换到其它普通用户也是要密码的哟!
用户修改密码:
[lisi@localhost root]$ passwd
Changing password for user lisi.
Changing password for wangwu
(current) UNIX password: 先输入原始密码
New UNIX password: 输入新有密码
Retype new UNIX password: 再次确认新密码
passwd: all authentication tokens updated successfully.
上面是铺垫,下面才是重点。。
思考:在上一节中,我们提到,存放用户密码的文件shadow只有root用户才可操作。那么普通用户为什么可以修改密码呢?
=========================setUID===============================
这里引出一个东东----setUID
定义:当一个可执行程序具有setUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。
哈哈!小狼不能和小羊谈朋友,小羊可以与小羊谈朋友,于是,小狼披上了羊的外衣,然后以羊的身份和小羊一起幸福的生活。吼吼。
其实,用户执行的这个程序就是命令,passwd命令授权了SetUID权限。所以普通用户也可以通过passwd命令改密码。
下面来做个试验!!很有意思的噢,要不要也来试试噢?
切换到lisi用户下面。
[lisi@localhost ~]$ touch file01 touch创建一个file01的文件
[lisi@localhost ~]$ ls -l file01
-rw-rw-r-- 1 lisi lisi 0 5月 5 22:14 file01
我们看到,这个时候用touch命令创建的文件,所有者是lisi,所属于组是lisi组
切换到root下面
[root@localhost ~]# ls -l /bin/touch
-rwxr-xr-x 1 root root 38056 2009-07-03 /bin/touch
细心朋友会发现权限前面还多一位。没错!setUID就属于这一位。
setUID=4
现在我们给touch命令授予个setUID授予setUID权限有两种方式。
[root@localhost ~]# chmod u+s /bin/touch
[root@localhost ~]# chmod 4755 /bin/touch
关于用户权限不理解的看我之前的相关文章。
再次切换到lisi目录下
[lisi@localhost ~]$ touch file02 创建文件file02
[lisi@localhost ~]$ ls -l file02
-rw-rw-r-- 1 root lisi 0 5月 5 22:35 file02
这次我们发现,同样的一个命令touch ,这次创建出来的文件所有者变成的root
去掉setUID权限的两种方式:
[root@localhost ~]# chmod u-s /bin/touch
[root@localhost ~]# chmod 755 /bin/touch
========================setGID=================================
setGID的用法与setUID的用法一起,它是添加组权限的。
setGID=2
添加setGID的方式如下:
[root@localhost ~]# chmod g+s /bin/touch
[root@localhost ~]# chmod 2755 /bin/touch
一般的命令我们不能随便授予setUID权限假如给vi命令授予setUID命令,无疑于给linux留了个后面,那样我们就可以通过vi命令修改用户与密码信息文件了。
那么到底有哪些命令设置有setUID呢?我们可以查找一下。
[root@localhost ~]# find / -perm -4000 -o -perm -2000
在当前目录下(/)查找具有setUID(-perm -4000)或者(-o)具有
setGID(-perm -2000)权限的命令
=======================粘着位==================================
粘着位有什么作用,我们来看一个例子,这样更容易理解。。
[root@localhost test]# mkdir abc 创建一个目录abc
[root@localhost test]# touch abc/newfile 在这个目录下创建一个文件newfile
[root@localhost test]# chmod 777 abc 对这个目录设置权限为所有人都有所有权限
[root@localhost test]# ls -ld abc
drwxrwxrwx 2 root root 4096 5月 5 23:44 abc
[root@localhost test]# ls -l abc/newfile newfile文件的权限是其它人没有删改的权限。
-rw-r--r-- 1 root root 0 5月 5 23:44 abc/newfile
切换到lisi用户
[lisi@localhost test]$ rm -rf abc
具然把abc目录下面的newfile干掉了,lisi用户虽然有对abc目录的所有权限,但对newfile文件没有删除权限呀。这就是linux对文件的权限规定。
假如张三和李四对一个文件夹都有所有权,这个文件夹下放的有张三的文件,也有李四的文件,如果张三看李四的文件不爽,那么他就直接干掉了,李四上去一看哭了。为什么办法让李四不哭呢?这里就用到粘着位了。
粘着位
粘着位=1
t,如果一个权限为777目录有粘着位,每个用户都可以在这个目录下创建文件,但只能删除自己是所有者的文件。
粘着位的授权方式:
[root@localhost test]# chmod o+t abc
[root@localhost test]# chmod 1755 abc
我们再来删除试试:
[lisi@localhost abc]$ rm newfile
rm:是否删除有写保护的一般空文件‘newfile’? y
rm: 无法删除‘newfile’: 权限不够
自己创建的文件就可以删除噢!
[root@localhost test]# touch newfile2
[root@localhost test]# rm newfile2
rm:是否删除一般空文件‘newfile2’? y
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
from:http://blog.csdn.net/m13666368773/article/details/7615125
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
用户组权限实例
先直接抛一个需求出来吧!先步骤完成了,后面再分析。
授权用户 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
修改用户名
[b] [b]usermod -l [b][新用户名] [旧用户名][/b][/b]
[/b]修改用户与添加用户时的内容基本相同,但多了一个修改用户的选项。
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 禁止其他用户切换到该组
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
from:http://blog.csdn.net/m13666368773/article/details/7615132
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
相关文章推荐
- linux及安全《Linux内核设计与实现》第一章——20135227黄晓妍
- linux IO子系统和文件系统读写流程
- Linux基础03——文件与目录管理
- Dnw下载工具还是Linux下的好(For smart210)
- Linux - 新建一个group/user
- linux下编写I2C驱动与stm32通信(二)
- linux之chkconfig
- 关于阿里云服务器CentOS7的防火墙问题
- linux第12天 线程
- linux 基础命令(1)
- centos7.0 安装LNMP运行环境
- Linux df命令用法
- Linux内核分析 读书笔记 (第一章、第二章)
- linux cifs挂载windows共享文件夹
- Linux 设备驱动中的 I/O模型(一)—— 阻塞和非阻塞I/O
- linux系统下mysql的安装过程
- Linux主从复制
- linux运维工程师的基本要求
- Linux系统编程--fork和vfork
- linux离线搭建Python环境及安装numpy、pandas