Linux用户、用户组和文件权限控制的学习
时间:2014-10-29 19:49 来源:linux.it.net.cn 作者:it
今天对Linux的管理权限进行了学习,现在进行一下总结。
用户组、用户、文件及相应的权限。
用户组:一个用户组可以有多个用户,并且可以有两种用户(这些用户可以是primary用户,也可以是附属于这个用户组的用户),创建用户组的时
候没有问题,但是在删除用户组的时候需要删除这个用户组中的所有primary用户(就是用户的gid是这个用户组的那些用户)才能删除这个用户组
。
使用groupadd创建用户组,使用groupdel删除用户组,通过usermod来项这个用户组添加primary或者普通用户。之后可以在/etc/group文件
和/etc/gshadow文件查找存在的用户组以及每个用户组包含那些用户的情况,但是无法查看这个用户组的primary用户都有那些,这个需要
在/etc/shadow文件中查看。
用户: 一个用户可以属于多个用户组,但是只能是一个组的primary用户,这个可以在创建用户的时候通过指定gid来指定是哪个组的primary用户
,也可以通过修改/etc/passwd文件来修改,同时也可以通过usermod -g命令来修改。也可以把这个用户加入到其他的用户组中,这个可以通过
usermod -G来修改,也可以通过直接修改/etc/group文件来修改。
使用useradd来创建用户,通过userdel(注意-f参数的使用)来删除用户,通过usermod来更改用户的gid和把用户加入其他的用户组。之后通过
查看/etc/passwd和/etc/group文件来确定是否修改成功。有些也可以直接通过修改文件来达到和使用命令相同的目的。
文件权限:拥有者、所属组、其他人
groupadd testg01
useradd -g testg01 testu01
useradd testu02(这个时候默认又创建了一个testu02组,并且testu02用户就是它的primary用户)
useradd testu03(同上)
usermod -G testg01 testu02(把testu02也加入了testg01用户组,但不是testg01组的primary用户)
之后通过passwd在root用户下设定以上用户的密码。
cd /home
chomod 711 /testu01(如果不修改这个文件夹权限则其他用户无法使用cd命令进入这个文件夹)
cd /home/testu01
touch test.sh(时候向这个脚本写入打印hello的脚本代码)
chmod 755 test.sh
su - testu02
sh /home/testu01/test.sh
vi /home/testu01/test.sh(这个时候告诉是只读文件,因为没有所属组用户的写权限)
su - testu03
sh /home/testu01/test.sh
vi /home/testu01/test.sh(同上,因为没有开其他用户的写权限)
cd /home/testu01
chomod 711 /testu01
su - testu02
sh /home/testu01/test.sh
vi /home/testu01/test.sh(这个时候打不开文件,因为没有所属组用户的读写权限)
su - testu03
sh /home/testu01/test.sh
vi /home/testu01/test.sh(同上,因为没有开其他用户的读写权限)
至此,文件权限的问题已经搞清楚了。
之后:
userdel -f testu01
groupdel testg01(可以删除成功,因为只有一个primary用户已经删除,如果testu02也是primary用户则此时还要删除testu02才能删除组)
groupdel testu03(不可以,因为有primary用户存在)
userdel -f testu03
groupdel testu03
至此搞定。
(责任编辑:IT)
今天对Linux的管理权限进行了学习,现在进行一下总结。 用户组、用户、文件及相应的权限。 用户组:一个用户组可以有多个用户,并且可以有两种用户(这些用户可以是primary用户,也可以是附属于这个用户组的用户),创建用户组的时 候没有问题,但是在删除用户组的时候需要删除这个用户组中的所有primary用户(就是用户的gid是这个用户组的那些用户)才能删除这个用户组 。 使用groupadd创建用户组,使用groupdel删除用户组,通过usermod来项这个用户组添加primary或者普通用户。之后可以在/etc/group文件 和/etc/gshadow文件查找存在的用户组以及每个用户组包含那些用户的情况,但是无法查看这个用户组的primary用户都有那些,这个需要 在/etc/shadow文件中查看。 用户: 一个用户可以属于多个用户组,但是只能是一个组的primary用户,这个可以在创建用户的时候通过指定gid来指定是哪个组的primary用户 ,也可以通过修改/etc/passwd文件来修改,同时也可以通过usermod -g命令来修改。也可以把这个用户加入到其他的用户组中,这个可以通过 usermod -G来修改,也可以通过直接修改/etc/group文件来修改。 使用useradd来创建用户,通过userdel(注意-f参数的使用)来删除用户,通过usermod来更改用户的gid和把用户加入其他的用户组。之后通过 查看/etc/passwd和/etc/group文件来确定是否修改成功。有些也可以直接通过修改文件来达到和使用命令相同的目的。 文件权限:拥有者、所属组、其他人 groupadd testg01 useradd -g testg01 testu01 useradd testu02(这个时候默认又创建了一个testu02组,并且testu02用户就是它的primary用户) useradd testu03(同上) usermod -G testg01 testu02(把testu02也加入了testg01用户组,但不是testg01组的primary用户) 之后通过passwd在root用户下设定以上用户的密码。 cd /home chomod 711 /testu01(如果不修改这个文件夹权限则其他用户无法使用cd命令进入这个文件夹) cd /home/testu01 touch test.sh(时候向这个脚本写入打印hello的脚本代码) chmod 755 test.sh su - testu02 sh /home/testu01/test.sh vi /home/testu01/test.sh(这个时候告诉是只读文件,因为没有所属组用户的写权限) su - testu03 sh /home/testu01/test.sh vi /home/testu01/test.sh(同上,因为没有开其他用户的写权限) cd /home/testu01 chomod 711 /testu01 su - testu02 sh /home/testu01/test.sh vi /home/testu01/test.sh(这个时候打不开文件,因为没有所属组用户的读写权限) su - testu03 sh /home/testu01/test.sh vi /home/testu01/test.sh(同上,因为没有开其他用户的读写权限) 至此,文件权限的问题已经搞清楚了。 之后: userdel -f testu01 groupdel testg01(可以删除成功,因为只有一个primary用户已经删除,如果testu02也是primary用户则此时还要删除testu02才能删除组) groupdel testu03(不可以,因为有primary用户存在) userdel -f testu03 groupdel testu03 至此搞定。(责任编辑:IT) |