mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Allow Gitea to run as different USER in Docker (#3961)
* If using a different $USER then rename git user * Chown based on $USER env * Target only one part of passwd * su-exec based on $USER not a hardcoded value
This commit is contained in:
		
				
					committed by
					
						 Lunny Xiao
						Lunny Xiao
					
				
			
			
				
	
			
			
			
						parent
						
							4ceb92f311
						
					
				
				
					commit
					ecfc401eaa
				
			| @@ -2,5 +2,5 @@ | |||||||
| [[ -f ./setup ]] && source ./setup | [[ -f ./setup ]] && source ./setup | ||||||
|  |  | ||||||
| pushd /app/gitea > /dev/null | pushd /app/gitea > /dev/null | ||||||
|     exec su-exec git /app/gitea/gitea web |     exec su-exec $USER /app/gitea/gitea web | ||||||
| popd | popd | ||||||
|   | |||||||
| @@ -39,5 +39,5 @@ if [ ! -f /data/gitea/conf/app.ini ]; then | |||||||
|     envsubst < /etc/templates/app.ini > /data/gitea/conf/app.ini |     envsubst < /etc/templates/app.ini > /data/gitea/conf/app.ini | ||||||
| fi | fi | ||||||
|  |  | ||||||
| chown -R git:git /data/gitea /app/gitea /data/git | chown -R ${USER}:git /data/gitea /app/gitea /data/git | ||||||
| chmod 0755 /data/gitea /app/gitea /data/git | chmod 0755 /data/gitea /app/gitea /data/git | ||||||
|   | |||||||
| @@ -1,5 +1,12 @@ | |||||||
| #!/bin/sh | #!/bin/sh | ||||||
|  |  | ||||||
|  | if [ "${USER}" != "git" ]; then | ||||||
|  |     # rename user | ||||||
|  |     sed -i -e "s/^git\:/${USER}\:/g" /etc/passwd | ||||||
|  |     # switch sshd config to different user | ||||||
|  |     sed -i -e "s/AllowUsers git/AllowUsers ${USER}/g" /etc/ssh/sshd_config | ||||||
|  | fi | ||||||
|  |  | ||||||
| ## Change GID for USER? | ## Change GID for USER? | ||||||
| if [ -n "${USER_GID}" ] && [ "${USER_GID}" != "`id -g ${USER}`" ]; then | if [ -n "${USER_GID}" ] && [ "${USER_GID}" != "`id -g ${USER}`" ]; then | ||||||
|     sed -i -e "s/^${USER}:\([^:]*\):[0-9]*/${USER}:\1:${USER_GID}/" /etc/group |     sed -i -e "s/^${USER}:\([^:]*\):[0-9]*/${USER}:\1:${USER_GID}/" /etc/group | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user