用户组及配置文件

用户的类型

Linux是一个多用户、多任务的操作系统,如果要使用系统资源,就必须向系统管理员申请一个用户,通过这个用户进入系统,通过建立不同属性的用户实现
不同的作用或权限,可以合理利用和控制系统资源。
Linux系统中用户角色分为三类:
1、管理员用户
默认是root用户,它的UID 和GID均为0,系统安装完成后自动生成的,默认通过它就可以登录系统,拥有最高的管理权限。
2、普通用户
由系统管理员root创建的,创建完成后可以登录系统,但默认无法创建、修改和删除任何管理员下的文件;UID从500-65535
3、虚拟用户(系统用户)
安装系统后默认生成的用户,大多数不能登录系统,但它们是系统正常运行不可缺少的,它们的存在主要是为了方便系统管理,满足相应的系统进程对文件所属用户的要求;UID从 1-499
类型        UID
root         0
虚拟用户    1-499
虚拟用户时为了满足系统中每个服务/进程在运行的时候都要有一个用户和家庭。
普通用户    500+

常用的命令解释器

/bin/bash       普通用户默认的命令解释器
/sbin/nologin   虚拟用户(傀儡用户)使用
[root@znix ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

用户及组配置文件

[root@znix ~]# ll /etc/passwd /etc/shadow /etc/group /etc/gshadow
-rw-r--r-- 1 root root  648 Sep 12 12:05 /etc/group         用户组信息
---------- 1 root root  529 Sep 12 12:05 /etc/gshadow       用户组密码
-rw-r--r-- 1 root root 1271 Sep 12 12:05 /etc/passwd        用户信息
---------- 1 root root  936 Sep 12 12:09 /etc/shadow        用户密码

/etc/passwd 

/etc/passwd  存放用户信息
存储用户信息,每一行表示一个用户信息,有多少行就表示多少个用户信息。

[root@nfsnobody ~]# cat /etc/passwd  存放用户信息
root:x:0:0:root:/root:/bin/bash
root     :x             :0     :0      :root             :/root           :/bin/bash
nobody   :x             :99    :99     :Nobody           :/               :/sbin/nologin
clsn     :x             :500   :500    :                 :/home/clsn      :/bin/bash
用户名   原来密码的位置  UID   GID    用户的说明信息     用户的家目录     命令解释器

/etc/shadow

存储用户密码信息文件

[root@nfsnobody ~]# cat /etc/shadow
LH : ! !: 17751: 0: 99999: 7: : :
此文件由9个字段的数据组成,字段之间用“:”分隔,格式如下:
1用户名 2 密码 3 最近改动密码的日期 4 密码不可被更动的天数 5 密码需要重新变更的天数 6 密码需要变更期限前的警告期限 7 密码过期的恕限时间
8帐号失效日期 9 保留

/etc/group

主要存储组相关信息的文件

[root@nfsnobody ~]# cat /etc/group
nfsnobody  :    x      :     500        :
组名       组密码      组ID(GID)   组成员
此文件由4个字段的数据组成,字段之间用“:”分隔

/etc/gshadow

主要用来存储组密码信息

[root@nfsnobody ~]# cat /etc/gshadow
nfsnobody     :    !         :               :
组名          组密码           组管理员       用户组成员
此文件由4个字段的数据组成,字段之间用“:”分隔

/etc/skel 

/etc/skel目录是在linux下面添加一个新用户使用的用户老家的模板。和创建用户相关的目录
此目录用来存放新用户需要的所有基础环境变量文件的目录。
用户家目录缺少.bash开头的文件    会出现的错误

[nfsnobody@nfsnobody ~]$ rm -f .bash* 删除用户家目录下的环境变量后,退出
-bash-4.1$ 重新登录

新用户家目录中的三个隐藏文件,与/etc.skel中的相同。

[root@znix skel]# useradd alex888
[root@znix skel]# su - alex888
[alex888@znix ~]$ ll -a
total 20
drwx------  2 alex888 alex888 4096 Sep 12 10:18 .
drwxr-xr-x. 6 root    root    4096 Sep 12 10:18 ..
-rw-r--r--  1 alex888 alex888   18 Mar 23 08:15 .bash_logout
-rw-r--r--  1 alex888 alex888  176 Mar 23 08:15 .bash_profile
-rw-r--r--  1 alex888 alex888  124 Mar 23 08:15 .bashrc
.bash_logout   用户登出的时候运行这个文件里的内容
.bash_profile  环境变量
.bashrc        存放用户的别名数

模拟故障

通过故障 了解/etc/skel 文件的作用

[f:\~]$ ssh 10.0.0.200 22         本地shell使用ssh登录进nfsnobody用户

[nfsnobody@nfsnobody ~]$ ls -a    ls -a 查看下家目录下的文件 包括隐藏文件
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .viminfo
[nfsnobody@nfsnobody ~]$ rm -rf .bash*    删除.bash开头的文件  模拟故障
[nfsnobody@nfsnobody ~]$ exit     退出  重新登录
logout
如果模拟故障不成功,
原因分析:1、vim /etc/profile   2、注释掉PS=那行 3、 source /etc/profile

[f:\~]$ ssh 10.0.0.200 22         重新登录

-bash-4.1$ ls -a                  命令行 变了 出现故障
.  ..  .bash_history  .viminfo
-bash-4.1$ cp /etc/skel/.bash* ~  把/etc/skel目录下.bash开头的文件 复制一份到家目录
-bash-4.1$ exit                    退出 重新登录
logout

[f:\~]$ ssh 10.0.0.200 22

[nfsnobody@nfsnobody ~]$ ls -a     命令行恢复  故障解决
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .viminfo

useradd工作原理

useradd命令工作原理有以下几步完成:
1、不带任何参数使用添加用户时,首先读/etc/login.defs    /etc/default/useradd 预先定义的规则
2、根据设置的规则添加用户,同时会向/etc/passwd  /etc/group文件添加新建的用户和组,但/etc/shadow   /etc/gshadow也会同步生成记录
3、同时系统会根据/etc/login.defs    /etc/default/useradd文件中配置的信息建立用户的家目录,并复制/etc/skel中所有隐藏的环境配置文件到新用户的家目录中,以完成对用户环境的初始化设置。

/etc/login.defs  控制用户的默认信息
/etc/login.defs文件定义了与/etc/password和/etc/shadow配套的用户限制设定。这个文件是需要的,缺失并不会影响系统的使用,但是也许会产生意想不到的错误。
如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs。

用户相关命令

useradd

useradd 命令创建用户
语法格式:useradd  [options] [login] 
useradd  [选项]    [用户名]
参数:
-n 不创建以用户名为名的组
-c 创建用户时,添加个人信息
-u 用户ID值,这个值必须是唯一的
-s 用户登录后使用的shell
-g 指定用户对应的组,对应的组必须在系统中存在

useradd命令不使用参数

useradd 命令创建用户
xshell不允许用户无密码登录

[root@nfsnobody ~]# useradd LH            创建一个新用户
[root@nfsnobody ~]# tail -1 /etc/passwd   创建后的用户 信息都是默认的  没有密码
LH:x:502:502::/home/LH:/bin/bash             创建成功  /etc/passwd 可以查到
[root@nfsnobody ~]# grep LH /etc/group    使用grep 过滤下LH的组信息
LH:x:502:                         创建了一个以用户名为名的组

useradd -n

-n 不创建以用户名为名的组

[root@nfsnobody ~]# useradd -n LH1               创建一个用户
[root@nfsnobody ~]# grep LH1 /etc/passwd         过滤检验下 创建成功
LH1:x:503:100::/home/LH1:/bin/bash
[root@nfsnobody ~]# grep LH1 /etc/group          过滤下组信息 没有同名的组
LH:x:502:
[root@nfsnobody ~]# id LH1                       使用id命令看下 LH1这个用户在users这个组里
uid=503(LH1) gid=100(users) groups=100(users)

useradd -c

-c 创建用户时,添加个人信息
创建用户的同时,添加agan2用户的个人信息,个人信息使用逗号隔开

[root@localhost ~]# useradd -c nfsnobody,15810516499,河北LH     格式
[root@localhost ~]# grep  "LH" /etc/passwd                 过滤下信息查看
LH:x:506:506:nfsnobody,15810516499,河北:/home/LH:/bin/bash

useradd -u 

-u 用户ID值,这个值必须是唯一的
创建用户的同时,修改用户默认的UID

[root@localhost ~]# useradd -u 888 LH                      格式规范
[root@localhost ~]# grep  "LH" /etc/passwd                 过滤下信息查看
LH:x:888:888::/home/LH:/bin/bash

useradd -s

-s指定用户登录后的shell
/sbinlogin 表示禁止登录
此例在企业中部署nginx、mysql等服务时经常用到

[root@localhost ~]# useradd -s /sbinlogin  tian
[root@localhost ~]# grep -w "tian" /etc/passwd
tian:x:8892:8892::/home/tian:/sbinlogin

useradd -g

-g 指定用户对应的组,对应的组必须在系统中存在
-G参数会把修改记录在/etc/group
让用户,隶属于到edu组,这里通过id 命令来查看用户,所属于的组。
因为使用-g 组信息记录在/etc/passwd中。事实上系统确认一个用户的所属组的时候是根据/etc/passwd的组ID。 
因此,useradd -g仅仅修改/etc/passwd,而不会修改/etc/group。 
加"-G"参数会把修改记录在/etc/group

[root@nfsnobody ~]# groupadd HH           创建一个新的组
[root@nfsnobody ~]# tail -1 /etc/group        查看新建的组信息
HH:x:503:
[root@nfsnobody ~]# useradd -g HH LH2     使用-g创建一个新用户使他属于HH这个组
[root@nfsnobody ~]# id LH2                查看
uid=504(LH2) gid=503(HH) groups=503(HH)
[root@nfsnobody ~]# grep LH2 /etc/passwd  查看下用户的信息
LH2:x:504:503::/home/LH2:/bin/bash
[root@nfsnobody ~]# tail -1 /etc/group
查看下组的信息  虽然加入了组 但是在group这个文件里 并没有显示出来
HH:x:503:
[root@nfsnobody ~]# useradd -G HH LH3      用-G创建一个新用户 并加入到这个组
[root@nfsnobody ~]# grep LH3 /etc/group    查看LH3的组信息  可以发现同时属于两个组
HH:x:503:LH3
LH3:x:505:
[root@nfsnobody ~]# grep LH3 /etc/passwd   过滤下LH3用户信息
LH3:x:505:505::/home/LH3:/bin/bash
[root@nfsnobody ~]# id LH3                  -G创建的LH3 同时属于两个组
uid=505(LH3) gid=505(LH3) groups=505(LH3),503(HH)
[root@nfsnobody ~]# id LH2                  -g创建的LH2 属于HH这个组
uid=504(LH2) gid=503(HH) groups=503(HH)
[root@nfsnobody ~]# grep HH /etc/group
HH:x:503:LH3

usermod

usermod 修改系统已经存在的用户信息
语法:usermod   [options]    [login]
      usermod   [选项]       [用户名]
参数:
-c   修改用户的个人信息,同useradd 的-c功能  
-g   修改用户对应的用户组,同  useradd的-d功能
-s   修改用户登录后使用的shell名称,同useradd的-s功能
-u   修改用户的uid ,同useradd 的-u功能
-l   修改用户的名称

usermod

格式
usermod  -l  u1   LH
            新名 已存在的名
把LH的用户名改为u1

[root@nfsnobody ~]# ls /home/        查看一下信息
LH  LH1  LH2  LH3  nfsnobody  www
[root@nfsnobody ~]# id LH            LH的ID信息
uid=502(LH) gid=502(LH) groups=502(LH)
[root@nfsnobody ~]# usermod -l u1 LH   修改名字
[root@nfsnobody ~]# id u1              查看u1的ID
uid=502(u1) gid=502(LH) groups=502(LH)
[root@nfsnobody ~]# id LH            查看LH的
id: LH: No such user                    修改成LH已经不存在了
[root@nfsnobody ~]# ls /home/        查看家目录
LH  LH1  LH2  LH3  nfsnobody  www
[root@nfsnobody ~]# su - u1          切换到u1用户
[u1@nfsnobody ~]$ pwd                u1用户的家目录还是LH  家目录名称没有变
/home/LH

useradd与usermod的区别

useradd与usermod 有很多相同的参数
命令不同之处  
useradd是对新用户(要创建的用户)作用/配置
usermod是对已存在的用户配置

userdel

userdel 删除用户
语法:userdel   [options]  [login]
      userdel   [选项]     [用户名]
参数:           
-f     强制删除用户
-r     删除用户的同时,删除与用户相关的所有文件(包含邮箱信息)
userdel可以直接删除参数  注意需要加-r参数 不然会删除不彻底(不干净)会导致以后创建同名的用户无法创建

彻底删除用户

userdel -rf  彻底删除删除与用户相关的所有文件(包含邮箱信息)
可以不加f  但是想彻底删除一个用户 必须要加-r

[root@nfsnobody ~]# ls /home/
LH1  LH2  LH3  nfsnobody  www
[root@nfsnobody ~]# userdel -rf LH1    -rf 彻底删除一个用户
[root@nfsnobody ~]# id LH1
id: LH1: No such user
[root@nfsnobody ~]# ls /home/
LH2  LH3  nfsnobody  www
[root@nfsnobody ~]# ls /var/spool/mail/
LH2  LH3  nfsnobody  root  www

未彻底删除补救方法

未彻底删除导致的问题

[root@nfsnobody ~]# ls /home/       查看下用户家目录信息
LH2  LH3  nfsnobody  www
[root@nfsnobody ~]# userdel LH2     未使用参数删除用户
[root@nfsnobody home]# id LH2       确实已经删除了  id也查询不到
id: LH2: No such user
[root@nfsnobody ~]# useradd LH2     但是创建同名用户显示用户已存在
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists        大概意思是用户已存在

补救方法

[root@nfsnobody ~]# cd /var/spool/mail/   进入到用户的邮箱  删除LH2的邮箱
[root@nfsnobody mail]# ls                 先看一下
LH2  LH3  nfsnobody  root  www
[root@nfsnobody mail]# rm -rf LH2
[root@nfsnobody mail]# cd /home/        进入到/home目录  这是普通用户的家目录
[root@nfsnobody home]# ls
LH2  LH3  nfsnobody  www
[root@nfsnobody home]# rm -rf LH2      删除LH2这个目录
[root@nfsnobody home]# ls /home/       检查是否删除
LH3  nfsnobody  www                          已删除
[root@nfsnobody home]# vim /etc/passwd
删除或注释里面开头是LH2的信息
[root@nfsnobody home]# vim /etc/group
删除或注释里面开头是LH2的信息
[root@nfsnobody home]# useradd LH2       重新尝试创建 可以创建
[root@nfsnobody home]# id LH2            检查
uid=506(LH2) gid=506(LH2) groups=506(LH2)
passwd 

修改用户密码命令
语法:passwd [option] [username]
passwd [选项]   [用户名]
参数:
--stdin //从标准输入读取密码字符串

修改当前用户的密码

普通用户使用passwd 修改密码时,必须满足密码复杂性要求;root 修改密码不需要满足密码复杂性。

[root@localhost ~]# passwd
Changing password for user root.
New password:                     输入新密码
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is too simple
Retype new password:              再次输入
passwd: all authentication tokens updated successfully.  更新成功

修改普通用户的密码

root用户可以直接修改 不用满足密码复杂性

[root@localhost ~]# useradd u1
[root@localhost ~]# passwd u1
Changing password for user u1.
New password:
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

非人工交互设置密码

--stdin  这个命令在工作中批量设置密码时很有用
一条命令非人工交互设置密码(企业使用技巧)

[root@localhost ~]# echo "123456" | passwd --stdin u1
Changing password for user u1.
passwd: all authentication tokens updated successfully.  密码更新成功

批量更新用户的密码

批量更新用户的密码
格式  
用户名:密码,
用户必须存在才可以,一行一个用户

[root@localhost gj]# chpasswd    输入命令
root:123456                      格式  用户名:密码,用户必须存在才可以,一行一个用户
u1:123456
u2:654321                        输入完成后,直接ctrl+D 结束输入

此命令有一个缺点 当一行输入错误后,不能返回修改。
当使用useradd 命令批量创建用户后,可以使用chpasswd 命令批量设置密码或批量修改密码。
把用户和密码字符串放到文件里执行批量改密码

[root@localhost gj]# cat passwd.txt         先将密码写入一个文件
u1:123
u2:321
u3:123
[root@localhost gj]# chpasswd < passwd.txt  然后使用<重定向到chpasswd

su和sudo

su的使用

su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
su 切换用户却不切换工作环境 , su - 同时切换用户与工作环境
缺点:用户通过su root命令直接获取root权限 从而造成用户的权限太大 也就可能给系统造成危险
su  与  su - 

[root@nfsnobody home]# cd /etc/     先进入/etc目录下
[root@nfsnobody etc]# su nfsnobody     使用su 切换用户
[nfsnobody@nfsnobody etc]$ exit        切换后还在/etc目录下  退出
[root@nfsnobody etc]# su  - nfsnobody  使用su - 切换
[nfsnobody@nfsnobody ~]$               切换后自动返回当前用户的家目录
[nfsnobody@nfsnobody ~]$ pwd
/home/nfsnobody

sudo

su的缺点造就了sudo的诞生
由于用户通过su root命令直接获取root权限 从而造成用户的权限太大 也就可能给系统造成危险。
为了既保证系统的安全又可以执行相应命令,sudo 也就以此诞生。
sudo作用:通过配置文件来限制用户的权限 ,可以让普通用户在执行指定的命令或程序时,拥有超级用户的权限。
sudo的工作过程如下:
当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
若密码输入成功,则开始执行sudo后续的命令
root执行sudo时不需要输入密码(因为sudoers文件中有配置root ALL=(ALL) ALL这样一条规则)
给普通用户u1提权,让普通用户可以查看root用户的家目录;普通用户可以使用useradd命令,创建新用户
分析步骤:

useradd   u1
visudo=vi打开/etc/sudoers文件 或  vim  /etc/sudoers
visudo会检查内部语法,避免用户输入错误信息,所以我们一般使用visudo,编辑此文件要用root权限
编辑文件的第98行,编辑完成后,wq! 强制保存退出
root    ALL=(ALL)     ALL
u1      ALL=(ALL)     /bin/ls,/usr/sbin/useradd
使用u1 用户登录测试
sudo    useradd  u11     可成功创建用户,证明提权成功
sudo    ls   /root       可查看root的家,证明提权成功
sudo   -l         -l 参数是列出当前用户可执行的命令,但只有在sudoers文件里的用户才能使用该选项。
[nfsnobody@nfsnobody ~]$ sudo -l(小L)

用户查询命令

w命令

w  用于显示目前登入系统的用户信息。
执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。
单独执行 w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

显示当前登录的用户

[root@nfsnobody etc]# w
17:35:19 up 23:28,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                Wed12    2days  0.00s  0.00s -bash
root     pts/0    10.0.0.1         13:16    0.00s  0.12s  0.00s w

w -h

w -h不打印头信息;

[root@nfsnobody etc]# w -h
root     tty1     -                Wed12    2days  0.00s  0.00s -bash
root     pts/0    10.0.0.1         13:16    0.00s  0.12s  0.00s w -h

id命令

id命令 查看用户的UID 、GID
id -u   显示用户ID
id -g   显示用户所属群组的ID。
id -G   显示用户所属附加群组的ID。

[root@nfsnobody /]# id user6
uid=8897(user6) gid=8899(z11) groups=8899(z11)
[root@nfsnobody /]# id -g user6
8899
[root@nfsnobody /]# id -G user6
8899
[root@nfsnobody /]# id -u user6
8897

last和lastlog

last命令用了显示用户登录情况,以下是直接显示固定行数的记录:
lastlog 命令 显示linux中所有用户最近一次远程登录的信息

[root@nfsnobody etc]# last
[root@nfsnobody etc]# lastlog

组相关信息

groupadd

添加用户组命令 groupadd
语法:groupadd  [options]   [group]
      groupadd  [选项]      [用户组]
参数:
-g   gid   指定用户组的GID,GID唯一不能为负数,如果不指定GID从500开始
-f         新增一个组,强制覆盖一个已存在的组,GID、组成员不会改变。
添加组z11,查看添加后的组信息

[root@nfsnobody ~]# groupadd z11
[root@nfsnobody ~]# grep "z11" /etc/group
z11:x:8895:
[root@nfsnobody ~]# tail -1 /etc/group
z11:x:8895:

gpasswd

将已存在的用户加入到组中的命令 gpasswd
语法:gpasswd [options] [user]   [group]
gpasswd [选项]    [用户名] [组名]
参数:
-a:添加一个用户到组,可以追加到组
-M:添加多个用户到组,覆盖之前的组成员
-d:从组删除用户
把user1用户添加到z1,并且查看是否添加成功 
-a选项只能添加一个用户,需要同时添加多用户时,使用-M参数

[root@nfsnobody gj]# groupadd z1
[root@nfsnobody gj]# useradd user1
[root@nfsnobody gj]# gpasswd -a user1 z1
Adding user user1 to group z1
[root@nfsnobody gj]# grep "z1" /etc/group
z1:x:8896:user1

同时添加user2、user3用户到z1组(先创建user2、user3用户)
使用-M参数添加多个用户时,多用户之间使用逗号分割;添加批量用户时,先使用-a参数,在使用-M参数,就会覆盖之前添加过的用户;所以添加多用户时,先使用-M 参数。

[root@nfsnobody gj]# gpasswd -M user2,user3 z1
[root@nfsnobody gj]# grep "z1" /etc/group
z1:x:8896:user2,user3
将user2用户从组中删除
[root@nfsnobody gj]# gpasswd -d user2 z1
Removing user user2 from group z1
[root@nfsnobody gj]# grep "z1" /etc/group
z1:x:8896:user3

groupmod

修改组信息的命令 groupmod
语法:groupmod  [options]  [group]
      groupmod  [选项]    [组名]
groupmod  -n  新名  旧名
groupmod  -g  8888  dir
参数:
-n    修改组名
-g    修改GID

修改z1组的GID

[root@nfsnobody gj]# grep "z1" /etc/group
z1:x:8896:user3
[root@nfsnobody gj]# groupmod -g 8888 z1
[root@nfsnobody gj]# grep "z1" /etc/group
z1:x:8888:user3

修改z1组的组名为newz1

[root@nfsnobody gj]# grep "z1" /etc/group
z1:x:8888:user3
[root@nfsnobody gj]# groupmod -n z1new z1
[root@nfsnobody gj]# grep "z1" /etc/group
z1new:x:8888:user3

groupdel  

删除组的命令 groupdel  
查看用户属于到哪些组,使用命令:groups
语法:groupdel   [group]
      groupdel   [组名]
范例:
groupdel 组名 
删除组,删除组后,用户名依然存在

groups

看用户属于到哪些组,命令:groups 
语法:groups   [user] 
      groups   用户名

[root@nfsnobody lh]# groups user1
user1 : user1 z2

CentOS-用户的管理的更多相关文章

  1. CentOS用户权限管理--su与sudo

    Linux权限管理--su与sudo 1.su用来切换登录的用户,比如当前用户为chen,可以用su zhu,并输入用户zhu的登录密码,就可以切换到用户zhu.如果一个普通用户想切换到root用户, ...

  2. centos 用户管理

    3.使用命令管理账户 useradd 选项  用户名//添加新用户 usermod 选项  用户名//修改已经存在的用户 userdel -r    用户名//删除用户表示自家目录一起删除. grou ...

  3. Linux学习总结(十二)—— CentOS用户管理:创建用户、修改用户、修改密码、密码有效期、禁用账户、解锁账户、删除用户、查看所有用户信息

    文章首发于Linux学习总结(十二)-- CentOS用户管理,请尊重原创保留原文链接. 创建用户 useradd -g webadmin -d /home/zhangsan zhangsan pas ...

  4. MySQL for OPS 01:简介 / 安装初始化 / 用户授权管理

    写在前面的话 取这个标题的目的很简单,MySQL 在中小型企业中一般都是由运维来维护的,除非数据很重要的公司可能会聘请 DBA. 但是运维一般存在由于所需要了解的东西很多很杂,导致学习过程中很多东西只 ...

  5. linux用户的基本操作2 用户密码管理

    目录 linux系统的基本用户操作2 用户的扩展知识 用户密码管理 linux系统的基本用户操作2 3)使用userdel删除账户 语法 : userdel [-r] username -r 同时删除 ...

  6. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  7. 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...

  8. django 基于proxy实现用户权限管理

    项目中经常会遇到用户权限管理的问题,django adminsite已经提供非常实用的用户权限管理机制.不过有些时候,我们希望根据相关用户属性来过滤adminsite中显示的内容.下文将结束如何实现: ...

  9. 三、基础功能模块,用户类别管理——锁、EF并发处理、领域服务、应用服务的划分

    在上一章节中,我们处理了MVC多级目录问题,参见<二.处理MVC多级目录问题——以ABP为基础架构的一个中等规模的OA开发日志>.从这章开始,我们将进入正式的开发过程.首先,我们要完成系统 ...

  10. RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.8 用户权限管理 -Web部分 在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用 ...

