Linux入门:常用命令:用户、组及特殊权限处理

文章目录

  • 用户
    • 新用户信息文件
    • 用户默认配置文件
    • 登录信息
    • 权限位s
    • setUID 4(所属者)
    • setGID 2(所属组)
    • 粘着位 1(其他人)
    • 查找setuid与setgid程序
    • 将用户添加到组中
    • 改变文件或目录权限#
    • 改变文件或目录的所属组

用户

新用户信息文件

/etc/skel		#目录下存放着创建一个新用户的所有默认配置文件
#全部是隐藏文件
#手工添加的用户,需要将所有文件copy到用户的宿主目录下
[one@bogon ~]$ ll /etc/skel/ -a
total 28
drwxr-xr-x.   4 root root    92 12月  3 19:29 .
drwxr-xr-x. 161 root root 12288 2月  27 13:15 ..
drwxr-xr-x    2 root root   162 2月  21 16:18 模板
-rw-r--r--.   1 root root    18 11月  9 00:21 .bash_logout
-rw-r--r--.   1 root root   141 11月  9 00:21 .bash_profile
-rw-r--r--.   1 root root   312 11月  9 00:21 .bashrc
drwxr-xr-x.   4 root root    39 11月 30 14:11 .mozilla

用户默认配置文件

/etc/login.defs			#添加新用户密码长度、修改时间等
/etc/default/useradd		#添加用户的一些默认信息

登录信息

/etc/motd				#banner信息,登录成功才会显示的信息		
/etc/issue				#banner信息,登录信息就来自于这里

权限位s

/etc/s hadow				#shadow只有root有读权限,那普通用户修改密码是怎么写入的,s位是特殊权限位
/usr/bin/passwd				#权限位s是:setuid或suid

setUID 4(所属者)

当一个可执行程序有setuid权限的时候,任何用户执行这个程序的时候以其所有者(root)执行
非可执行程序授于setuid时,权限位是大写S,用于提示,表示没有意义
授于setUID权限chmod u+s 4775 s的标识位是4并在第一位
umask 0022

setGID 2(所属组)

当一个可执行程序有setgid权限的时候,任何用户执行这个程序的时候以其所有组(root)执行
授于setGID权限chmod g+s 2775 s的标识位是2并在第一位
6755是同时授于setuid和setgid

粘着位 1(其他人)

t表示:如果一个权限为777的目录具有粘着位,每个用户都可以在这个目录下创建文件,但是只能删除自己是所有者的文件
授于粘着位权限chmod o+t 1777 t的标识位是1并在第一位

查找setuid与setgid程序

find / -perm -4000 -o -perm -2000

1、groupadd xxx				#添加组
2、/etc/groupadd			#组文件——组名:密码位:组ID:用户列表
3、groupdel xxx				#删除组
4、groupmod -n xxxnew xxx	#修改组名xxx为xxxnew
5、gpasswd					#管理组内用户
6、grpconv与grpunconv		#与passwd和shadow文件转换方法相同【命令为:pwconv与pwunconv】
7、$newgroup xxx			#切换到一个组(有可能需要输入密码,当组设置了密码时)
8、groups xxx 				#查看xxx的所属组
9、id						#查看用户的详细信息

将用户添加到组中

usermod -G 组 用户名		#上下命令为:添加用户为所属组
gpasswd -a 用户名 组		#上下命令为:添加用户为所属组

改变文件或目录权限#

chmod g+rwx xxx				#改变xxx的组权限
chmod u+rwx xxx 			#改变xxx的用户权限
chmod o+rwx xxx				#改变xxx的其它人权限

改变文件或目录的所属组

chgrp 组 xxx 				#将xxx改变为组中

$finger username   				#显示用户username的信息【有些系统不支持】
$ who               				#显示当前登陆用户
root     tty1         2016-07-05 11:09 (:0)
root     pts/3        2016-09-27 15:33 (10.70.12.249)
root     pts/4        2016-09-27 16:45 (10.70.12.249)
[root@localhost ~]# who am i		#查看当前用户信息
root     pts/4        2016-09-27 16:45 (10.70.12.249)
[root@localhost ~]# whoami
root
[root@localhost ~]# useradd test		#添加用户test和同名的组
[root@localhost ~]# passwd test			#修改或添加密码
Changing password for user test.
New password: 
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.

susu -的区别

[root@localhost ~]# su test
[test@localhost root]$   			#切换到test用户
[root@localhost ~]$ echo $PATH		#还是root的path
[test@localhost root]$ exit
[root@localhost ~]#    				#切换到root用户

[root@localhost ~]$ su - test		#切换用户和环境变量
[root@localhost ~]$ echo $PATH		#切换到test的环境变量

ttypts

tty		#是本地登录
pts		#是远程登录

你可能感兴趣的:(linux)