linux中gid和groups区别,linux用户与组管理

linux安全系统的核心是用户账户,每个使用者使用一个账户名及与该账户关联的密码登入linux系统。使用者对系统资源的访问权限取决于其登录时所用的账户。

每个账户在创建时会被分配一个惟一的标识UID,用户权限便是根据UID来跟踪的。每个账户可以选择加入某些个群组以方便统一管理,每个群组也对应一个惟一标识GID。所有账户名、UID、GID等信息都保存于/etc/passwd文件中,所有群组信息都保存于/etc/group文件中,而账户密码则以加密方式保存于/etc/shadow中。

一、/etc/{passwd,shadow,group}解析

1、/etc/passwd

该文件存放着与所有用户相关的信息,每行包含7个字段,其格式为:

用户名:密码占位符:UID:基本组GID:注释信息:家目录:shell

例 wittgenstein:x:500:500:wittgenstein:/home/wittgenstein:/bin/bash

1)第二字段是以x表示的密码占位符,因/etc/passwd默认是对所有用户开放读权限的,为安全起见,实际密码是存放于只有管理员能访问的/etc/shadow文件中的。[root@localhost ~]# ls -l /etc/{passwd,shadow}

-rw-r--r-- 1 root root 1594 Oct  5 13:00 /etc/passwd

---------- 1 root root 1032 Oct  5 13:00 /etc/shadow

2)系统账户默认的shell为/sbin/nologin,这是一个无法登入主机的特殊shell,系统用户不需也不宜取得shell交互环境。其它用户默认为/bin/bash

2、/etc/shadow

该文件以加密的方式存放着各用户的密码,每行9个字段,其格式为:

用户名:加密的密码:最近一次修改密码的时间:密码最短使用期限:密码最长使用期限:密码过期警告区间:非活动期限:账号过期期限:保留字段

例 wittgenstein:$6$dHcMR77ZSJgbb...:16652:0:99999:7:::

1)密码是以加密方式存放的,还未创建密码的新用户该字段用!!表示

2)密码最短使用期限,意即在此期限内密码不可更改。如果是0,则表示可随时改动

3)密码最长使用期限,意即在此期限内密码必须更改,逾期密码会变成过期属性

4)密码过期警告区间,意即密码过期后的宽限时间

3、/etc/group

该文件存放着与群组相关的信息,每行4个字段,其格式为:

群组名:群组密码占位符:GID:群组支持的用户名

例 wittgenstein:x:500:davinci,tesla

1)群组密码实际存放于/etc/gshadow中,通常不需设定

2)最后一个字段实质上是以该群组为附加组的用户列表,以该群组为基本组的用户名不会自动被添加到此处。

将用户加入群组的方法:

a.在使用useradd或usermod命令时,指定-g或-G选项将其加入某个群组

b.直接编辑/etc/group文件,在目标群组行的末尾添加用户名,用户名之间以逗号相隔

二、用户管理

1、用户分类

linux用户由一个管理员账户(root)以及若干系统用户和普通用户组成。通常,三类用户被分配的UID是:root为0,系统用户为(1-499),普通用户为500+。root用户的家目录为/root,普通用户的家目录默认为/home/username,系统用户默认不会主动建立家目录.

root用户拥有几乎一切权限,能够操作各种系统资源及控制其它用户的创建、删除、权限等。为安全起见,linux服务器上每个在后台运行的服务都对应一个系统账户,这样即使***者攻破某个服务,也无法访问整个系统。

2、useradd:创建用户

用法:useradd [-u UID] [-g 基本组GID/群组名] [-G 附加组GID/群组名]... username

其它常用选项:

-c:加上注释,注释会保存于/etc/passwd文件的注释段中

-d:指定家目录,若指定目录已存在,会有警告信息

-m:如果家目录不存在,就创建。这个要结合-d选项使用 -md

-s SHELL:指定shell,必须是/etc/shells中存在的shell,默认为/bin/bash

-m:自动建立用户家目录(默认)

-M:不给用户创建家目录

-e:指定用户的过期日期,格式为YYYY-MM-DD,此设定值会被写入shadow文件第8段