随机推荐

  1. Tips/Tricks in Deep Neural Networks

    转自: http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html

  2. 天下文章一大抄 之 修改excel 创建时间

    Sub ChangeDate()ThisWorkbook.BuiltinDocumentProperties("Creation Date") = #2 28 2016 13:25 ...

  3. Intel Edision —— 上电、基本设置与系统初探

    前言 原创文章,转载引用务必注明链接.如有疏漏,欢迎斧正. Intel的文档其实挺清楚了,坛子上很多人把文档又详细复述一边,私以为一篇就够了其他的跟着文档走一遍也挺好的...俗一把使用过程顺手记录下来 ...

  4. TCP 的那些事儿(下)(转)

    TCP的RTT算法 从前面的TCP的重传机制我们知道Timeout的设置对于重传非常重要, 设长了,重发就慢,没有效率,性能差: 设短了,重发的就快,会增加网络拥塞,导致更多的超时,更多的超时导致更多 ...

  5. C#文件的压缩和解压(ZIP)使用DotNetZip封装类操作zip文件(创建/读取/更新)实例

    需要引用Ionic.Zip命名空间 DLL下载地址在这里:http://dotnetzip.codeplex.com/ 文件压缩 /// <summary> /// 压缩ZIP文件 /// ...

  6. 【转载】C#中回滚TransactionScope的使用方法和原理

    TransactionScope只要一个操作失败,它会自动回滚,Complete表示事务完成 实事上,一个错误的理解就是Complete()方法是提交事务的,这是错误的,事实上,它的作用的表示本事务完 ...

  7. HDU 5366:The mook jong 递推

    The mook jong  Accepts: 506  Submissions: 1281  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit ...

  8. AVL树,红黑树,B-B+树,Trie树原理和应用

    前言:本文章来源于我在知乎上回答的一个问题 AVL树,红黑树,B树,B+树,Trie树都分别应用在哪些现实场景中? 看完后您可能会了解到这些数据结构大致的原理及为什么用在这些场景,文章并不涉及具体操作 ...

  9. 将MySQL服务绑定到固定的IP地址上

    近期将在线服务迁移到了阿里云.     阿里云提供了云盾,安全上确实比其他的云服务有了很大的提高,遗憾的是,没有防火墙,还是需要自己设置.阿里云的虚拟机跑在XEN上,直接使用YUM安装iptables ...

  10. xcode4中build Settings常见参数解析

    本文转载至 http://shiminghua234.blog.163.com/blog/static/263912422012411103526386/     1.Installation Dir ...