|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!创建一个新用户
修正用户的团体设置
文件目次的权限设置
两个主要文件:passwd与group
创建一个新用户
创建一个新的用户包含两个步骤,第一步是利用useradd下令完成一个新用户的初始化设置事情;第二步是用passwd为这个新用户设置暗码。比方,我们要给体系增加一个用户叫floatboat,暗码为fan2001z,那相干的操纵是:
useraddfloatboat<回车>
这时候候体系没有任何显现。接着:
passwdfloatboat<回车>
体系显现:
Changingpasswordforuserfloatboat
NewUNIXpassword:
你输出:
fan2001z<回车>
注重,因为linux其实不接纳相似windows的暗码回显(显现为*号)——为制止你输出暗码时被人注重到有几位——以是,输出的这些字符你是看不见的。
体系显现:
RetypenewUNIXpassword:
你再从头输出一次暗码,然后回车确认,这时候体系会显现:
passwd:allauthenticationtokensupdatedsuccessfully
暗示你修正暗码乐成了。
到这里,新用户的创立事情就算完成了。上面,我们再增补一些有关增添新用户的知识:
1、useradd所做的初始化操纵已包含在/home目次下为floatboat帐号创建一个名为floatboat的主目次。假如你不想利用这个缺省的目次,而但愿把他的主目次放在/home/goal里(还放在/home下,只是一种优秀的习气,没有其他甚么出格的请求),可使用useradd的参数-d,下令以下:
useradd-d/home/goalfloatboat
2、useradd的初始化操纵还包含为用户独自创建一个与用户名同名的组(floatboat组)。这叫用户公有组的机制,与默许组机制绝对应。对用户分组一是便利办理,二是能够明白权限。庞大的我们将在今后的深切内容中切磋。我们假如想让此用户到场一个已有的组的话,可使用-g参数。比方我们想让floatboat到场webusers组,那末可使用以下下令:
useradd-gwebusersfloatboat
一样的,我们还可使用-G参数使他同时到场多个组,比方webusers和ftpusers:
useradd-Gftpusers,webusersfloatboat
3、passwd下令为一个用户设置暗码,但它本色上是一个修正暗码的步伐。只要超等用户和用户本人能够修正暗码,别的的一般用户没有给他修正暗码的权力。用户暗码的构成要只管的庞大,最好包含字母、数字和特别标记,并且最好设成6位以上。太短passwd步伐不同意,只是纯真的字母或纯真的数字,passwd也会成心见。你城市瞥见passwd呈现的提醒的,不关键怕,细心看看究竟它是怎样说的:)
4、你在增添一个新用户的时分,也能够设置用户登录的shell。缺省的,体系供应了/bin/bash。你假如非要指定的话,可使用-s参数就能够了。比方
useradd-d/www-s/usr/bin/passwdfloatboat
注重,这些参数是能够一块利用的,如上例所示,它暗示增添新用户,并把其主目次路径设置在/www,登录的shell为/usr/bin/passwd。关于shell的更具体的申明,请参考上面的修正用户的团体设置相干内容。
5、删除一个用户可使用userdel下令,间接带用户名做参数就能够了。
修正用户的设置
对现有效户的修正,对照经常使用的次要是修正暗码(利用passwd就行了),修正用户的登录shell,修正用户所属的默许组,设置帐号无效期,修正用户的申明信息等等,偶然也会用到修正用户主目次。
修正用户的登录shell
利用chsh下令能够修正本人的shell,只要超等用户才干用chshusername为别的用户修正shell设置。注重,指定的shell必需是列进/etc/shells文件中的shell,不然该用户将不克不及上岸。
一样平常,对照罕见的shells文件包含上面这些shell:
/bin/bash2
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
而网管们还喜好在内里加上/usr/bin/passwd,这是为了否则用户经由过程把持台或telnet登录体系,却可使用修正帐户暗码(好比在FTP里用)。和/bin/false,也就是不让这个用户登录的意义喽^&^,连FTP也不克不及用。
你也能够利用usermod下令修正shell信息,以下所示:
usermod-s/bin/bashfloatboat
个中/bin/bash和floatboat应取响应的shell路径文件名及用户名。
另有一种情形,就是你为用户设置了一个空的shell(就是""),也就是说,这个用户没有shell。呵呵,相对没有在我还不曾见过,由于这类用户登录后,体系仍是会给它一个shell用的。不信你尝尝:
usermod-s""floatboat
这类用户依据体系的分歧,会有一个sh或bash举行操纵,我也没有看出功效上和别的一般用户登录有甚么分歧。
修正用户所属的默许组
这个功效也能够经由过程usermod下令来完成,利用-g参数,比方把floatboat的默许组改成nobody,可使用以下下令:
usermod-gnobodyfloatboat
nobody在类UNIX体系中一样平常都意味着没有任何权限。
设置帐号无效期
假如利用了影子口令,则可使用以下下令来修正一个帐号的无效期:
usermod-eMM/DD/YYusername
比方把用户floatboat的无效期定为2001年12月31日:
usermod-e12/31/01floatboat
假如把该用户的无效期设为已已往的工夫,就能够临时克制该用户登录体系。
修正用户的申明信息
修正用户的申明信息,最复杂的***莫过于间接修正/etc/passwd文件,找到对应的用户纪录行,比方以下行:
floatboat:x:503:503::/home/floatboat:/bin/bash
你能够间接在第四个冒号和第五个冒号之间拔出该用户的申明就能够了。实在,良多用户设置都能够在这修正,好比该行最初一部分/bin/bash就是用户登录shell的设置。关于这个/etc/passwd文件,我们前面将进一步的深切切磋。
修正用户主目次
修正用户的主目次次要利用usermod下令的-d参数,比方:
usermod-d/wwwfloatboat
这一即将floatboat的主目次改到/www。假如想将现有主目次的次要内容转移到新的目次,应当利用-m开关,以下所示:
usermod-d-m/wwwfloatboat
文件目次的权限
linux下,每个文件、每个目次都有一个属主,并针对用户本人、用户地点组、别的一切帐号(组)分离设定读、写、实行三种权限。比方,我(假定是webusers组的floatboat帐户的具有者)利用以下下令创建一个新的文件
touchmytestfile
然后我们利用ls-lmytestfile这一下令来检察这个文件的权限形态(关于ls下令,能够查阅本站的下令查询),能够失掉以下的屏幕输入显现:
-rw-rw-r--1floatboatwebusers0Feb621:37mytestfile
输入由空格分为9个部分,我们对照体贴第1、3、四个字段,分离暗示文件权限属性、文件一切者帐户、文件所属组。
◆利用chown下令修正文件的仆人
当你新创建一个文件的时分,文件的一切者固然就是你了。这一现实只要超等用户(好比说root)才能够经由过程chown下令改动(比方chownotherusermytestfile,把mytestfile文件的属主改成otheruser)。一般用户不克不及把本人的文件“送”给他人,否则你把有特别目标的步伐给了root怎样办?:)
chown下令的用法对照复杂。这里我先假定你如今具有超等用户权限,那末你就能够利用以下下令将一个文件“送给”floatboat了:
chownfloatboat/home/floatboat/thefileisrootcreate.txt(假定该文件是由root创立的)
修正一个目次的一切者也是相似的:
chownfloatboat/home/newboat
固然,假如这个目次另有子目次及文件必要同时送给floatboat,chown也是撑持-R参数的:
chown-Rfloatboat/home/newboat
假如你同时想修正文件/目次所属的组的话,你可使用以下下令便利的到达目标:
chown-Rfloatboat.ftpusers/home/newboat
如许,不仅文件仆人失掉了修正,文件所属的组也酿成了ftpusers
◆修正文件的组属性
文件所属组你却是能够改动,条件是:
1、你的超等用户。
2、你同时属于两个或两个以上的组。
两个前提你最少具有一个,你才干够把文件所属旧组变成新组。利用以下的下令将以后目次下一切html文件所属的组改成httpd:
chgrphttpd*.html
和chown下令一样,chgrp也能够利用-R参数对一个目次内的一切文件和子目次举行递回的修正组属性。
<提醒>:你可使用不带参数的groups下令检察本人属于哪一个组。
文件权限的设定是我们这一大节会商的中心,我们次要先容chmod下令的两种用法。
◆利用会见字符串设置文件目次权限
正如后面所说的,每个文件、目次都针对用户本人、用户地点组、别的一切帐号(组)分离有读、写、实行三种权限及其组合。当一个一般用户新建一个文件的时分,它默许的会见权限显现就如我们方才所举例子的第一个字段所示。统共十位字符“-rw-rw-r--”,第一名是目次辨别标记,假如是d的话,暗示这是一个目次。第二到四位分离暗示文件一切者的读(r:read)、写(w:write)、实行(x:execute)属性,第五到七位是文件所属组的读、写、实行权限,第八到第十位则是别的用户的读、写、实行权限。假如对应的位是响应的字母,就是有这响应权限,不然为“-”,暗示没有取得这个允许。象方才例子中的文件就是本人可读写,本组可读写,别的用户可读,一切的用户(包含本人)都不克不及实行它。
我们的用u、g、o分离来指代用户(user)、组(group)、别的帐户(other),就能够便利的设置文件和目次的权限了。固然,我们也能够用a来暗示一切的这三项。
比方,我们要对一切perl的剧本文件设定权限,对一切用户都能够读和实行,文件一切者还同意写允许,那末我们可使用以下下令:
chmoda+rx,u+w*.pl
注重:假如要利用多个会见字符串,它们之间要用逗号离隔,各个允许字符串之间不同意有空格。正如上例所示。
假如要修正目次中一切文件和子目次的权限属性,可使用chmod供应的-R参数来递回修正。比方,以下下令将/www/site1目次及其上面的子目次的权限属性设定为一切者和组可读、写、实行,别的用户不成会见:
chmod-Ra+rwx,o-rwd/www/site1
注重,不要容易利用-R选项,这大概会带来宁静隐患。
利用字符串便利了了解,单输出那末多字母仍是有点累,假如你对8进制有些观点的话,可使用上面先容的***来做权限设置。
◆利用八进制数设置文件目次权限
我们晓得,在ls-l的输入中,文件权限暗示为“-rw-rw-r--”,前一名只和是不是为目次有关,别的九位恰好能够分红三段,每段三位,“rw-”、“rw-”和“r--”,“-”代表有效“0”,别的字符代表无效“1”,那末这个文件的权限就是“110”、“110”、“100”,把这个2进制串转换成对应的8进制数就是6、6、4,也就是说该文件的权限为664(三位八进制数)。我们也能够利用相似这类三位八进制数来设定文件受权,如上边两个例子,就也能够写为:
chmod755*.pl
chmod-R770/www/site1
是否是很简便?关头在于你能依据你必要设定的权限准确的选择八进制数(使用八进制数的二进制暗示能够十分容易的做到这一点)。
◆读、写、实行的权限申明
1、所谓写的权限,也就是对文件修正和删除的权限。假如目次的写权限也对你开放了,则能够创立、删除或修正该目次下的任何文件或自目次——即便该文件和子目次其实不属于你。
2、对目次有只读允许的用户,不克不及用cd下令进进该目次;还必需同时有实行允许才能够进进该目次。
3、必需同时具有读和实行权限才可使用ls如许的步伐列出目次内容清单。
4、只对目次有实行权限的用户,想会见该目次下的文件有读权限的文件,必需晓得该文件名才能够会见。
两个主要文件:passwd与group
在linux的宁静机制里,/etc/passwd与/etc/group这两个文件占着十分主要的位置。它们把持着linux的用户和组一些主要设置。
◆/etc/passwd文件申明
上面是一个RHlinux里一般的passwd文件的例子:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
……
operator:x:11:0perator:/root:
games:x:12:100:games:/usr/games:
gopher:x:13:30:gopher:/usr/lib/gopher-data:
ftp:x:14:50:FTPUser:/home/ftp:
nobody:x:99:99:Nobody:/:
xfs:x:43:43:XFontServer:/etc/X11/fs:/bin/false
named:x:25:25:Named:/var/named:/bin/false
postgres:x:26:26ostgreSQLServer:/var/lib/pgsql:/bin/bash
lanf:x:500:500::/home/hujm:/bin/bash
mysql:x:101:101:MySQLserver:/var/lib/mysql:/bin/bash
imnotroot:x:0:0::/home/imnotroot:/bin/bash
在这个文件里只要一个一般帐号lanf。别的都是体系或体系办事的历程必要的帐号,包含我们十分熟习的root这个超等用户。在passwd的文件里,每行被冒号(":")分红7个部分,分离是:
[用户名]:[暗码]:[UID]:[GID]:[身份形貌]:[主目次]:[登录shell]
个中:
⒈[用户名]是passwd文件里各纪录行独一的有"独一性"请求的域。也就是说每行的第一个地区的内容都不克不及不异,别的地区就无所谓了。
⒉[暗码]地区在之前,保留着一个经由不成逆的哈希算法举行DES加密的13位字符,但不包含单引号和冒号。这13位字符中,前两位是密钥,在加密的时分随机天生的。因为这个字符串不包含单引号,以是之前有一种不修正暗码又克制用户登录的体例就是在暗码后面加一个单引号。值得注重的是,如今因为利用了shadow口令,在暗码地区只要一个x字符。
⒊[UID]固然是体系用来标记文件回属,断定各类权限的标记,但这个地区的内容其实不请求独一的。对照罕见而又与宁静成绩相干的一个例子是有多个UID和GID均为0的用户帐号。注重到在该文件最初一行另有一个UID和GID为0的用户imnotroot,固然它宣称本人不是root,可是它却有和root完整不异的权限,由于体系并不是依据[用户名],而是依据UID和GID来分用户的权利的。以是,这类情形无疑为体系埋下了宁静的炸弹。可是,当imnorroot做锁定屏幕等操纵的时分,假如它的暗码和root的纷歧样,它将没法解锁,由于体系只是查到第一个UID为0的用户(天然是root)后,就不在往下查找了——它当UID也是独一的。
⒋[GID]用户默许的组ID,这个ID能够在文件/etc/group里查到对应的组名。
⒌[身份形貌]:就是用户的身份申明,默许的是无任何申明,可儿工增加。
⒍[主目次]:用户的主目次,可使用后面先容的下令修正。
⒎[登录shell]:用户登录时体系供应的shell,请参考后面的有关内容。
<注重>:[UID]和[GID]小于500的一样平常都是体系本人保存,不做一般用户和组的标识的,以是新增添的用户和组一样平常都是UID和GID年夜于500的。
◆/etc/group文件申明
上面是RH的一个group文件的例子:
root:x:0:root,hujm,hjm
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
……
hujm:x:503:root,mynoshell,hjm
mysql:x:101:
mynoshell:x:505:
ftpusers:x:506:
它统共分四个部分:
[组名]:[暗码域]:[GID]:[组员列表]
意义十分分明,必要申明一下的是,因为组一样平常都不必暗码回护,以是固然看起来暗码域有个X字符,实在那只暗示利用了SHADOW(对应文件为gshadow)。组员列表用逗号分开各个帐号。别的,一个组的组员假如默许登录组就是它的话,那末在组员列内外将不显现这个组员的帐号,比方用以下下令增添的用户:
useradd-gftpusersfloatboat
在/etc/group文件里ftpusers的组员列表将不显现这个组员(真是失利),而只是在passwd文件中的GID被设置为506。而利用以下下令:
usermod-Gftpusers,mysql,webusersfloatboat
就能够瞥见相干的组后边加上了floatboat帐号。固然,你能够间接用vi来间接编纂这个文件。
group文件和passwd文件是经由过程GID接洽在一同的,这有点象干系数据库。依据passwd文件中一个帐户的GID,能够在group文件中找到对应的组名。假如接纳了用户公有组机制的话,那末一样平常新增一个帐号,就会有对应的一个与帐号同名的组增添到group文件中。固然这时候passwd文件中具有独一性的[用户名]字段和group文件中具有独一性的[组名]字段一样,其实不代表着它们是经由过程这两个字段构成逐一对应的干系的。万万别健忘,系统对数字(UID,GID)加倍敏感^_^。
再有一点应当注重,你统计一个组的构成员的时分,万万别只记得看构成员列表哦,还应当查找默许登录组也是这个组的用户——它们可纷歧定在列内外。
〈提醒〉新组的增添可使用groupaddnewgroupname欢迎大家来到仓酷云论坛! |
|