-f:指定账户过期几天后永久停权,设定值为0表示立即停权,为-1则表示关闭此功能,默认为-1。设定值会被写入shadow文件第7段

-r:创建系统用户

可指定多个附加组,以逗号相隔

使用示例:useradd -u 505 -g wittgenstein -G 502,davinci tesla

注意:在useradd中指定群组时不能指定当前并不存在的群组;每个用户必对应一个基本组(但一个群组可作为多个用户的基本组),无论是随用户一起创建还是指定的,但用户可以选择是否加入或加入哪些附加组。

当我们不指定任何选项,以预设方式useradd username创建用户时:

1)该用户的UID为当前最大UID加1,并且会创建一个群组名与用户名相同的基本组,其GID默认与UID相同,但若该GID已存在,则会在当前最大GID基础上加1

2)在/etc/passwd里会新建一行与该用户相关的信息,包括用户名、UID、GID、shell等

3)在/etc/shadow里会新建一行与该用户密码相关的参数,此时还没有密码,需要使用passwd命令创建密码后才会生成

4)在/etc/group里会新建一行群组名同用户名的群组信息(若创建用户时指定其基本组为已存在的群组,则不会新建)

5)在/home下面会建立一个名为username且权限为700的家目录,即只有该用户自己与管理员能够进入该目录。[root@localhost ~]# useradd tesla

[root@localhost ~]# tail -2 /etc/passwd

wittgenstein:x:500:500:wittgenstein:/home/wittgenstein:/bin/bash

tesla:x:501:501::/home/tesla:/bin/bash

[root@localhost ~]# groupadd sience

[root@localhost ~]# groupadd -g 505 movie

[root@localhost ~]# tail -3 /etc/group

tesla:x:501:

sience:x:502:

movie:x:505:

[root@localhost ~]# useradd -c super davinci

[root@localhost ~]# tail -2 /etc/passwd

tesla:x:501:501::/home/tesla:/bin/bash

davinci:x:502:506:super:/home/davinci:/bin/bash

[root@localhost ~]# useradd -u 503 -G movie kubrick

[root@localhost ~]# id kubrick

uid=503(kubrick) gid=503(kubrick) groups=503(kubrick),505(movie)

3、passwd:创建或修改密码

用法:passwd [option]... [username]

常用选项:

-d:删除密码

-l:lock,锁住密码,只有root用户能执行

-u:unlock,解锁密码,只有root用户能执行

--stdin:以管道前的数据作为密码输入,这样就不用交互式进行。例如echo "password" | passwd --stdin username

-n: 密码最短使用天数

-x: 密码最长使用天数

-w: 密码到期前,收到警告信息的天数

-i: 密码过期后宽限的天数

注意:passwd命令后带有username参数表示处理其它用户密码,不带则是修改当前用户自己的密码。只有root用户能给其它用户创建密码并执行修改、删除、锁定密码等操作,普通用户只能修改自己的密码

4、usermod:修改用户信息,但不允许修改正在被使用的账户

用法:usermod [option]... username

常用选项:

-c:修改用户的注释信息,即/etc/passwd文件中第5段内容

-d:修改用户家目录

-u:修改UID

-g:修改基本组

-G:修改附加组

-s:修改shell

-L:锁定密码,使用户无法登录

-U:解锁密码

...

例 usermod -L 相当于 passwd -l

5、userdel:删除用户

用法:userdel [-r] [-f] username

常用选项:

-r:与该用户相关的所有资料也一并删除,包括家目录及/etc/{passwd,shadow,group}内的对应信息

-f:强制删除,即使该用户在线

例 userdel -r tesla

6、chage:修改密码的有效期,即/etc/shadow文件中的一些参数

用法:chage [option]... username

常用选项:

-m,--mindays:密码最短使用天数

-M,--maxdays:密码最长使用天数

-W,--warndays:密码到期前,收到警告信息的天数

-I,--inactive:密码过期后宽限的天数,过了这些天,禁止登录

-l:查看当前的设置

...

例 chage -m 7 -M 60 -W 10 -I 30 tesla

7、chfn:修改用户的finger信息

chfn [option]... [username]

