184월/23

ssh sftp 상위 폴더 접근제한 (chroot)

# vi /etc/ssh/sshd_config PermitRootLogin yes #Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match User testuser ChrootDirectory /home/engineer/test ForceCommand internal-sftp X11Forwarding no AllowTCPForwarding no # service sshd restart chroot디렉토리 설정한 /home/engineer/test 는 755 권한 chroot와 상위디렉토리는 chown root:testuser test 쓰기권한이 필요하면 /home/engineer/test/쓰기권한폴더 생성하도록 # tail -f /var/log/secure fatal: bad ownership or modes for chroot directory “/home/engineer/test” [postauth] 오류뜨면 소유자와 755권한인지 체크해볼것

124월/23

unity android build 이슈 모음

unity 프로젝트 진행시 반복적 & 사소한 문제들을 모아두자 Google Play Games Plugin for Unity v11.01 쓰면 안됨 Login Cancelled 무한 발생, 이것때문에 시간낭비 엄청났음 v10.14 https://github.com/playgameservices/play-games-plugin-for-unity/releases/tag/v10.14 Duplicated classes when building for Android Assets > Play Services Resolver > Android Resolver > Delete Resolved Libraries 이래도 안되면 Assets/Plugins/Android 디렉토리 날려버려 간혹 AndroidManifest.xml 중복되는 권한 체크 unityplayeractivity.java uses or overrides a deprecated api  Player Settings > Publishing Settings > custom gradle properties template 활성화 Assets/Plugins/Android/AndroidManifest.xml 에 아래 내용 추가 <meta-data android:name=”unityplayer.UnityActivity” android:value=”true” /> 또는! 그냥 멍청하게 keystore 패스워드 틀린 경우임 android.enableR8 관련 Assets/Plugins/Android/gradleTemplate.properties 추가 android.enableR8=false 아니면 keystore 잘못된거 아닌가 체크 Duplicate class androidx.annotation.AnimRes found in modules androidx.annotation.annotation 오래된 jars 제거 Assets>Plugins>Android 하위 확인 이래도 안되면 Assets/Plugins/Android 디렉토리 날려버려 1번 항목 한번더 ClassNotFoundException:com.google.android.gms.games.* Publishing Settings > custom proguard file 활성화 proguad설정 파일에 아래 내용 추가 -keep class com.google.android.gms.games.leaderboard.** { *; } -keep class com.google.android.gms.games.snapshot.** { *; } -keep class com.google.android.gms.games.achievement.** { *; } -keep class com.google.android.gms.games.event.** { *; } -keep class com.google.android.gms.games.stats.** { *; } -keep class com.google.android.gms.games.* { *; } -keep class com.google.android.gms.common.api.ResultCallback { *; } -keep class com.google.android.gms.signin.** { *; } -keep class com.google.android.gms.dynamic.** { *; } -keep class com.google.android.gms.dynamite.** { *; } -keep class com.google.android.gms.tasks.** { *; } -keep class com.google.android.gms.security.**더보기…