我需要为用户组实现用户权限(非常类似于facebook组).例如,每个组可以拥有具有以下权限的成员:can_post,can_delete,can_ban等.当然,一个用户可以是许多组的成员,并且组可以拥有许多具有不同权限的不同用户.我需要什么型号才能使用此功能?
我在Ubuntu 12.04上手动安装了nginx.我跑的时候./configure
使用了以下选项:
./configure --user=www-data --group=www-data --with-http_ssl_module --with-http_realip_module
Run Code Online (Sandbox Code Playgroud)
现在,nginx工作进程在www-data组中的www-data用户下运行.但是,我希望将其更改为其他用户(在我的情况下称为nginx).
这是可能的运行后做make
和make install
已经?
任何帮助将非常感激.
在tmux
我只有2组,而不是预期的5组:
$ groups
username sudo staff website1 website2
$ tmux
$ groups
username sudo
Run Code Online (Sandbox Code Playgroud)
为什么这样,我该如何解决?
我正在尝试使用sshfs来挂载远程文件系统.我可以在网上找到的所有指南都说我需要将自己添加到保险丝组,但是当我跑步时
sudo gpasswd -a $ USER fuse
我明白了
gpasswd:/ etc/group中不存在组'fuse'
但是当我跑步时:
sudo apt-get安装保险丝
我明白了
保险丝已经是最新版本了.
我在64位上使用相对较新的Ubuntu 15.10安装.
谢谢你的帮助
我正在尝试在新系统上设置 docker,当运行 docker info 时,我得到:
docker -v
=> Docker version 18.09.5, build e8ff056
docker info
=> Got permission denied while trying to connect to the Docker daemon
socket at unix:///var/run/docker.sock: Get
http://%2Fvar%2Frun%2Fdocker.sock/v1.39/info: dial unix
/var/run/docker.sock: connect: permission denied
Run Code Online (Sandbox Code Playgroud)
按照文档,我尝试过:
sudo usermod -a -G docker $USER
Run Code Online (Sandbox Code Playgroud)
不返回任何输出。当我然后运行组时:
groups
=> mark adm cdrom sudo dip plugdev lpadmin sambashare
Run Code Online (Sandbox Code Playgroud)
我可以看到一个 docker 组存在:
less /etc/group | grep docker
=> docker:x:131:mark
Run Code Online (Sandbox Code Playgroud)
并且可以看到它拥有一个正在运行的套接字,错误消息指出:
ls -la /var/run/ | grep docker
=>
drwx------ 5 root root 120 May …
Run Code Online (Sandbox Code Playgroud) 这是我将用户添加到组的代码
g = Group.objects.get(name='groupname')
g.user_set.add(your_user)
Run Code Online (Sandbox Code Playgroud)
当我删除用户时如何从组中删除此用户?
如何检查用户(不是当前登录的用户)是否是某个组的成员?尝试从他不是成员的组中检索用户会导致SPException,因此无法检查null.
那你怎么解决这个问题呢?目前,我考虑在SPGroup.Users.XML字符串中搜索用户名,或者迭代所有组成员并检查登录名.
更新: 我忘了提到我想避免使用异常处理来检查用户的成员资格.
是否可以使用Postgresql创建一个有2个用户的数据库,这些用户就像数据库的所有者一样?
我可以创建一个组角色并将两个用户添加到该组,然后使该组成为数据库的所有者,但这要求两个用户必须在每个连接上手动设置其角色,以使他们创建的任何表都可以访问另一个用户.是否有任何方法可以使组成为用户每次登录时的默认角色或以任何其他方式实现相同的操作?
我尝试使用运行python3脚本的crontab运行shell脚本.crontab用于用户组.现在它运行脚本但不运行其中的python3脚本.我尝试调试它,但我无法弄清楚会发生什么.它可能是一个权限问题或路径问题,但我无法弄清楚.这是行crontab
*/5 * * * * /home/group_name/path/to/script/run.sh
Run Code Online (Sandbox Code Playgroud)
正如我所说的cron作业被执行或者至少那就是我的想法,因为当我跑步时sudo grep CRON /var/log/syslog
我会得到像这样的行
Feb 16 20:35:01 ip-**-**-*-*** CRON[4947]: (group_name) CMD (/home/group_name/path/to/script/run.sh)
Run Code Online (Sandbox Code Playgroud)
在下面我也得到一条可能与问题有关的线
Feb 16 20:35:01 ip-**-**-*-*** CRON[4946]: (CRON) info (No MTA installed, discarding output)
Run Code Online (Sandbox Code Playgroud)
最后run.sh
看起来像这样
#!/bin/bash
# get path to script and path to script directory
SCRIPT=$(readlink -f "$0")
SCRIPTPATH=$(dirname "$SCRIPT")
echo "set directory"
cd "$SCRIPTPATH"
echo "run first script"
/usr/bin/python3 ./first_script.py > ./log1.txt
Run Code Online (Sandbox Code Playgroud)
但是当cron作业执行时没有任何反应,当我手动运行它时,数据库的cahnges按预期发生.该集团拥有与我相同的权利.shell文件可以由我执行,组和python文件不能由我执行,所以我不知道为什么该组需要这个.
PS:我想在shell中执行python脚本,因为我们有很多脚本,有时会有很多参数,因此crontab会变得人满为患,而且某些脚本必须以特定的顺序执行.
编辑:在我手动运行它exec >> /tmp/output 2>&1
之后#! /bin.bash
写入回声后立即添加/tmp/output
,但不是在我在cron中运行时,而不是在运行任何python脚本之前运行它.
直接从cron运行其中一个python脚本,但即使我复制粘贴与在cron中工作的行完全相同的行,也没有任何反应.
如何更新更改用户的组?根本找不到它.花了几个小时.
$user = new User;
$user->group = 'new';
$user->save();
Run Code Online (Sandbox Code Playgroud)
用户与使用Group的belongsToMany有关.
不工作.谢谢.
usergroups ×10
django ×2
python ×2
cron ×1
fuse ×1
laravel ×1
linux ×1
nginx ×1
octobercms ×1
php ×1
plugins ×1
postgresql ×1
roles ×1
sharepoint ×1
sshfs ×1
tmux ×1
ubuntu ×1
ubuntu-12.04 ×1
ubuntu-15.10 ×1
unix ×1