不指定任何选项则进入交互模式,不指定用户名则修改当前用户自身信息

只有root能够设置所有用户finger信息,其它用户只能设置自身finger信息[nolan@localhost ~]$ chfn

Changing finger information for nolan.

Password:

Name []: nolan

Office []: 2046

Office Phone []: 2222

Home Phone []: 3333

Finger information changed.

[nolan@localhost ~]$ finger nolan

Login: nolan          Name: nolan

Directory: /home/nolan              Shell: /bin/bash

Office: 2046, x2222Home Phone: x3333

Never logged in.

No mail.

No Plan.

[nolan@localhost ~]$ chfn -h 8888 #单独修改home phone

三、用户信息的查看

1、id:显示用户的UID、GID、所属的组

用法:id [option]... [用户名]

-u:仅显示UID

-g:仅显示GID

-un:仅显示用户名

-gn:仅显示基本群组名

不带参数则显示当前用户的UID等信息[root@localhost ~]# id

uid=0(root) gid=0(root) groups=0(root)

[root@localhost ~]# id tesla

uid=502(tesla) gid=502(tesla) groups=502(tesla),501(davinci)

[root@localhost ~]# id -gn  tesla

tesla

2、who或w:显示当前登录系统的用户信息[root@localhost ~]# w

19:07:07 up  7:25,  4 users,  load average: 0.00, 0.00, 0.00

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     tty1     -                Wed21    1:51m  0.04s  0.04s -bash

root     pts/0    192.168.30.1     17:17    0.00s  0.24s  0.00s w

tesla    pts/1    192.168.30.1     19:03    3:31   0.00s  0.00s -bash

[root@localhost ~]# who

root     tty1         2015-09-30 21:21

root     pts/0        2015-10-05 17:17 (192.168.30.1)

tesla    pts/1        2015-10-05 19:03 (192.168.30.1)

3、last:显示用户最近登录信息

用法:last [option]... [用户名/终端]

常用选项:

-n #或-#:指定显示#条记录

-d:将IP地址转换成主机名[root@localhost ~]# last -3

tesla    pts/1        192.168.30.1     Mon Oct  5 19:03   still logged in

tesla    pts/2        192.168.30.1     Mon Oct  5 17:17    gone - no logout

root     pts/0        192.168.30.1     Mon Oct  5 17:17   still logged in

wtmp begins Thu Aug  6 05:14:00 2015

[root@localhost ~]# last tesla

tesla    pts/1        192.168.30.1     Mon Oct  5 19:03   still logged in

tesla    pts/2        192.168.30.1     Mon Oct  5 17:17    gone - no logout

tesla    pts/2        192.168.30.1     Mon Oct  5 17:16 - 17:16  (00:00)

...

wtmp begins Thu Aug  6 05:14:00 2015

[root@localhost ~]# last -3 tty1

root     tty1                          Wed Sep 30 21:21   still logged in

root     tty1                          Mon Aug 10 13:49 - 21:19 (51+07:30)

root     tty1                          Mon Aug 10 13:42 - down   (00:04)

wtmp begins Thu Aug  6 05:14:00 2015

4、lastlog:显示系统中所有用户最近一次的登录信息

用法:lastlog  [option]...

常用选项:

-u username:显示指定用户的最近一次登录信息

-t 天数:显示指定天数以内的登录信息

-b 天数:显示指定天数以前的登录信息[root@localhost ~]# lastlog

Username         Port     From             Latest

root             pts/0    192.168.30.1     Mon Oct  5 17:17:05 +0800 2015

bin                                        **Never logged in**

daemon                                     **Never logged in**

...

tesla            pts/1    192.168.30.1     Mon Oct  5 19:03:36 +0800 2015

5、lastb:与last命令相似,它会查找/var/log/btmp 文件,列出所有登录系统失败的用户的信息

