权限管理


2020-01-06

centOS下增加新用户,设置权限

useradd wpuser -d /home/wpuser -m
passwd wpuser

u -- own user
g -- group users
o -- other users
a -- all users

//禁止其它用户访问
chmod o-rx wiki
chmod o-rx python
chmod o-rx vue

//不影响nginx访问
chown www:www wiki
chown www:www python
chown www:www vue

chmod o-rx /root

chown -R wpuser wordpress

linux下gpasswd命令 gpasswd&gshadow

/etc/gshadow 格式如下,每个用户组独占一行;
groupname : password : admin,admin,… : member,member,…
第一字段:用户组
第二字段:用户组密码,可以是空的或!,如果是空的或有!,表示没有密码;
第三字段:用户组管理者,可为空,如果有多个,用,号分割;
第四字段:组成员,如果有多个成员,用,号分割;

用户组间切换
newgrp crm

/etc/gpasswd
gpasswd
-a:添加用户到组
-d:从组删除用户
-A:指定管理员
-M:指定组成员和-A的用途差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组 

groupadd crm
gpasswd crm

useradd xwq
passwd xwq

useradd vicky
passwd vicky

gpasswd -A vicky crm

newgrp crm
gpasswd -a xwq
chown git:git data    修改所有者和创建者

/etc/passwd文件格式:
用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell
其中UID为0则是用户root,1~499为系统用户,500以上为普通用户

/etc/shadow保存用户密码信息,包括加密后的密码,密码过期时间,密码过期提示天数等。

用户组信息保存在/etc/group文件中.
格式如下:
用户组名:组密码:GID:组内帐号(多个帐号用逗号分隔)

ls -al权限

属性列表为10个字符:
第1字符表示文件类型,
    d为目录 
    -为普通文件 
    l为连接 
    b为可存储的接口设备 
    c为键盘鼠标等输入设备
    p 此项为一个先进先出(FIFO)特殊文件。
    s 此项为本地套接字。

2、3、4字符--所有者权限rwx,
5、6、7字符--所有者同组用户权限rwx,
8、9、10字符-其他用户权限rwx

chmod u+x file
u 给所有者增加权限
g 给所有者同组增加权限
o 给其它用户增加权限

chmod o-rx file
为其它用户减少读和执行权限

chmod +r file
为所有用户增加读权限

chmod 751 file
所有者分配读、写、执行(7)的权限,
给所有者同组分配读、执行(5)的权限,
给其他用户分配执行(1)的权限

groupadd ftpgroup           添加用户组
groupdel ftpgroup           删除用户组
groupmod -n ftp ftpgroup    修改用户组名称
groups                      显示当前用户所属的用户组
groups ftp1                 显示ftp1用户所在的用户组 

设置用户组管理员
gpasswd -A ftp1 ftpgroup

添加某帐号到组
gpasswd -M ftp2 ftpgroup

从组中删除帐号
gpasswd -d ftp2 ftpgroup

usermod

功能说明:修改用户帐号。
参  数:
-c<备注>  修改用户帐号的备注文字。
-d<登入目录>  修改用户登入时的目录。
-e<有效期限>  修改帐号的有效期限。
-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
-g<群组>  修改用户所属的群组。
-G<群组>  修改用户所属的附加群组。
-l<帐号名称>  修改用户帐号名称。
-L  锁定用户密码,使密码无效。
-s  修改用户登入后所使用的shell。
-u  修改用户ID。
-U  解除密码锁定。

userdel [-r] 用户名
其中,参数-r为删除用户的home目录。
可能在系统其他地方也有该用户文件,要完整删除一个用户和其文件要先找到属于他的文件
$find / -user 用户名
然后删除,再运行userdel删除用户。
为新建用户添加 sudo 权限,否则啥事都要请教 root 老大不合适
chmod -v u+w /etc/sudoers 	添加可写权限
## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL  
dev     ALL=(ALL)       ALL #新增用户信息  
chmod -v u-w /etc/sudoers   撤销可写权限

chown jim program.c	        改变文件的所有者
创建者是root,所有者是jim

id ftpuser		查看用户信息

新建用户
useradd -d /var/ftp ftpuser
passwd ftpuser
chown ftpuser /home/wwwroot/default

usermod -s /sbin/bash ftpuser		用户登录后的shell
usermod -s /sbin/nologin ftpuser	用户登录后无shell

usermod -d /ftpuser ftpuser     	更改用户的主目录
------------------------------------------------------------
1、建用户:
adduser phpq                //新建phpq用户
passwd phpq                 //给phpq用户设置密码

2、建工作组
groupadd test               //新建test工作组

3、新建用户同时增加工作组
useradd -g test phpq        //新建phpq用户并增加到test工作组

注::-g 所属组 -d 主目录 -s 所用的SHELL

4、给已有的用户增加工作组
usermod -G groupname username

或者:gpasswd -a user group

5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。

或者使用如下命令关闭用户账号:
passwd peter –l

重新释放:
passwd peter –u

6、永久性删除用户账号
userdel peter

groupdel peter

usermod –G peter peter   (强制删除该用户的主目录和主目录下的所有文件和子目录)

7、从组中删除用户
编辑/etc/group 找到GROUP1那一行,删除 A
或者用命令
gpasswd -d A GROUP

8、显示用户信息
id user
cat /etc/passwd | grep user