用法:lastb [-i] [-n #] [USER]

常用选项 :

-n:指定显示的行数

-i:将主机名转换为IP地址[root@node2 ~]# lastb

tesla    ssh:notty    192.168.30.1     Fri Nov 27 03:10 - 03:10  (00:00)

tesla    ssh:notty    192.168.30.1     Fri Nov 27 03:06 - 03:06  (00:00)

tty1                          Tue Nov 10 01:04 - 01:04  (00:00)

root     tty1                          Tue Nov 10 01:03 - 01:03  (00:00)

root     ssh:notty    192.168.30.1     Mon Nov  9 21:05 - 21:05  (00:00)

root     tty1                          Tue Sep 22 09:04 - 09:04  (00:00)

btmp begins Tue Sep 22 09:04:08 2015

6、finger:查看用户信息,包括登录信息、真实名称、家目录等;该命令需额外安装

用法:finger [option]... [本地用户]... [远程用户@主机]

不指定任何选项和参数则显示本地用户登录信息

该命令可查看远程主机用户信息,前提是远程主机上已运行finger服务进程[root@localhost ~]# finger

Login     Name       Tty      Idle  Login Time   Office     Office Phone

root      root       tty1    14:54  Sep 30 21:21

root      root       pts/0    1:28  Oct  6 05:18 (192.168.30.1)

root      root       pts/2          Oct  6 07:51 (192.168.30.1)

tesla                pts/1    1:28  Oct  6 06:40 (192.168.30.1)

[root@localhost ~]# finger root

Login: root           Name: root

Directory: /root                    Shell: /bin/bash

On since Wed Sep 30 21:21 (CST) on tty1    14 hours 54 minutes idle

On since Tue Oct  6 05:18 (CST) on pts/0 from 192.168.30.1

1 hour 28 minutes idle

On since Tue Oct  6 07:51 (CST) on pts/2 from 192.168.30.1

No mail.

No Plan.

四、用户之间的切换(su和sudo)

1、su:切换至其它用户

用法:su [-] [-c] [-m] [username]

选项:

-c:执行完指定的指令后恢复原来身份,如su - -c "userdel pulak" root

-c选项应用场景之一:使用普通用户启动服务

vim /etc/rc.local

su - tesla -c "/bin/sh /home/tesla/bin/deploy.sh"

-m:变更身份时不变更环境变量

不指定目标用户时,则为切换到root用户

root切换到其它用户不需输入密码,其它用户切到root或其它用户之间切换需输入密码

su username与su - username的区别:

su命令后是否有-选项差别很大,su username是以非交互式登录的方式取得shell(no-login shell),这种方式很多变量仍保留原值,如下,当在当前用户wittgenstein下使用mail命令查看邮件时,实际上查看的却是原来用户tesla的邮件。退出no-login shell使用exit命令。

而su - username属于交互式登录(login shell),会完全取得新用户的环境。退出login shell使用logout命令[tesla@localhost ~]$ su wittgenstein

Password:

[wittgenstein@localhost tesla]$ env | grep 'tesla'

PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tesla/bin

MAIL=/var/spool/mail/tesla

PWD=/home/tesla

[wittgenstein@localhost tesla]$ exit

exit

[tesla@localhost ~]$ su - wittgenstein

Password:

[wittgenstein@localhost ~]$ env | grep 'tesla'

[wittgenstein@localhost ~]$ env | grep 'wittgenstein'

USER=wittgenstein

MAIL=/var/spool/mail/wittgenstein

PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/wittgenstein/bin

PWD=/home/wittgenstein

HOME=/home/wittgenstein

LOGNAME=wittgenstein

[wittgenstein@localhost ~]$ logout

[tesla@localhost ~]$ su - -c "tail -1  /etc/shadow" root

Password:

pulak:!!:16713:0:99999:7:2:16714:

2、sudo:以其它用户身份来执行命令,预设为root

由于root权力太过强大,基于安全和防止误操作考虑,root密码宜尽量减少传播,使用者多以普通用户身份登录。但有时候又需要临时执行一些只有root才有权限执行的操作,这时候就可以用到sudo了

1)suso能做什么?

a.限定指定用户在指定主机上运行指定的管理命令,减少了用户因为错误或恶意执行命令损坏系统的可能性

b.详细记录用户基于sudo执行的命令的相关日志信息

c.“检查系统”:用户第一次执行sudo会要求输入自己的密码,用户会获得一个有固定存活时长的“入场券”(默认为5分钟),逾期后若想再次执行sudo命令需要重新输入密码

2)sudo执行流程:

①当用户执行sudo时,系统根据/etc/sudoers文件检查其是否有相应权限

②若有相应权限,要求用户输入自己的密码以确认

③认证通过后用户便可执行指定的命令

3)某用户若想使用sudo执行其它用户才能执行的命令,则需要root用户先使用专用编辑命令visudo编辑/etc/sudoers文件,授予该用户所需要的权限。/etc/sudoers是有特定语法的,故需使用visudo命令编辑

■/etc/sudoer语法:

[%]WHO HOST=(WHOM) [NOPASSWD:] COMMAND

①WHO表示用户,前面若有%表示群组

②HOST表示登录者的来源主机

③WHOM表示可切换的身份

④NOPASSWD表示免除密码输入,可选项,一般用于信任的用户

⑤COMMAND表示可执行的命令

例 gentoo ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root

■当要指定的参数太长时,可使用别名,格式为:

Alias_Type NAME = item1, item2...

其中Alias_Type可以是User_Alias(用户别名)、Runas_Alias(可切换成的身份别名)、Host_Alias(主机别名)、Cmnd_Alias(命令别名);别名列表中可再嵌套别名

注意:别名本身必须使用全大写字母

用户别名:

可用项:USERNAME,%GROUPNAME,#UID,#GID,User_Alias

格式:User_Alias NAME1 = item1,item2 : NAME2 = item3,item4

主机别名:

可用项:hostname,ip,network_address,host_alias

格式:Host_Alias NAME = item1,item2

切换到的身份别名:

格式:Runas_Alias NAME = item1,item2

命令别名:

可用项:命令名,目录(目录下的所有命令),"sudoedit",Cmnd_Alias

格式:Cmnd_Alias NAME = item1,item2

/etc/sudoers编辑示例:

User_Alias GENIUS = davinci,tesla,wittgenstein,%director

Cmnd_Alias CHANGE = /usr/sbin/useradd,/usr/sbin/userdel,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root

GENIUS ALL=(root) CHANGE

注意:生产场景中,不建议使用echo命令修改/etc/sudoers文件,如果语法有误,又没及时发现,可能造成不良后果。如果一定要使用该命令,那一定要用 visudo -c 进行语法检查;使用visudo命令修改文件的话能自动检查语法,如果语法有误,文件无法保存。

4)sudo命令的用法

sudo [option]... [-u username]

常用选项:

-b 命令:在后台执行命令

-l:列出目前用户可执行与无法执行的命令

-e 文件路径:编辑文件而非执行命令

-k:清除“入场券”

-u 用户名:指定切换到哪个用户,如不指定,默认为root

-p 提示语:可以更改询问密码的提示语,其可用%u变量来替换为用户名,%h替换为主机名[root@localhost ~]# visudo

#includedir /etc/sudoers.d

User_Alias GENIUS = tesla,davinci,%director

Cmnd_Alias CHANGE = /usr/sbin/useradd,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root

GENIUS ALL=(ALL) CHANGE

[root@localhost ~]# su - tesla

[tesla@localhost ~]$ sudo useradd super

[sudo] password for tesla:

[tesla@localhost ~]$ tail -2 /etc/passwd

kubrick:x:504:504::/home/kubrick:/bin/bash

super:x:505:506::/home/super:/bin/bash

[tesla@localhost ~]$ sudo passwd super

Changing password for user super.

New password:

[tesla@localhost ~]$ sudo -l

...

User tesla may run the following commands on this host:

(ALL) /usr/sbin/useradd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

[tesla@localhost ~]$ sudo -k

[tesla@localhost ~]$ sudo userdel super

[sudo] password for tesla:

Sorry, user tesla is not allowed to execute '/usr/sbin/userdel super' as root on localhost.localdomain.

五、群组管理

1、groupadd:创建群组

用法:groupadd [-g GID] [-r] groupname

-r:创建系统组,若不指定-g GID,会自动指定一个小于500的GID

例groupadd science

2、groups:显示用户所在的组

用法:groups [username]

不带参数则直接显示当前用户所在的组[tesla@localhost ~]$ groups

tesla wittgenstein

[tesla@localhost ~]$ groups wittgenstein

wittgenstein : wittgenstein

结果中的第一个为用户的有效群组,默认为用户的基本组。如上,用户tesla属于组tesla、wittgenstein,其有效组为tesla。该用户创建的新文件的默认属组即为有效属组,若想更改用户的有效组,可使用newgrp命令

3、newgrp:切换用户的有效群组

用法:newgrp [groupname]

不指定参数则为切换为基本组[tesla@localhost ~]$ newgrp wittgenstein

[tesla@localhost ~]$ groups

wittgenstein tesla

[tesla@localhost ~]$ touch abc

[tesla@localhost ~]$ ls -l abc

-rw-r--r-- 1 tesla wittgenstein 0 Oct  5 15:03 abc

4、groupmod:修改群组

用法:groupmod [-g GID] [-n newname] groupname

常用选项:

-g:修改群组的GID

-n:修改群组名

5、groupdel:删除群组

用法:groupdel groupname

若目标群组为某用户的基本组,则不能被删除,除非先删除关联的用户;若只为其它用户的附加组,则可以删除

6、gpasswd:设置或修改组密码,设置群组管理员

群组通常不设密码,该命令主要用来设置群组管理员。因为默认只有root才能管理群组,但有时用户申请加入某群组时root太忙而无暇处理,这种情况下root就可以设定某个用户作为该群组的管理员来帮其管理

root能做的动作:

gpasswd  [-A user...] [-M user...] [-r] [-R] groupname

-A:指定群组的管理员

-M:将用户加入群组

-r:删除群组密码

-R:失群组密码失效

不指定任何选项则表示给群组设置密码

群组管理员能做的动作:

gpasswd [-a user...] [-d user...] groupname

-a:将用户加入群组

-d:将用户移出群组[root@localhost ~]# tail -2 /etc/group

director:x:505:kubrick,nolan

hitchcock:x:506:

[root@localhost ~]# gpasswd -A kubrick director

[root@localhost ~]# su - kubrick

[kubrick@localhost ~]$ gpasswd -a hitchcock director

Adding user hitchcock to group director

[kubrick@localhost ~]$ tail -2 /etc/group

director:x:505:kubrick,nolan,hitchcock

hitchcock:x:506:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win8 IIS 安装和部署网站问题

安装IIS 比较win7的安装来说,多选了几个钩钩,不然会报错,偶就遇到这样的错误。 控制面板-》程序和功能-》启动和关闭windows功能,钩钩图例: 安装好iis后 在控制面板-》管理工具 目前只用过iis 信息管理器。 6.0 大概…

sqlite3 journal

sqlite3默认会开启journal,为了进行rollback。但是在突然断电的情况下,journal文件很容易就损坏了。 目前还没有发现数据库文件本身被损坏的情况。 一旦journal文件损坏,就没法打开数据库文件了。但是可以把journal机制关闭。 一旦journa…

linux 计划任务 实例,计划任务 cron 的配置和实例

1、计划任务概说;计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 crond服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的作务。比如我们可以在配置文件中约定…

产品经理们都是怎样成为产品经理的?

一百多个回答中发现很多人的答案讲得是做产品经理之前大家是做什么的或者产品经理是做什么的,这样又造成恶性循环让更多的人这样回答,不过问题本身的描述就有误导性,不怪回答者。我想问问题的人其实是想知道或者说想让别人知道,在…

QString与中文问题

QString 与中文问题2010-07-11 17:04(更新:本文的姊妹篇 Qt中translate、tr关系 与中文问题 )首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希…

在SharePoint 2010中创建网站的权限级别

转:http://www.360sps.com/Item/CreatePermissionLevels.aspx 权限级别是SharePoint 2010新增加的功能,使我们对权限的设置又提高了一个层次。SharePoint 2010的权限级别指的是可分配给用户或用户组的单个权限组。SharePoint 2010自带的权限级别有&#…

Qt 编码问题QTextCodec

一般在Window开发环境里,是GBK编码,在Linux开发环境里,是utf-8编码,关于编码的定义, 我就不这里多说了,网上有一大堆资料可以查看。 qt对默认的是unicode编码,在Window开发环境里,比…

linux suse11 nfs,suse11 nfsserver服务安装

1概述目的:因为suse11的nfs服务安装和suse10安装有许多不同之处,为了方便以后使用suse11的人使用nfs服务,特写此文档2安装说明A suse11默认不会nfsserver服务,需要安装nfs-kernel-server此包。suse10默认安装nfssever服务&#…

Merge Two Sorted Lists

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. if... else if不要偷懒直接写 if...if... /*** Definition for singly-linked list.* struct ListNode {* int val;* …

V210 系统时间设置

date -s "2015-08-30 20:46:30" hwclock -w

Linux中重定向及管道,Linux中重定向及管道

1重定向1.1 重定向符号> 输出重定向到一个文件或设备 覆盖原来的文件>! 输出重定向到一个文件或设备 强制覆盖原来的文件>> 输出重定向到一个文件或设备 追加原来的文件1.2标准错误重定向符号2> 将一个…

仿新浪微盾客户端项目简介一

最经公司的项目需要实现类似于新浪微盾功能的功能,因此我把这个实战的demo的经历分享给大家。 新浪微盾是啥子玩意? 微盾是由新浪网推出的一款产生一次性动态密码的产品,可以用于新浪旗下各服务,包括新浪微博,新付通&a…

linux设置时间为24小时制,设置时区

1. 查看系统时间 [rootlocalhost.localdomain ~]#date Thu Feb 4 14:24:18 CST 2010 时区是CST,为了彻底弄明白GMT,UTC,CST,我查阅了下网上的相关教程,进行整理: 一般来说,UTC(Coordinated Universal Time世界协调时间…

linux读取pdf文件字体,Linux有问必答:如何在PDF中嵌入LaTex中的所有字体

提问: 我通过编译LaTex源文件生成了一份PDF文档。然而,我注意到,并不是所有字体都嵌入到了PDF文档中。我怎样才能确保所有的字体嵌入在由LaTex生成的PDF文档中?当你创建一个PDF文件时,在PDF文件中嵌入字体是一个好主意。如果你不嵌…

详解公钥、私钥、数字证书的概念

加密和认证   首先我们需要区分加密和认证这两个基本概念。    加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。身份认证…

CSS3 2D转换

CSS3 转换 通过CSS3转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。 它如何工作? 转换是是元素改变形状、尺寸和位置的一种效果。 你可以使用2D或3D转换你的元素。 浏览器支持 属性浏览器支持transform IE10、FireFox以及Opera支持transform…

linux blender骨骼绑定,Linux下安装Blender

Blender在Windows下,可以在官方直接下载免安装的版本,下载解压缩就能用。在Linux下稍微麻烦一点点。如下3步安装的blender不一定是最新版本,且安装完成后发现设置中文会变为方块。这是精简版,中文被精简掉了。若仅使用英文环境&am…

如何删除过期的数据库备份文件呢? .

通过 Forfiles 删除指定目录下过期的备份文件 /*-- 用法详解 D:/>forfiles /? FORFILES [/P pathname] [/M searchmask] [/S] [/C command] [/D [ | -] {yyyy-MM-dd | dd}] 描述 : 选择一个文件 ( 或一组文件 ) 并在那个文件上 执行一个命令。这有助于批处理作业。 参数列表…

ssh防止连接掉线

TCPKeepAliveyes ServerAliveInterval15 ServerAliveCountMax6 有些时候隧道会因为一些原因通信不畅而卡死,例如:由于传输数据量太大,被路由器带入stalled状态。这种时候,往往SSH客户端并不退出,而是卡死在那里。…

c程序设计语言 练习1-6,C程序设计语言:第一章练习

练习1-1 在你自己的系统中运行”hello,world“程序。再有意去掉部分内容,会看到什么出错信息。练习1-2 做个实验,当printf函数的参数字符串中包含\c(其中c是上面的转义字符序列中未曾列出的某一个字符)时,观察一下啊情况。warni…